Apply HIint_ex to the current goal.
Let a be given.
Assume Ha_prop.
Apply Ha_prop to the current goal.
Assume HaSq Hexb.
Apply Hexb to the current goal.
Let b be given.
Assume Hb_prop.
Apply Hb_prop to the current goal.
Assume HbSq HeqI.
rewrite the current goal using HeqI (from right to left).
An exact proof term for the current goal is Hp0I.
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 Hepsltb0:
Rlt (eps_ 1) (b 0).
We prove the intermediate
claim Hex_pb:
∃c1 c2 d1 d2 : set, p0 = (c1,c2) ∧ b = (d1,d2) ∧ (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)).
Apply Hex_pb 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 Hpb:
p0 = (c1,c2) ∧ b = (d1,d2).
An
exact proof term for the current goal is
(andEL (p0 = (c1,c2) ∧ b = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim Hp0Eq:
p0 = (c1,c2).
An
exact proof term for the current goal is
(andEL (p0 = (c1,c2)) (b = (d1,d2)) Hpb).
We prove the intermediate
claim HbEq:
b = (d1,d2).
An
exact proof term for the current goal is
(andER (p0 = (c1,c2)) (b = (d1,d2)) Hpb).
We prove the intermediate
claim Hdisj:
Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2).
An
exact proof term for the current goal is
(andER (p0 = (c1,c2) ∧ b = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim Hp0def:
p0 = (eps_ 1,1).
We prove the intermediate
claim Hp0c:
(eps_ 1,1) = (c1,c2).
rewrite the current goal using Hp0def (from left to right) at position 1.
An exact proof term for the current goal is Hp0Eq.
We prove the intermediate
claim Hp0coords:
(eps_ 1) = c1 ∧ 1 = c2.
We prove the intermediate
claim Hc1eq:
c1 = eps_ 1.
Use symmetry.
An
exact proof term for the current goal is
(andEL ((eps_ 1) = c1) (1 = c2) Hp0coords).
We prove the intermediate
claim HbD:
(d1,d2) = (b 0,b 1).
rewrite the current goal using HbEq (from right to left) at position 1.
An exact proof term for the current goal is HbEta.
We prove the intermediate
claim Hbcoords:
d1 = b 0 ∧ d2 = b 1.
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).
Apply (Hdisj (Rlt (eps_ 1) (b 0))) 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 H1lt:
Rlt 1 (b 1).
We prove the intermediate
claim Heqcd:
c1 = d1.
An
exact proof term for the current goal is
(andEL (c1 = d1) (Rlt c2 d2) Hc).
We prove the intermediate
claim Hlt2:
Rlt c2 d2.
An
exact proof term for the current goal is
(andER (c1 = d1) (Rlt c2 d2) Hc).
We prove the intermediate
claim Hc2eq:
c2 = 1.
Use symmetry.
An
exact proof term for the current goal is
(andER ((eps_ 1) = c1) (1 = c2) Hp0coords).
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 H1lt_d2:
Rlt 1 d2.
rewrite the current goal using Hc2eq (from right to left) at position 1.
An exact proof term for the current goal is Hlt2.
rewrite the current goal using Hd2eq (from right to left) at position 1.
An exact proof term for the current goal is H1lt_d2.
An exact proof term for the current goal is (Hb1prop H1lt).
Let q be given.
Assume Hq_prop.
Apply Hq_prop to the current goal.
Assume HqQ HqIneq.
We prove the intermediate
claim HqR:
q ∈ R.
We prove the intermediate
claim Hepsltq:
Rlt (eps_ 1) q.
An
exact proof term for the current goal is
(andEL (Rlt (eps_ 1) q) (Rlt q (b 0)) HqIneq).
We prove the intermediate
claim Hqltb0:
Rlt q (b 0).
An
exact proof term for the current goal is
(andER (Rlt (eps_ 1) q) (Rlt q (b 0)) HqIneq).
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 H0q:
Rlt 0 q.
An
exact proof term for the current goal is
((not_Rlt_sym 0 q H0q) Hq0).
We will
prove ¬ (Rlt 1 q).
We prove the intermediate
claim H1b0:
Rlt 1 (b 0).
An
exact proof term for the current goal is
(Rlt_tra 1 q (b 0) H1q Hqltb0).
An exact proof term for the current goal is (Hb0prop H1b0).
Set z to be the term
(q,0).
We prove the intermediate
claim HaEta:
a = (a 0,a 1).
We prove the intermediate
claim Ha0R:
(a 0) ∈ R.
An
exact proof term for the current goal is
(SepE1 R (λt : set ⇒ ¬ (Rlt t 0) ∧ ¬ (Rlt 1 t)) (a 0) Ha0U).
We prove the intermediate
claim Hex_ap:
∃c1 c2 d1 d2 : set, a = (c1,c2) ∧ p0 = (d1,d2) ∧ (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)).
We prove the intermediate
claim Ha0ltq:
Rlt (a 0) q.
Apply Hex_ap 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 Hap:
a = (c1,c2) ∧ p0 = (d1,d2).
An
exact proof term for the current goal is
(andEL (a = (c1,c2) ∧ p0 = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim HaEq:
a = (c1,c2).
An
exact proof term for the current goal is
(andEL (a = (c1,c2)) (p0 = (d1,d2)) Hap).
We prove the intermediate
claim Hp0Eq:
p0 = (d1,d2).
An
exact proof term for the current goal is
(andER (a = (c1,c2)) (p0 = (d1,d2)) Hap).
We prove the intermediate
claim Hdisj:
Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2).
An
exact proof term for the current goal is
(andER (a = (c1,c2) ∧ p0 = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim HaC:
(c1,c2) = (a 0,a 1).
rewrite the current goal using HaEq (from right to left) at position 1.
An exact proof term for the current goal is HaEta.
We prove the intermediate
claim HaCcoords:
c1 = a 0 ∧ c2 = a 1.
We prove the intermediate
claim Hc1eq:
c1 = a 0.
An
exact proof term for the current goal is
(andEL (c1 = a 0) (c2 = a 1) HaCcoords).
We prove the intermediate
claim Hp0def:
p0 = (eps_ 1,1).
We prove the intermediate
claim Hp0D:
(eps_ 1,1) = (d1,d2).
rewrite the current goal using Hp0def (from left to right) at position 1.
An exact proof term for the current goal is Hp0Eq.
We prove the intermediate
claim Hp0Dcoords:
(eps_ 1) = d1 ∧ 1 = d2.
We prove the intermediate
claim Hd1eq:
d1 = eps_ 1.
Use symmetry.
An
exact proof term for the current goal is
(andEL ((eps_ 1) = d1) (1 = d2) Hp0Dcoords).
Apply (Hdisj (Rlt (a 0) q)) to the current goal.
We prove the intermediate
claim Hlt1:
Rlt (a 0) (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) at position 1.
An exact proof term for the current goal is Hlt.
An
exact proof term for the current goal is
(Rlt_tra (a 0) (eps_ 1) q Hlt1 Hepsltq).
We prove the intermediate
claim Heq:
c1 = d1.
An
exact proof term for the current goal is
(andEL (c1 = d1) (Rlt c2 d2) Hc).
We prove the intermediate
claim Ha0eq:
(a 0) = (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) at position 1.
An exact proof term for the current goal is Heq.
rewrite the current goal using Ha0eq (from left to right) at position 1.
An exact proof term for the current goal is Hepsltq.
We prove the intermediate
claim HzInI:
z ∈ I.
rewrite the current goal using HeqI (from left to right).
Apply andI to the current goal.
rewrite the current goal using HaEta (from left to right).
Apply orIL to the current goal.
An exact proof term for the current goal is Ha0ltq.
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 Hqltb0.
We prove the intermediate
claim HzU:
z ∈ U.
An exact proof term for the current goal is (HIU z HzInI).
We prove the intermediate
claim HzNotU:
¬ (z ∈ U).
Assume HzU'.
Apply Hexy to the current goal.
Let y be given.
Assume Hyprop.
We prove the intermediate
claim HzEq:
z = (eps_ 1,y).
We prove the intermediate
claim Hcoords:
q = eps_ 1 ∧ 0 = y.
We prove the intermediate
claim Hqeq:
q = eps_ 1.
An
exact proof term for the current goal is
(andEL (q = eps_ 1) (0 = y) Hcoords).
rewrite the current goal using Hqeq (from right to left) at position 2.
An exact proof term for the current goal is Hepsltq.
An exact proof term for the current goal is (HzNotU HzU).
Apply HIlow_ex to the current goal.
Let b be given.
Assume Hbprop.
Apply Hbprop to the current goal.
Assume HbSq HeqI.
rewrite the current goal using HeqI (from right to left).
An exact proof term for the current goal is Hp0I.
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 Hepsltb0:
Rlt (eps_ 1) (b 0).
We prove the intermediate
claim Hex_pb:
∃c1 c2 d1 d2 : set, p0 = (c1,c2) ∧ b = (d1,d2) ∧ (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)).
Apply Hex_pb 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 Hpb:
p0 = (c1,c2) ∧ b = (d1,d2).
An
exact proof term for the current goal is
(andEL (p0 = (c1,c2) ∧ b = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim Hp0Eq:
p0 = (c1,c2).
An
exact proof term for the current goal is
(andEL (p0 = (c1,c2)) (b = (d1,d2)) Hpb).
We prove the intermediate
claim HbEq:
b = (d1,d2).
An
exact proof term for the current goal is
(andER (p0 = (c1,c2)) (b = (d1,d2)) Hpb).
We prove the intermediate
claim Hdisj:
Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2).
An
exact proof term for the current goal is
(andER (p0 = (c1,c2) ∧ b = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hcore).
We prove the intermediate
claim Hp0def:
p0 = (eps_ 1,1).
We prove the intermediate
claim Hp0c:
(eps_ 1,1) = (c1,c2).
rewrite the current goal using Hp0def (from left to right) at position 1.
An exact proof term for the current goal is Hp0Eq.
We prove the intermediate
claim Hp0coords:
(eps_ 1) = c1 ∧ 1 = c2.
We prove the intermediate
claim Hc1eq:
c1 = eps_ 1.
Use symmetry.
An
exact proof term for the current goal is
(andEL ((eps_ 1) = c1) (1 = c2) Hp0coords).
We prove the intermediate
claim HbD:
(d1,d2) = (b 0,b 1).
rewrite the current goal using HbEq (from right to left) at position 1.
An exact proof term for the current goal is HbEta.
We prove the intermediate
claim Hbcoords:
d1 = b 0 ∧ d2 = b 1.
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).
Apply (Hdisj (Rlt (eps_ 1) (b 0))) 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 H1lt:
Rlt 1 (b 1).
We prove the intermediate
claim Hlt2:
Rlt c2 d2.
An
exact proof term for the current goal is
(andER (c1 = d1) (Rlt c2 d2) Hc).
We prove the intermediate
claim Hc2eq:
c2 = 1.
Use symmetry.
An
exact proof term for the current goal is
(andER ((eps_ 1) = c1) (1 = c2) Hp0coords).
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 H1lt_d2:
Rlt 1 d2.
rewrite the current goal using Hc2eq (from right to left) at position 1.
An exact proof term for the current goal is Hlt2.
rewrite the current goal using Hd2eq (from right to left) at position 1.
An exact proof term for the current goal is H1lt_d2.
An exact proof term for the current goal is (Hb1prop H1lt).
Let q be given.
Assume Hq_prop.
Apply Hq_prop to the current goal.
Assume HqQ HqIneq.
We prove the intermediate
claim HqR:
q ∈ R.
We prove the intermediate
claim Hepsltq:
Rlt (eps_ 1) q.
An
exact proof term for the current goal is
(andEL (Rlt (eps_ 1) q) (Rlt q (b 0)) HqIneq).
We prove the intermediate
claim Hqltb0:
Rlt q (b 0).
An
exact proof term for the current goal is
(andER (Rlt (eps_ 1) q) (Rlt q (b 0)) HqIneq).
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 H0q:
Rlt 0 q.
An
exact proof term for the current goal is
((not_Rlt_sym 0 q H0q) Hq0).
We will
prove ¬ (Rlt 1 q).
We prove the intermediate
claim H1b0:
Rlt 1 (b 0).
An
exact proof term for the current goal is
(Rlt_tra 1 q (b 0) H1q Hqltb0).
An exact proof term for the current goal is (Hb0prop H1b0).
Set z to be the term
(q,0).
We prove the intermediate
claim HzInI:
z ∈ I.
rewrite the current goal using HeqI (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 Hqltb0.
We prove the intermediate
claim HzU:
z ∈ U.
An exact proof term for the current goal is (HIU z HzInI).
We prove the intermediate
claim HzNotU:
¬ (z ∈ U).
Assume HzU'.
Apply Hexy to the current goal.
Let y be given.
Assume Hyprop.
We prove the intermediate
claim HzEq:
z = (eps_ 1,y).
We prove the intermediate
claim Hcoords:
q = eps_ 1 ∧ 0 = y.
We prove the intermediate
claim Hqeq:
q = eps_ 1.
An
exact proof term for the current goal is
(andEL (q = eps_ 1) (0 = y) Hcoords).
rewrite the current goal using Hqeq (from right to left) at position 2.
An exact proof term for the current goal is Hepsltq.
An exact proof term for the current goal is (HzNotU HzU).