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.
28 lines
668 B
Text
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
|