SP
Size: a a a
SP
SP
λ
λ
SP
SP
SP
EG
λ
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
λ
λ
EG
EG
EG
λ
SP
EG
EG
λ
λ