src/ZF/OrdQuant.thy
author wenzelm
Tue, 12 Jan 1999 15:17:37 +0100
changeset 6093 87bf8c03b169
parent 3940 1d5bee4d047f
child 12114 a8e860c86252
permissions -rw-r--r--
eliminated global/local names;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2469
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
     1
(*  Title:      ZF/AC/OrdQuant.thy
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
     2
    ID:         $Id$
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
     3
    Authors:    Krzysztof Grabczewski and L C Paulson
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
     4
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
     5
Quantifiers and union operator for ordinals. 
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
     6
*)
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
     7
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
     8
OrdQuant = Ordinal +
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
     9
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    10
consts
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    11
  
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    12
  (* Ordinal Quantifiers *)
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    13
  oall, oex   :: [i, i => o] => o
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    14
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    15
  (* Ordinal Union *)
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    16
  OUnion      :: [i, i => i] => i
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    17
  
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    18
syntax
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    19
  "@oall"     :: [idt, i, o] => o        ("(3ALL _<_./ _)" 10)
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    20
  "@oex"      :: [idt, i, o] => o        ("(3EX _<_./ _)" 10)
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    21
  "@OUNION"   :: [idt, i, i] => i        ("(3UN _<_./ _)" 10)
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    22
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    23
translations
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    24
  "ALL x<a. P"  == "oall(a, %x. P)"
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    25
  "EX x<a. P"   == "oex(a, %x. P)"
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    26
  "UN x<a. B"   == "OUnion(a, %x. B)"
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    27
2540
ba8311047f18 added symbols syntax;
wenzelm
parents: 2469
diff changeset
    28
syntax (symbols)
ba8311047f18 added symbols syntax;
wenzelm
parents: 2469
diff changeset
    29
  "@oall"     :: [idt, i, o] => o        ("(3\\<forall> _<_./ _)" 10)
ba8311047f18 added symbols syntax;
wenzelm
parents: 2469
diff changeset
    30
  "@oex"      :: [idt, i, o] => o        ("(3\\<exists> _<_./ _)" 10)
ba8311047f18 added symbols syntax;
wenzelm
parents: 2469
diff changeset
    31
  "@OUNION"   :: [idt, i, i] => i        ("(3\\<Union> _<_./ _)" 10)
ba8311047f18 added symbols syntax;
wenzelm
parents: 2469
diff changeset
    32
2469
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    33
defs
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    34
  
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    35
  (* Ordinal Quantifiers *)
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    36
  oall_def      "oall(A, P) == ALL x. x<A --> P(x)"
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    37
  oex_def       "oex(A, P) == EX x. x<A & P(x)"
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    38
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    39
  OUnion_def     "OUnion(i,B) == {z: UN x:i. B(x). Ord(i)}"
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    40
  
b50b8c0eec01 Implicit simpsets and clasets for FOL and ZF
paulson
parents:
diff changeset
    41
end