| mkDecimal(sqrt(abs((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 |
⊦ ¬ j < 0 → abs(j) = j
¬ ¬ (dec * dec).int < 0, mkDecimal(sqrt(abs((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
¬ (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
Used terms: (dec * dec).int