rewrite the current goal using HX2 (from left to right).
rewrite the current goal using HX2 (from right to left) at position 1.
An exact proof term for the current goal is Hab.
rewrite the current goal using HX2 (from right to left) at position 1.
An exact proof term for the current goal is Hbc.
We prove the intermediate
claim Hexab:
∃i m j n : set, i ∈ 2 ∧ m ∈ ω ∧ j ∈ 2 ∧ n ∈ ω ∧ a = (i,m) ∧ b = (j,n) ∧ (i ∈ j ∨ (i = j ∧ m ∈ n)).
Apply (Hab2 (∃i m j n : set, (i ∈ 2 ∧ m ∈ ω ∧ j ∈ 2 ∧ n ∈ ω ∧ a = (i,m) ∧ b = (j,n) ∧ (i ∈ j ∨ (i = j ∧ m ∈ n))))) to the current goal.
Assume Hleft6.
Apply (Hleft6 (∃i m j n : set, (i ∈ 2 ∧ m ∈ ω ∧ j ∈ 2 ∧ n ∈ ω ∧ a = (i,m) ∧ b = (j,n) ∧ (i ∈ j ∨ (i = j ∧ m ∈ n))))) to the current goal.
Assume Hleft.
Apply (Hleft (∃i m j n : set, (i ∈ 2 ∧ m ∈ ω ∧ j ∈ 2 ∧ n ∈ ω ∧ a = (i,m) ∧ b = (j,n) ∧ (i ∈ j ∨ (i = j ∧ m ∈ n))))) to the current goal.
Assume Hmid.
Apply (Hmid (∃i m j n : set, (i ∈ 2 ∧ m ∈ ω ∧ j ∈ 2 ∧ n ∈ ω ∧ a = (i,m) ∧ b = (j,n) ∧ (i ∈ j ∨ (i = j ∧ m ∈ n))))) to the current goal.
Assume Hm2.
Apply (Hm2 (∃i m j n : set, (i ∈ 2 ∧ m ∈ ω ∧ j ∈ 2 ∧ n ∈ ω ∧ a = (i,m) ∧ b = (j,n) ∧ (i ∈ j ∨ (i = j ∧ m ∈ n))))) to the current goal.
Assume Hm3.
Apply (Hm3 (∃i m j n : set, (i ∈ 2 ∧ m ∈ ω ∧ j ∈ 2 ∧ n ∈ ω ∧ a = (i,m) ∧ b = (j,n) ∧ (i ∈ j ∨ (i = j ∧ m ∈ n))))) to the current goal.
Apply FalseE to the current goal.
We prove the intermediate
claim HXR:
X = R.
rewrite the current goal using HX2 (from left to right) at position 1.
An exact proof term for the current goal is Heq.
An exact proof term for the current goal is (HneqR HXR).
Apply FalseE to the current goal.
rewrite the current goal using HX2 (from left to right) at position 1.
An exact proof term for the current goal is Heq.
An exact proof term for the current goal is (HneqQ HXQ2).
Apply FalseE to the current goal.
We prove the intermediate
claim HXo2:
X = ω.
rewrite the current goal using HX2 (from left to right) at position 1.
An exact proof term for the current goal is Heq.
An exact proof term for the current goal is (HneqO HXo2).
Apply FalseE to the current goal.
We prove the intermediate
claim HXnz2:
X = ω ∖ {0}.
rewrite the current goal using HX2 (from left to right) at position 1.
An exact proof term for the current goal is Heq.
An exact proof term for the current goal is (HneqNz HXnz2).
Apply FalseE to the current goal.
Use symmetry.
An exact proof term for the current goal is Heq.
Apply FalseE to the current goal.
Apply Hord to the current goal.
Assume Hcore Haeb.
Apply Hcore to the current goal.
Assume Hcore2 HneqRR.
Apply Hcore2 to the current goal.
Assume Hcore3 HneqXX.
An exact proof term for the current goal is (HneqXX Hrefl).
We prove the intermediate
claim Hexbc:
∃j2 n2 k p : set, j2 ∈ 2 ∧ n2 ∈ ω ∧ k ∈ 2 ∧ p ∈ ω ∧ b = (j2,n2) ∧ c = (k,p) ∧ (j2 ∈ k ∨ (j2 = k ∧ n2 ∈ p)).
Apply (Hbc2 (∃j2 n2 k p : set, (j2 ∈ 2 ∧ n2 ∈ ω ∧ k ∈ 2 ∧ p ∈ ω ∧ b = (j2,n2) ∧ c = (k,p) ∧ (j2 ∈ k ∨ (j2 = k ∧ n2 ∈ p))))) to the current goal.
Assume Hleft6.
Apply (Hleft6 (∃j2 n2 k p : set, (j2 ∈ 2 ∧ n2 ∈ ω ∧ k ∈ 2 ∧ p ∈ ω ∧ b = (j2,n2) ∧ c = (k,p) ∧ (j2 ∈ k ∨ (j2 = k ∧ n2 ∈ p))))) to the current goal.
Assume Hleft.
Apply (Hleft (∃j2 n2 k p : set, (j2 ∈ 2 ∧ n2 ∈ ω ∧ k ∈ 2 ∧ p ∈ ω ∧ b = (j2,n2) ∧ c = (k,p) ∧ (j2 ∈ k ∨ (j2 = k ∧ n2 ∈ p))))) to the current goal.
Assume Hmid.
Apply (Hmid (∃j2 n2 k p : set, (j2 ∈ 2 ∧ n2 ∈ ω ∧ k ∈ 2 ∧ p ∈ ω ∧ b = (j2,n2) ∧ c = (k,p) ∧ (j2 ∈ k ∨ (j2 = k ∧ n2 ∈ p))))) to the current goal.
Assume Hm2.
Apply (Hm2 (∃j2 n2 k p : set, (j2 ∈ 2 ∧ n2 ∈ ω ∧ k ∈ 2 ∧ p ∈ ω ∧ b = (j2,n2) ∧ c = (k,p) ∧ (j2 ∈ k ∨ (j2 = k ∧ n2 ∈ p))))) to the current goal.
Assume Hm3.
Apply (Hm3 (∃j2 n2 k p : set, (j2 ∈ 2 ∧ n2 ∈ ω ∧ k ∈ 2 ∧ p ∈ ω ∧ b = (j2,n2) ∧ c = (k,p) ∧ (j2 ∈ k ∨ (j2 = k ∧ n2 ∈ p))))) to the current goal.
Apply FalseE to the current goal.
We prove the intermediate
claim HXR:
X = R.
rewrite the current goal using HX2 (from left to right) at position 1.
An exact proof term for the current goal is Heq.
An exact proof term for the current goal is (HneqR HXR).
Apply FalseE to the current goal.
rewrite the current goal using HX2 (from left to right) at position 1.
An exact proof term for the current goal is Heq.
An exact proof term for the current goal is (HneqQ HXQ2).
Apply FalseE to the current goal.
We prove the intermediate
claim HXo2:
X = ω.
rewrite the current goal using HX2 (from left to right) at position 1.
An exact proof term for the current goal is Heq.
An exact proof term for the current goal is (HneqO HXo2).
Apply FalseE to the current goal.
We prove the intermediate
claim HXnz2:
X = ω ∖ {0}.
rewrite the current goal using HX2 (from left to right) at position 1.
An exact proof term for the current goal is Heq.
An exact proof term for the current goal is (HneqNz HXnz2).
Apply FalseE to the current goal.
Use symmetry.
An exact proof term for the current goal is Heq.
Apply FalseE to the current goal.
Apply Hord to the current goal.
Assume Hcore Haeb.
Apply Hcore to the current goal.
Assume Hcore2 HneqRR.
Apply Hcore2 to the current goal.
Assume Hcore3 HneqXX.
An exact proof term for the current goal is (HneqXX Hrefl).
Apply Hexab to the current goal.
Let i be given.
Assume HiPair.
Apply HiPair to the current goal.
Let m be given.
Assume HmPair.
Apply HmPair to the current goal.
Let j be given.
Assume HjPair.
Apply HjPair to the current goal.
Let n be given.
Assume HabCore.
Apply Hexbc to the current goal.
Let j2 be given.
Assume Hj2Pair.
Apply Hj2Pair to the current goal.
Let n2 be given.
Assume Hn2Pair.
Apply Hn2Pair to the current goal.
Let k be given.
Assume HkPair.
Apply HkPair to the current goal.
Let p be given.
Assume HbcCore.
We prove the intermediate
claim HabCoords:
(i ∈ 2 ∧ m ∈ ω ∧ j ∈ 2 ∧ n ∈ ω ∧ a = (i,m) ∧ b = (j,n)).
Apply HabCore to the current goal.
Assume Hc0 Hlex0.
An exact proof term for the current goal is Hc0.
We prove the intermediate
claim HabLex:
i ∈ j ∨ (i = j ∧ m ∈ n).
Apply HabCore to the current goal.
Assume Hc0 Hlex0.
An exact proof term for the current goal is Hlex0.
We prove the intermediate
claim HbcCoords:
(j2 ∈ 2 ∧ n2 ∈ ω ∧ k ∈ 2 ∧ p ∈ ω ∧ b = (j2,n2) ∧ c = (k,p)).
Apply HbcCore to the current goal.
Assume Hc0 Hlex0.
An exact proof term for the current goal is Hc0.
We prove the intermediate
claim HbcLex:
j2 ∈ k ∨ (j2 = k ∧ n2 ∈ p).
Apply HbcCore to the current goal.
Assume Hc0 Hlex0.
An exact proof term for the current goal is Hlex0.
We prove the intermediate
claim Hbeq1:
b = (j,n).
An
exact proof term for the current goal is
(andER (i ∈ 2 ∧ m ∈ ω ∧ j ∈ 2 ∧ n ∈ ω ∧ a = (i,m)) (b = (j,n)) HabCoords).
We prove the intermediate
claim HbEq2:
b = (j2,n2).
Set T0 to be the term
((((j2 ∈ 2 ∧ n2 ∈ ω) ∧ k ∈ 2) ∧ p ∈ ω) ∧ b = (j2,n2)).
Set T1 to be the term
(((j2 ∈ 2 ∧ n2 ∈ ω) ∧ k ∈ 2) ∧ p ∈ ω).
We prove the intermediate claim Hbc0: T0.
An
exact proof term for the current goal is
(andEL T0 (c = (k,p)) HbcCoords).
An
exact proof term for the current goal is
(andER T1 (b = (j2,n2)) Hbc0).
We prove the intermediate
claim HbEqTuples:
(j,n) = (j2,n2).
rewrite the current goal using Hbeq1 (from right to left) at position 1.
An exact proof term for the current goal is HbEq2.
We prove the intermediate
claim Hjjn:
j = j2 ∧ n = n2.
An
exact proof term for the current goal is
(tuple_eq_coords j n j2 n2 HbEqTuples).
We prove the intermediate
claim Hjj:
j = j2.
An
exact proof term for the current goal is
(andEL (j = j2) (n = n2) Hjjn).
We prove the intermediate
claim Hnn:
n = n2.
An
exact proof term for the current goal is
(andER (j = j2) (n = n2) Hjjn).
Set HabT0 to be the term
(i ∈ 2 ∧ m ∈ ω).
Set HabT1 to be the term
(HabT0 ∧ j ∈ 2).
Set HabT2 to be the term
(HabT1 ∧ n ∈ ω).
Set HabT3 to be the term
(HabT2 ∧ a = (i,m)).
Set HabT4 to be the term
(HabT3 ∧ b = (j,n)).
Set HbcT0 to be the term
(j2 ∈ 2 ∧ n2 ∈ ω).
Set HbcT1 to be the term
(HbcT0 ∧ k ∈ 2).
Set HbcT2 to be the term
(HbcT1 ∧ p ∈ ω).
Set HbcT3 to be the term
(HbcT2 ∧ b = (j2,n2)).
Set HbcT4 to be the term
(HbcT3 ∧ c = (k,p)).
We prove the intermediate claim Hab3: HabT3.
An
exact proof term for the current goal is
(andEL HabT3 (b = (j,n)) HabCoords).
We prove the intermediate claim Hab2: HabT2.
An
exact proof term for the current goal is
(andEL HabT2 (a = (i,m)) Hab3).
We prove the intermediate claim Hab1: HabT1.
An
exact proof term for the current goal is
(andEL HabT1 (n ∈ ω) Hab2).
We prove the intermediate claim Hab0: HabT0.
An
exact proof term for the current goal is
(andEL HabT0 (j ∈ 2) Hab1).
We prove the intermediate
claim Hi2:
i ∈ 2.
An
exact proof term for the current goal is
(andEL (i ∈ 2) (m ∈ ω) Hab0).
We prove the intermediate
claim HmO:
m ∈ ω.
An
exact proof term for the current goal is
(andER (i ∈ 2) (m ∈ ω) Hab0).
We prove the intermediate claim Hbc3: HbcT3.
An
exact proof term for the current goal is
(andEL HbcT3 (c = (k,p)) HbcCoords).
We prove the intermediate claim Hbc2: HbcT2.
An
exact proof term for the current goal is
(andEL HbcT2 (b = (j2,n2)) Hbc3).
We prove the intermediate claim Hbc1: HbcT1.
An
exact proof term for the current goal is
(andEL HbcT1 (p ∈ ω) Hbc2).
We prove the intermediate claim Hbc0: HbcT0.
An
exact proof term for the current goal is
(andEL HbcT0 (k ∈ 2) Hbc1).
We prove the intermediate
claim Hj2in:
j2 ∈ 2.
An
exact proof term for the current goal is
(andEL (j2 ∈ 2) (n2 ∈ ω) Hbc0).
We prove the intermediate
claim Hk2:
k ∈ 2.
An
exact proof term for the current goal is
(andER HbcT0 (k ∈ 2) Hbc1).
We prove the intermediate
claim HpO:
p ∈ ω.
An
exact proof term for the current goal is
(andER HbcT1 (p ∈ ω) Hbc2).
We prove the intermediate
claim HaEq:
a = (i,m).
An
exact proof term for the current goal is
(andER HabT2 (a = (i,m)) Hab3).
We prove the intermediate
claim HcEq:
c = (k,p).
An
exact proof term for the current goal is
(andER HbcT3 (c = (k,p)) HbcCoords).
We prove the intermediate
claim Hj2kLex:
j ∈ k ∨ (j = k ∧ n ∈ p).
rewrite the current goal using Hjj (from left to right).
rewrite the current goal using Hnn (from left to right).
An exact proof term for the current goal is HbcLex.
We prove the intermediate
claim Hcmp:
i ∈ k ∨ (i = k ∧ m ∈ p).
Apply (HabLex (i ∈ k ∨ (i = k ∧ m ∈ p))) to the current goal.
Apply (Hj2kLex (i ∈ k ∨ (i = k ∧ m ∈ p))) to the current goal.
Apply orIL to the current goal.
We prove the intermediate
claim H2ord:
ordinal 2.
An
exact proof term for the current goal is
ordinal_2.
We prove the intermediate
claim HkOrd:
ordinal k.
An
exact proof term for the current goal is
(ordinal_Hered 2 H2ord k Hk2).
We prove the intermediate
claim HkTr:
TransSet k.
We prove the intermediate
claim HjSubk:
j ⊆ k.
An exact proof term for the current goal is (HkTr j Hjk).
An exact proof term for the current goal is (HjSubk i Hij).
Apply orIL to the current goal.
We prove the intermediate
claim Hjk:
j = k.
An
exact proof term for the current goal is
(andEL (j = k) (n ∈ p) Hjkeq).
rewrite the current goal using Hjk (from right to left).
An exact proof term for the current goal is Hij.
We prove the intermediate
claim HijEq:
i = j.
An
exact proof term for the current goal is
(andEL (i = j) (m ∈ n) Hijeq).
We prove the intermediate
claim Hmn:
m ∈ n.
An
exact proof term for the current goal is
(andER (i = j) (m ∈ n) Hijeq).
Apply (Hj2kLex (i ∈ k ∨ (i = k ∧ m ∈ p))) to the current goal.
Apply orIL to the current goal.
rewrite the current goal using HijEq (from left to right).
An exact proof term for the current goal is Hjk.
We prove the intermediate
claim HjkEq:
j = k.
An
exact proof term for the current goal is
(andEL (j = k) (n ∈ p) Hjkeq).
We prove the intermediate
claim Hnp:
n ∈ p.
An
exact proof term for the current goal is
(andER (j = k) (n ∈ p) Hjkeq).
Apply orIR to the current goal.
Apply andI to the current goal.
rewrite the current goal using HijEq (from left to right).
An exact proof term for the current goal is HjkEq.
We prove the intermediate
claim HpNat:
nat_p p.
An
exact proof term for the current goal is
(omega_nat_p p HpO).
We prove the intermediate
claim HpOrd:
ordinal p.
An
exact proof term for the current goal is
(nat_p_ordinal p HpNat).
We prove the intermediate
claim HpTr:
TransSet p.
We prove the intermediate
claim HnSubp:
n ⊆ p.
An exact proof term for the current goal is (HpTr n Hnp).
An exact proof term for the current goal is (HnSubp m Hmn).
rewrite the current goal using HaEq (from left to right).
rewrite the current goal using HcEq (from left to right).