| ¬ (dec * dec).int < 0, mkDecimal(sqrt((dec * dec).int), (dec * dec).scale / 2) = abs(dec) ⊦ mkDecimal(sqrt((dec * dec).int), (dec * dec).scale / 2) * mkDecimal(sqrt((dec * dec).int), (dec * dec).scale / 2) = dec * dec |
mkDecimal(sqrt((dec * dec).int), (dec * dec).scale / 2) = abs(dec), 0 ≤ (dec * dec).int ⊦ mkDecimal(sqrt((dec * dec).int), (dec * dec).scale / 2) * mkDecimal(sqrt((dec * dec).int), (dec * dec).scale / 2) = dec * dec
Used simplifier rules: forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs