aboutsummaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorMichalis Pardalos <m.pardalos@gmail.com>2021-06-10 22:01:26 +0100
committerMichalis Pardalos <m.pardalos@gmail.com>2021-06-10 22:01:26 +0100
commitf7616136f1a2f3561500b1c28219ae725c4cda17 (patch)
treefed32ce1b6ff600883d5735891de7d2119f38b7a /src/common
parent6957832da6522c7099b9554bfc68b67e0fb39444 (diff)
downloadvericert-f7616136f1a2f3561500b1c28219ae725c4cda17.tar.gz
vericert-f7616136f1a2f3561500b1c28219ae725c4cda17.zip
Remove all Admitted from top-level Compiler.v
Diffstat (limited to 'src/common')
-rw-r--r--src/common/Vericertlib.v17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/common/Vericertlib.v b/src/common/Vericertlib.v
index 33ddb71..0fae032 100644
--- a/src/common/Vericertlib.v
+++ b/src/common/Vericertlib.v
@@ -85,14 +85,17 @@ Ltac solve_by_invert := solve_by_inverts 1.
Ltac invert x := inversion x; subst; clear x.
(** For a hypothesis of a forall-type, instantiate every variable to a fresh existential *)
+Ltac insterU1 H :=
+ match type of H with
+ | forall x : ?T, _ =>
+ let x := fresh "x" in
+ evar (x : T);
+ let x' := eval unfold x in x in
+ clear x; specialize (H x')
+ end.
+
Ltac insterU H :=
- repeat match type of H with
- | forall x : ?T, _ =>
- let x := fresh "x" in
- evar (x : T);
- let x' := eval unfold x in x in
- clear x; specialize (H x')
- end.
+ repeat (insterU1 H).
Ltac destruct_match :=
match goal with