Remark add_sub_square_identity :
 forall a b : nat,
 (b + a - b) * (b + a - b) = (b + a) * (b + a) + b * b - 2 * ((b + a) * b).

(* Specifications: *)
Theorem sub_square_identity : forall a b : nat, b <= a -> (a - b) * (a - b) = a * a + b * b - 2 * (a * b).
Theorem square_monotonic : forall x y : nat, x < y -> x * x < y * y.
Theorem root_monotonic : forall x y : nat, x * x < y * y -> x < y.