| sort Real, |
| preds __ < __, __ > __, __ < __, __ > __, |
| ops __+, __-, __ + __, __ - __, __ * __, __ / __ |
| PosCompactReal = {x:CompactReal . x > 0 }; |
| NegCompactReal = {x:CompactReal . x < 0 } |
| +__, -__: | CompactReal -> CompactReal; |
| __ + __, | |
| __ * __: | CompactReal × CompactReal ->? CompactReal, |
| comm; | |
| __ - __, | |
| __ / __: | CompactReal × CompactReal ->? CompactReal; |
| r:Real; |
| p: PosCompactReal; n: NegCompactReal; x,y: CompactReal |
| isReal(x) \/ |
| isReal(y) \/ |
| (x=posInfinity /\ y=posInfinity) \/ |
| (x=negInfinity /\ y=negInfinity) |
| isReal(x) \/ |
| isReal(y) \/ |
| (x=posInfinity /\ y=negInfinity) \/ |
| (x=negInfinity /\ y=posInfinity) |