Apply FalseE to the current goal.
We prove the intermediate
claim H0y:
Rlt 0 y.
An
exact proof term for the current goal is
(RltI 0 y real_0 HyR H0lty).
We prove the intermediate
claim Hy1:
Rlt y 1.
An
exact proof term for the current goal is
(RltI y 1 HyR real_1 Hylt1).
Apply Hq1ex to the current goal.
Let q1 be given.
Assume Hq1pack.
Apply Hq1pack to the current goal.
Assume Hq1Q Hq1ineq.
We prove the intermediate
claim H0ltq1:
Rlt 0 q1.
An
exact proof term for the current goal is
(andEL (Rlt 0 q1) (Rlt q1 y) Hq1ineq).
We prove the intermediate
claim Hq1lty:
Rlt q1 y.
An
exact proof term for the current goal is
(andER (Rlt 0 q1) (Rlt q1 y) Hq1ineq).
Apply Hq2ex to the current goal.
Let q2 be given.
Assume Hq2pack.
Apply Hq2pack to the current goal.
Assume Hq2Q Hq2ineq.
We prove the intermediate
claim Hylq2:
Rlt y q2.
An
exact proof term for the current goal is
(andEL (Rlt y q2) (Rlt q2 1) Hq2ineq).
We prove the intermediate
claim Hq2lt1:
Rlt q2 1.
An
exact proof term for the current goal is
(andER (Rlt y q2) (Rlt q2 1) Hq2ineq).
We prove the intermediate
claim Hq1R:
q1 ∈ R.
We prove the intermediate
claim Hq2R:
q2 ∈ R.
We prove the intermediate
claim Hq1lt1:
Rlt q1 1.
An
exact proof term for the current goal is
(Rlt_tra q1 y 1 Hq1lty Hy1).
We prove the intermediate
claim H0ltq2:
Rlt 0 q2.
An
exact proof term for the current goal is
(Rlt_tra 0 y q2 H0y Hylq2).
We prove the intermediate
claim Hnotq10:
¬ (Rlt q1 0).
An
exact proof term for the current goal is
(not_Rlt_sym 0 q1 H0ltq1).
We prove the intermediate
claim Hnot1q1:
¬ (Rlt 1 q1).
An
exact proof term for the current goal is
(not_Rlt_sym q1 1 Hq1lt1).
We prove the intermediate
claim Hnotq20:
¬ (Rlt q2 0).
An
exact proof term for the current goal is
(not_Rlt_sym 0 q2 H0ltq2).
We prove the intermediate
claim Hnot1q2:
¬ (Rlt 1 q2).
An
exact proof term for the current goal is
(not_Rlt_sym q2 1 Hq2lt1).
Apply (SepI R (λt : set ⇒ ¬ (Rlt t 0) ∧ ¬ (Rlt 1 t)) q1 Hq1R) to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is Hnotq10.
An exact proof term for the current goal is Hnot1q1.
Apply (SepI R (λt : set ⇒ ¬ (Rlt t 0) ∧ ¬ (Rlt 1 t)) q2 Hq2R) to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is Hnotq20.
An exact proof term for the current goal is Hnot1q2.
Set pL to be the term (a,q1).
Set pU to be the term (a,q2).
We prove the intermediate
claim HpLdef:
pL = (a,q1).
We prove the intermediate
claim HpUdef:
pU = (a,q2).
rewrite the current goal using Hdef (from left to right).
An exact proof term for the current goal is HU0Pow.
We use pL to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HpLSq.
We use pU to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HpUSq.
rewrite the current goal using HdefT (from left to right).
We prove the intermediate
claim HpEta01:
p = (p 0,p 1).
We prove the intermediate
claim HyDef:
y = p 1.
We prove the intermediate
claim Hq1ltp1:
Rlt q1 (p 1).
We will
prove Rlt q1 (p 1).
rewrite the current goal using HyDef (from right to left).
An exact proof term for the current goal is Hq1lty.
rewrite the current goal using HpLdef (from left to right).
rewrite the current goal using HpEta01 (from left to right) at position 2.
We prove the intermediate
claim Hcore:
a = (p 0) ∧ Rlt q1 (p 1).
Apply andI to the current goal.
An exact proof term for the current goal is Hq1ltp1.
We prove the intermediate
claim HpEta01:
p = (p 0,p 1).
We prove the intermediate
claim HaDef:
a = p 0.
We prove the intermediate
claim HyDef:
y = p 1.
We prove the intermediate
claim Hp0eqa:
(p 0) = a.
rewrite the current goal using HaDef (from left to right).
Use reflexivity.
We prove the intermediate
claim Hp1ltq2:
Rlt (p 1) q2.
We will
prove Rlt (p 1) q2.
rewrite the current goal using HyDef (from right to left) at position 1.
An exact proof term for the current goal is Hylq2.
rewrite the current goal using HpEta01 (from left to right) at position 1.
rewrite the current goal using HpUdef (from left to right).
We prove the intermediate
claim Hcore:
(p 0) = a ∧ Rlt (p 1) q2.
Apply andI to the current goal.
An exact proof term for the current goal is Hp0eqa.
An exact proof term for the current goal is Hp1ltq2.
We prove the intermediate
claim HpU0:
p ∈ U0.
Apply andI to the current goal.
An exact proof term for the current goal is HpLtp.
An exact proof term for the current goal is HptpU.
Let z be given.
Apply FalseE to the current goal.
We prove the intermediate
claim HzU:
z ∈ U0.
We prove the intermediate
claim HzC:
z ∈ ordsq_C.
We prove the intermediate
claim HzEx:
∃x0 : set, z = (x0,0) ∧ Rlt 0 x0 ∧ Rlt x0 1.
Apply HzEx to the current goal.
Let x0 be given.
Assume Hx0pack.
Apply Hx0pack to the current goal.
Assume Hcore Hx0lt1.
Apply Hcore to the current goal.
Assume HzEq H0ltx0.
We prove the intermediate
claim Hx0R:
x0 ∈ R.
An
exact proof term for the current goal is
(RltE_right 0 x0 H0ltx0).
We prove the intermediate
claim HpLzUnf:
∃a1 a2 b1 b2 : set, pL = (a1,a2) ∧ z = (b1,b2) ∧ (Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2)).
We prove the intermediate
claim HaLtX0:
Rlt a x0.
Apply HpLzUnf to the current goal.
Let a1 be given.
Assume Ha2.
Apply Ha2 to the current goal.
Let a2 be given.
Assume Hb1.
Apply Hb1 to the current goal.
Let b1 be given.
Assume Hb2.
Apply Hb2 to the current goal.
Let b2 be given.
Assume Hcore.
Apply Hcore to the current goal.
Assume Hpair Hdisj.
Apply Hpair to the current goal.
Assume HpLeq HzEq2.
We prove the intermediate
claim HpLpair:
(a,q1) = (a1,a2).
We will
prove (a,q1) = (a1,a2).
rewrite the current goal using HpLdef (from right to left) at position 1.
An exact proof term for the current goal is HpLeq.
We prove the intermediate
claim HaCoords:
a = a1 ∧ q1 = a2.
An
exact proof term for the current goal is
(tuple_eq_coords a q1 a1 a2 HpLpair).
We prove the intermediate
claim Haeq:
a = a1.
An
exact proof term for the current goal is
(andEL (a = a1) (q1 = a2) HaCoords).
We prove the intermediate
claim Hq1eq:
q1 = a2.
An
exact proof term for the current goal is
(andER (a = a1) (q1 = a2) HaCoords).
We prove the intermediate
claim Hzpair:
(x0,0) = (b1,b2).
We will
prove (x0,0) = (b1,b2).
rewrite the current goal using HzEq (from right to left) at position 1.
An exact proof term for the current goal is HzEq2.
We prove the intermediate
claim HzCoords:
x0 = b1 ∧ 0 = b2.
An
exact proof term for the current goal is
(tuple_eq_coords x0 0 b1 b2 Hzpair).
We prove the intermediate
claim Hx0eq:
x0 = b1.
An
exact proof term for the current goal is
(andEL (x0 = b1) (0 = b2) HzCoords).
We prove the intermediate
claim H0eq:
0 = b2.
An
exact proof term for the current goal is
(andER (x0 = b1) (0 = b2) HzCoords).
Apply Hdisj to the current goal.
rewrite the current goal using Haeq (from left to right) at position 1.
rewrite the current goal using Hx0eq (from left to right).
An exact proof term for the current goal is Hlt.
Apply FalseE to the current goal.
We prove the intermediate
claim HltA2B2:
Rlt a2 b2.
An
exact proof term for the current goal is
(andER (a1 = b1) (Rlt a2 b2) Heq).
We prove the intermediate
claim Ha2eq:
a2 = q1.
rewrite the current goal using Hq1eq (from right to left).
Use reflexivity.
We prove the intermediate
claim Hb2eq:
b2 = 0.
rewrite the current goal using H0eq (from left to right).
Use reflexivity.
We prove the intermediate
claim Hq1lt0:
Rlt q1 0.
rewrite the current goal using Ha2eq (from right to left).
rewrite the current goal using Hb2eq (from right to left).
An exact proof term for the current goal is HltA2B2.
An exact proof term for the current goal is (Hnotq10 Hq1lt0).
We prove the intermediate
claim HzpUUnf:
∃a1 a2 b1 b2 : set, z = (a1,a2) ∧ pU = (b1,b2) ∧ (Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2)).
Apply HzpUUnf to the current goal.
Let a1 be given.
Assume Ha2.
Apply Ha2 to the current goal.
Let a2 be given.
Assume Hb1.
Apply Hb1 to the current goal.
Let b1 be given.
Assume Hb2.
Apply Hb2 to the current goal.
Let b2 be given.
Assume Hcore.
Apply Hcore to the current goal.
Assume Hpair Hdisj.
Apply Hpair to the current goal.
Assume HzEq2 HpUeq.
We prove the intermediate
claim Hzpair:
(x0,0) = (a1,a2).
We will
prove (x0,0) = (a1,a2).
rewrite the current goal using HzEq (from right to left) at position 1.
An exact proof term for the current goal is HzEq2.
We prove the intermediate
claim HzCoords:
x0 = a1 ∧ 0 = a2.
An
exact proof term for the current goal is
(tuple_eq_coords x0 0 a1 a2 Hzpair).
We prove the intermediate
claim Hx0eq:
x0 = a1.
An
exact proof term for the current goal is
(andEL (x0 = a1) (0 = a2) HzCoords).
We prove the intermediate
claim H0eq:
0 = a2.
An
exact proof term for the current goal is
(andER (x0 = a1) (0 = a2) HzCoords).
We prove the intermediate
claim HpUpair:
(a,q2) = (b1,b2).
We will
prove (a,q2) = (b1,b2).
rewrite the current goal using HpUdef (from right to left) at position 1.
An exact proof term for the current goal is HpUeq.
We prove the intermediate
claim HpUCoords:
a = b1 ∧ q2 = b2.
An
exact proof term for the current goal is
(tuple_eq_coords a q2 b1 b2 HpUpair).
We prove the intermediate
claim Haeq:
a = b1.
An
exact proof term for the current goal is
(andEL (a = b1) (q2 = b2) HpUCoords).
We prove the intermediate
claim Hq2eq:
q2 = b2.
An
exact proof term for the current goal is
(andER (a = b1) (q2 = b2) HpUCoords).
Apply Hdisj to the current goal.
Apply FalseE to the current goal.
We prove the intermediate
claim Hbad:
Rlt a a.
We prove the intermediate
claim Hx0ltb1:
Rlt x0 b1.
rewrite the current goal using Hx0eq (from left to right).
An exact proof term for the current goal is Hlt.
We prove the intermediate
claim Hab1:
Rlt a b1.
An
exact proof term for the current goal is
(Rlt_tra a x0 b1 HaLtX0 Hx0ltb1).
rewrite the current goal using Haeq (from left to right) at position 2.
An exact proof term for the current goal is Hab1.
An
exact proof term for the current goal is
((not_Rlt_refl a HaR) Hbad).
Apply FalseE to the current goal.
We prove the intermediate
claim Hx0eqA:
x0 = a.
rewrite the current goal using Hx0eq (from left to right).
rewrite the current goal using Haeq (from left to right).
An
exact proof term for the current goal is
(andEL (a1 = b1) (Rlt a2 b2) Heq).
We prove the intermediate
claim Hbad:
Rlt a a.
rewrite the current goal using Hx0eqA (from right to left) at position 2.
An exact proof term for the current goal is HaLtX0.
An
exact proof term for the current goal is
((not_Rlt_refl a HaR) Hbad).
An exact proof term for the current goal is ((Hcond U0 HU0top HpU0) HcapEq).