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
|