src/ZF/Order.thy
author lcp
Tue, 21 Jun 1994 17:20:34 +0200
changeset 435 ca5356bd315a
child 578 efc648d29dd0
permissions -rw-r--r--
Addition of cardinals and order types, various tidying
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
435
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     1
(*  Title: 	ZF/Order.thy
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     2
    ID:         $Id$
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     3
    Author: 	Lawrence C Paulson, Cambridge University Computer Laboratory
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     4
    Copyright   1994  University of Cambridge
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     5
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     6
Orders in Zermelo-Fraenkel Set Theory 
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     7
*)
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     8
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     9
Order = WF + Perm + 
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    10
consts
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    11
  part_ord        :: "[i,i]=>o"		(*Strict partial ordering*)
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    12
  linear, tot_ord :: "[i,i]=>o"		(*Strict total ordering*)
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    13
  well_ord        :: "[i,i]=>o"		(*Well-ordering*)
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    14
  ord_iso         :: "[i,i,i,i]=>i"	(*Order isomorphisms*)
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    15
  pred            :: "[i,i,i]=>i"	(*Set of predecessors*)
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    16
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    17
rules
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    18
  part_ord_def "part_ord(A,r) == irrefl(A,r) & trans[A](r)"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    19
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    20
  linear_def   "linear(A,r) == (ALL x:A. ALL y:A. <x,y>:r | x=y | <y,x>:r)"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    21
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    22
  tot_ord_def  "tot_ord(A,r) == part_ord(A,r) & linear(A,r)"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    23
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    24
  well_ord_def "well_ord(A,r) == tot_ord(A,r) & wf[A](r)"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    25
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    26
  ord_iso_def  "ord_iso(A,r,B,s) == \
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    27
\                   {f: bij(A,B). ALL x:A. ALL y:A. <x,y>:r <-> <f`x,f`y>:s}"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    28
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    29
  pred_def     "pred(A,x,r) == {y:A. <y,x>:r}"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    30
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    31
end