Commit 4a19cacf authored by Adam Chlipala's avatar Adam Chlipala

Closure conversion defined

parent 533e2737
...@@ -146,9 +146,12 @@ Module Concrete. ...@@ -146,9 +146,12 @@ Module Concrete.
induction G1 as [ | [x'' t'] tl ]; crush; eauto; induction G1 as [ | [x'' t'] tl ]; crush; eauto;
match goal with match goal with
| [ H : _ |-v _ : _ |- _ ] => inversion H | [ H : _ |-v _ : _ |- _ ] => inversion H
end; crush; elimtype False; eauto; end; crush; (elimtype False; eauto;
match goal with match goal with
| [ H : nil |-v _ : _ |- _ ] => inversion H | [ H : nil |-v _ : _ |- _ ] => inversion H
end)
|| match goal with
| [ H : _ |- _ ] => apply H; crush; eauto
end. end.
Qed. Qed.
......
This diff is collapsed.
...@@ -72,7 +72,7 @@ Ltac simplHyp invOne := ...@@ -72,7 +72,7 @@ Ltac simplHyp invOne :=
Ltac rewriteHyp := Ltac rewriteHyp :=
match goal with match goal with
| [ H : _ |- _ ] => rewrite H | [ H : _ |- _ ] => rewrite H; auto; [idtac]
end. end.
Ltac rewriterP := repeat (rewriteHyp; autorewrite with cpdt in *). Ltac rewriterP := repeat (rewriteHyp; autorewrite with cpdt in *).
...@@ -122,7 +122,12 @@ Ltac un_done := ...@@ -122,7 +122,12 @@ Ltac un_done :=
Ltac crush' lemmas invOne := Ltac crush' lemmas invOne :=
let sintuition := simpl in *; intuition; try subst; repeat (simplHyp invOne; intuition; try subst); try congruence let sintuition := simpl in *; intuition; try subst; repeat (simplHyp invOne; intuition; try subst); try congruence
in (sintuition; rewriter; in (sintuition;
autorewrite with cpdt in *;
repeat (match goal with
| [ H : _ |- _ ] => (rewrite H; [])
|| (rewrite H; [ | solve [ crush' lemmas invOne ] ])
end; autorewrite with cpdt in *);
match lemmas with match lemmas with
| false => idtac | false => idtac
| _ => repeat ((app ltac:(fun L => inster L L) lemmas || appHyps ltac:(fun L => inster L L)); | _ => repeat ((app ltac:(fun L => inster L L) lemmas || appHyps ltac:(fun L => inster L L));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment