2013-12-16 06:00:26 +00:00
|
|
|
Set: pp::colors
|
|
|
|
Set: pp::unicode
|
|
|
|
Assumed: A
|
|
|
|
Assumed: B
|
|
|
|
Assumed: C
|
|
|
|
Assumed: P
|
|
|
|
Assumed: F1
|
|
|
|
Assumed: F2
|
|
|
|
Assumed: H
|
|
|
|
Assumed: a
|
2014-01-16 00:35:33 +00:00
|
|
|
eta (F2 a) : (λ x : B, F2 a x) = F2 a
|
2014-01-16 23:07:51 +00:00
|
|
|
funext (λ a : A, symm (eta (F1 a)) ⋈ (funext (λ b : B, H a b) ⋈ eta (F2 a))) : (λ x : A, F1 x) = (λ x : A, F2 x)
|
|
|
|
funext (λ a : A, funext (λ b : B, H a b)) : (λ (x : A) (x::1 : B), F1 x x::1) = (λ (x : A) (x::1 : B), F2 x x::1)
|
2013-12-16 06:00:26 +00:00
|
|
|
Proved: T1
|
|
|
|
Proved: T2
|
|
|
|
Proved: T3
|
|
|
|
Proved: T4
|
2014-01-09 01:25:14 +00:00
|
|
|
theorem T1 : F1 = F2 := funext (λ a : A, funext (λ b : B, H a b))
|
|
|
|
theorem T2 : (λ (x1 : A) (x2 : B), F1 x1 x2) = F2 := funext (λ a : A, funext (λ b : B, H a b))
|
|
|
|
theorem T3 : F1 = (λ (x1 : A) (x2 : B), F2 x1 x2) := funext (λ a : A, funext (λ b : B, H a b))
|
2014-01-05 20:05:08 +00:00
|
|
|
theorem T4 : (λ (x1 : A) (x2 : B), F1 x1 x2) = (λ (x1 : A) (x2 : B), F2 x1 x2) :=
|
2014-01-09 01:25:14 +00:00
|
|
|
funext (λ a : A, funext (λ b : B, H a b))
|
2013-12-16 06:00:26 +00:00
|
|
|
Set: lean::pp::implicit
|
2014-01-05 20:05:08 +00:00
|
|
|
theorem T1 : @eq (A → B → C) F1 F2 :=
|
2014-01-09 01:25:14 +00:00
|
|
|
@funext A (λ x : A, B → C) F1 F2 (λ a : A, @funext B (λ x : B, C) (F1 a) (F2 a) (λ b : B, H a b))
|
2014-01-05 20:05:08 +00:00
|
|
|
theorem T2 : @eq (A → B → C) (λ (x1 : A) (x2 : B), F1 x1 x2) F2 :=
|
2014-01-09 01:25:14 +00:00
|
|
|
@funext A
|
|
|
|
(λ x : A, B → C)
|
|
|
|
(λ (x1 : A) (x2 : B), F1 x1 x2)
|
|
|
|
F2
|
|
|
|
(λ a : A, @funext B (λ x : B, C) (λ x2 : B, F1 a x2) (F2 a) (λ b : B, H a b))
|
2014-01-05 20:05:08 +00:00
|
|
|
theorem T3 : @eq (A → B → C) F1 (λ (x1 : A) (x2 : B), F2 x1 x2) :=
|
2014-01-09 01:25:14 +00:00
|
|
|
@funext A
|
|
|
|
(λ x : A, B → C)
|
|
|
|
F1
|
|
|
|
(λ (x1 : A) (x2 : B), F2 x1 x2)
|
|
|
|
(λ a : A, @funext B (λ x : B, C) (F1 a) (λ x2 : B, F2 a x2) (λ b : B, H a b))
|
2014-01-05 20:05:08 +00:00
|
|
|
theorem T4 : @eq (A → B → C) (λ (x1 : A) (x2 : B), F1 x1 x2) (λ (x1 : A) (x2 : B), F2 x1 x2) :=
|
2014-01-09 01:25:14 +00:00
|
|
|
@funext A
|
|
|
|
(λ x : A, B → C)
|
|
|
|
(λ (x1 : A) (x2 : B), F1 x1 x2)
|
|
|
|
(λ (x1 : A) (x2 : B), F2 x1 x2)
|
|
|
|
(λ a : A, @funext B (λ x : B, C) (λ x2 : B, F1 a x2) (λ x2 : B, F2 a x2) (λ b : B, H a b))
|