Skip to content
Snippets Groups Projects
Commit f3033b7d authored by Jacques-Henri Jourdan's avatar Jacques-Henri Jourdan
Browse files

Add back cbv zeta in iIntoValid.

parent c1be91f7
No related branches found
No related tags found
No related merge requests found
...@@ -621,7 +621,10 @@ a goal [P] for non-dependent arguments [x_i : P]. *) ...@@ -621,7 +621,10 @@ a goal [P] for non-dependent arguments [x_i : P]. *)
Tactic Notation "iIntoValid" open_constr(t) := Tactic Notation "iIntoValid" open_constr(t) :=
let rec go t := let rec go t :=
let tT := type of t in let tT := type of t in
lazymatch tT with let tT := eval cbv zeta in tT in (* In the case tT contains let-bindings. *)
lazymatch tT with (* We do not use hnf of tT, because, if
entailment is not opaque, then it would
unfold it. *)
| ?P ?Q => let H := fresh in assert P as H; [|go uconstr:(t H); clear H] | ?P ?Q => let H := fresh in assert P as H; [|go uconstr:(t H); clear H]
| _ : ?T, _ => | _ : ?T, _ =>
(* Put [T] inside an [id] to avoid TC inference from being invoked. *) (* Put [T] inside an [id] to avoid TC inference from being invoked. *)
......
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