Apply Hex_ap to the current goal.
Let a1 be given.
Assume Hex_a2.
Apply Hex_a2 to the current goal.
Let a2 be given.
Assume Hex_b1.
Apply Hex_b1 to the current goal.
Let b1 be given.
Assume Hex_b2.
Apply Hex_b2 to the current goal.
Let b2 be given.
Assume Hap.
We prove the intermediate
claim Hcore1:
a = (a1,a2) ∧ p = (b1,b2).
An
exact proof term for the current goal is
(andEL (a = (a1,a2) ∧ p = (b1,b2)) (Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2)) Hap).
We prove the intermediate
claim HaEq:
a = (a1,a2).
An
exact proof term for the current goal is
(andEL (a = (a1,a2)) (p = (b1,b2)) Hcore1).
We prove the intermediate
claim HpEq:
p = (b1,b2).
An
exact proof term for the current goal is
(andER (a = (a1,a2)) (p = (b1,b2)) Hcore1).
We prove the intermediate
claim Hdisj1:
Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2).
An
exact proof term for the current goal is
(andER (a = (a1,a2) ∧ p = (b1,b2)) (Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2)) Hap).
We prove the intermediate
claim HaDef:
a = (eps_ 1,eps_ 1).
We prove the intermediate
claim Ha0:
a 0 = eps_ 1.
rewrite the current goal using HaDef (from left to right).
We prove the intermediate
claim Ha1:
a 1 = eps_ 1.
rewrite the current goal using HaDef (from left to right).
We prove the intermediate
claim Ha0':
a 0 = a1.
rewrite the current goal using HaEq (from left to right).
An
exact proof term for the current goal is
(tuple_2_0_eq a1 a2).
We prove the intermediate
claim Ha1':
a 1 = a2.
rewrite the current goal using HaEq (from left to right).
An
exact proof term for the current goal is
(tuple_2_1_eq a1 a2).
We prove the intermediate
claim Ha1eq:
a1 = eps_ 1.
rewrite the current goal using Ha0' (from right to left).
An exact proof term for the current goal is Ha0.
We prove the intermediate
claim Ha2eq:
a2 = eps_ 1.
rewrite the current goal using Ha1' (from right to left).
An exact proof term for the current goal is Ha1.
Apply orIL to the current goal.
rewrite the current goal using Ha1eq (from right to left) at position 1.
An exact proof term for the current goal is Hlt.
We prove the intermediate
claim Ha1b1:
a1 = b1.
An
exact proof term for the current goal is
(andEL (a1 = b1) (Rlt a2 b2) Hc).
We prove the intermediate
claim Ha2b2:
Rlt a2 b2.
An
exact proof term for the current goal is
(andER (a1 = b1) (Rlt a2 b2) Hc).
We prove the intermediate
claim Heq:
(eps_ 1) = b1.
rewrite the current goal using Ha1eq (from right to left) at position 1.
An exact proof term for the current goal is Ha1b1.
We prove the intermediate
claim Hltb2:
Rlt (eps_ 1) b2.
rewrite the current goal using Ha2eq (from right to left) at position 1.
An exact proof term for the current goal is Ha2b2.
Apply orIR to the current goal.
An
exact proof term for the current goal is
(andI ((eps_ 1) = b1) (Rlt (eps_ 1) b2) Heq Hltb2).
Apply Hex_pb to the current goal.
Let c1 be given.
Assume Hex_c2.
Apply Hex_c2 to the current goal.
Let c2 be given.
Assume Hex_d1.
Apply Hex_d1 to the current goal.
Let d1 be given.
Assume Hex_d2.
Apply Hex_d2 to the current goal.
Let d2 be given.
Assume Hpb.
We prove the intermediate
claim Hcore2:
p = (c1,c2) ∧ b = (d1,d2).
An
exact proof term for the current goal is
(andEL (p = (c1,c2) ∧ b = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hpb).
We prove the intermediate
claim HpEq2:
p = (c1,c2).
An
exact proof term for the current goal is
(andEL (p = (c1,c2)) (b = (d1,d2)) Hcore2).
We prove the intermediate
claim HbEq:
b = (d1,d2).
An
exact proof term for the current goal is
(andER (p = (c1,c2)) (b = (d1,d2)) Hcore2).
We prove the intermediate
claim Hdisj2:
Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2).
An
exact proof term for the current goal is
(andER (p = (c1,c2) ∧ b = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hpb).
We prove the intermediate
claim Hp0b1:
p 0 = b1.
rewrite the current goal using HpEq (from left to right).
An
exact proof term for the current goal is
(tuple_2_0_eq b1 b2).
We prove the intermediate
claim Hp0c1:
p 0 = c1.
rewrite the current goal using HpEq2 (from left to right).
An
exact proof term for the current goal is
(tuple_2_0_eq c1 c2).
We prove the intermediate
claim Hc1eq:
c1 = b1.
rewrite the current goal using Hp0c1 (from right to left) at position 1.
An exact proof term for the current goal is Hp0b1.
We prove the intermediate
claim Hp1b2:
p 1 = b2.
rewrite the current goal using HpEq (from left to right).
An
exact proof term for the current goal is
(tuple_2_1_eq b1 b2).
We prove the intermediate
claim Hp1c2:
p 1 = c2.
rewrite the current goal using HpEq2 (from left to right).
An
exact proof term for the current goal is
(tuple_2_1_eq c1 c2).
We prove the intermediate
claim Hc2eq:
c2 = b2.
rewrite the current goal using Hp1c2 (from right to left) at position 1.
An exact proof term for the current goal is Hp1b2.
We prove the intermediate
claim HbDef:
b = (eps_ 1,2).
We prove the intermediate
claim Hb0:
b 0 = eps_ 1.
rewrite the current goal using HbDef (from left to right).
We prove the intermediate
claim Hb1:
b 1 = 2.
rewrite the current goal using HbDef (from left to right).
We prove the intermediate
claim Hb0':
b 0 = d1.
rewrite the current goal using HbEq (from left to right).
An
exact proof term for the current goal is
(tuple_2_0_eq d1 d2).
We prove the intermediate
claim Hb1':
b 1 = d2.
rewrite the current goal using HbEq (from left to right).
An
exact proof term for the current goal is
(tuple_2_1_eq d1 d2).
We prove the intermediate
claim Hd1eq:
d1 = eps_ 1.
rewrite the current goal using Hb0' (from right to left) at position 1.
An exact proof term for the current goal is Hb0.
We prove the intermediate
claim Hd2eq:
d2 = 2.
rewrite the current goal using Hb1' (from right to left) at position 1.
An exact proof term for the current goal is Hb1.
Apply orIL to the current goal.
rewrite the current goal using Hc1eq (from right to left) at position 1.
rewrite the current goal using Hd1eq (from right to left).
An exact proof term for the current goal is Hlt.
We prove the intermediate
claim Hc1d1:
c1 = d1.
An
exact proof term for the current goal is
(andEL (c1 = d1) (Rlt c2 d2) Hc).
We prove the intermediate
claim Hc2d2:
Rlt c2 d2.
An
exact proof term for the current goal is
(andER (c1 = d1) (Rlt c2 d2) Hc).
We prove the intermediate
claim Hb1eq:
b1 = eps_ 1.
rewrite the current goal using Hc1eq (from right to left) at position 1.
rewrite the current goal using Hd1eq (from right to left).
An exact proof term for the current goal is Hc1d1.
We prove the intermediate
claim Hb2lt:
Rlt b2 2.
rewrite the current goal using Hc2eq (from right to left) at position 1.
rewrite the current goal using Hd2eq (from right to left).
An exact proof term for the current goal is Hc2d2.
Apply orIR to the current goal.
An
exact proof term for the current goal is
(andI (b1 = eps_ 1) (Rlt b2 2) Hb1eq Hb2lt).
We prove the intermediate
claim HyP1:
y = p 1.
rewrite the current goal using
(proj1_ap_1 p) (from right to left).
Use reflexivity.
We prove the intermediate
claim HyEq:
y = b2.
rewrite the current goal using HyP1 (from left to right).
An exact proof term for the current goal is Hp1b2.
Apply FalseE to the current goal.
Apply (Hdisj2' False) to the current goal.
An
exact proof term for the current goal is
((not_Rlt_sym (eps_ 1) b1 Hlt) Hlt2).
We prove the intermediate
claim Hb1eq:
b1 = eps_ 1.
An
exact proof term for the current goal is
(andEL (b1 = eps_ 1) (Rlt b2 2) Hc).
rewrite the current goal using Hb1eq (from right to left) at position 2.
An exact proof term for the current goal is Hlt.
We prove the intermediate
claim Heq:
(eps_ 1) = b1.
We prove the intermediate
claim Hltb2:
Rlt (eps_ 1) b2.
We prove the intermediate
claim HpEq0:
p = (eps_ 1,b2).
We will
prove p = (eps_ 1,b2).
rewrite the current goal using Heq (from left to right).
An exact proof term for the current goal is HpEq.
We prove the intermediate
claim HpEq1:
p = (eps_ 1,y).
rewrite the current goal using HyEq (from left to right).
An exact proof term for the current goal is HpEq0.
We prove the intermediate
claim Hylt:
Rlt (eps_ 1) y.
rewrite the current goal using HyEq (from left to right).
An exact proof term for the current goal is Hltb2.
An
exact proof term for the current goal is
(andI (p = (eps_ 1,y)) (Rlt (eps_ 1) y) HpEq1 Hylt).