Apply Hsep to the current goal.
Let U be given.
Apply HexV to the current goal.
Let V be given.
We prove the intermediate
claim HUV0:
U ∈ TRlow ∧ V ∈ TRlow.
An
exact proof term for the current goal is
(andEL (U ∈ TRlow ∧ V ∈ TRlow) (separation_of Rlow U V) HUV).
We prove the intermediate
claim HUinSub:
U ∈ TRlow.
An
exact proof term for the current goal is
(andEL (U ∈ TRlow) (V ∈ TRlow) HUV0).
We prove the intermediate
claim HVinSub:
V ∈ TRlow.
An
exact proof term for the current goal is
(andER (U ∈ TRlow) (V ∈ TRlow) HUV0).
An
exact proof term for the current goal is
(andER (U ∈ TRlow ∧ V ∈ TRlow) (separation_of Rlow U V) HUV).
We prove the intermediate
claim Hunion:
U ∪ V = Rlow.
We prove the intermediate
claim HVne:
V ≠ Empty.
We prove the intermediate
claim Hpowdisj:
(U ∈ 𝒫 Rlow ∧ V ∈ 𝒫 Rlow) ∧ U ∩ V = Empty.
We prove the intermediate
claim HUne:
U ≠ Empty.
We prove the intermediate
claim HpowUV:
U ∈ 𝒫 Rlow ∧ V ∈ 𝒫 Rlow.
An
exact proof term for the current goal is
(andEL (U ∈ 𝒫 Rlow ∧ V ∈ 𝒫 Rlow) (U ∩ V = Empty) Hpowdisj).
We prove the intermediate
claim HUVdisj:
U ∩ V = Empty.
An
exact proof term for the current goal is
(andER (U ∈ 𝒫 Rlow ∧ V ∈ 𝒫 Rlow) (U ∩ V = Empty) Hpowdisj).
We prove the intermediate
claim HUpow:
U ∈ 𝒫 Rlow.
An
exact proof term for the current goal is
(andEL (U ∈ 𝒫 Rlow) (V ∈ 𝒫 Rlow) HpowUV).
We prove the intermediate
claim HVpow:
V ∈ 𝒫 Rlow.
An
exact proof term for the current goal is
(andER (U ∈ 𝒫 Rlow) (V ∈ 𝒫 Rlow) HpowUV).
We prove the intermediate
claim HTx0:
topology_on X Tx0.
We prove the intermediate
claim HRsub:
Rlow ⊆ X.
Let x be given.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ order_rel X x0 b) x HxR).
We prove the intermediate
claim HRpow:
Rlow ∈ 𝒫 X.
An
exact proof term for the current goal is
(PowerI X Rlow HRsub).
We prove the intermediate
claim HROpen:
Rlow ∈ Tx0.
We prove the intermediate
claim HexU0:
∃U0 ∈ Tx0, U = U0 ∩ Rlow.
Apply HexU0 to the current goal.
Let U0 be given.
Assume HU0pair.
We prove the intermediate
claim HU0Tx:
U0 ∈ Tx0.
An
exact proof term for the current goal is
(andEL (U0 ∈ Tx0) (U = U0 ∩ Rlow) HU0pair).
We prove the intermediate
claim HUeq:
U = U0 ∩ Rlow.
An
exact proof term for the current goal is
(andER (U0 ∈ Tx0) (U = U0 ∩ Rlow) HU0pair).
We prove the intermediate
claim HexV0:
∃V0 ∈ Tx0, V = V0 ∩ Rlow.
Apply HexV0 to the current goal.
Let V0 be given.
Assume HV0pair.
We prove the intermediate
claim HV0Tx:
V0 ∈ Tx0.
An
exact proof term for the current goal is
(andEL (V0 ∈ Tx0) (V = V0 ∩ Rlow) HV0pair).
We prove the intermediate
claim HVeq:
V = V0 ∩ Rlow.
An
exact proof term for the current goal is
(andER (V0 ∈ Tx0) (V = V0 ∩ Rlow) HV0pair).
We prove the intermediate
claim HUopen:
U ∈ Tx0.
rewrite the current goal using HUeq (from left to right).
We prove the intermediate
claim HVopen:
V ∈ Tx0.
rewrite the current goal using HVeq (from left to right).
Let u0 be given.
Let v0 be given.
We prove the intermediate
claim Hu0R:
u0 ∈ Rlow.
An
exact proof term for the current goal is
((PowerE Rlow U HUpow) u0 Hu0U).
We prove the intermediate
claim Hv0R:
v0 ∈ Rlow.
An
exact proof term for the current goal is
((PowerE Rlow V HVpow) v0 Hv0V).
We prove the intermediate
claim Hu0X:
u0 ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ order_rel X x0 b) u0 Hu0R).
We prove the intermediate
claim Hv0X:
v0 ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ order_rel X x0 b) v0 Hv0R).
Apply orIL to the current goal.
An exact proof term for the current goal is Huv.
Apply FalseE to the current goal.
We prove the intermediate
claim Hu0V:
u0 ∈ V.
rewrite the current goal using Heq (from left to right).
An exact proof term for the current goal is Hv0V.
We prove the intermediate
claim Hu0UV:
u0 ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V u0 Hu0U Hu0V).
We prove the intermediate
claim HuE:
u0 ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is Hu0UV.
An
exact proof term for the current goal is
(EmptyE u0 HuE).
Apply orIR to the current goal.
An exact proof term for the current goal is Hvu.
Apply Hcomp to the current goal.
We prove the intermediate
claim Hu0A0:
u0 ∈ A0.
Apply (SepI X (λx0 : set ⇒ x0 ∈ U ∧ order_rel X x0 v0) u0 Hu0X) to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is Hu0U.
An exact proof term for the current goal is Huv.
We prove the intermediate
claim HA0ne:
A0 ≠ Empty.
We prove the intermediate
claim HA0subX:
A0 ⊆ X.
Let x be given.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ x0 ∈ U ∧ order_rel X x0 v0) x HxA0).
We prove the intermediate
claim Hupper:
∃upper : set, upper ∈ X ∧ ∀a0 : set, a0 ∈ A0 → order_rel X a0 upper ∨ a0 = upper.
We use v0 to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hv0X.
Let a0 be given.
We prove the intermediate
claim Ha0Conj:
a0 ∈ U ∧ order_rel X a0 v0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ x0 ∈ U ∧ order_rel X x0 v0) a0 Ha0A0).
We prove the intermediate
claim Ha0v0:
order_rel X a0 v0.
An
exact proof term for the current goal is
(andER (a0 ∈ U) (order_rel X a0 v0) Ha0Conj).
Apply orIL to the current goal.
An exact proof term for the current goal is Ha0v0.
We prove the intermediate
claim Hexlub:
∃lub : set, lub ∈ X ∧ (∀a0 : set, a0 ∈ A0 → order_rel X a0 lub ∨ a0 = lub) ∧ (∀bound : set, bound ∈ X → (∀a0 : set, a0 ∈ A0 → order_rel X a0 bound ∨ a0 = bound) → order_rel X lub bound ∨ lub = bound).
An exact proof term for the current goal is (Hlub A0 HA0subX HA0ne Hupper).
Apply Hexlub to the current goal.
Let c be given.
Assume Hcpack.
We prove the intermediate
claim HcCore:
(c ∈ X ∧ (∀a0 : set, a0 ∈ A0 → order_rel X a0 c ∨ a0 = c)).
An
exact proof term for the current goal is
(andEL (c ∈ X ∧ (∀a0 : set, a0 ∈ A0 → order_rel X a0 c ∨ a0 = c)) (∀bound : set, bound ∈ X → (∀a0 : set, a0 ∈ A0 → order_rel X a0 bound ∨ a0 = bound) → order_rel X c bound ∨ c = bound) Hcpack).
We prove the intermediate
claim HcX:
c ∈ X.
An
exact proof term for the current goal is
(andEL (c ∈ X) (∀a0 : set, a0 ∈ A0 → order_rel X a0 c ∨ a0 = c) HcCore).
We prove the intermediate
claim Hcup:
∀a0 : set, a0 ∈ A0 → order_rel X a0 c ∨ a0 = c.
An
exact proof term for the current goal is
(andER (c ∈ X) (∀a0 : set, a0 ∈ A0 → order_rel X a0 c ∨ a0 = c) HcCore).
We prove the intermediate
claim Hcleast:
∀bound : set, bound ∈ X → (∀a0 : set, a0 ∈ A0 → order_rel X a0 bound ∨ a0 = bound) → order_rel X c bound ∨ c = bound.
An
exact proof term for the current goal is
(andER (c ∈ X ∧ (∀a0 : set, a0 ∈ A0 → order_rel X a0 c ∨ a0 = c)) (∀bound : set, bound ∈ X → (∀a0 : set, a0 ∈ A0 → order_rel X a0 bound ∨ a0 = bound) → order_rel X c bound ∨ c = bound) Hcpack).
We prove the intermediate
claim Hv0b:
order_rel X v0 b.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 b) v0 Hv0R).
We prove the intermediate
claim Hv0Upper:
∀a0 : set, a0 ∈ A0 → order_rel X a0 v0 ∨ a0 = v0.
Let a0 be given.
We prove the intermediate
claim Ha0Conj:
a0 ∈ U ∧ order_rel X a0 v0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ x0 ∈ U ∧ order_rel X x0 v0) a0 Ha0A0).
We prove the intermediate
claim Ha0v0:
order_rel X a0 v0.
An
exact proof term for the current goal is
(andER (a0 ∈ U) (order_rel X a0 v0) Ha0Conj).
Apply orIL to the current goal.
An exact proof term for the current goal is Ha0v0.
We prove the intermediate
claim HcLeV0:
order_rel X c v0 ∨ c = v0.
An exact proof term for the current goal is (Hcleast v0 Hv0X Hv0Upper).
We prove the intermediate
claim Hcb:
order_rel X c b.
Apply HcLeV0 to the current goal.
An
exact proof term for the current goal is
(order_rel_trans X c v0 b Hso HcX Hv0X HbX Hcv0 Hv0b).
rewrite the current goal using Hceq (from left to right).
An exact proof term for the current goal is Hv0b.
We prove the intermediate
claim HcR:
c ∈ Rlow.
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X x0 b) c HcX Hcb).
We prove the intermediate
claim HcInUV:
c ∈ U ∪ V.
rewrite the current goal using Hunion (from left to right).
An exact proof term for the current goal is HcR.
Apply (binunionE U V c HcInUV) to the current goal.
We prove the intermediate
claim Hv0Upper:
∀a0 : set, a0 ∈ A0 → order_rel X a0 v0 ∨ a0 = v0.
Let a0 be given.
We prove the intermediate
claim Ha0Conj:
a0 ∈ U ∧ order_rel X a0 v0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ x0 ∈ U ∧ order_rel X x0 v0) a0 Ha0A0).
We prove the intermediate
claim Ha0v0:
order_rel X a0 v0.
An
exact proof term for the current goal is
(andER (a0 ∈ U) (order_rel X a0 v0) Ha0Conj).
Apply orIL to the current goal.
An exact proof term for the current goal is Ha0v0.
We prove the intermediate
claim HcLeV0:
order_rel X c v0 ∨ c = v0.
An exact proof term for the current goal is (Hcleast v0 Hv0X Hv0Upper).
We prove the intermediate
claim HcLtV0:
order_rel X c v0.
Apply HcLeV0 to the current goal.
An exact proof term for the current goal is Hcv0.
Apply FalseE to the current goal.
We prove the intermediate
claim Hv0U:
v0 ∈ U.
rewrite the current goal using Hceq (from right to left).
An exact proof term for the current goal is HcU.
We prove the intermediate
claim Hv0UV:
v0 ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V v0 Hv0U Hv0V).
We prove the intermediate
claim Hv0E:
v0 ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is Hv0UV.
An
exact proof term for the current goal is
(EmptyE v0 Hv0E).
We prove the intermediate
claim HcIv0:
c ∈ Iv0.
We prove the intermediate
claim HIdef:
Iv0 = {x ∈ X|order_rel X x v0}.
rewrite the current goal using HIdef (from left to right).
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X x0 v0) c HcX HcLtV0).
Apply HexB0 to the current goal.
Let B0 be given.
Assume HB0Core.
Apply HB0Core to the current goal.
Assume HB0B HB0Data.
Apply HB0Data to the current goal.
Assume HcB0 HB0subU.
Apply HexB3 to the current goal.
Let B3 be given.
Assume HB3Core.
Apply HB3Core to the current goal.
Assume HB3B HB3Data.
Apply HB3Data to the current goal.
Assume HcB3 HB3Sub.
Apply Hcases to the current goal.
Apply H123 to the current goal.
Apply H12 to the current goal.
Apply HB3I to the current goal.
Let a0 be given.
Assume HaCore.
Apply HaCore to the current goal.
Assume Ha0X HdEx.
Apply HdEx to the current goal.
Let d be given.
Assume HdCore.
Apply HdCore to the current goal.
Assume HdX HB3eq.
rewrite the current goal using HB3eq (from right to left).
An exact proof term for the current goal is HcB3.
We prove the intermediate
claim Hcd:
order_rel X c d.
An exact proof term for the current goal is (Hbetween c d HcX HdX Hcd).
Apply Hexz to the current goal.
Let z be given.
Assume HzConj.
We prove the intermediate
claim HzCore:
z ∈ X ∧ order_rel X c z.
We prove the intermediate
claim HzX:
z ∈ X.
An
exact proof term for the current goal is
(andEL (z ∈ X) (order_rel X c z) HzCore).
We prove the intermediate
claim Hcz:
order_rel X c z.
An
exact proof term for the current goal is
(andER (z ∈ X) (order_rel X c z) HzCore).
Apply andI to the current goal.
We prove the intermediate
claim HzB3:
z ∈ B3.
rewrite the current goal using HB3eq (from left to right).
An exact proof term for the current goal is HzI0.
We prove the intermediate
claim HzInInter:
z ∈ B0 ∩ Iv0.
An exact proof term for the current goal is (HB3Sub z HzB3).
We prove the intermediate
claim HzB0:
z ∈ B0.
An
exact proof term for the current goal is
(binintersectE1 B0 Iv0 z HzInInter).
We prove the intermediate
claim HzIv0:
z ∈ Iv0.
An
exact proof term for the current goal is
(binintersectE2 B0 Iv0 z HzInInter).
We prove the intermediate
claim HzU:
z ∈ U.
An exact proof term for the current goal is (HB0subU z HzB0).
We prove the intermediate
claim Hzltv0:
order_rel X z v0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 v0) z HzIv0).
We prove the intermediate
claim HzA0:
z ∈ A0.
Apply (SepI X (λx0 : set ⇒ x0 ∈ U ∧ order_rel X x0 v0) z HzX) to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HzU.
An exact proof term for the current goal is Hzltv0.
Apply (Hcup z HzA0) to the current goal.
We prove the intermediate
claim Hcc:
order_rel X c c.
An
exact proof term for the current goal is
(order_rel_trans X c z c Hso HcX HzX HcX Hcz Hzltc).
We prove the intermediate
claim Hcc:
order_rel X c c.
rewrite the current goal using Hzeq (from right to left) at position 2.
An exact proof term for the current goal is Hcz.
Apply HB3L to the current goal.
Let d be given.
Assume HdCore.
Apply HdCore to the current goal.
Assume HdX HB3eq.
rewrite the current goal using HB3eq (from right to left).
An exact proof term for the current goal is HcB3.
We prove the intermediate
claim Hcd:
order_rel X c d.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 d) c HcInL).
An exact proof term for the current goal is (Hbetween c d HcX HdX Hcd).
Apply Hexz to the current goal.
Let z be given.
Assume HzConj.
We prove the intermediate
claim HzCore:
z ∈ X ∧ order_rel X c z.
We prove the intermediate
claim HzX:
z ∈ X.
An
exact proof term for the current goal is
(andEL (z ∈ X) (order_rel X c z) HzCore).
We prove the intermediate
claim Hcz:
order_rel X c z.
An
exact proof term for the current goal is
(andER (z ∈ X) (order_rel X c z) HzCore).
We prove the intermediate
claim Hzld:
order_rel X z d.
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X x0 d) z HzX Hzld).
We prove the intermediate
claim HzB3:
z ∈ B3.
rewrite the current goal using HB3eq (from left to right).
An exact proof term for the current goal is HzL.
We prove the intermediate
claim HzInInter:
z ∈ B0 ∩ Iv0.
An exact proof term for the current goal is (HB3Sub z HzB3).
We prove the intermediate
claim HzB0:
z ∈ B0.
An
exact proof term for the current goal is
(binintersectE1 B0 Iv0 z HzInInter).
We prove the intermediate
claim HzIv0:
z ∈ Iv0.
An
exact proof term for the current goal is
(binintersectE2 B0 Iv0 z HzInInter).
We prove the intermediate
claim HzU:
z ∈ U.
An exact proof term for the current goal is (HB0subU z HzB0).
We prove the intermediate
claim Hzltv0:
order_rel X z v0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 v0) z HzIv0).
We prove the intermediate
claim HzA0:
z ∈ A0.
Apply (SepI X (λx0 : set ⇒ x0 ∈ U ∧ order_rel X x0 v0) z HzX) to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HzU.
An exact proof term for the current goal is Hzltv0.
Apply (Hcup z HzA0) to the current goal.
We prove the intermediate
claim Hcc:
order_rel X c c.
An
exact proof term for the current goal is
(order_rel_trans X c z c Hso HcX HzX HcX Hcz Hzltc).
We prove the intermediate
claim Hcc:
order_rel X c c.
rewrite the current goal using Hzeq (from right to left) at position 2.
An exact proof term for the current goal is Hcz.
Apply HB3R to the current goal.
Let a0 be given.
Assume HaCore.
Apply HaCore to the current goal.
Assume Ha0X HB3eq.
rewrite the current goal using HB3eq (from right to left).
An exact proof term for the current goal is HcB3.
We prove the intermediate
claim Hac0:
order_rel X a0 c.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X a0 x0) c HcInR).
We prove the intermediate
claim Hav0:
order_rel X a0 v0.
An
exact proof term for the current goal is
(order_rel_trans X a0 c v0 Hso Ha0X HcX Hv0X Hac0 HcLtV0).
We prove the intermediate
claim Hv0B3:
v0 ∈ B3.
rewrite the current goal using HB3eq (from left to right).
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X a0 x0) v0 Hv0X Hav0).
We prove the intermediate
claim Hv0InInter:
v0 ∈ B0 ∩ Iv0.
An exact proof term for the current goal is (HB3Sub v0 Hv0B3).
We prove the intermediate
claim Hv0Iv0:
v0 ∈ Iv0.
An
exact proof term for the current goal is
(binintersectE2 B0 Iv0 v0 Hv0InInter).
We prove the intermediate
claim Hv0ltv0:
order_rel X v0 v0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 v0) v0 Hv0Iv0).
An
exact proof term for the current goal is
((order_rel_irref X v0) Hv0ltv0).
We prove the intermediate
claim Hv0B3:
v0 ∈ B3.
rewrite the current goal using HB3X (from left to right).
An exact proof term for the current goal is Hv0X.
We prove the intermediate
claim Hv0InInter:
v0 ∈ B0 ∩ Iv0.
An exact proof term for the current goal is (HB3Sub v0 Hv0B3).
We prove the intermediate
claim Hv0Iv0:
v0 ∈ Iv0.
An
exact proof term for the current goal is
(binintersectE2 B0 Iv0 v0 Hv0InInter).
We prove the intermediate
claim Hv0ltv0:
order_rel X v0 v0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 v0) v0 Hv0Iv0).
An
exact proof term for the current goal is
((order_rel_irref X v0) Hv0ltv0).
We prove the intermediate
claim HcnotU:
¬ (c ∈ U).
We prove the intermediate
claim HcUV:
c ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V c HcU2 HcV).
We prove the intermediate
claim HcE:
c ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is HcUV.
An
exact proof term for the current goal is
(EmptyE c HcE).
We prove the intermediate
claim Hcup_lt:
∀a0 : set, a0 ∈ A0 → order_rel X a0 c.
Let a0 be given.
Apply (Hcup a0 Ha0A0) to the current goal.
An exact proof term for the current goal is Hac0.
Apply FalseE to the current goal.
We prove the intermediate
claim HcA0:
c ∈ A0.
rewrite the current goal using Haeq (from right to left).
An exact proof term for the current goal is Ha0A0.
We prove the intermediate
claim HcConj:
c ∈ U ∧ order_rel X c v0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ x0 ∈ U ∧ order_rel X x0 v0) c HcA0).
We prove the intermediate
claim HcU2:
c ∈ U.
An
exact proof term for the current goal is
(andEL (c ∈ U) (order_rel X c v0) HcConj).
An exact proof term for the current goal is (HcnotU HcU2).
Apply HexBv to the current goal.
Let Bv be given.
Assume HBvCore.
Apply HBvCore to the current goal.
Assume HBvB HBvData.
Apply HBvData to the current goal.
Assume HcBv HBvsubV.
Apply HcasesBv to the current goal.
Apply H123Bv to the current goal.
Apply H12Bv to the current goal.
Apply HBvI to the current goal.
Let l be given.
Assume HlCore.
Apply HlCore to the current goal.
Assume HlX HrEx.
Apply HrEx to the current goal.
Let r be given.
Assume HrCore.
Apply HrCore to the current goal.
Assume HrX HBveq.
rewrite the current goal using HBveq (from right to left).
An exact proof term for the current goal is HcBv.
We prove the intermediate
claim Hlc:
order_rel X l c.
We prove the intermediate
claim Hcr:
order_rel X c r.
We prove the intermediate
claim HcontraUB:
¬ (∀x : set, x ∈ A0 → order_rel X x l ∨ x = l).
We prove the intermediate
claim Hcl:
order_rel X c l ∨ c = l.
An exact proof term for the current goal is (Hcleast l HlX Hub).
Apply Hcl to the current goal.
We prove the intermediate
claim Hll:
order_rel X l l.
An
exact proof term for the current goal is
(order_rel_trans X l c l Hso HlX HcX HlX Hlc HclRel).
We prove the intermediate
claim Hll:
order_rel X l l.
rewrite the current goal using Hceq (from right to left) at position 2.
An exact proof term for the current goal is Hlc.
We prove the intermediate
claim Hexnl:
∃x : set, ¬ (x ∈ A0 → order_rel X x l ∨ x = l).
Apply Hexnl to the current goal.
Let x be given.
We prove the intermediate
claim HxA0_and:
x ∈ A0 ∧ ¬ (order_rel X x l ∨ x = l).
An
exact proof term for the current goal is
(not_imp (x ∈ A0) (order_rel X x l ∨ x = l) HnotImp).
We prove the intermediate
claim HxA0:
x ∈ A0.
An
exact proof term for the current goal is
(andEL (x ∈ A0) (¬ (order_rel X x l ∨ x = l)) HxA0_and).
We prove the intermediate
claim Hxnotle:
¬ (order_rel X x l ∨ x = l).
An
exact proof term for the current goal is
(andER (x ∈ A0) (¬ (order_rel X x l ∨ x = l)) HxA0_and).
We prove the intermediate
claim Hxnot:
¬ (order_rel X x l) ∧ x ≠ l.
We prove the intermediate
claim Hxnotxl:
¬ (order_rel X x l).
An
exact proof term for the current goal is
(andEL (¬ (order_rel X x l)) (¬ (x = l)) Hxnot).
We prove the intermediate
claim Hxneq:
x ≠ l.
An
exact proof term for the current goal is
(andER (¬ (order_rel X x l)) (¬ (x = l)) Hxnot).
We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ x0 ∈ U ∧ order_rel X x0 v0) x HxA0).
We prove the intermediate
claim Hxl:
order_rel X l x.
An exact proof term for the current goal is Hlx.
Apply FalseE to the current goal.
Apply Hxneq to the current goal.
Use symmetry.
An exact proof term for the current goal is Heq.
Apply FalseE to the current goal.
An exact proof term for the current goal is (Hxnotxl Hxlt).
We prove the intermediate
claim Hxc:
order_rel X x c.
An exact proof term for the current goal is (Hcup_lt x HxA0).
We prove the intermediate
claim Hxr:
order_rel X x r.
An
exact proof term for the current goal is
(order_rel_trans X x c r Hso HxX HcX HrX Hxc Hcr).
Apply andI to the current goal.
An exact proof term for the current goal is Hxl.
An exact proof term for the current goal is Hxr.
We prove the intermediate
claim HxBv:
x ∈ Bv.
rewrite the current goal using HBveq (from left to right).
An exact proof term for the current goal is HxI0.
We prove the intermediate
claim HxV:
x ∈ V.
An exact proof term for the current goal is (HBvsubV x HxBv).
We prove the intermediate
claim HxU:
x ∈ U.
We prove the intermediate
claim HxUV:
x ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V x HxU HxV).
We prove the intermediate
claim HxE:
x ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is HxUV.
An
exact proof term for the current goal is
(EmptyE x HxE).
Apply HBvL to the current goal.
Let r be given.
Assume HrCore.
Apply HrCore to the current goal.
Assume HrX HBveq.
rewrite the current goal using HBveq (from right to left).
An exact proof term for the current goal is HcBv.
We prove the intermediate
claim Hcr:
order_rel X c r.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 r) c HcInL0).
We prove the intermediate
claim Hu0c:
order_rel X u0 c.
An exact proof term for the current goal is (Hcup_lt u0 Hu0A0).
We prove the intermediate
claim Hu0r:
order_rel X u0 r.
An
exact proof term for the current goal is
(order_rel_trans X u0 c r Hso Hu0X HcX HrX Hu0c Hcr).
We prove the intermediate
claim Hu0L0:
u0 ∈ {x0 ∈ X|order_rel X x0 r}.
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X x0 r) u0 Hu0X Hu0r).
We prove the intermediate
claim Hu0Bv:
u0 ∈ Bv.
rewrite the current goal using HBveq (from left to right).
An exact proof term for the current goal is Hu0L0.
We prove the intermediate
claim Hu0V2:
u0 ∈ V.
An exact proof term for the current goal is (HBvsubV u0 Hu0Bv).
We prove the intermediate
claim Hu0UV:
u0 ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V u0 Hu0U Hu0V2).
We prove the intermediate
claim Hu0E:
u0 ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is Hu0UV.
An
exact proof term for the current goal is
(EmptyE u0 Hu0E).
Apply HBvR to the current goal.
Let l be given.
Assume HlCore.
Apply HlCore to the current goal.
Assume HlX HBveq.
rewrite the current goal using HBveq (from right to left).
An exact proof term for the current goal is HcBv.
We prove the intermediate
claim Hlc:
order_rel X l c.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X l x0) c HcInR0).
We prove the intermediate
claim HcontraUB:
¬ (∀x : set, x ∈ A0 → order_rel X x l ∨ x = l).
We prove the intermediate
claim Hcl:
order_rel X c l ∨ c = l.
An exact proof term for the current goal is (Hcleast l HlX Hub).
Apply Hcl to the current goal.
We prove the intermediate
claim Hll:
order_rel X l l.
An
exact proof term for the current goal is
(order_rel_trans X l c l Hso HlX HcX HlX Hlc HclRel).
We prove the intermediate
claim Hll:
order_rel X l l.
rewrite the current goal using Hceq (from right to left) at position 2.
An exact proof term for the current goal is Hlc.
We prove the intermediate
claim Hexnl:
∃x : set, ¬ (x ∈ A0 → order_rel X x l ∨ x = l).
Apply Hexnl to the current goal.
Let x be given.
We prove the intermediate
claim HxA0_and:
x ∈ A0 ∧ ¬ (order_rel X x l ∨ x = l).
An
exact proof term for the current goal is
(not_imp (x ∈ A0) (order_rel X x l ∨ x = l) HnotImp).
We prove the intermediate
claim HxA0:
x ∈ A0.
An
exact proof term for the current goal is
(andEL (x ∈ A0) (¬ (order_rel X x l ∨ x = l)) HxA0_and).
We prove the intermediate
claim Hxnotle:
¬ (order_rel X x l ∨ x = l).
An
exact proof term for the current goal is
(andER (x ∈ A0) (¬ (order_rel X x l ∨ x = l)) HxA0_and).
We prove the intermediate
claim Hxnot:
¬ (order_rel X x l) ∧ x ≠ l.
We prove the intermediate
claim Hxnotxl:
¬ (order_rel X x l).
An
exact proof term for the current goal is
(andEL (¬ (order_rel X x l)) (¬ (x = l)) Hxnot).
We prove the intermediate
claim Hxneq:
x ≠ l.
An
exact proof term for the current goal is
(andER (¬ (order_rel X x l)) (¬ (x = l)) Hxnot).
We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ x0 ∈ U ∧ order_rel X x0 v0) x HxA0).
We prove the intermediate
claim Hxl:
order_rel X l x.
An exact proof term for the current goal is Hlx.
Apply FalseE to the current goal.
Apply Hxneq to the current goal.
Use symmetry.
An exact proof term for the current goal is Heq.
Apply FalseE to the current goal.
An exact proof term for the current goal is (Hxnotxl Hxlt).
We prove the intermediate
claim HxBv:
x ∈ Bv.
rewrite the current goal using HBveq (from left to right).
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X l x0) x HxX Hxl).
We prove the intermediate
claim HxV:
x ∈ V.
An exact proof term for the current goal is (HBvsubV x HxBv).
We prove the intermediate
claim HxU:
x ∈ U.
We prove the intermediate
claim HxUV:
x ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V x HxU HxV).
We prove the intermediate
claim HxE:
x ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is HxUV.
An
exact proof term for the current goal is
(EmptyE x HxE).
We prove the intermediate
claim Hu0V2:
u0 ∈ V.
Apply HBvsubV to the current goal.
rewrite the current goal using HBvX (from left to right).
An exact proof term for the current goal is Hu0X.
We prove the intermediate
claim Hu0UV:
u0 ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V u0 Hu0U Hu0V2).
We prove the intermediate
claim Hu0E:
u0 ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is Hu0UV.
An
exact proof term for the current goal is
(EmptyE u0 Hu0E).
We prove the intermediate
claim HA1subX:
A1 ⊆ X.
Let x be given.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ x0 ∈ V ∧ order_rel X x0 u0) x HxA1).
We prove the intermediate
claim Hv0A1:
v0 ∈ A1.
Apply (SepI X (λx0 : set ⇒ x0 ∈ V ∧ order_rel X x0 u0) v0 Hv0X) to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is Hv0V.
An exact proof term for the current goal is Hvu.
We prove the intermediate
claim HA1ne:
A1 ≠ Empty.
We prove the intermediate
claim Hupper1:
∃upper : set, upper ∈ X ∧ ∀a0 : set, a0 ∈ A1 → order_rel X a0 upper ∨ a0 = upper.
We use u0 to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hu0X.
Let a0 be given.
We prove the intermediate
claim Ha0Conj:
a0 ∈ V ∧ order_rel X a0 u0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ x0 ∈ V ∧ order_rel X x0 u0) a0 Ha0A1).
We prove the intermediate
claim Hau0:
order_rel X a0 u0.
An
exact proof term for the current goal is
(andER (a0 ∈ V) (order_rel X a0 u0) Ha0Conj).
Apply orIL to the current goal.
An exact proof term for the current goal is Hau0.
We prove the intermediate
claim Hexlub1:
∃lub : set, lub ∈ X ∧ (∀a0 : set, a0 ∈ A1 → order_rel X a0 lub ∨ a0 = lub) ∧ (∀bound : set, bound ∈ X → (∀a0 : set, a0 ∈ A1 → order_rel X a0 bound ∨ a0 = bound) → order_rel X lub bound ∨ lub = bound).
An exact proof term for the current goal is (Hlub A1 HA1subX HA1ne Hupper1).
Apply Hexlub1 to the current goal.
Let c1 be given.
Assume Hc1pack.
We prove the intermediate
claim Hc1Core:
(c1 ∈ X ∧ (∀a0 : set, a0 ∈ A1 → order_rel X a0 c1 ∨ a0 = c1)).
An
exact proof term for the current goal is
(andEL (c1 ∈ X ∧ (∀a0 : set, a0 ∈ A1 → order_rel X a0 c1 ∨ a0 = c1)) (∀bound : set, bound ∈ X → (∀a0 : set, a0 ∈ A1 → order_rel X a0 bound ∨ a0 = bound) → order_rel X c1 bound ∨ c1 = bound) Hc1pack).
We prove the intermediate
claim Hc1X:
c1 ∈ X.
An
exact proof term for the current goal is
(andEL (c1 ∈ X) (∀a0 : set, a0 ∈ A1 → order_rel X a0 c1 ∨ a0 = c1) Hc1Core).
We prove the intermediate
claim Hcup1:
∀a0 : set, a0 ∈ A1 → order_rel X a0 c1 ∨ a0 = c1.
An
exact proof term for the current goal is
(andER (c1 ∈ X) (∀a0 : set, a0 ∈ A1 → order_rel X a0 c1 ∨ a0 = c1) Hc1Core).
We prove the intermediate
claim Hcleast1:
∀bound : set, bound ∈ X → (∀a0 : set, a0 ∈ A1 → order_rel X a0 bound ∨ a0 = bound) → order_rel X c1 bound ∨ c1 = bound.
An
exact proof term for the current goal is
(andER (c1 ∈ X ∧ (∀a0 : set, a0 ∈ A1 → order_rel X a0 c1 ∨ a0 = c1)) (∀bound : set, bound ∈ X → (∀a0 : set, a0 ∈ A1 → order_rel X a0 bound ∨ a0 = bound) → order_rel X c1 bound ∨ c1 = bound) Hc1pack).
We prove the intermediate
claim Hu0b:
order_rel X u0 b.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 b) u0 Hu0R).
We prove the intermediate
claim Hu0Upper1:
∀a0 : set, a0 ∈ A1 → order_rel X a0 u0 ∨ a0 = u0.
Let a0 be given.
We prove the intermediate
claim Ha0Conj:
a0 ∈ V ∧ order_rel X a0 u0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ x0 ∈ V ∧ order_rel X x0 u0) a0 Ha0A1).
We prove the intermediate
claim Hau0:
order_rel X a0 u0.
An
exact proof term for the current goal is
(andER (a0 ∈ V) (order_rel X a0 u0) Ha0Conj).
Apply orIL to the current goal.
An exact proof term for the current goal is Hau0.
We prove the intermediate
claim Hc1LeU0:
order_rel X c1 u0 ∨ c1 = u0.
An exact proof term for the current goal is (Hcleast1 u0 Hu0X Hu0Upper1).
We prove the intermediate
claim Hc1b:
order_rel X c1 b.
Apply Hc1LeU0 to the current goal.
An
exact proof term for the current goal is
(order_rel_trans X c1 u0 b Hso Hc1X Hu0X HbX Hc1u0 Hu0b).
rewrite the current goal using Hceq (from left to right).
An exact proof term for the current goal is Hu0b.
We prove the intermediate
claim Hc1R:
c1 ∈ Rlow.
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X x0 b) c1 Hc1X Hc1b).
We prove the intermediate
claim Hc1InUV:
c1 ∈ U ∪ V.
rewrite the current goal using Hunion (from left to right).
An exact proof term for the current goal is Hc1R.
Apply (binunionE U V c1 Hc1InUV) to the current goal.
We prove the intermediate
claim Hc1notV:
¬ (c1 ∈ V).
We prove the intermediate
claim Hc1UV:
c1 ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V c1 Hc1U Hc1V2).
We prove the intermediate
claim Hc1E:
c1 ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is Hc1UV.
An
exact proof term for the current goal is
(EmptyE c1 Hc1E).
We prove the intermediate
claim Hcup1_lt:
∀a0 : set, a0 ∈ A1 → order_rel X a0 c1.
Let a0 be given.
Apply (Hcup1 a0 Ha0A1) to the current goal.
An exact proof term for the current goal is Ha0c1.
Apply FalseE to the current goal.
We prove the intermediate
claim Hc1A1:
c1 ∈ A1.
rewrite the current goal using Ha0eq (from right to left).
An exact proof term for the current goal is Ha0A1.
We prove the intermediate
claim Hc1Conj:
c1 ∈ V ∧ order_rel X c1 u0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ x0 ∈ V ∧ order_rel X x0 u0) c1 Hc1A1).
We prove the intermediate
claim Hc1V2:
c1 ∈ V.
An
exact proof term for the current goal is
(andEL (c1 ∈ V) (order_rel X c1 u0) Hc1Conj).
An exact proof term for the current goal is (Hc1notV Hc1V2).
Apply HexbU to the current goal.
Let b0 be given.
Assume Hb0Core.
Apply Hb0Core to the current goal.
Assume Hb0B Hb0Data.
Apply Hb0Data to the current goal.
Assume Hc1b0 Hb0subU.
Apply Hcasesb0 to the current goal.
Apply H123b0 to the current goal.
Apply H12b0 to the current goal.
Apply Hb0I to the current goal.
Let a0 be given.
Assume HaCore.
Apply HaCore to the current goal.
Assume Ha0X HdEx.
Apply HdEx to the current goal.
Let d be given.
Assume HdCore.
Apply HdCore to the current goal.
Assume HdX Hb0eq.
rewrite the current goal using Hb0eq (from right to left).
An exact proof term for the current goal is Hc1b0.
We prove the intermediate
claim Ha0c1:
order_rel X a0 c1.
We prove the intermediate
claim Hc1d:
order_rel X c1 d.
We prove the intermediate
claim HcontraUB:
¬ (∀x : set, x ∈ A1 → order_rel X x a0 ∨ x = a0).
We prove the intermediate
claim Hc1a0:
order_rel X c1 a0 ∨ c1 = a0.
An exact proof term for the current goal is (Hcleast1 a0 Ha0X Hub).
Apply Hc1a0 to the current goal.
We prove the intermediate
claim Ha0a0:
order_rel X a0 a0.
An
exact proof term for the current goal is
(order_rel_trans X a0 c1 a0 Hso Ha0X Hc1X Ha0X Ha0c1 Hc1a0Rel).
An
exact proof term for the current goal is
((order_rel_irref X a0) Ha0a0).
We prove the intermediate
claim Ha0a0:
order_rel X a0 a0.
rewrite the current goal using Hc1eq (from right to left) at position 2.
An exact proof term for the current goal is Ha0c1.
An
exact proof term for the current goal is
((order_rel_irref X a0) Ha0a0).
We prove the intermediate
claim Hexna:
∃x : set, ¬ (x ∈ A1 → order_rel X x a0 ∨ x = a0).
Apply Hexna to the current goal.
Let x be given.
We prove the intermediate
claim HxA1_and:
x ∈ A1 ∧ ¬ (order_rel X x a0 ∨ x = a0).
An
exact proof term for the current goal is
(not_imp (x ∈ A1) (order_rel X x a0 ∨ x = a0) HnotImp).
We prove the intermediate
claim HxA1:
x ∈ A1.
An
exact proof term for the current goal is
(andEL (x ∈ A1) (¬ (order_rel X x a0 ∨ x = a0)) HxA1_and).
We prove the intermediate
claim Hxnotle:
¬ (order_rel X x a0 ∨ x = a0).
An
exact proof term for the current goal is
(andER (x ∈ A1) (¬ (order_rel X x a0 ∨ x = a0)) HxA1_and).
We prove the intermediate
claim Hxnot:
¬ (order_rel X x a0) ∧ x ≠ a0.
We prove the intermediate
claim Hxnotxa:
¬ (order_rel X x a0).
An
exact proof term for the current goal is
(andEL (¬ (order_rel X x a0)) (¬ (x = a0)) Hxnot).
We prove the intermediate
claim Hxneq:
x ≠ a0.
An
exact proof term for the current goal is
(andER (¬ (order_rel X x a0)) (¬ (x = a0)) Hxnot).
We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ x0 ∈ V ∧ order_rel X x0 u0) x HxA1).
We prove the intermediate
claim Hxa0:
order_rel X a0 x.
An exact proof term for the current goal is Ha0x.
Apply FalseE to the current goal.
Apply Hxneq to the current goal.
Use symmetry.
An exact proof term for the current goal is Heq.
Apply FalseE to the current goal.
An exact proof term for the current goal is (Hxnotxa Hxalt).
We prove the intermediate
claim Hxc1:
order_rel X x c1.
An exact proof term for the current goal is (Hcup1_lt x HxA1).
We prove the intermediate
claim Hxd:
order_rel X x d.
An
exact proof term for the current goal is
(order_rel_trans X x c1 d Hso HxX Hc1X HdX Hxc1 Hc1d).
Apply andI to the current goal.
An exact proof term for the current goal is Hxa0.
An exact proof term for the current goal is Hxd.
We prove the intermediate
claim Hxb0:
x ∈ b0.
rewrite the current goal using Hb0eq (from left to right).
An exact proof term for the current goal is HxI0.
We prove the intermediate
claim HxU:
x ∈ U.
An exact proof term for the current goal is (Hb0subU x Hxb0).
We prove the intermediate
claim HxV:
x ∈ V.
We prove the intermediate
claim HxUV:
x ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V x HxU HxV).
We prove the intermediate
claim HxE:
x ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is HxUV.
An
exact proof term for the current goal is
(EmptyE x HxE).
Apply Hb0L to the current goal.
Let d be given.
Assume HdCore.
Apply HdCore to the current goal.
Assume HdX Hb0eq.
rewrite the current goal using Hb0eq (from right to left).
An exact proof term for the current goal is Hc1b0.
We prove the intermediate
claim Hc1d:
order_rel X c1 d.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 d) c1 Hc1InL).
Set x to be the term v0.
We prove the intermediate
claim HxA1w:
x ∈ A1.
An exact proof term for the current goal is Hv0A1.
We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ x0 ∈ V ∧ order_rel X x0 u0) x HxA1w).
We prove the intermediate
claim Hxc1:
order_rel X x c1.
An exact proof term for the current goal is (Hcup1_lt x HxA1w).
We prove the intermediate
claim Hxd:
order_rel X x d.
An
exact proof term for the current goal is
(order_rel_trans X x c1 d Hso HxX Hc1X HdX Hxc1 Hc1d).
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X x0 d) x HxX Hxd).
We prove the intermediate
claim Hxb0:
x ∈ b0.
rewrite the current goal using Hb0eq (from left to right).
An exact proof term for the current goal is HxL.
We prove the intermediate
claim HxU:
x ∈ U.
An exact proof term for the current goal is (Hb0subU x Hxb0).
We prove the intermediate
claim HxV:
x ∈ V.
An exact proof term for the current goal is Hv0V.
We prove the intermediate
claim HxUV:
x ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V x HxU HxV).
We prove the intermediate
claim HxE:
x ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is HxUV.
An
exact proof term for the current goal is
(EmptyE x HxE).
Apply Hb0R to the current goal.
Let a0 be given.
Assume HaCore.
Apply HaCore to the current goal.
Assume Ha0X Hb0eq.
We prove the intermediate
claim Hc1InR:
c1 ∈ {x ∈ X|order_rel X a0 x}.
rewrite the current goal using Hb0eq (from right to left).
An exact proof term for the current goal is Hc1b0.
We prove the intermediate
claim Ha0c1:
order_rel X a0 c1.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X a0 x0) c1 Hc1InR).
We prove the intermediate
claim HcontraUB:
¬ (∀x : set, x ∈ A1 → order_rel X x a0 ∨ x = a0).
We prove the intermediate
claim Hc1a0:
order_rel X c1 a0 ∨ c1 = a0.
An exact proof term for the current goal is (Hcleast1 a0 Ha0X Hub).
Apply Hc1a0 to the current goal.
We prove the intermediate
claim Ha0a0:
order_rel X a0 a0.
An
exact proof term for the current goal is
(order_rel_trans X a0 c1 a0 Hso Ha0X Hc1X Ha0X Ha0c1 Hc1a0Rel).
An
exact proof term for the current goal is
((order_rel_irref X a0) Ha0a0).
We prove the intermediate
claim Ha0a0:
order_rel X a0 a0.
rewrite the current goal using Hc1eq (from right to left) at position 2.
An exact proof term for the current goal is Ha0c1.
An
exact proof term for the current goal is
((order_rel_irref X a0) Ha0a0).
We prove the intermediate
claim Hexna:
∃x : set, ¬ (x ∈ A1 → order_rel X x a0 ∨ x = a0).
Apply Hexna to the current goal.
Let x be given.
We prove the intermediate
claim HxA1_and:
x ∈ A1 ∧ ¬ (order_rel X x a0 ∨ x = a0).
An
exact proof term for the current goal is
(not_imp (x ∈ A1) (order_rel X x a0 ∨ x = a0) HnotImp).
We prove the intermediate
claim HxA1:
x ∈ A1.
An
exact proof term for the current goal is
(andEL (x ∈ A1) (¬ (order_rel X x a0 ∨ x = a0)) HxA1_and).
We prove the intermediate
claim Hxnotle:
¬ (order_rel X x a0 ∨ x = a0).
An
exact proof term for the current goal is
(andER (x ∈ A1) (¬ (order_rel X x a0 ∨ x = a0)) HxA1_and).
We prove the intermediate
claim Hxnot:
¬ (order_rel X x a0) ∧ x ≠ a0.
We prove the intermediate
claim Hxnotxa:
¬ (order_rel X x a0).
An
exact proof term for the current goal is
(andEL (¬ (order_rel X x a0)) (¬ (x = a0)) Hxnot).
We prove the intermediate
claim Hxneq:
x ≠ a0.
An
exact proof term for the current goal is
(andER (¬ (order_rel X x a0)) (¬ (x = a0)) Hxnot).
We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ x0 ∈ V ∧ order_rel X x0 u0) x HxA1).
We prove the intermediate
claim Hxa0:
order_rel X a0 x.
An exact proof term for the current goal is Ha0x.
Apply FalseE to the current goal.
Apply Hxneq to the current goal.
Use symmetry.
An exact proof term for the current goal is Heq.
Apply FalseE to the current goal.
An exact proof term for the current goal is (Hxnotxa Hxalt).
We prove the intermediate
claim Hxb0:
x ∈ b0.
rewrite the current goal using Hb0eq (from left to right).
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X a0 x0) x HxX Hxa0).
We prove the intermediate
claim HxU:
x ∈ U.
An exact proof term for the current goal is (Hb0subU x Hxb0).
We prove the intermediate
claim HxV:
x ∈ V.
We prove the intermediate
claim HxUV:
x ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V x HxU HxV).
We prove the intermediate
claim HxE:
x ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is HxUV.
An
exact proof term for the current goal is
(EmptyE x HxE).
We prove the intermediate
claim Hv0U2:
v0 ∈ U.
Apply Hb0subU to the current goal.
rewrite the current goal using Hb0X (from left to right).
An exact proof term for the current goal is Hv0X.
We prove the intermediate
claim Hv0UV:
v0 ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V v0 Hv0U2 Hv0V).
We prove the intermediate
claim Hv0E:
v0 ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is Hv0UV.
An
exact proof term for the current goal is
(EmptyE v0 Hv0E).
We prove the intermediate
claim Hu0Upper1:
∀a0 : set, a0 ∈ A1 → order_rel X a0 u0 ∨ a0 = u0.
Let a0 be given.
We prove the intermediate
claim Ha0Conj:
a0 ∈ V ∧ order_rel X a0 u0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ x0 ∈ V ∧ order_rel X x0 u0) a0 Ha0A1).
We prove the intermediate
claim Hau0:
order_rel X a0 u0.
An
exact proof term for the current goal is
(andER (a0 ∈ V) (order_rel X a0 u0) Ha0Conj).
Apply orIL to the current goal.
An exact proof term for the current goal is Hau0.
We prove the intermediate
claim Hc1LeU0:
order_rel X c1 u0 ∨ c1 = u0.
An exact proof term for the current goal is (Hcleast1 u0 Hu0X Hu0Upper1).
We prove the intermediate
claim Hc1LtU0:
order_rel X c1 u0.
Apply Hc1LeU0 to the current goal.
An exact proof term for the current goal is Hc1u0.
Apply FalseE to the current goal.
We prove the intermediate
claim Hu0V2:
u0 ∈ V.
rewrite the current goal using Hceq (from right to left).
An exact proof term for the current goal is Hc1V.
We prove the intermediate
claim Hu0UV:
u0 ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V u0 Hu0U Hu0V2).
We prove the intermediate
claim Hu0E:
u0 ∈ Empty.
rewrite the current goal using HUVdisj (from right to left).
An exact proof term for the current goal is Hu0UV.
An
exact proof term for the current goal is
(EmptyE u0 Hu0E).
We prove the intermediate
claim Hc1Iu0:
c1 ∈ Iu0.
We prove the intermediate
claim HIdef:
Iu0 = {x ∈ X|order_rel X x u0}.
rewrite the current goal using HIdef (from left to right).
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X x0 u0) c1 Hc1X Hc1LtU0).
Apply HexbV to the current goal.
Let b0 be given.
Assume Hb0Core.
Apply Hb0Core to the current goal.
Assume Hb0B Hb0Data.
Apply Hb0Data to the current goal.
Assume Hc1b0 Hb0subV.
Apply Hexb3 to the current goal.
Let b3 be given.
Assume Hb3Core.
Apply Hb3Core to the current goal.
Assume Hb3B Hb3Data.
Apply Hb3Data to the current goal.
Assume Hc1b3 Hb3Sub.
Apply Hcases to the current goal.
Apply H123 to the current goal.
Apply H12 to the current goal.
Apply Hb3I to the current goal.
Let a0 be given.
Assume HaCore.
Apply HaCore to the current goal.
Assume Ha0X HdEx.
Apply HdEx to the current goal.
Let d be given.
Assume HdCore.
Apply HdCore to the current goal.
Assume HdX Hb3eq.
rewrite the current goal using Hb3eq (from right to left).
An exact proof term for the current goal is Hc1b3.
We prove the intermediate
claim Ha0c1:
order_rel X a0 c1.
We prove the intermediate
claim Hc1d:
order_rel X c1 d.
An exact proof term for the current goal is (Hbetween c1 d Hc1X HdX Hc1d).
Apply Hexz to the current goal.
Let z be given.
Assume HzConj.
We prove the intermediate
claim HzCore:
z ∈ X ∧ order_rel X c1 z.
We prove the intermediate
claim HzX:
z ∈ X.
An
exact proof term for the current goal is
(andEL (z ∈ X) (order_rel X c1 z) HzCore).
We prove the intermediate
claim Hc1z:
order_rel X c1 z.
An
exact proof term for the current goal is
(andER (z ∈ X) (order_rel X c1 z) HzCore).
Apply andI to the current goal.
An
exact proof term for the current goal is
(order_rel_trans X a0 c1 z Hso Ha0X Hc1X HzX Ha0c1 Hc1z).
We prove the intermediate
claim Hzb3:
z ∈ b3.
rewrite the current goal using Hb3eq (from left to right).
An exact proof term for the current goal is HzI0.
We prove the intermediate
claim HzInInter:
z ∈ b0 ∩ Iu0.
An exact proof term for the current goal is (Hb3Sub z Hzb3).
We prove the intermediate
claim Hzb0:
z ∈ b0.
An
exact proof term for the current goal is
(binintersectE1 b0 Iu0 z HzInInter).
We prove the intermediate
claim HzIu0:
z ∈ Iu0.
An
exact proof term for the current goal is
(binintersectE2 b0 Iu0 z HzInInter).
We prove the intermediate
claim HzV:
z ∈ V.
An exact proof term for the current goal is (Hb0subV z Hzb0).
We prove the intermediate
claim Hzltu0:
order_rel X z u0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 u0) z HzIu0).
We prove the intermediate
claim HzA1:
z ∈ A1.
Apply (SepI X (λx0 : set ⇒ x0 ∈ V ∧ order_rel X x0 u0) z HzX) to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HzV.
An exact proof term for the current goal is Hzltu0.
Apply (Hcup1 z HzA1) to the current goal.
We prove the intermediate
claim Hcc:
order_rel X c1 c1.
An
exact proof term for the current goal is
(order_rel_trans X c1 z c1 Hso Hc1X HzX Hc1X Hc1z Hzltc1).
We prove the intermediate
claim Hcc:
order_rel X c1 c1.
rewrite the current goal using Hzeq (from right to left) at position 2.
An exact proof term for the current goal is Hc1z.
Apply Hb3L to the current goal.
Let d be given.
Assume HdCore.
Apply HdCore to the current goal.
Assume HdX Hb3eq.
rewrite the current goal using Hb3eq (from right to left).
An exact proof term for the current goal is Hc1b3.
We prove the intermediate
claim Hc1d:
order_rel X c1 d.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 d) c1 Hc1InL).
An exact proof term for the current goal is (Hbetween c1 d Hc1X HdX Hc1d).
Apply Hexz to the current goal.
Let z be given.
Assume HzConj.
We prove the intermediate
claim HzCore:
z ∈ X ∧ order_rel X c1 z.
We prove the intermediate
claim HzX:
z ∈ X.
An
exact proof term for the current goal is
(andEL (z ∈ X) (order_rel X c1 z) HzCore).
We prove the intermediate
claim Hc1z:
order_rel X c1 z.
An
exact proof term for the current goal is
(andER (z ∈ X) (order_rel X c1 z) HzCore).
We prove the intermediate
claim Hzld:
order_rel X z d.
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X x0 d) z HzX Hzld).
We prove the intermediate
claim Hzb3:
z ∈ b3.
rewrite the current goal using Hb3eq (from left to right).
An exact proof term for the current goal is HzL.
We prove the intermediate
claim HzInInter:
z ∈ b0 ∩ Iu0.
An exact proof term for the current goal is (Hb3Sub z Hzb3).
We prove the intermediate
claim Hzb0:
z ∈ b0.
An
exact proof term for the current goal is
(binintersectE1 b0 Iu0 z HzInInter).
We prove the intermediate
claim HzIu0:
z ∈ Iu0.
An
exact proof term for the current goal is
(binintersectE2 b0 Iu0 z HzInInter).
We prove the intermediate
claim HzV:
z ∈ V.
An exact proof term for the current goal is (Hb0subV z Hzb0).
We prove the intermediate
claim Hzltu0:
order_rel X z u0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 u0) z HzIu0).
We prove the intermediate
claim HzA1:
z ∈ A1.
Apply (SepI X (λx0 : set ⇒ x0 ∈ V ∧ order_rel X x0 u0) z HzX) to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HzV.
An exact proof term for the current goal is Hzltu0.
Apply (Hcup1 z HzA1) to the current goal.
We prove the intermediate
claim Hcc:
order_rel X c1 c1.
An
exact proof term for the current goal is
(order_rel_trans X c1 z c1 Hso Hc1X HzX Hc1X Hc1z Hzltc1).
We prove the intermediate
claim Hcc:
order_rel X c1 c1.
rewrite the current goal using Hzeq (from right to left) at position 2.
An exact proof term for the current goal is Hc1z.
Apply Hb3R to the current goal.
Let a0 be given.
Assume HaCore.
Apply HaCore to the current goal.
Assume Ha0X Hb3eq.
We prove the intermediate
claim Hc1InR:
c1 ∈ {x ∈ X|order_rel X a0 x}.
rewrite the current goal using Hb3eq (from right to left).
An exact proof term for the current goal is Hc1b3.
We prove the intermediate
claim Ha0c1:
order_rel X a0 c1.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X a0 x0) c1 Hc1InR).
We prove the intermediate
claim Ha0u0:
order_rel X a0 u0.
An
exact proof term for the current goal is
(order_rel_trans X a0 c1 u0 Hso Ha0X Hc1X Hu0X Ha0c1 Hc1LtU0).
We prove the intermediate
claim Hu0b3:
u0 ∈ b3.
rewrite the current goal using Hb3eq (from left to right).
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ order_rel X a0 x0) u0 Hu0X Ha0u0).
We prove the intermediate
claim Hu0InInter:
u0 ∈ b0 ∩ Iu0.
An exact proof term for the current goal is (Hb3Sub u0 Hu0b3).
We prove the intermediate
claim Hu0Iu0:
u0 ∈ Iu0.
An
exact proof term for the current goal is
(binintersectE2 b0 Iu0 u0 Hu0InInter).
We prove the intermediate
claim Hu0ltu0:
order_rel X u0 u0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 u0) u0 Hu0Iu0).
An
exact proof term for the current goal is
((order_rel_irref X u0) Hu0ltu0).
We prove the intermediate
claim Hu0b3:
u0 ∈ b3.
rewrite the current goal using Hb3X (from left to right).
An exact proof term for the current goal is Hu0X.
We prove the intermediate
claim Hu0InInter:
u0 ∈ b0 ∩ Iu0.
An exact proof term for the current goal is (Hb3Sub u0 Hu0b3).
We prove the intermediate
claim Hu0Iu0:
u0 ∈ Iu0.
An
exact proof term for the current goal is
(binintersectE2 b0 Iu0 u0 Hu0InInter).
We prove the intermediate
claim Hu0ltu0:
order_rel X u0 u0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ order_rel X x0 u0) u0 Hu0Iu0).
An
exact proof term for the current goal is
((order_rel_irref X u0) Hu0ltu0).