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

Closure conversion defined

parent 533e2737
......@@ -146,9 +146,12 @@ Module Concrete.
induction G1 as [ | [x'' t'] tl ]; crush; eauto;
match goal with
| [ H : _ |-v _ : _ |- _ ] => inversion H
end; crush; elimtype False; eauto;
end; crush; (elimtype False; eauto;
match goal with
| [ H : nil |-v _ : _ |- _ ] => inversion H
end)
|| match goal with
| [ H : _ |- _ ] => apply H; crush; eauto
end.
Qed.
......
This diff is collapsed.
......@@ -72,7 +72,7 @@ Ltac simplHyp invOne :=
Ltac rewriteHyp :=
match goal with
| [ H : _ |- _ ] => rewrite H
| [ H : _ |- _ ] => rewrite H; auto; [idtac]
end.
Ltac rewriterP := repeat (rewriteHyp; autorewrite with cpdt in *).
......@@ -122,7 +122,12 @@ Ltac un_done :=
Ltac crush' lemmas invOne :=
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
| false => idtac
| _ => 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