CADiZ

Reference manual / Extended toolkit / Summary of toolkit extensions


The specific properties of the real numbers \real are defined, together with subsets the rationals \rat, the positive rationals \rat+, the integers \num, the natural numbers \nat, and the positive integers \nat1. Having these sets as subsets of \arithmos and making the numeric operations be partial functions on \arithmos avoids having either to introduce distinct names for the operations on different subsets or to introduce an overload resolution mechanism into Z. Moreover, their definitions could be widened in future to cope with other kinds of numbers. The numeric functions and relations declared in ZRM Section 4.4, except succ, have had their domains widened to apply to the real numbers where appropriate, while retaining their ZRM meanings for integers.

The opportunity has been taken to revise the toolkit in other ways. The style of definition has been changed to a form that makes showing consistency trivial and which is convenient for formal proof [Valentine98]. The meanings of most definitions remain unchanged, though the domains of some have been widened. The laws have been dropped as being unnecessary for the ISO standard; in practice, many more laws are needed.

Some new general purpose operations have been introduced that are expected to be widely reused. For example, in set_toolkit are generic sets describing orders.

generic (transitive _)
generic (antisymmetric _)
generic (reflexive _)
generic (irreflexive _)
generic (preOrder _)
generic (order _)
generic (reflexiveOrder _)
generic (irreflexiveOrder _)
generic (totalOrder _)
generic (reflexiveTotalOrder _)
generic (irreflexiveTotalOrder _)
generic (reflexiveChain _)
generic (irreflexiveChain _)

In sequence_toolkit, alongside the sets of finite sequences (seq _), (seq1 _) and (iseq _), have been added the sets of potentially infinite sequences (sequence _) , (sequence1 _) and (isequence _), and also non-empty sets of injective sequences (iseq1 _) and (isequence1 _). The finite sequences are subsets of the infinite sequences. Relations and functions from ZRM Section 4.5, which the ZRM defines as applying to finite sequences, have had their domains widened wherever appropriate to apply to infinite sequences, while retaining their ZRM meaning for finite sequences.


IT 5-Jan-2002