Skip to content
Snippets Groups Projects
Commit f654bb4e authored by hondet's avatar hondet
Browse files

preserving order in chainprops

parent 9c03c4c9
No related branches found
No related tags found
No related merge requests found
......@@ -70,7 +70,7 @@ let propositions (ast : S.ast) : decl list =
"Invalid Dedukti source file: only symbol declarations are supported"
in
Stream.iter (fun c -> props := match_decl c.Pos.elt :: !props) ast;
!props
List.rev !props
(** [merge imp deps props] transform each proposition of [props] into
implications (the implication is defined by [imp]) from its
......@@ -142,7 +142,7 @@ let cmd =
`Pre "symbol tgt: P;\nsymbol hyp0: H0;\nsymbol hyp1: H1;";
`P "$(b,psnj-chainprops foo.dep) outputs";
`Pre
"symbol hyp1: H1;\nsymbol hyp0: H0;\nsymbol tgt: @imp H0 (@imp H1 P);";
"symbol hyp0: H0;\nsymbol hyp1: H1;\nsymbol tgt: @imp H0 (@imp H1 P);";
]
in
( Term.(const chainprops $ deps $ imply $ pp_deps),
......
......@@ -6,6 +6,7 @@ depends: [
"dune" {>= "2.9"}
"cmdliner"
"angstrom"
"lambdapi"
"odoc" {with-doc}
]
build: [
......
$ ../chainprops.exe example.dep < example.lp
symbol hyp1: H1;
symbol hyp0: H0;
symbol tgt: @imp H0 (@imp H1 P);
symbol hyp0: H0;
symbol hyp1: H1;
$ ../chainprops.exe foo.dep < foo.lp
symbol nitz: Nitz;
symbol frob: Frob;
symbol baz: Baz;
symbol bar: @imp Frob (@imp Nitz (@imp Baz Bar));
symbol foo: @imp Bar (@imp Baz Foo);
symbol bar: @imp Frob (@imp Nitz (@imp Baz Bar));
symbol baz: Baz;
symbol frob: Frob;
symbol nitz: Nitz;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment