2014-01-08 08:38:39 +00:00
|
|
|
variable C : forall (A B : Type) (H : A = B) (a : A), B
|
2013-09-07 00:12:35 +00:00
|
|
|
|
2014-01-08 08:38:39 +00:00
|
|
|
variable D : forall (A A' : Type) (B : A -> Type) (B' : A' -> Type) (H : (forall x : A, B x) = (forall x : A', B' x)), A = A'
|
2013-09-07 00:12:35 +00:00
|
|
|
|
2014-01-08 08:38:39 +00:00
|
|
|
variable R : forall (A A' : Type) (B : A -> Type) (B' : A' -> Type) (H : (forall x : A, B x) = (forall x : A', B' x)) (a : A),
|
2013-09-07 00:12:35 +00:00
|
|
|
(B a) = (B' (C A A' (D A A' B B' H) a))
|
|
|
|
|
2014-01-05 20:05:08 +00:00
|
|
|
theorem R2 (A A' B B' : Type) (H : (A -> B) = (A' -> B')) (a : A) : B = B' := R _ _ _ _ H a
|
2013-09-07 00:12:35 +00:00
|
|
|
|
2014-01-05 20:05:08 +00:00
|
|
|
print environment 1
|
2013-09-07 00:12:35 +00:00
|
|
|
|
2014-01-08 08:38:39 +00:00
|
|
|
theorem R3 : forall (A1 A2 B1 B2 : Type) (H : (A1 -> B1) = (A2 -> B2)) (a : A1), B1 = B2 :=
|
2013-12-06 21:23:20 +00:00
|
|
|
fun (A1 A2 B1 B2 : Type) (H : (A1 -> B1) = (A2 -> B2)) (a : A1),
|
2013-09-07 00:12:35 +00:00
|
|
|
R _ _ _ _ H a
|
|
|
|
|
2014-01-08 08:38:39 +00:00
|
|
|
theorem R4 : forall (A1 A2 B1 B2 : Type) (H : (A1 -> B1) = (A2 -> B2)) (a : A1), B1 = B2 :=
|
2013-12-06 21:23:20 +00:00
|
|
|
fun (A1 A2 B1 B2 : Type) (H : (A1 -> B1) = (A2 -> B2)) (a : _),
|
2013-09-07 00:12:35 +00:00
|
|
|
R _ _ _ _ H a
|
|
|
|
|
2014-01-08 08:38:39 +00:00
|
|
|
theorem R5 : forall (A1 A2 B1 B2 : Type) (H : (A1 -> B1) = (A2 -> B2)) (a : A1), B1 = B2 :=
|
2013-09-07 00:12:35 +00:00
|
|
|
fun (A1 A2 B1 B2 : Type) (H : _) (a : _),
|
|
|
|
R _ _ _ _ H a
|
|
|
|
|
2014-01-05 20:05:08 +00:00
|
|
|
print environment 1
|