Let q be given.
Assume Hq.
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 LqS:
SNo q.
An
exact proof term for the current goal is
real_SNo q HqR.
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 LmqR:
- q ∈ real.
We prove the intermediate
claim LmqS:
SNo (- q).
An
exact proof term for the current goal is
real_SNo (- q) LmqR.
We use
(- m) to
witness the existential quantifier.
We prove the intermediate
claim LmmZ:
- m ∈ int.
We prove the intermediate
claim LmmS:
SNo (- m).
An
exact proof term for the current goal is
int_SNo (- m) LmmZ.
We prove the intermediate
claim LmmnS:
SNo ((- m) :/: n).
An
exact proof term for the current goal is
SNo_div_SNo (- m) n ?? ??.
Apply andI to the current goal.
An exact proof term for the current goal is LmmZ.
We use n to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hn.
We will
prove - q = (- m) :/: n.
We prove the intermediate
claim Lnnz:
n ≠ 0.
Apply Hnnz to the current goal.
rewrite the current goal using H2 (from left to right).
Apply SingI to the current goal.
We will
prove n * (- q) = n * ((- m) :/: n).
Use transitivity with
- (n * q), and
- m.
We will
prove n * (- q) = - (n * q).
We will
prove - (n * q) = - m.
Use f_equal.
rewrite the current goal using H1 (from left to right).
We will
prove n * (m :/: n) = m.
We will
prove - m = n * ((- m) :/: n).
Use symmetry.
∎