data Expr : Type -> TypeSemigroup (Expr a)eval : LSemigroup a => Expr a -> aesum' : LSemigroup a => a -> List a -> aesum : LSemigroup a => List1 a -> anormalize : Expr a -> List1 a0 solve : {auto {conArg:1267} : LSemigroup a} -> (e1 : Expr a) -> (e2 : Expr a) -> normalize e1 = normalize e2 => eval e1 = eval e2