Let gx, rx, ux and c be given.
Set uxc to be the term
mul_SNo ux c.
Set rxc to be the term
mul_SNo rx c.
We prove the intermediate
claim HuxcS:
SNo uxc.
An
exact proof term for the current goal is
(SNo_mul_SNo ux c HuxS HcS).
We prove the intermediate
claim HrxcS:
SNo rxc.
An
exact proof term for the current goal is
(SNo_mul_SNo rx c HrxS HcS).
An
exact proof term for the current goal is
(SNo_minus_SNo ux HuxS).
We prove the intermediate
claim HrxcDef:
rxc = mul_SNo rx c.
rewrite the current goal using HrxcDef (from left to right).
An exact proof term for the current goal is Hdistr0.
rewrite the current goal using Hdistr (from left to right).
rewrite the current goal using HmUxC0 (from left to right).
We prove the intermediate
claim HuxcDef:
uxc = mul_SNo ux c.
rewrite the current goal using HuxcDef (from right to left).
Use reflexivity.
rewrite the current goal using HmUxC (from left to right).
We prove the intermediate
claim HmUxcS:
SNo (minus_SNo uxc).
An
exact proof term for the current goal is
(SNo_minus_SNo uxc HuxcS).
rewrite the current goal using
(add_SNo_assoc uxc rxc (minus_SNo uxc) HuxcS HrxcS HmUxcS) (from left to right).
rewrite the current goal using
(add_SNo_com uxc rxc HuxcS HrxcS) (from left to right) at position 1.
rewrite the current goal using
(add_SNo_minus_R2 rxc uxc HrxcS HuxcS) (from left to right) at position 1.
Use reflexivity.
∎