| ¬ ¬ (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 |
Used simplifier rules: square-int-nlz: ⊦ ¬ (dec * dec).int < 0;%mult-a: ⊦ dec0 * dec1 * dec2 = (dec0 * dec1) * dec2;%mult-c: ⊦ dec_i * dec_j = dec_j * dec_i;%abs-08: ⊦ i < 0 → abs(i) = ~ i; from specification int-abs