(* Specifications: *)
Lemma simp0 : x <> 0 -> x / x = 1.
Lemma simp1 : 1 + x <> 0 -> (1 + x) / (1 + x) * (1 + y) - (1 + y) >= 0.
Lemma simp2 : x <> 0 -> y <> 0 -> (x / y + y / x) * x * y - (x^2 + y^2) + 1 > 0.
Lemma simp3 : x + y <> 0 -> x / (x + y) + y / (x + y) = 1.
Lemma fact0 : a^2 + 2*a*b + b^2 = (a+b)^2.
Lemma fact1 : a^2 - 2*a*b + b^2 = (a-b)^2.
Lemma fact2 : a^2 - b^2 = (a-b) * (a+b).
Lemma fact3 : a^3 + 3*a^2*b + 3*a*b^2 + b^3 = (a+b)^3.
Lemma expd0 : (a+b)^2 = a^2 + 2*a*b + b^2.
Lemma expd1 : (a-b)^2 = a^2 - 2*a*b + b^2.
Lemma expd2 : (a-b) * (a+b) = a^2 - b^2.
Lemma expd3 : (a+b)^3 = a^3 + 3*a^2*b + 3*a*b^2 + b^3.
Lemma norm0 : x <> 0 -> y <> 0 -> x / y + y / x = (x^2 + y^2) * / y * / x.
Lemma norm1 : x <> 0 -> x + 1 <> 0 -> / x + x / (x + 1) = (x + 1 + x^2) * / x * / (x + 1).
Lemma norm2 : x - y <> 0 -> x * (x / (x-y)^2) - y * (y / (x-y)^2) = (x + y) / (x - y).
Lemma norm3 : x - y <> 0 -> x + y <> 0 -> x^2 - y^2 <> 0 -> x / (x - y) + y / (x + y) + 2 * y * (y / (x^2 - y^2)) = (x + y) / (x - y).
Lemma eval_simp0 : x <> 0 -> y <> 0 -> x / x + y / y = 2.
Lemma eval_fact0 : x <> 0 -> y <> 0 -> x / x + x / y = (x + y) / y.
Lemma eval_expd0 : (3 * x + 3) * (y - 5 / 3) = 3 * x * y + - (5 * x) + 3 * y + -5.
Lemma eval_norm0 : x <> 0 -> y <> 0 -> y / (x * y) + y / x = (1 + y) / x.