Let z be given.
Apply FalseE to the current goal.
We prove the intermediate
claim HzU:
z ∈ U.
We prove the intermediate
claim HzA:
z ∈ ordsq_A.
Let n be given.
We prove the intermediate
claim Ha0def:
a0 = (x,q).
We prove the intermediate
claim Hb0def:
b0 = (x,y2).
rewrite the current goal using HzEq (from right to left).
rewrite the current goal using Ha0def (from right to left).
An exact proof term for the current goal is HzOrd1.
rewrite the current goal using HzEq (from right to left).
rewrite the current goal using Hb0def (from right to left).
An exact proof term for the current goal is HzOrd2.
We prove the intermediate
claim HxR:
x ∈ R.
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_nat n ∈ R.
An
exact proof term for the current goal is
(inv_nat_real n HnO).
We prove the intermediate
claim H0R:
0 ∈ R.
An
exact proof term for the current goal is
real_0.
We prove the intermediate
claim HqR:
q ∈ R.
We prove the intermediate
claim Hy2R:
y2 ∈ R.
We prove the intermediate
claim HxltInv:
Rlt x (inv_nat n).
We prove the intermediate
claim Hex1:
∃a1 a2 b1 b2 : set, (x,q) = (a1,a2) ∧ (inv_nat n,0) = (b1,b2) ∧ (Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2)).
Apply Hex1 to the current goal.
Let a1 be given.
Assume Ha1.
Apply Ha1 to the current goal.
Let a2 be given.
Assume Ha2.
Apply Ha2 to the current goal.
Let b1 be given.
Assume Hb1.
Apply Hb1 to the current goal.
Let b2 be given.
Assume Hpack1.
We prove the intermediate
claim Hpair:
(x,q) = (a1,a2) ∧ (inv_nat n,0) = (b1,b2).
An
exact proof term for the current goal is
(andEL ((x,q) = (a1,a2) ∧ (inv_nat n,0) = (b1,b2)) (Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2)) Hpack1).
We prove the intermediate
claim Hdisj:
Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2).
An
exact proof term for the current goal is
(andER ((x,q) = (a1,a2) ∧ (inv_nat n,0) = (b1,b2)) (Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2)) Hpack1).
We prove the intermediate
claim HaPair:
(x,q) = (a1,a2).
An
exact proof term for the current goal is
(andEL ((x,q) = (a1,a2)) ((inv_nat n,0) = (b1,b2)) Hpair).
We prove the intermediate
claim HbPair:
(inv_nat n,0) = (b1,b2).
An
exact proof term for the current goal is
(andER ((x,q) = (a1,a2)) ((inv_nat n,0) = (b1,b2)) Hpair).
We prove the intermediate
claim HxEq:
x = a1.
rewrite the current goal using
(tuple_2_0_eq x q) (from right to left).
rewrite the current goal using
(tuple_2_0_eq a1 a2) (from right to left).
We prove the intermediate
claim H0eq:
(x,q) 0 = (a1,a2) 0.
rewrite the current goal using HaPair (from left to right) at position 1.
Use reflexivity.
An exact proof term for the current goal is H0eq.
We prove the intermediate
claim HqEq:
q = a2.
rewrite the current goal using
(tuple_2_1_eq x q) (from right to left).
rewrite the current goal using
(tuple_2_1_eq a1 a2) (from right to left).
We prove the intermediate
claim H1eq:
(x,q) 1 = (a1,a2) 1.
rewrite the current goal using HaPair (from left to right) at position 1.
Use reflexivity.
An exact proof term for the current goal is H1eq.
We prove the intermediate
claim Hb1Eq:
inv_nat n = b1.
rewrite the current goal using
(tuple_2_0_eq b1 b2) (from right to left).
We prove the intermediate
claim H0eq:
(inv_nat n,0) 0 = (b1,b2) 0.
rewrite the current goal using HbPair (from left to right) at position 1.
Use reflexivity.
An exact proof term for the current goal is H0eq.
We prove the intermediate
claim Hb2Eq:
0 = b2.
rewrite the current goal using
(tuple_2_1_eq b1 b2) (from right to left).
We prove the intermediate
claim H1eq:
(inv_nat n,0) 1 = (b1,b2) 1.
rewrite the current goal using HbPair (from left to right) at position 1.
Use reflexivity.
An exact proof term for the current goal is H1eq.
rewrite the current goal using HxEq (from left to right).
rewrite the current goal using Hb1Eq (from left to right).
rewrite the current goal using HqEq (from left to right).
rewrite the current goal using Hb2Eq (from left to right).
An exact proof term for the current goal is Hdisj.
Apply Hdisj' to the current goal.
Assume Hxlt.
An exact proof term for the current goal is Hxlt.
Assume Hbad.
Apply FalseE to the current goal.
We prove the intermediate
claim Hq0:
Rlt q 0.
An
exact proof term for the current goal is
((not_Rlt_sym 0 q H0ltq) Hq0).
We prove the intermediate
claim Hex2:
∃a1 a2 b1 b2 : set, (inv_nat n,0) = (a1,a2) ∧ (x,y2) = (b1,b2) ∧ (Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2)).
Apply Hex2 to the current goal.
Let a1 be given.
Assume Ha1.
Apply Ha1 to the current goal.
Let a2 be given.
Assume Ha2.
Apply Ha2 to the current goal.
Let b1 be given.
Assume Hb1.
Apply Hb1 to the current goal.
Let b2 be given.
Assume Hpack2.
We prove the intermediate
claim Hpair2:
(inv_nat n,0) = (a1,a2) ∧ (x,y2) = (b1,b2).
An
exact proof term for the current goal is
(andEL ((inv_nat n,0) = (a1,a2) ∧ (x,y2) = (b1,b2)) (Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2)) Hpack2).
We prove the intermediate
claim Hdisj2:
Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2).
An
exact proof term for the current goal is
(andER ((inv_nat n,0) = (a1,a2) ∧ (x,y2) = (b1,b2)) (Rlt a1 b1 ∨ (a1 = b1 ∧ Rlt a2 b2)) Hpack2).
We prove the intermediate
claim HaPair2:
(inv_nat n,0) = (a1,a2).
An
exact proof term for the current goal is
(andEL ((inv_nat n,0) = (a1,a2)) ((x,y2) = (b1,b2)) Hpair2).
We prove the intermediate
claim HbPair2:
(x,y2) = (b1,b2).
An
exact proof term for the current goal is
(andER ((inv_nat n,0) = (a1,a2)) ((x,y2) = (b1,b2)) Hpair2).
We prove the intermediate
claim Ha1Eq:
a1 = inv_nat n.
rewrite the current goal using
(tuple_2_0_eq a1 a2) (from right to left).
We prove the intermediate
claim H0eq:
(a1,a2) 0 = (inv_nat n,0) 0.
rewrite the current goal using HaPair2 (from right to left) at position 1.
Use reflexivity.
An exact proof term for the current goal is H0eq.
We prove the intermediate
claim Hb1Eq:
b1 = x.
rewrite the current goal using
(tuple_2_0_eq b1 b2) (from right to left).
rewrite the current goal using
(tuple_2_0_eq x y2) (from right to left).
We prove the intermediate
claim H0eq:
(b1,b2) 0 = (x,y2) 0.
rewrite the current goal using HbPair2 (from right to left) at position 1.
Use reflexivity.
An exact proof term for the current goal is H0eq.
We prove the intermediate
claim Ha2Eq:
a2 = 0.
We prove the intermediate
claim Htmp0:
(inv_nat n,0) 1 = (a1,a2) 1.
rewrite the current goal using HaPair2 (from left to right).
Use reflexivity.
We prove the intermediate
claim Htmp1:
0 = a2.
rewrite the current goal using
(tuple_2_1_eq a1 a2) (from right to left).
An exact proof term for the current goal is Htmp0.
rewrite the current goal using Htmp1 (from right to left).
Use reflexivity.
We prove the intermediate
claim Hb2Eq:
b2 = y2.
rewrite the current goal using
(tuple_2_1_eq b1 b2) (from right to left).
rewrite the current goal using
(tuple_2_1_eq x y2) (from right to left).
We prove the intermediate
claim H1eq:
(b1,b2) 1 = (x,y2) 1.
rewrite the current goal using HbPair2 (from right to left) at position 1.
Use reflexivity.
An exact proof term for the current goal is H1eq.
We prove the intermediate
claim H0lty2:
Rlt 0 y2.
An
exact proof term for the current goal is
(Rlt_tra 0 y y2 H0ltyR Hylt_y2).
rewrite the current goal using Ha1Eq (from right to left) at position 1.
rewrite the current goal using Hb1Eq (from right to left) at position 1.
rewrite the current goal using Ha1Eq (from right to left) at position 1.
rewrite the current goal using Hb1Eq (from right to left) at position 1.
rewrite the current goal using Ha2Eq (from right to left) at position 1.
rewrite the current goal using Hb2Eq (from right to left) at position 1.
An exact proof term for the current goal is Hdisj2.
Apply Hdisj2' to the current goal.
Assume Hinvltx.
An
exact proof term for the current goal is
((not_Rlt_sym (inv_nat n) x Hinvltx) HxltInv).
Assume Heq_and.
Apply FalseE to the current goal.
We prove the intermediate
claim Heq:
inv_nat n = x.
An
exact proof term for the current goal is
(andEL (inv_nat n = x) (Rlt 0 y2) Heq_and).
We prove the intermediate
claim Hxx:
Rlt x x.
rewrite the current goal using Heq (from right to left) at position 2.
An exact proof term for the current goal is HxltInv.
An
exact proof term for the current goal is
(not_Rlt_refl x HxR Hxx).