| 0 |      1 | (*  Title: 	ZF/perm
 | 
|  |      2 |     ID:         $Id$
 | 
|  |      3 |     Author: 	Lawrence C Paulson, Cambridge University Computer Laboratory
 | 
|  |      4 |     Copyright   1991  University of Cambridge
 | 
|  |      5 | 
 | 
|  |      6 | The theory underlying permutation groups
 | 
|  |      7 |   -- Composition of relations, the identity relation
 | 
|  |      8 |   -- Injections, surjections, bijections
 | 
|  |      9 |   -- Lemmas for the Schroeder-Bernstein Theorem
 | 
|  |     10 | *)
 | 
|  |     11 | 
 | 
| 124 |     12 | Perm = ZF + "mono" +
 | 
| 0 |     13 | consts
 | 
|  |     14 |     O    	::      "[i,i]=>i"      (infixr 60)
 | 
|  |     15 |     id  	::      "i=>i"
 | 
|  |     16 |     inj,surj,bij::      "[i,i]=>i"
 | 
|  |     17 | 
 | 
|  |     18 | rules
 | 
|  |     19 | 
 | 
|  |     20 |     (*composition of relations and functions; NOT Suppes's relative product*)
 | 
|  |     21 |     comp_def	"r O s == {xz : domain(s)*range(r) . \
 | 
|  |     22 | \                  		EX x y z. xz=<x,z> & <x,y>:s & <y,z>:r}"
 | 
|  |     23 | 
 | 
|  |     24 |     (*the identity function for A*)
 | 
|  |     25 |     id_def	"id(A) == (lam x:A. x)"
 | 
|  |     26 | 
 | 
|  |     27 |     (*one-to-one functions from A to B*)
 | 
|  |     28 |     inj_def      "inj(A,B) == { f: A->B. ALL w:A. ALL x:A. f`w=f`x --> w=x}"
 | 
|  |     29 | 
 | 
|  |     30 |     (*onto functions from A to B*)
 | 
|  |     31 |     surj_def	"surj(A,B) == { f: A->B . ALL y:B. EX x:A. f`x=y}"
 | 
|  |     32 | 
 | 
|  |     33 |     (*one-to-one and onto functions*)
 | 
|  |     34 |     bij_def	"bij(A,B) == inj(A,B) Int surj(A,B)"
 | 
|  |     35 | 
 | 
|  |     36 | end
 |