src/ZF/AC/OrdQuant.thy
author lcp
Tue, 25 Apr 1995 11:14:03 +0200
changeset 1072 0140ff702b23
parent 1039 9e3c9c84ab6f
child 1203 a39bec971684
permissions -rw-r--r--
updated version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
992
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
     1
(*  Title: 	ZF/AC/OrdQuant.thy
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
     2
    ID:         $Id$
1039
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
     3
    Authors: 	Krzysztof Gr`abczewski and L C Paulson
992
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
     4
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
     5
Quantifiers and union operator for ordinals. 
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
     6
*)
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
     7
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
     8
OrdQuant = Ordinal +
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
     9
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    10
consts
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    11
  
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    12
  (* Ordinal Quantifiers *)
1039
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
    13
  oall, oex   :: "[i, i => o] => o"
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
    14
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
    15
  (* Ordinal Union *)
992
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    16
  OUnion      :: "[i, i => i] => i"
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    17
  
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    18
syntax
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    19
  
1039
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
    20
  "@oall"     :: "[idt, i, o] => o"        ("(3ALL _<_./ _)" 10)
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
    21
  "@oex"      :: "[idt, i, o] => o"        ("(3EX _<_./ _)" 10)
992
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    22
  "@OUNION"   :: "[idt, i, i] => i"        ("(3UN _<_./ _)" 10)
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    23
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    24
translations
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    25
  
1039
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
    26
  "ALL x<a. P"  == "oall(a, %x. P)"
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
    27
  "EX x<a. P"   == "oex(a, %x. P)"
992
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    28
  "UN x<a. B"   == "OUnion(a, %x. B)"
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    29
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    30
defs
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    31
  
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    32
  (* Ordinal Quantifiers *)
1039
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
    33
  oall_def      "oall(A, P) == ALL x. x<A --> P(x)"
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
    34
  oex_def       "oex(A, P) == EX x. x<A & P(x)"
992
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    35
1039
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
    36
  OUnion_def     "OUnion(i,B) == {z: UN x:i. B(x). Ord(i)}"
9e3c9c84ab6f Redefined OUnion in a definitional manner
lcp
parents: 992
diff changeset
    37
  
992
4ef4f7ff2aeb New example of AC Equivalences by Krzysztof Grabczewski
lcp
parents:
diff changeset
    38
end