SP
Size: a a a
SP
p
SP
SP
SP
G
p
p
AZ
mulComm :: Natural m -> Natural n -> m :*: n :~: n :*: m
mulComm NumZ NumZ = T.Refl
mulComm (NumS pm) NumZ = case mulComm pm NumZ of T.Refl -> T.Refl
mulComm NumZ (NumS pn) = case mulComm NumZ pn of T.Refl -> T.Refl
mulComm (NumS m) (NumS n) =
case mulComm m (NumS n) of
T.Refl -> case mulComm n (NumS m) of
T.Refl -> case addAssoc n m (mulP n m) of
T.Refl -> case addAssoc m n (mulP m n) of
T.Refl -> case addComm m n of
T.Refl -> case mulComm m n of T.Refl -> T.Refl
AZ
p
p
AZ
AZ
AZ
p
AZ
p
AZ