2013-12-25 20:27:56 +00:00
|
|
|
Set: pp::colors
|
|
|
|
Set: pp::unicode
|
2014-01-06 03:10:21 +00:00
|
|
|
Imported 'macros'
|
2013-12-25 20:27:56 +00:00
|
|
|
Proved: T
|
2014-01-05 20:05:08 +00:00
|
|
|
theorem T (A : Type) (p : A → Bool) (f : A → A → A) : ∀ x y z : A,
|
2013-12-25 20:27:56 +00:00
|
|
|
p (f x x) ⇒ x = y ⇒ x = z ⇒ p (f y z) :=
|
2014-01-06 03:10:21 +00:00
|
|
|
forall::intro
|
2013-12-25 20:27:56 +00:00
|
|
|
(λ x : A,
|
2014-01-06 03:10:21 +00:00
|
|
|
forall::intro
|
2013-12-25 20:27:56 +00:00
|
|
|
(λ y : A,
|
2014-01-06 03:10:21 +00:00
|
|
|
forall::intro
|
2013-12-25 20:27:56 +00:00
|
|
|
(λ z : A,
|
2014-01-06 03:10:21 +00:00
|
|
|
discharge
|
2013-12-25 20:27:56 +00:00
|
|
|
(λ H1 : p (f x x),
|
2014-01-06 03:10:21 +00:00
|
|
|
discharge (λ H2 : x = y, discharge (λ H3 : x = z, subst (subst H1 H2) H3))))))
|