src/ZF/Rel.thy
 changeset 435 ca5356bd315a child 753 ec86863e87c8
```--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ZF/Rel.thy	Tue Jun 21 17:20:34 1994 +0200
@@ -0,0 +1,33 @@
+(*  Title: 	ZF/Rel.thy
+    ID:         \$Id\$
+    Author: 	Lawrence C Paulson, Cambridge University Computer Laboratory
+    Copyright   1994  University of Cambridge
+
+Relations in Zermelo-Fraenkel Set Theory
+*)
+
+Rel = ZF +
+consts
+    refl,irrefl,equiv      :: "[i,i]=>o"
+    sym,asym,antisym,trans :: "i=>o"
+    trans_on               :: "[i,i]=>o"	("trans[_]'(_')")
+
+rules
+  refl_def     "refl(A,r) == (ALL x: A. <x,x> : r)"
+
+  irrefl_def   "irrefl(A,r) == ALL x: A. <x,x> ~: r"
+
+  sym_def      "sym(r) == ALL x y. <x,y>: r --> <y,x>: r"
+
+  asym_def     "asym(r) == ALL x y. <x,y>:r --> ~ <y,x>:r"
+
+  antisym_def  "antisym(r) == ALL x y.<x,y>:r --> <y,x>:r --> x=y"
+
+  trans_def    "trans(r) == ALL x y z. <x,y>: r --> <y,z>: r --> <x,z>: r"
+
+  trans_on_def "trans[A](r) == ALL x:A. ALL y:A. ALL z:A. 	\
+\                          <x,y>: r --> <y,z>: r --> <x,z>: r"
+
+  equiv_def    "equiv(A,r) == r <= A*A & refl(A,r) & sym(r) & trans(r)"
+
+end```