author | paulson |
Sun, 15 Feb 2004 10:46:37 +0100 | |
changeset 14387 | e96d5c42c4b0 |
parent 13957 | 10dbf16be15f |
child 14409 | 91181ee5860c |
permissions | -rw-r--r-- |
13957 | 1 |
(* Title: NSInduct.thy |
2 |
Author: Jacques D. Fleuriot |
|
3 |
Copyright: 2001 University of Edinburgh |
|
4 |
Description: Nonstandard characterization of induction etc. |
|
5 |
*) |
|
6 |
||
14387
e96d5c42c4b0
Polymorphic treatment of binary arithmetic using axclasses
paulson
parents:
13957
diff
changeset
|
7 |
NSInduct = Complex + |
13957 | 8 |
|
9 |
constdefs |
|
10 |
||
11 |
starPNat :: (nat => bool) => hypnat => bool ("*pNat* _" [80] 80) |
|
12 |
"*pNat* P == (%x. EX X. (X: Rep_hypnat(x) & |
|
13 |
{n. P(X n)} : FreeUltrafilterNat))" |
|
14 |
||
15 |
||
16 |
starPNat2 :: (nat => nat => bool) => hypnat =>hypnat => bool ("*pNat2* _" [80] 80) |
|
17 |
"*pNat2* P == (%x y. EX X. EX Y. (X: Rep_hypnat(x) & Y: Rep_hypnat(y) & |
|
18 |
{n. P(X n) (Y n)} : FreeUltrafilterNat))" |
|
19 |
||
20 |
hSuc :: hypnat => hypnat |
|
21 |
"hSuc n == n + 1" |
|
22 |
||
23 |
end |