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