Let a0 and b0 be given.
We prove the intermediate
claim Hp10def:
p10 = (1,0).
We prove the intermediate
claim Ha0yprop:
¬ (Rlt (a0 1) 0) ∧ ¬ (Rlt 1 (a0 1)).
An
exact proof term for the current goal is
(SepE2 R (λx : set ⇒ ¬ (Rlt x 0) ∧ ¬ (Rlt 1 x)) (a0 1) Ha0yU).
We prove the intermediate
claim Ha0ynlt0:
¬ (Rlt (a0 1) 0).
An
exact proof term for the current goal is
(andEL (¬ (Rlt (a0 1) 0)) (¬ (Rlt 1 (a0 1))) Ha0yprop).
We prove the intermediate
claim Hunf:
∃a1 a2 b1 b2 : set, a0 = (a1,a2) ∧ p10 = (b1,b2) ∧ (Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2)).
Apply Hunf to the current goal.
Let a1 be given.
Assume H1.
Apply H1 to the current goal.
Let a2 be given.
Assume H2.
Apply H2 to the current goal.
Let b1 be given.
Assume H3.
Apply H3 to the current goal.
Let b2 be given.
Assume Hconj.
Apply Hconj to the current goal.
Assume Hcore Hdisj.
Apply Hcore to the current goal.
Assume Ha0eq Hp10eq.
We prove the intermediate
claim Ha0_0_eq:
a0 0 = a1.
rewrite the current goal using Ha0eq (from left to right).
An
exact proof term for the current goal is
(tuple_2_0_eq a1 a2).
We prove the intermediate
claim Ha0_1_eq:
a0 1 = a2.
rewrite the current goal using Ha0eq (from left to right).
An
exact proof term for the current goal is
(tuple_2_1_eq a1 a2).
We prove the intermediate
claim Heqp:
(1,0) = (b1,b2).
rewrite the current goal using Hp10def (from right to left) at position 1.
rewrite the current goal using Hp10eq (from left to right).
Use reflexivity.
We prove the intermediate
claim Hb1eq:
b1 = 1.
We prove the intermediate
claim H0eq:
(1,0) 0 = (b1,b2) 0.
rewrite the current goal using Heqp (from left to right).
Use reflexivity.
We prove the intermediate
claim Htmp:
1 = b1.
rewrite the current goal using
(tuple_2_0_eq 1 0) (from right to left).
rewrite the current goal using
(tuple_2_0_eq b1 b2) (from right to left).
An exact proof term for the current goal is H0eq.
rewrite the current goal using Htmp (from right to left).
Use reflexivity.
We prove the intermediate
claim Hb2eq:
b2 = 0.
We prove the intermediate
claim H1eq:
(1,0) 1 = (b1,b2) 1.
rewrite the current goal using Heqp (from left to right).
Use reflexivity.
We prove the intermediate
claim Htmp:
0 = b2.
rewrite the current goal using
(tuple_2_1_eq 1 0) (from right to left).
rewrite the current goal using
(tuple_2_1_eq b1 b2) (from right to left).
An exact proof term for the current goal is H1eq.
rewrite the current goal using Htmp (from right to left).
Use reflexivity.
rewrite the current goal using Ha0_0_eq (from right to left) at position 1.
An exact proof term for the current goal is Ha0xU.
We prove the intermediate
claim Ha1R:
a1 ∈ R.
An
exact proof term for the current goal is
(SepE1 R (λx : set ⇒ ¬ (Rlt x 0) ∧ ¬ (Rlt 1 x)) a1 Ha1U).
We prove the intermediate
claim Ha1S:
SNo a1.
An
exact proof term for the current goal is
(real_SNo a1 Ha1R).
We prove the intermediate
claim Ha1lt1:
Rlt a1 1.
Apply Hdisj to the current goal.
rewrite the current goal using Hb1eq (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 Ha2lt:
Rlt a2 b2.
An
exact proof term for the current goal is
(andER (a1 = b1) (Rlt a2 b2) Heqand).
We prove the intermediate
claim Ha2lt0:
Rlt a2 0.
rewrite the current goal using Hb2eq (from right to left) at position 1.
An exact proof term for the current goal is Ha2lt.
We prove the intermediate
claim Ha0ylt0:
Rlt (a0 1) 0.
rewrite the current goal using Ha0_1_eq (from left to right) at position 1.
An exact proof term for the current goal is Ha2lt0.
An exact proof term for the current goal is (Ha0ynlt0 Ha0ylt0).
We prove the intermediate
claim HdiffR:
diff ∈ R.
We prove the intermediate
claim Hdiffpos:
Rlt 0 diff.
Apply HexN to the current goal.
Let N be given.
Assume HNpack.
Apply HNpack to the current goal.
Assume HNO HinvLtR.
We prove the intermediate
claim Hndef:
n = ordsucc N.
We prove the intermediate
claim HnO:
n ∈ ω.
An
exact proof term for the current goal is
(omega_ordsucc N HNO).
We prove the intermediate
claim Hnnot0:
n ∉ {0}.
We prove the intermediate
claim Heq0:
n = 0.
An
exact proof term for the current goal is
(SingE 0 n Hn0).
We prove the intermediate
claim Heq1:
ordsucc N = 0.
rewrite the current goal using Hndef (from right to left) at position 1.
An exact proof term for the current goal is Heq0.
An
exact proof term for the current goal is
((neq_ordsucc_0 N) Heq1).
We prove the intermediate
claim HnIn:
n ∈ ω ∖ {0}.
An
exact proof term for the current goal is
(setminusI ω {0} n HnO Hnnot0).
We prove the intermediate
claim HwB:
w ∈ ordsq_B.
We prove the intermediate
claim HinvLtS:
inv_nat n < diff.
An
exact proof term for the current goal is
(RltE_lt (inv_nat n) diff HinvLtR).
We prove the intermediate
claim HinvR:
inv_nat n ∈ R.
An
exact proof term for the current goal is
(inv_nat_real n HnO).
We prove the intermediate
claim HinvS:
SNo (inv_nat n).
rewrite the current goal using Hcom (from right to left) at position 1.
An exact proof term for the current goal is HsumLt.
rewrite the current goal using Ha0eq (from left to right).
Apply orIL to the current goal.
An exact proof term for the current goal is Ha1ltwxR.
rewrite the current goal using Hp10def (from left to right).
We prove the intermediate
claim HwRR:
w ∈ setprod R R.
We prove the intermediate
claim Hp10RR:
p10 ∈ setprod R R.
We prove the intermediate
claim Hb0RR:
b0 ∈ setprod R R.
Apply Hexn to the current goal.
Let n be given.
Assume Hnpack.
Apply Hnpack to the current goal.
Assume HnIn HwEq.
rewrite the current goal using HwEq (from left to right).
We prove the intermediate
claim HnO:
n ∈ ω.
An
exact proof term for the current goal is
(setminusE1 ω {0} n HnIn).
We prove the intermediate
claim HinvR:
inv ∈ R.
An
exact proof term for the current goal is
(inv_nat_real n HnO).
We prove the intermediate
claim HinvS:
SNo inv.
An
exact proof term for the current goal is
(real_SNo inv HinvR).
We prove the intermediate
claim HinvPosR:
Rlt 0 inv.
An
exact proof term for the current goal is
(inv_nat_pos n HnIn).
We prove the intermediate
claim HinvPos:
0 < inv.
An
exact proof term for the current goal is
(RltE_lt 0 inv HinvPosR).
We prove the intermediate
claim H10eq:
add_SNo 1 0 = 1.
rewrite the current goal using H10eq (from right to left) at position 1.
An exact proof term for the current goal is Htmp.
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 HxltR.
We use w 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 Ha0w.
An exact proof term for the current goal is Hwb0.
An exact proof term for the current goal is HwB.
∎