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.
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 Ha00notlt0:
¬ (Rlt a00 0).
We prove the intermediate
claim Ha0lt1:
Rlt a00 1.
We prove the intermediate
claim Hunf:
∃c1 c2 d1 d2 : set, a0 = (c1,c2) ∧ ordsq_p10 = (d1,d2) ∧ (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)).
Apply Hunf 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.
Apply Hcore to the current goal.
Assume Hab Hdisj.
Apply Hab to the current goal.
Assume Ha0Eta Hp10Eta.
We prove the intermediate
claim HdPair:
(d1,d2) = (1,0).
rewrite the current goal using Hp10def (from right to left) at position 1.
rewrite the current goal using Hp10Eta (from left to right) at position 1.
Use reflexivity.
We prove the intermediate
claim Hd1eq:
d1 = 1.
rewrite the current goal using
(tuple_2_0_eq d1 d2) (from right to left) at position 1.
rewrite the current goal using HdPair (from left to right) at position 1.
We prove the intermediate
claim HcPair:
(c1,c2) = (a0 0,a0 1).
rewrite the current goal using Ha0Eta (from right to left) at position 1.
We prove the intermediate
claim Hc1eq:
c1 = (a0 0).
We will
prove c1 = (a0 0).
rewrite the current goal using
(tuple_2_0_eq c1 c2) (from right to left) at position 1.
rewrite the current goal using HcPair (from left to right) at position 1.
An
exact proof term for the current goal is
(tuple_2_0_eq (a0 0) (a0 1)).
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) at position 1.
An exact proof term for the current goal is Hlt.
Apply FalseE to the current goal.
We prove the intermediate
claim Hc2lt:
Rlt c2 d2.
An
exact proof term for the current goal is
(andER (c1 = d1) (Rlt c2 d2) Heq).
We prove the intermediate
claim Ha01notlt0:
¬ (Rlt (a0 1) 0).
We prove the intermediate
claim Hc2eq:
c2 = (a0 1).
We will
prove c2 = (a0 1).
rewrite the current goal using
(tuple_2_1_eq c1 c2) (from right to left) at position 1.
rewrite the current goal using HcPair (from left to right) at position 1.
An
exact proof term for the current goal is
(tuple_2_1_eq (a0 0) (a0 1)).
We prove the intermediate
claim Hd2eq:
d2 = 0.
rewrite the current goal using
(tuple_2_1_eq d1 d2) (from right to left) at position 1.
rewrite the current goal using HdPair (from left to right) at position 1.
We prove the intermediate
claim Hbad:
Rlt (a0 1) 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 Hc2lt.
An exact proof term for the current goal is (Ha01notlt0 Hbad).
Let q be given.
Assume Hqpack.
Apply Hqpack to the current goal.
Assume HqQ Hqineq.
We prove the intermediate
claim HqR:
q ∈ R.
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 Ha00le0:
Rle 0 a00.
An
exact proof term for the current goal is
(RleI 0 a00 real_0 Ha00R Ha00notlt0).
We prove the intermediate
claim H0ltq:
Rlt 0 q.
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
(not_Rlt_sym 0 q H0ltq).
An
exact proof term for the current goal is
(not_Rlt_sym q 1 Hqlt1).
Set w to be the term
(q,eps_ 1).
We prove the intermediate
claim Ha0Eta:
a0 = (a0 0,a0 1).
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 Hp10def (from left to right).
Apply orIL to the current goal.
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 HwD:
w ∈ ordsq_D.
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 Hwd:
w ∈ U ∩ ordsq_D.
Apply Hexb 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.
rewrite the current goal using Hp10def (from left to right).
Apply orIL to the current goal.
An
exact proof term for the current goal is
eps_1_lt1_R.
We prove the intermediate
claim HwI:
w ∈ I.
rewrite the current goal using HIeq (from left to right).
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 HwD:
w ∈ ordsq_D.
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 Hwd:
w ∈ U ∩ ordsq_D.