We prove the intermediate
claim HaaS:
SNo (mul_SNo a a).
An
exact proof term for the current goal is
(SNo_mul_SNo a a HaS HaS).
We prove the intermediate
claim HbbS:
SNo (mul_SNo b b).
An
exact proof term for the current goal is
(SNo_mul_SNo b b HbS HbS).
We prove the intermediate
claim HccS:
SNo (mul_SNo c c).
An
exact proof term for the current goal is
(SNo_mul_SNo c c HcS HcS).
We prove the intermediate
claim HddS:
SNo (mul_SNo d d).
An
exact proof term for the current goal is
(SNo_mul_SNo d d HdS HdS).
We prove the intermediate
claim Hdiff2Def:
diff2 = mul_SNo diff diff.
rewrite the current goal using HlhsDef (from left to right).
rewrite the current goal using Hdiff2Def (from left to right).
rewrite the current goal using HdiffDef (from left to right).
rewrite the current goal using
(SNo_foil ac bd ac bd HacS HbdS HacS HbdS) (from left to right).
rewrite the current goal using
(SNo_foil_mm ad bc ad bc HadS HbcS HadS HbcS) (from left to right).
We prove the intermediate
claim HabS:
SNo (mul_SNo a b).
An
exact proof term for the current goal is
(SNo_mul_SNo a b HaS HbS).
We prove the intermediate
claim HcdS:
SNo (mul_SNo c d).
An
exact proof term for the current goal is
(SNo_mul_SNo c d HcS HdS).
We prove the intermediate
claim HdcS:
SNo (mul_SNo d c).
An
exact proof term for the current goal is
(SNo_mul_SNo d c HdS HcS).
An
exact proof term for the current goal is
(mul_SNo_com d c HdS HcS).
We prove the intermediate
claim Hadbc_eq_acbd:
mul_SNo ad bc = mul_SNo ac bd.
We prove the intermediate
claim HadDef:
ad = mul_SNo a d.
We prove the intermediate
claim HbcDef:
bc = mul_SNo b c.
We prove the intermediate
claim HacDef:
ac = mul_SNo a c.
We prove the intermediate
claim HbdDef:
bd = mul_SNo b d.
rewrite the current goal using HadDef (from left to right).
rewrite the current goal using HbcDef (from left to right).
rewrite the current goal using HacDef (from left to right).
rewrite the current goal using HbdDef (from left to right).
rewrite the current goal using Hdc_eq_cd (from left to right).
Use reflexivity.
We prove the intermediate
claim Hbcad_eq_bdac:
mul_SNo bc ad = mul_SNo bd ac.
We prove the intermediate
claim HadDef:
ad = mul_SNo a d.
We prove the intermediate
claim HbcDef:
bc = mul_SNo b c.
We prove the intermediate
claim HacDef:
ac = mul_SNo a c.
We prove the intermediate
claim HbdDef:
bd = mul_SNo b d.
rewrite the current goal using HadDef (from left to right).
rewrite the current goal using HbcDef (from left to right).
rewrite the current goal using HacDef (from left to right).
rewrite the current goal using HbdDef (from left to right).
rewrite the current goal using Hdc_eq_cd (from right to left).
Use reflexivity.
rewrite the current goal using Hadbc_eq_acbd (from left to right).
rewrite the current goal using Hbcad_eq_bdac (from left to right).
We prove the intermediate
claim HacacS2:
SNo (mul_SNo ac ac).
An
exact proof term for the current goal is
(SNo_mul_SNo ac ac HacS HacS).
We prove the intermediate
claim HadadS2:
SNo (mul_SNo ad ad).
An
exact proof term for the current goal is
(SNo_mul_SNo ad ad HadS HadS).
We prove the intermediate
claim HbcbcS2:
SNo (mul_SNo bc bc).
An
exact proof term for the current goal is
(SNo_mul_SNo bc bc HbcS HbcS).
We prove the intermediate
claim HbdbdS2:
SNo (mul_SNo bd bd).
An
exact proof term for the current goal is
(SNo_mul_SNo bd bd HbdS HbdS).
We prove the intermediate
claim HacbdS2:
SNo (mul_SNo ac bd).
An
exact proof term for the current goal is
(SNo_mul_SNo ac bd HacS HbdS).
We prove the intermediate
claim HbdacS2:
SNo (mul_SNo bd ac).
An
exact proof term for the current goal is
(SNo_mul_SNo bd ac HbdS HacS).
Use reflexivity.