src/ZF/Order.thy
author lcp
Thu, 25 Aug 1994 12:09:21 +0200
changeset 578 efc648d29dd0
parent 435 ca5356bd315a
child 786 2a871417e7fc
permissions -rw-r--r--
ZF/Inductive.thy,.ML: renamed from "inductive" to allow re-building without the keyword "inductive" making the theory file fail ZF/Makefile: now has Inductive.thy,.ML ZF/Datatype,Finite,Zorn: depend upon Inductive ZF/intr_elim: now checks that the inductive name does not clash with existing theory names ZF/ind_section: deleted things replicated in Pure/section_utils.ML ZF/ROOT: now loads Pure/section_utils

(*  Title: 	ZF/Order.thy
    ID:         $Id$
    Author: 	Lawrence C Paulson, Cambridge University Computer Laboratory
    Copyright   1994  University of Cambridge

Orders in Zermelo-Fraenkel Set Theory 
*)

Order = WF + Perm + 
consts
  part_ord        :: "[i,i]=>o"		(*Strict partial ordering*)
  linear, tot_ord :: "[i,i]=>o"		(*Strict total ordering*)
  well_ord        :: "[i,i]=>o"		(*Well-ordering*)
  ord_iso         :: "[i,i,i,i]=>i"	(*Order isomorphisms*)
  pred            :: "[i,i,i]=>i"	(*Set of predecessors*)

defs
  part_ord_def "part_ord(A,r) == irrefl(A,r) & trans[A](r)"

  linear_def   "linear(A,r) == (ALL x:A. ALL y:A. <x,y>:r | x=y | <y,x>:r)"

  tot_ord_def  "tot_ord(A,r) == part_ord(A,r) & linear(A,r)"

  well_ord_def "well_ord(A,r) == tot_ord(A,r) & wf[A](r)"

  ord_iso_def  "ord_iso(A,r,B,s) == \
\                   {f: bij(A,B). ALL x:A. ALL y:A. <x,y>:r <-> <f`x,f`y>:s}"

  pred_def     "pred(A,x,r) == {y:A. <y,x>:r}"

end