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 HpI.
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.
We prove the intermediate
claim Hb00R:
b00 ∈ R.
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 Ha01notlt0:
¬ (Rlt a01 0).
We prove the intermediate
claim Ha00ltx:
Rlt a00 x.
We prove the intermediate
claim Hunf:
∃c1 c2 d1 d2 : set, a0 = (c1,c2) ∧ p = (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 Hcore2.
Apply Hcore2 to the current goal.
Assume Hab Hdisj.
Apply Hab to the current goal.
Assume Ha0Eq HpEq.
We prove the intermediate
claim HpPair:
(d1,d2) = (x,0).
rewrite the current goal using Hpx (from right to left) at position 1.
rewrite the current goal using HpEq (from left to right) at position 1.
Use reflexivity.
We prove the intermediate
claim Hd1eq:
d1 = x.
rewrite the current goal using
(tuple_2_0_eq d1 d2) (from right to left) at position 1.
rewrite the current goal using HpPair (from left to right) at position 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 HpPair (from left to right) at position 1.
We prove the intermediate
claim HcPair:
(c1,c2) = (a00,a01).
rewrite the current goal using Ha0Eta (from right to left) at position 1.
rewrite the current goal using Ha0Eq (from right to left) at position 1.
Use reflexivity.
We prove the intermediate
claim Hc1eq:
c1 = a00.
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 a00 a01).
We prove the intermediate
claim Hc2eq:
c2 = a01.
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 a00 a01).
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 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
(andER (c1 = d1) (Rlt c2 d2) Heq).
An exact proof term for the current goal is (Ha01notlt0 Ha01lt0).
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 x) Hqineq).
We prove the intermediate
claim Hqltx:
Rlt q x.
An
exact proof term for the current goal is
(andER (Rlt a00 q) (Rlt q x) Hqineq).
We prove the intermediate
claim Hxlb00:
Rlt x b00 ∨ (x = b00 ∧ Rlt 0 b01).
We prove the intermediate
claim Hunf:
∃c1 c2 d1 d2 : set, p = (c1,c2) ∧ b0 = (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 Hcore2.
Apply Hcore2 to the current goal.
Assume Hab Hdisj.
Apply Hab to the current goal.
Assume HpEq HbEq.
We prove the intermediate
claim HpPair:
(c1,c2) = (x,0).
rewrite the current goal using Hpx (from right to left) at position 1.
rewrite the current goal using HpEq (from left to right) at position 1.
Use reflexivity.
We prove the intermediate
claim Hc1eq:
c1 = x.
rewrite the current goal using
(tuple_2_0_eq c1 c2) (from right to left) at position 1.
rewrite the current goal using HpPair (from left to right) at position 1.
We prove the intermediate
claim Hc2eq:
c2 = 0.
rewrite the current goal using
(tuple_2_1_eq c1 c2) (from right to left) at position 1.
rewrite the current goal using HpPair (from left to right) at position 1.
We prove the intermediate
claim HbPair:
(d1,d2) = (b00,b01).
rewrite the current goal using Hb0Eta (from right to left) at position 1.
rewrite the current goal using HbEq (from right to left) at position 1.
Use reflexivity.
We prove the intermediate
claim Hd1eq:
d1 = b00.
rewrite the current goal using
(tuple_2_0_eq d1 d2) (from right to left) at position 1.
rewrite the current goal using HbPair (from left to right) at position 1.
An
exact proof term for the current goal is
(tuple_2_0_eq b00 b01).
We prove the intermediate
claim Hd2eq:
d2 = b01.
rewrite the current goal using
(tuple_2_1_eq d1 d2) (from right to left) at position 1.
rewrite the current goal using HbPair (from left to right) at position 1.
An
exact proof term for the current goal is
(tuple_2_1_eq b00 b01).
Apply Hdisj to the current goal.
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.
Apply orIR to the current goal.
Apply andI 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
(andEL (c1 = d1) (Rlt c2 d2) Heq).
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
(andER (c1 = d1) (Rlt c2 d2) Heq).
We prove the intermediate
claim Hqltb00:
Rlt q b00.
Apply (Hxlb00 (Rlt q b00)) to the current goal.
An
exact proof term for the current goal is
(Rlt_tra q x b00 Hqltx Hxltb00).
rewrite the current goal using
(andEL (x = b00) (Rlt 0 b01) HxEq) (from right to left).
An exact proof term for the current goal is Hqltx.
Apply (SepI R (λt : set ⇒ ¬ (Rlt t 0) ∧ ¬ (Rlt 1 t)) q HqR) to the current goal.
Apply andI to the current goal.
We will
prove ¬ (Rlt q 0).
We prove the intermediate
claim Ha000:
Rlt a00 0.
An
exact proof term for the current goal is
(Rlt_tra a00 q 0 Ha00ltq Hq0).
We prove the intermediate
claim Ha00prop:
¬ (Rlt a00 0).
An exact proof term for the current goal is (Ha00prop Ha000).
We will
prove ¬ (Rlt 1 q).
We prove the intermediate
claim H1x:
Rlt 1 x.
An
exact proof term for the current goal is
(Rlt_tra 1 q x H1q Hqltx).
We prove the intermediate
claim Hnot1x:
¬ (Rlt 1 x).
An
exact proof term for the current goal is
(not_Rlt_sym x 1 Hxlt1).
An exact proof term for the current goal is (Hnot1x H1x).
Set w to be the term
(q,eps_ 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 Hb0Eta (from left to right).
Apply orIL to the current goal.
An exact proof term for the current goal is Hqltb00.
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 Hqlt1:
Rlt q 1.
An
exact proof term for the current goal is
(Rlt_tra q x 1 Hqltx Hxlt1).
We prove the intermediate
claim Ha00notlt0:
¬ (Rlt a00 0).
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.
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 Hwcap:
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 HpI.
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 H0ltq:
Rlt 0 q.
An
exact proof term for the current goal is
(andEL (Rlt 0 q) (Rlt q x) Hqineq).
We prove the intermediate
claim Hqltx:
Rlt q x.
An
exact proof term for the current goal is
(andER (Rlt 0 q) (Rlt q x) Hqineq).
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).
Set w to be the term
(q,eps_ 1).
rewrite the current goal using Hpx (from left to right).
Apply orIL to the current goal.
An exact proof term for the current goal is Hqltx.
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 Hqlt1:
Rlt q 1.
An
exact proof term for the current goal is
(Rlt_tra q x 1 Hqltx Hxlt1).
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 Hwcap:
w ∈ U ∩ ordsq_D.