This PR eliminates uses of `intros x y z` (with arguments) and updates the `intros` docstring to suggest that `intro x y z` should be used instead. The `intros` tactic is historical, and can be traced all the way back to Lean 2, when `intro` could only introduce a single hypothesis. Since 2020, the `intro` tactic has superceded it. The `intros` tactic (without arguments) is currently still useful.
13 lines
417 B
Text
13 lines
417 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
|
||
intro g s t h
|
||
congr -- reduces to `(g s).snd = (g t).snd`, not `g s = g t`
|