Compare with the various algebras with two operators [ math_41_Two_Operators.html ]
Use x,y,z to represent these Numbers:
(Hoare Axioms):
(Hoare types):
The numbers are a Linearly ordered Sets I define in [ loset in math_21_Order ] as part of the theory of Partially Ordered Sets or Posets.
The above also imports the definitions for intervals like n..m, n..*, and *..m. See Intervals below.
The critical disinction between the natural numbers and other number-like logics is that they are well-ordered:
Number theory often needs other specialized intervals:
Linear Diophantine Equations
Solving an equation like: 10x+12y = 3 depends on the hcf(10,12).
If x0, y0 is a solution of a*x+b*y = c and h = hcf(a,b) then each solution has the form x=x0+t*b/h and y=y0-t*a/h where t:Int.
See pages 46..49 of [PettofrezzoByrkit85] or any other good book of elementary number theory.
Primes
Define the set of all prime numbers (Primes)and the sequence of all primes in increasing order (prime).
However by defining a sequence prime that list all the primes but omits 1, we can have our cake and also eat it...
We just use primes= |(prime) for mathematical work:
I posted some elementary results [ ../samples/primes.html ] about the numbers close to prime number in November of 2005.
[click here
if you can fill this hole]
Modular arithmetic
Gause developed the idea of using equivalence modulo a number as a 'kind of equality' - what evolved into the concept of an equivalence relation. The common term in number theory was 'congruence'. This term is now a general monoid theoretic concept. Here is a piece of the special theory for numbers:
For n,m,p, n ≡[p] m = (n = m wrt (_ mod p))
Use MONOID.
Hardy & Wright 1912 and Pettofrezzo & Byrkit 1985
. . . . . . . . . ( end of section Classical Number Theory) <<Contents | End>>
Contiguity and Alignment of Integer Intervals
When IBM wanted to upgrade and reimplement its transaction processing
system CICS (Customer Information C????
[click here
if you can fill this hole]
System) they invited Jim
Woodcock of the "formal methods" community in Europe
to try out formal
specification techniques and in particular the Z ("zed") language.
He published some results..... the most interesting was that he had to spend a lot of time establishing elementary results in number theory before he could get to grips with the actual operating system itself.
From Jim Woodcock's study of the Z model of CICS Woodcock 89
Intervals
(a..b) ::={x:Real||a<x<b},
[a..b) ::={x:Real||a<=x<b},
(a..b]::={x:Real||a<x<=b},
(a..) ::={x:Real || a<x }, [a..) ::={x:Real || a<=x },
(..a) ::={x:Real || a>x }, [a..) ::={x:Real || a>=x },
Mapping reals into the integers
[Knuth 69, section1.2.4]
Binomial Theorem
...
[click here
if you can fill this hole]
The Institute of Electrical and Electronic Engineers (IEEE) has defined a standard format for binary floating point numbers. This has a number of pragmatic features added to the theoretical format. As a result all computers in the 21st century have some IEEE standard floating point on them.
Two pointers from Dr. Yasha Karant: [ ncg_math.doc.html ] [ index.html ] and a page that converts decimal numbers into IEEE format [ IEEE-754.html ] from Ian Lasky.
I found pages 197 thru to 201 of the following a simple and comprehensive source of information:
A peculiarity of the standard is that it defines two special values:
Here is an example:
The rules get complex
| e | M | value |
|---|---|---|
| 2047 | 0 | sign*INF |
| 2047 | <>0 | NaN |
| 0 | 0 | sign * 0 |
| 0 | <>0 | sign*2^(-1023)*val("0."M) |
| else | <>0 | sign*2^(e-1023)*val("1."M) |
. . . . . . . . . ( end of section Number Representations) <<Contents | End>>
[click here
if you can fill this hole]
Generic Number Fields and Integral Domains.
[ math_45_Three_Operators.html ]
Complex Numbers
[click here
if you can fill this hole]
Quaternions
[click here
if you can fill this hole]
Octonions and Cayley Numbers
[click here
if you can fill this hole]
Vectors & Matrices
. . . . . . . . . ( end of section Other Number-like Systems) <<Contents | End>>
. . . . . . . . . ( end of section Numbers) <<Contents | End>>
Notes on MATHS Notation
Special characters are defined in
[ intro_characters.html ]
that also outlines the syntax of expressions and a document.
Proofs follow a natural deduction style that start with assumptions ("Let") and continue to a consequence ("Close Let") and then discard the assumptions and deduce a conclusion. Look here [ Block Structure in logic_25_Proofs ] for more on the structure and rules.
The notation also allows you to create a new network of variables and constraints. A "Net" has a number of variables (including none) and a number of properties (including none) that connect variables. You can give them a name and then reuse them. The schema, formal system, or an elementary piece of documentation starts with "Net" and finishes "End of Net". For more, see [ notn_13_Docn_Syntax.html ] for these ways of defining and reusing pieces of logic and algebra in your documents. A quick example: a circle = Net{radius:Positive Real, center:Point}.
For a complete listing of pages in this part of my site by topic see [ home.html ]
Notes on the Underlying Logic of MATHS
The notation used here is a formal language with syntax
and a semantics described using traditional formal logic
[ logic_0_Intro.html ]
plus sets, functions, relations, and other mathematical extensions.
For a more rigorous description of the standard notations see