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