Apply Hexab to the current goal.
Let a0 be given.
Assume Ha0pack.
Apply Ha0pack to the current goal.
Assume Ha0Sq Hb0ex.
Apply Hb0ex to the current goal.
Let b0 be given.
Assume Hb0pack.
Apply Hb0pack to the current goal.
Assume Hb0Sq HIeq.
rewrite the current goal using HIeq (from right to left).
An exact proof term for the current goal is Hp10I.
Set a00 to be the term
a0 0.
Set a01 to be the term
a0 1.
Set b00 to be the term
b0 0.
Set b01 to be the term
b0 1.
We prove the intermediate
claim Ha0Eta:
a0 = (a00,a01).
We prove the intermediate
claim Hb0Eta:
b0 = (b00,b01).
We prove the intermediate
claim Ha00R:
a00 ∈ R.
An
exact proof term for the current goal is
(SepE1 R (λt : set ⇒ ¬ (Rlt t 0) ∧ ¬ (Rlt 1 t)) a00 Ha00U).
We prove the intermediate
claim Ha01R:
a01 ∈ R.
An
exact proof term for the current goal is
(SepE1 R (λt : set ⇒ ¬ (Rlt t 0) ∧ ¬ (Rlt 1 t)) a01 Ha01U).
We prove the intermediate
claim Hb00R:
b00 ∈ R.
An
exact proof term for the current goal is
(SepE1 R (λt : set ⇒ ¬ (Rlt t 0) ∧ ¬ (Rlt 1 t)) b00 Hb00U).
We prove the intermediate
claim Hb01R:
b01 ∈ R.
An
exact proof term for the current goal is
(SepE1 R (λt : set ⇒ ¬ (Rlt t 0) ∧ ¬ (Rlt 1 t)) b01 Hb01U).
We prove the intermediate
claim Ha00notlt0:
¬ (Rlt a00 0).
We prove the intermediate
claim Ha01notlt0:
¬ (Rlt a01 0).
We prove the intermediate
claim Ha00S:
SNo a00.
An
exact proof term for the current goal is
(real_SNo a00 Ha00R).
We prove the intermediate
claim Hb00S:
SNo b00.
An
exact proof term for the current goal is
(real_SNo b00 Hb00R).
We prove the intermediate
claim Hunf1:
∃c1 c2 d1 d2 : set, a0 = (c1,c2) ∧ ordsq_p10 = (d1,d2) ∧ (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)).
We prove the intermediate
claim Ha00lt1:
Rlt a00 1.
Apply Hunf1 to the current goal.
Let c1 be given.
Assume Hc2.
Apply Hc2 to the current goal.
Let c2 be given.
Assume Hd1.
Apply Hd1 to the current goal.
Let d1 be given.
Assume Hd2.
Apply Hd2 to the current goal.
Let d2 be given.
Assume Hcore.
We prove the intermediate
claim Hpair:
a0 = (c1,c2) ∧ ordsq_p10 = (d1,d2).
An
exact proof term for the current goal is
(andEL (a0 = (c1,c2) ∧ ordsq_p10 = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim Ha0Eq:
a0 = (c1,c2).
An
exact proof term for the current goal is
(andEL (a0 = (c1,c2)) (ordsq_p10 = (d1,d2)) Hpair).
We prove the intermediate
claim Hp10Eq:
ordsq_p10 = (d1,d2).
An
exact proof term for the current goal is
(andER (a0 = (c1,c2)) (ordsq_p10 = (d1,d2)) Hpair).
We prove the intermediate
claim Hdisj:
Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2).
An
exact proof term for the current goal is
(andER (a0 = (c1,c2) ∧ ordsq_p10 = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim Ha0coords:
c1 = a00 ∧ c2 = a01.
We prove the intermediate
claim Hc:
(c1,c2) = (a00,a01).
rewrite the current goal using Ha0Eq (from right to left).
An exact proof term for the current goal is Ha0Eta.
An
exact proof term for the current goal is
(tuple_eq_coords c1 c2 a00 a01 Hc).
We prove the intermediate
claim Hc1eq:
c1 = a00.
An
exact proof term for the current goal is
(andEL (c1 = a00) (c2 = a01) Ha0coords).
We prove the intermediate
claim Hc2eq:
c2 = a01.
An
exact proof term for the current goal is
(andER (c1 = a00) (c2 = a01) Ha0coords).
We prove the intermediate
claim Hp10coords:
1 = d1 ∧ 0 = d2.
We prove the intermediate
claim Hpc:
(1,0) = (d1,d2).
rewrite the current goal using Hp10def (from right to left).
An exact proof term for the current goal is Hp10Eq.
We prove the intermediate
claim Hd1eq:
d1 = 1.
Use symmetry.
An
exact proof term for the current goal is
(andEL (1 = d1) (0 = d2) Hp10coords).
We prove the intermediate
claim Hd2eq:
d2 = 0.
Use symmetry.
An
exact proof term for the current goal is
(andER (1 = d1) (0 = d2) Hp10coords).
Apply Hdisj 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.
Apply FalseE to the current goal.
We prove the intermediate
claim Hltc2d2:
Rlt c2 d2.
An
exact proof term for the current goal is
(andER (c1 = d1) (Rlt c2 d2) Heq).
We prove the intermediate
claim Ha01lt0:
Rlt a01 0.
rewrite the current goal using Hc2eq (from right to left) at position 1.
rewrite the current goal using Hd2eq (from right to left) at position 1.
An exact proof term for the current goal is Hltc2d2.
An exact proof term for the current goal is (Ha01notlt0 Ha01lt0).
We prove the intermediate
claim Hunf2:
∃c1 c2 d1 d2 : set, ordsq_p10 = (c1,c2) ∧ b0 = (d1,d2) ∧ (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)).
We prove the intermediate
claim Hb00eq1:
b00 = 1.
Apply Hunf2 to the current goal.
Let c1 be given.
Assume Hc2.
Apply Hc2 to the current goal.
Let c2 be given.
Assume Hd1.
Apply Hd1 to the current goal.
Let d1 be given.
Assume Hd2.
Apply Hd2 to the current goal.
Let d2 be given.
Assume Hcore.
We prove the intermediate
claim Hpair:
ordsq_p10 = (c1,c2) ∧ b0 = (d1,d2).
An
exact proof term for the current goal is
(andEL (ordsq_p10 = (c1,c2) ∧ b0 = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim Hp10Eq:
ordsq_p10 = (c1,c2).
An
exact proof term for the current goal is
(andEL (ordsq_p10 = (c1,c2)) (b0 = (d1,d2)) Hpair).
We prove the intermediate
claim Hb0Eq:
b0 = (d1,d2).
An
exact proof term for the current goal is
(andER (ordsq_p10 = (c1,c2)) (b0 = (d1,d2)) Hpair).
We prove the intermediate
claim Hdisj:
Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2).
An
exact proof term for the current goal is
(andER (ordsq_p10 = (c1,c2) ∧ b0 = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim Hp10coords:
1 = c1 ∧ 0 = c2.
We prove the intermediate
claim Hpc:
(1,0) = (c1,c2).
rewrite the current goal using Hp10def (from right to left).
An exact proof term for the current goal is Hp10Eq.
We prove the intermediate
claim Hc1eq:
c1 = 1.
Use symmetry.
An
exact proof term for the current goal is
(andEL (1 = c1) (0 = c2) Hp10coords).
We prove the intermediate
claim Hb0coords:
d1 = b00 ∧ d2 = b01.
We prove the intermediate
claim Hd:
(d1,d2) = (b00,b01).
rewrite the current goal using Hb0Eq (from right to left).
An exact proof term for the current goal is Hb0Eta.
An
exact proof term for the current goal is
(tuple_eq_coords d1 d2 b00 b01 Hd).
We prove the intermediate
claim Hd1eq:
d1 = b00.
An
exact proof term for the current goal is
(andEL (d1 = b00) (d2 = b01) Hb0coords).
Apply Hdisj to the current goal.
Apply FalseE to the current goal.
We prove the intermediate
claim H1ltb00:
Rlt 1 b00.
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) Heq).
rewrite the current goal using Hd1eq (from right to left).
rewrite the current goal using Hc1d1 (from right to left).
rewrite the current goal using Hc1eq (from left to right).
Use reflexivity.
Apply Hqex to the current goal.
Let q be given.
Assume Hqpack.
Apply Hqpack to the current goal.
Assume HqQ Hqineq.
We prove the intermediate
claim Ha00ltq:
Rlt a00 q.
An
exact proof term for the current goal is
(andEL (Rlt a00 q) (Rlt q 1) Hqineq).
We prove the intermediate
claim Hqlt1:
Rlt q 1.
An
exact proof term for the current goal is
(andER (Rlt a00 q) (Rlt q 1) Hqineq).
We prove the intermediate
claim HqR:
q ∈ R.
We prove the intermediate
claim HqS:
SNo q.
An
exact proof term for the current goal is
(real_SNo q HqR).
We prove the intermediate
claim Hnotq0:
¬ (Rlt q 0).
We prove the intermediate
claim Ha00lt0:
Rlt a00 0.
An
exact proof term for the current goal is
(Rlt_tra a00 q 0 Ha00ltq Hqlt0).
An exact proof term for the current goal is (Ha00notlt0 Ha00lt0).
We prove the intermediate
claim Hqneq0:
¬ (q = 0).
We prove the intermediate
claim Ha00lt0:
Rlt a00 0.
rewrite the current goal using Hq0 (from right to left) at position 2.
An exact proof term for the current goal is Ha00ltq.
An exact proof term for the current goal is (Ha00notlt0 Ha00lt0).
We prove the intermediate
claim H0ltqS:
0 < q.
Apply FalseE to the current goal.
We prove the intermediate
claim Hqlt0:
Rlt q 0.
An
exact proof term for the current goal is
(RltI q 0 HqR real_0 Hqlt0S).
An exact proof term for the current goal is (Hnotq0 Hqlt0).
Apply FalseE to the current goal.
An exact proof term for the current goal is (Hqneq0 Hqeq0S).
An exact proof term for the current goal is H0ltqS.
We prove the intermediate
claim H0ltq:
Rlt 0 q.
An
exact proof term for the current goal is
(RltI 0 q real_0 HqR H0ltqS).
We prove the intermediate
claim Hnot1q:
¬ (Rlt 1 q).
An
exact proof term for the current goal is
(not_Rlt_sym q 1 Hqlt1).
Apply (SepI R (λt : set ⇒ ¬ (Rlt t 0) ∧ ¬ (Rlt 1 t)) q HqR) to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is Hnotq0.
An exact proof term for the current goal is Hnot1q.
Set w to be the term
(q,0).
rewrite the current goal using Ha0Eta (from left to right).
Apply orIL to the current goal.
An exact proof term for the current goal is Ha00ltq.
rewrite the current goal using Hb0Eta (from left to right).
Apply orIL to the current goal.
rewrite the current goal using Hb00eq1 (from left to right).
An exact proof term for the current goal is Hqlt1.
We prove the intermediate
claim HwI:
w ∈ I.
rewrite the current goal using HIeq (from left to right).
Apply andI to the current goal.
An exact proof term for the current goal is Ha0w.
An exact proof term for the current goal is Hwb0.
We prove the intermediate
claim HwU:
w ∈ U.
An exact proof term for the current goal is (HIU w HwI).
We prove the intermediate
claim HwC:
w ∈ ordsq_C.
We use q to witness the existential quantifier.
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is H0ltq.
An exact proof term for the current goal is Hqlt1.
We prove the intermediate
claim Hwcap:
w ∈ U ∩ ordsq_C.
Apply Hexb to the current goal.
Let b be given.
Assume Hbpack.
Apply Hbpack to the current goal.
Assume HbSq HIeq.
rewrite the current goal using HIeq (from right to left).
An exact proof term for the current goal is Hp10I.
We prove the intermediate
claim HbEta:
b = (b 0,b 1).
We prove the intermediate
claim Hb0R:
(b 0) ∈ R.
An
exact proof term for the current goal is
(SepE1 R (λt : set ⇒ ¬ (Rlt t 0) ∧ ¬ (Rlt 1 t)) (b 0) Hb0U).
We prove the intermediate
claim Hb0prop:
¬ (Rlt 1 (b 0)).
We prove the intermediate
claim Hb1prop:
¬ (Rlt 1 (b 1)).
We prove the intermediate
claim Hexunf:
∃c1 c2 d1 d2 : set, ordsq_p10 = (c1,c2) ∧ b = (d1,d2) ∧ (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)).
Apply Hexunf to the current goal.
Let c1 be given.
Assume Hc2.
Apply Hc2 to the current goal.
Let c2 be given.
Assume Hd1.
Apply Hd1 to the current goal.
Let d1 be given.
Assume Hd2.
Apply Hd2 to the current goal.
Let d2 be given.
Assume Hcore.
We prove the intermediate
claim Hpair:
ordsq_p10 = (c1,c2) ∧ b = (d1,d2).
An
exact proof term for the current goal is
(andEL (ordsq_p10 = (c1,c2) ∧ b = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim Hp10Eq:
ordsq_p10 = (c1,c2).
An
exact proof term for the current goal is
(andEL (ordsq_p10 = (c1,c2)) (b = (d1,d2)) Hpair).
We prove the intermediate
claim HbEq:
b = (d1,d2).
An
exact proof term for the current goal is
(andER (ordsq_p10 = (c1,c2)) (b = (d1,d2)) Hpair).
We prove the intermediate
claim Hdisj:
Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2).
An
exact proof term for the current goal is
(andER (ordsq_p10 = (c1,c2) ∧ b = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim Hp10coords:
1 = c1 ∧ 0 = c2.
We prove the intermediate
claim Hpc:
(1,0) = (c1,c2).
rewrite the current goal using Hp10def (from right to left).
An exact proof term for the current goal is Hp10Eq.
We prove the intermediate
claim Hc1eq:
c1 = 1.
Use symmetry.
An
exact proof term for the current goal is
(andEL (1 = c1) (0 = c2) Hp10coords).
We prove the intermediate
claim Hc2eq:
c2 = 0.
Use symmetry.
An
exact proof term for the current goal is
(andER (1 = c1) (0 = c2) Hp10coords).
We prove the intermediate
claim Hbcoords:
d1 = (b 0) ∧ d2 = (b 1).
We prove the intermediate
claim Hbd:
(d1,d2) = (b 0,b 1).
rewrite the current goal using HbEq (from right to left).
An exact proof term for the current goal is HbEta.
We prove the intermediate
claim Hd1eq:
d1 = (b 0).
An
exact proof term for the current goal is
(andEL (d1 = (b 0)) (d2 = (b 1)) Hbcoords).
We prove the intermediate
claim Hd2eq:
d2 = (b 1).
An
exact proof term for the current goal is
(andER (d1 = (b 0)) (d2 = (b 1)) Hbcoords).
We prove the intermediate
claim Hepsltb0:
Rlt (eps_ 1) (b 0).
Apply Hdisj to the current goal.
Apply FalseE to the current goal.
We prove the intermediate
claim H1ltb0:
Rlt 1 (b 0).
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.
An exact proof term for the current goal is (Hb0prop H1ltb0).
We prove the intermediate
claim Hc1d1:
c1 = d1.
An
exact proof term for the current goal is
(andEL (c1 = d1) (Rlt c2 d2) Heq).
rewrite the current goal using Hd1eq (from right to left).
rewrite the current goal using Hc1d1 (from right to left).
rewrite the current goal using Hc1eq (from left to right).
An
exact proof term for the current goal is
eps_1_lt1_R.
Set w to be the term
(eps_ 1,0).
rewrite the current goal using HbEta (from left to right).
Apply orIL to the current goal.
An exact proof term for the current goal is Hepsltb0.
We prove the intermediate
claim HwI:
w ∈ I.
rewrite the current goal using HIeq (from left to right).
rewrite the current goal using HbEta (from left to right).
Apply orIL to the current goal.
An exact proof term for the current goal is Hepsltb0.
We prove the intermediate
claim HwU:
w ∈ U.
An exact proof term for the current goal is (HIU w HwI).
We prove the intermediate
claim HwC:
w ∈ ordsq_C.
We use
(eps_ 1) to
witness the existential quantifier.
Apply andI to the current goal.
Apply andI to the current goal.
An
exact proof term for the current goal is
eps_1_pos_R.
An
exact proof term for the current goal is
eps_1_lt1_R.
We prove the intermediate
claim Hwcap:
w ∈ U ∩ ordsq_C.