Let x and y be given.
Assume Hx.
Apply Hx to the current goal.
Let k be given.
Assume H.
Apply H to the current goal.
We prove the intermediate
claim Lek:
SNo (eps_ k).
An
exact proof term for the current goal is
SNo_eps_ k Hk.
Assume H.
Apply H to the current goal.
Let m be given.
Assume H.
Apply H to the current goal.
We prove the intermediate
claim Lm:
SNo m.
An
exact proof term for the current goal is
int_SNo m Hm.
We prove the intermediate
claim Lekm:
SNo (eps_ k * m).
Assume Hy.
Apply Hy to the current goal.
Let l be given.
Assume H.
Apply H to the current goal.
We prove the intermediate
claim Lel:
SNo (eps_ l).
An
exact proof term for the current goal is
SNo_eps_ l Hl.
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 Ln:
SNo n.
An
exact proof term for the current goal is
int_SNo n Hn.
We prove the intermediate
claim Leln:
SNo (eps_ l * n).
We use
(k + l) to
witness the existential quantifier.
Apply andI to the current goal.
We use
(m * n) to
witness the existential quantifier.
Apply andI to the current goal.
An
exact proof term for the current goal is
int_mul_SNo m Hm n Hn.
We will
prove x * y = eps_ (k + l) * (m * n).
Use f_equal.
An exact proof term for the current goal is Hxkm.
An exact proof term for the current goal is Hyln.
∎