(* Sqrt *)
(* Direct transcription of an old proof of a fortran program in boyer-moore *)

Lemma iter2_sqrt_correct n rec ih il j:
2^(Z_of_nat (size - 2)) <= φ ih ->  0 < φ j -> Φ (WW ih il) < (φ j + 1) ^ 2 ->
(forall j1, 0 < φ j1 -> 2^(Z_of_nat n) + φ j1 <= φ j ->
Φ (WW ih il) < (φ j1 + 1) ^ 2 ->
φ (rec ih il j1) ^ 2 <= Φ (WW ih il) < (φ (rec ih il j1) + 1) ^ 2)  ->
φ (iter2_sqrt n rec ih il j) ^ 2 <= Φ (WW ih il)
< (φ (iter2_sqrt n rec ih il j) + 1) ^ 2.