| 1478 |      1 | (*  Title:      ZF/Rel.thy
 | 
| 435 |      2 |     ID:         $Id$
 | 
| 1478 |      3 |     Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
 | 
| 435 |      4 |     Copyright   1994  University of Cambridge
 | 
|  |      5 | 
 | 
|  |      6 | Relations in Zermelo-Fraenkel Set Theory 
 | 
|  |      7 | *)
 | 
|  |      8 | 
 | 
| 2469 |      9 | Rel = domrange +
 | 
| 435 |     10 | consts
 | 
| 1401 |     11 |     refl,irrefl,equiv      :: [i,i]=>o
 | 
|  |     12 |     sym,asym,antisym,trans :: i=>o
 | 
| 1478 |     13 |     trans_on               :: [i,i]=>o  ("trans[_]'(_')")
 | 
| 435 |     14 | 
 | 
| 753 |     15 | defs
 | 
| 435 |     16 |   refl_def     "refl(A,r) == (ALL x: A. <x,x> : r)"
 | 
|  |     17 | 
 | 
|  |     18 |   irrefl_def   "irrefl(A,r) == ALL x: A. <x,x> ~: r"
 | 
|  |     19 | 
 | 
|  |     20 |   sym_def      "sym(r) == ALL x y. <x,y>: r --> <y,x>: r"
 | 
|  |     21 | 
 | 
|  |     22 |   asym_def     "asym(r) == ALL x y. <x,y>:r --> ~ <y,x>:r"
 | 
|  |     23 | 
 | 
|  |     24 |   antisym_def  "antisym(r) == ALL x y.<x,y>:r --> <y,x>:r --> x=y"
 | 
|  |     25 | 
 | 
|  |     26 |   trans_def    "trans(r) == ALL x y z. <x,y>: r --> <y,z>: r --> <x,z>: r"
 | 
|  |     27 | 
 | 
| 1478 |     28 |   trans_on_def "trans[A](r) == ALL x:A. ALL y:A. ALL z:A.       
 | 
| 1155 |     29 |                           <x,y>: r --> <y,z>: r --> <x,z>: r"
 | 
| 435 |     30 | 
 | 
|  |     31 |   equiv_def    "equiv(A,r) == r <= A*A & refl(A,r) & sym(r) & trans(r)"
 | 
|  |     32 | 
 | 
|  |     33 | end
 |