| 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) |