introduces: natural , positive-integer , successor _ , 0 .
introduces: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , sum _ , product _ , exponent _ , integer-quotient _ , integer-remainder _ . includes: Instant/Total Order ( natural for s , _ is _ , _ is less than _ ) . needs: Tuples/Basics . natural <= component .
introduces: integer , negative-integer , nonzero-integer , predecessor _ .
introduces: negation _ , absolute _ , difference _ . includes: Instant/Total Order ( integer for s , _ is _ , _ is less than _ ) . needs: Tuples/Basics . integer <= component .
introduces: rational , nonzero-rational , positive-rational , negative-rational , quotient _ .
introduces: truncation _ , fraction _ . includes: Instant/Total Order ( rational for s , _ is _ , _ is less than _ ) . needs: Tuples/Basics . rational <= component .
introduces: approximation , min-approximation , max-approximation .(1) approximation [min min-approximation] [max max-approximation] = approximation . open .
- approximation <= rational .
- min-approximation, max-approximation : approximation .
introduces: interval_ , approximately _ .
The sort interval r is the smallest closed subsort of rational that includes the sort r, whereas approximately r is an interval whose bounds are of sort approximation, or nothing when r is entirely outside the interval from min-approximation to max-approximation.
(1) r <= rational => r <= interval r . (2) s, t : r <= rational => rational [min s] [max t] <= interval r . (3) x : rational => x : approximately x . (4) x : rational => interval approximately x = approximately x . (5) x : approximation => approximately x = x . (6) x : interval y ; y => approximation => approximately x <= interval y . (7) x is greater than max-approximation = true => approximately x:rational = nothing . (8) x is less than min-approximation = true => approximately x:rational = nothing .