| author | paulson |
| Wed, 05 Nov 1997 13:29:47 +0100 | |
| changeset 4158 | 47c7490c74fe |
| parent 3842 | b55686a7b22c |
| child 4359 | 6f2986464280 |
| permissions | -rw-r--r-- |
| 1476 | 1 |
(* Title: HOL/Hoare/Arith2.thy |
| 1335 | 2 |
ID: $Id$ |
| 1476 | 3 |
Author: Norbert Galm |
| 1335 | 4 |
Copyright 1995 TUM |
5 |
||
|
3372
6e472c8f0011
Replacement of "divides" by "dvd" from Divides.thy, and updating of proofs
paulson
parents:
1824
diff
changeset
|
6 |
More arithmetic. Much of this duplicates ex/Primes. |
| 1335 | 7 |
*) |
8 |
||
|
3372
6e472c8f0011
Replacement of "divides" by "dvd" from Divides.thy, and updating of proofs
paulson
parents:
1824
diff
changeset
|
9 |
Arith2 = Divides + |
| 1335 | 10 |
|
| 1558 | 11 |
constdefs |
| 1476 | 12 |
cd :: [nat, nat, nat] => bool |
|
3372
6e472c8f0011
Replacement of "divides" by "dvd" from Divides.thy, and updating of proofs
paulson
parents:
1824
diff
changeset
|
13 |
"cd x m n == x dvd m & x dvd n" |
| 1335 | 14 |
|
| 1558 | 15 |
gcd :: [nat, nat] => nat |
16 |
"gcd m n == @x.(cd x m n) & (!y.(cd y m n) --> y<=x)" |
|
| 1335 | 17 |
|
| 1558 | 18 |
pow :: [nat, nat] => nat (infixl 75) |
| 3842 | 19 |
"m pow n == nat_rec (Suc 0) (%u v. m*v) n" |
| 1558 | 20 |
|
21 |
fac :: nat => nat |
|
| 1824 | 22 |
"fac m == nat_rec (Suc 0) (%u v.(Suc u)*v) m" |
| 1335 | 23 |
|
24 |
end |