lean4-htt/tests/lean/run/specialize1.lean
Leonardo de Moura 272dd5533f chore: style use · instead of . for lambda dot notation
We are considering removing `.` as an alternative for `·` in the
lambda dot notation (e.g., `(·+·)`).
Reasons:
- `.` is not a perfect replacement for `·` (e.g., `(·.insert ·)`)
- `.` is too overloaded: `(f.x)` and `(f .x)` and `(f . x)`. We want to keep the first two.
2022-03-11 07:49:03 -08:00

28 lines
668 B
Text

example (x y z : Prop) (f : x → y → z) (xp : x) (yp : y) : z := by
specialize f xp yp
assumption
example (B C : Prop) (f : forall (A : Prop), A → C) (x : B) : C := by
specialize f _ x
exact f
example (B C : Prop) (f : forall {A : Prop}, A → C) (x : B) : C := by
specialize f x
exact f
example (B C : Prop) (f : forall {A : Prop}, A → C) (x : B) : C := by
specialize @f _ x
exact f
example (X : Type) [Add X] (f : forall {A : Type} [Add A], A → A → A) (x : X) : X := by
specialize f x x
assumption
def ex (f : Nat → Nat → Nat) : Nat := by
specialize f _ _
exact f
exact 10
exact 2
example : ex (· - ·) = 8 :=
rfl