`MVarId.congr?` and `MVarId.hcongr?` should return `none` if an exception is thrown while applying congruence theorem. `MVarId.hcongr?` should try `eq_of_heq` before trying to apply `hcongr` theorem. closes #1787 BTW: Lean 4 `congr` tactic is applying `assumption`. Lean 3 version does not.
13 lines
418 B
Text
13 lines
418 B
Text
open Function
|
||
|
||
def Set (α : Type u) := α → Prop
|
||
|
||
example {α : Type u}
|
||
(f : α → Type (max u v))
|
||
(U : α) (hU : f U = Set (Sigma f)) :
|
||
let g : Set (Sigma f) → Sigma f := fun (s : Set (Sigma f)) => ⟨U, cast hU.symm s⟩
|
||
∀ ⦃s t : Set (Sigma f)⦄,
|
||
g s = g t → cast hU (g s).snd = cast hU (g t).snd :=
|
||
by
|
||
intros g s t h
|
||
congr -- reduces to `(g s).snd = (g t).snd`, not `g s = g t`
|