Set denom to be the term
λq ⇒ Eps_i (λn ⇒ n ∈ ω ∧ ∃m ∈ ω, q = m :/: n) of type
set → set.
Set num to be the term
λq ⇒ Eps_i (λm ⇒ m ∈ ω ∧ q = m :/: denom q) of type
set → set.
Let q be given.
Assume Hq Hqnn.
Assume HqQ.
Apply HqQ to the current goal.
Let m be given.
Assume H.
Apply H to the current goal.
Assume H.
Apply H to the current goal.
Let n be given.
Assume H.
Apply H to the current goal.
We prove the intermediate
claim LnS:
SNo n.
An
exact proof term for the current goal is
omega_SNo n Hno.
We prove the intermediate
claim LqS:
SNo q.
An
exact proof term for the current goal is
real_SNo q HqR.
We prove the intermediate
claim Lnpos:
0 < n.
An exact proof term for the current goal is H2.
Apply Hnz to the current goal.
rewrite the current goal using H2 (from right to left).
Apply SingI to the current goal.
We prove the intermediate
claim Lrnpos:
0 < recip_SNo n.
Let m' be given.
rewrite the current goal using H1 (from left to right).
We will
prove m :/: n < 0.
rewrite the current goal using H2 (from left to right).
rewrite the current goal using
minus_SNo_0 (from left to right).
We use n to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hno.
We use m to witness the existential quantifier.
Apply andI to the current goal.
rewrite the current goal using H2 (from left to right).
An
exact proof term for the current goal is
nat_0.
We will
prove q = m :/: n.
An exact proof term for the current goal is H1.
Let m' be given.
We use n to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hno.
We use m to witness the existential quantifier.
Apply andI to the current goal.
rewrite the current goal using H2 (from left to right).
An exact proof term for the current goal is Hm'.
We will
prove q = m :/: n.
An exact proof term for the current goal is H1.
Let q be given.
Assume Hq Hqnn.
An
exact proof term for the current goal is
Eps_i_ex (λn ⇒ n ∈ ω ∧ ∃m ∈ ω, q = m :/: n) (L1 q Hq Hqnn).
Let q be given.
Assume Hq Hqnn.
Apply L2 q Hq Hqnn to the current goal.
An
exact proof term for the current goal is
Eps_i_ex (λm ⇒ m ∈ ω ∧ q = m :/: denom q) H3.
Let q be given.
Assume Hq Hqnn.
Apply L3 q Hq Hqnn to the current goal.
Assume H _.
An exact proof term for the current goal is H.
We prove the intermediate
claim Ldenom:
∀q ∈ rational, 0 ≤ q → denom q ∈ ω.
Let q be given.
Assume Hq Hqnn.
Apply L2 q Hq Hqnn to the current goal.
Assume H _.
An exact proof term for the current goal is H.
Let q be given.
Assume Hqnn.
Let q be given.
Assume Hq Hqneg.
Let k be given.
Assume Hk.
Let m be given.
Assume Hm.
Let n be given.
Assume Hn.
Let k be given.
Assume Hk.
Let m be given.
Assume Hm.
Let n be given.
Assume Hn.
Let k' be given.
Assume Hk'.
Let m' be given.
Assume Hm'.
Let n' be given.
Assume Hn'.
Assume H1.
Let p be given.
Assume Hp.
Apply Hp to the current goal.
An
exact proof term for the current goal is
nat_pair_0 m Hm n Hn m' Hm' n' Hn' Lmnm'n'.
An
exact proof term for the current goal is
nat_pair_1 m Hm n Hn m' Hm' n' Hn' Lmnm'n'.
We use g to witness the existential quantifier.
Apply injI to the current goal.
Let q be given.
We prove the intermediate
claim LqS:
SNo q.
We prove the intermediate
claim LmqQ:
- q ∈ rational.
We prove the intermediate
claim Lmqnn:
0 ≤ - q.
rewrite the current goal using
minus_SNo_0 (from left to right).
An exact proof term for the current goal is H1.
An
exact proof term for the current goal is
Lgneg q LqS H1 (λ_ u ⇒ u ∈ ω) (L_nat_pair_3 1 (nat_p_omega 1 nat_1) (num (- q)) (Lnum (- q) LmqQ Lmqnn) (denom (- q)) (Ldenom (- q) LmqQ Lmqnn)).
An
exact proof term for the current goal is
Lgnneg q H1 (λ_ u ⇒ u ∈ ω) (L_nat_pair_3 0 (nat_p_omega 0 nat_0) (num q) (Lnum q Hq H1) (denom q) (Ldenom q Hq H1)).
Let q be given.
Let q' be given.
We prove the intermediate
claim LqS:
SNo q.
We prove the intermediate
claim Lq'S:
SNo q'.
We prove the intermediate
claim LmqQ:
- q ∈ rational.
We prove the intermediate
claim Lmqnn:
0 ≤ - q.
rewrite the current goal using
minus_SNo_0 (from left to right).
An exact proof term for the current goal is H2.
We prove the intermediate
claim Lmq'Q:
- q' ∈ rational.
We prove the intermediate
claim Lmq'nn:
0 ≤ - q'.
rewrite the current goal using
minus_SNo_0 (from left to right).
An exact proof term for the current goal is H3.
Use transitivity with g q, and g q'.
Use symmetry.
An exact proof term for the current goal is Lgneg q LqS H2.
An exact proof term for the current goal is H1.
An exact proof term for the current goal is Lgneg q' Lq'S H3.
Apply L_nat_pair_3_inj 1 (nat_p_omega 1 nat_1) (num (- q)) (Lnum (- q) LmqQ Lmqnn) (denom (- q)) (Ldenom (- q) LmqQ Lmqnn) 1 (nat_p_omega 1 nat_1) (num (- q')) (Lnum (- q') Lmq'Q Lmq'nn) (denom (- q')) (Ldenom (- q') Lmq'Q Lmq'nn) L4a to the current goal.
Assume _.
rewrite the current goal using
minus_SNo_invol q' Lq'S (from right to left).
We will
prove - - q = - - q'.
Use f_equal.
We will
prove - q = - q'.
Apply L3 (- q) LmqQ Lmqnn to the current goal.
Assume _.
Apply L3 (- q') Lmq'Q Lmq'nn to the current goal.
Assume _.
rewrite the current goal using Hmqnd (from left to right).
rewrite the current goal using Hmq'nd (from left to right).
Use f_equal.
An exact proof term for the current goal is Hnmqq'.
An exact proof term for the current goal is Hdmqq'.
Use transitivity with g q, and g q'.
Use symmetry.
An exact proof term for the current goal is Lgneg q LqS H2.
An exact proof term for the current goal is H1.
An exact proof term for the current goal is Lgnneg q' H3.
Apply L_nat_pair_3_inj 1 (nat_p_omega 1 nat_1) (num (- q)) (Lnum (- q) LmqQ Lmqnn) (denom (- q)) (Ldenom (- q) LmqQ Lmqnn) 0 (nat_p_omega 0 nat_0) (num q') (Lnum q' Hq' H3) (denom q') (Ldenom q' Hq' H3) L4b to the current goal.
An exact proof term for the current goal is H4.
We prove the intermediate
claim Lmq'Q:
- q' ∈ rational.
We prove the intermediate
claim Lmq'nn:
0 ≤ - q'.
rewrite the current goal using
minus_SNo_0 (from left to right).
An exact proof term for the current goal is H3.
Use transitivity with g q, and g q'.
Use symmetry.
An exact proof term for the current goal is Lgnneg q H2.
An exact proof term for the current goal is H1.
An exact proof term for the current goal is Lgneg q' Lq'S H3.
Apply L_nat_pair_3_inj 0 (nat_p_omega 0 nat_0) (num q) (Lnum q Hq H2) (denom q) (Ldenom q Hq H2) 1 (nat_p_omega 1 nat_1) (num (- q')) (Lnum (- q') Lmq'Q Lmq'nn) (denom (- q')) (Ldenom (- q') Lmq'Q Lmq'nn) L4c to the current goal.
An exact proof term for the current goal is H4.
Use transitivity with g q, and g q'.
Use symmetry.
An exact proof term for the current goal is Lgnneg q H2.
An exact proof term for the current goal is H1.
An exact proof term for the current goal is Lgnneg q' H3.
Apply L_nat_pair_3_inj 0 (nat_p_omega 0 nat_0) (num q) (Lnum q Hq H2) (denom q) (Ldenom q Hq H2) 0 (nat_p_omega 0 nat_0) (num q') (Lnum q' Hq' H3) (denom q') (Ldenom q' Hq' H3) L4d to the current goal.
Assume _.
Apply L3 q Hq H2 to the current goal.
Assume _.
Apply L3 q' Hq' H3 to the current goal.
Assume _.
rewrite the current goal using Hqnd (from left to right).
rewrite the current goal using Hq'nd (from left to right).
Use f_equal.
An exact proof term for the current goal is Hnqq'.
An exact proof term for the current goal is Hdqq'.
∎