Write an F# function simplify : aexpr -> aexpr to perform expression
simplification. For instance, it should simplify (x + 0) to x, and simplify
(1+0) to 1. The more ambitious student may want to simplify (1+0)∗(x+0)
to x. Hint: Pattern matching is your friend. Hint: Don’t forget the case where
you cannot simplify anything.
You might consider the following simplifications, plus any others you find
useful and correct:
0 +e −→ e
e +0 −→ e
e −0 −→ e
1 ∗ e −→ e
e ∗ 1 −→ e
0 ∗ e −→ 0
e ∗ 0 −→ 0
e −e −→ 0