:: RELSET_1 semantic presentation

definition
let X be set ;
let Y be set ;
mode Relation of c1,c2 -> set means :Def1: :: RELSET_1:def 1
it c= [:X,Y:];
existence
ex b1 being set st b1 c= [:X,Y:]
;
end;

:: deftheorem Def1 defines Relation RELSET_1:def 1 :
for X, Y being set
for b3 being set holds
( b3 is Relation of X,Y iff b3 c= [:X,Y:] );

definition
let X be set ;
let Y be set ;
redefine mode Relation as Relation of c1,c2 -> Subset of [:a1,a2:];
coherence
for b1 being Relation of X,Y holds b1 is Subset of [:X,Y:]
by ;
end;

registration
let X be set ;
let Y be set ;
cluster -> Relation-like Element of bool [:a1,a2:];
coherence
for b1 being Subset of [:X,Y:] holds b1 is Relation-like
proof end;
end;

theorem Th1: :: RELSET_1:1
canceled;

theorem Th2: :: RELSET_1:2
canceled;

theorem Th3: :: RELSET_1:3
canceled;

theorem Th4: :: RELSET_1:4
for A, X, Y being set
for R being Relation of X,Y st A c= R holds
A is Relation of X,Y
proof end;

theorem Th5: :: RELSET_1:5
canceled;

theorem Th6: :: RELSET_1:6
for a, X, Y being set
for R being Relation of X,Y st a in R holds
ex x, y being set st
( a = [x,y] & x in X & y in Y )
proof end;

theorem Th7: :: RELSET_1:7
canceled;

theorem Th8: :: RELSET_1:8
for x, X, y, Y being set st x in X & y in Y holds
{[x,y]} is Relation of X,Y
proof end;

theorem Th9: :: RELSET_1:9
for X being set
for R being Relation st dom R c= X holds
R is Relation of X, rng R
proof end;

theorem Th10: :: RELSET_1:10
for Y being set
for R being Relation st rng R c= Y holds
R is Relation of dom R,Y
proof end;

theorem Th11: :: RELSET_1:11
for X, Y being set
for R being Relation st dom R c= X & rng R c= Y holds
R is Relation of X,Y
proof end;

theorem Th12: :: RELSET_1:12
for X, Y being set
for R being Relation of X,Y holds
( dom R c= X & rng R c= Y )
proof end;

theorem Th13: :: RELSET_1:13
for X, X1, Y being set
for R being Relation of X,Y st dom R c= X1 holds
R is Relation of X1,Y
proof end;

theorem Th14: :: RELSET_1:14
for Y, Y1, X being set
for R being Relation of X,Y st rng R c= Y1 holds
R is Relation of X,Y1
proof end;

theorem Th15: :: RELSET_1:15
for X, X1, Y being set
for R being Relation of X,Y st X c= X1 holds
R is Relation of X1,Y
proof end;

theorem Th16: :: RELSET_1:16
for Y, Y1, X being set
for R being Relation of X,Y st Y c= Y1 holds
R is Relation of X,Y1
proof end;

theorem Th17: :: RELSET_1:17
for X, X1, Y, Y1 being set
for R being Relation of X,Y st X c= X1 & Y c= Y1 holds
R is Relation of X1,Y1
proof end;

definition
let X be set ;
let Y be set ;
let P be Relation of X,Y;
let R be Relation of X,Y;
redefine func \/ as c3 \/ c4 -> Relation of a1,a2;
coherence
P \/ R is Relation of X,Y
proof end;
redefine func /\ as c3 /\ c4 -> Relation of a1,a2;
coherence
P /\ R is Relation of X,Y
proof end;
redefine func \ as c3 \ c4 -> Relation of a1,a2;
coherence
P \ R is Relation of X,Y
proof end;
end;

definition
let X be set ;
let Y be set ;
let R be Relation of X,Y;
redefine func dom as dom c3 -> Subset of a1;
coherence
dom R is Subset of X
by ;
redefine func rng as rng c3 -> Subset of a2;
coherence
rng R is Subset of Y
by ;
end;

theorem Th18: :: RELSET_1:18
canceled;

theorem Th19: :: RELSET_1:19
for X, Y being set
for R being Relation of X,Y holds field R c= X \/ Y
proof end;

theorem Th20: :: RELSET_1:20
canceled;

theorem Th21: :: RELSET_1:21
canceled;

theorem Th22: :: RELSET_1:22
for Y, X being set
for R being Relation of X,Y holds
( ( for x being set st x in X holds
ex y being set st [x,y] in R ) iff dom R = X )
proof end;

theorem Th23: :: RELSET_1:23
for X, Y being set
for R being Relation of X,Y holds
( ( for y being set st y in Y holds
ex x being set st [x,y] in R ) iff rng R = Y )
proof end;

definition
let X be set ;
let Y be set ;
let R be Relation of X,Y;
redefine func ~ as c3 ~ -> Relation of a2,a1;
coherence
R ~ is Relation of Y,X
proof end;
end;

definition
let X be set ;
let Y1 be set ;
let Y2 be set ;
let Z be set ;
let P be Relation of X,Y1;
let R be Relation of Y2,Z;
redefine func * as c5 * c6 -> Relation of a1,a4;
coherence
P * R is Relation of X,Z
proof end;
end;

theorem Th24: :: RELSET_1:24
for X, Y being set
for R being Relation of X,Y holds
( dom (R ~ ) = rng R & rng (R ~ ) = dom R )
proof end;

theorem Th25: :: RELSET_1:25
for X, Y being set holds {} is Relation of X,Y
proof end;

theorem Th26: :: RELSET_1:26
for X, Y being set
for R being Relation of X,Y st R is Relation of {} ,Y holds
R = {}
proof end;

theorem Th27: :: RELSET_1:27
for Y, X being set
for R being Relation of X,Y st R is Relation of X, {} holds
R = {}
proof end;

theorem Th28: :: RELSET_1:28
for X being set holds id X c= [:X,X:]
proof end;

theorem Th29: :: RELSET_1:29
for X being set holds id X is Relation of X,X
proof end;

theorem Th30: :: RELSET_1:30
for X, Y, A being set
for R being Relation of X,Y st id A c= R holds
( A c= dom R & A c= rng R )
proof end;

theorem Th31: :: RELSET_1:31
for Y, X being set
for R being Relation of X,Y st id X c= R holds
( X = dom R & X c= rng R )
proof end;

theorem Th32: :: RELSET_1:32
for X, Y being set
for R being Relation of X,Y st id Y c= R holds
( Y c= dom R & Y = rng R )
proof end;

definition
let X be set ;
let Y be set ;
let R be Relation of X,Y;
let A be set ;
redefine func | as c3 | c4 -> Relation of a1,a2;
coherence
R | A is Relation of X,Y
proof end;
end;

definition
let X be set ;
let Y be set ;
let B be set ;
let R be Relation of X,Y;
redefine func | as c3 | c4 -> Relation of a1,a2;
coherence
B | R is Relation of X,Y
proof end;
end;

theorem Th33: :: RELSET_1:33
for X, X1, Y being set
for R being Relation of X,Y holds R | X1 is Relation of X1,Y
proof end;

theorem Th34: :: RELSET_1:34
for Y, X, X1 being set
for R being Relation of X,Y st X c= X1 holds
R | X1 = R
proof end;

theorem Th35: :: RELSET_1:35
for Y, Y1, X being set
for R being Relation of X,Y holds Y1 | R is Relation of X,Y1
proof end;

theorem Th36: :: RELSET_1:36
for X, Y, Y1 being set
for R being Relation of X,Y st Y c= Y1 holds
Y1 | R = R
proof end;

definition
let X be set ;
let Y be set ;
let R be Relation of X,Y;
let A be set ;
redefine func .: as c3 .: c4 -> Subset of a2;
coherence
R .: A is Subset of Y
proof end;
redefine func " as c3 " c4 -> Subset of a1;
coherence
R " A is Subset of X
proof end;
end;

theorem Th37: :: RELSET_1:37
canceled;

theorem Th38: :: RELSET_1:38
for X, Y being set
for R being Relation of X,Y holds
( R .: X = rng R & R " Y = dom R )
proof end;

theorem Th39: :: RELSET_1:39
for Y, X being set
for R being Relation of X,Y holds
( R .: (R " Y) = rng R & R " (R .: X) = dom R )
proof end;

scheme :: RELSET_1:sch 33
s33{ F1() -> set , F2() -> set , P1[ set , set ] } :
ex R being Relation of F1(),F2() st
for x, y being set holds
( [x,y] in R iff ( x in F1() & y in F2() & P1[x,y] ) )
proof end;

definition
let X be set ;
mode Relation of a1 is Relation of a1,a1;
end;

theorem Th40: :: RELSET_1:40
canceled;

theorem Th41: :: RELSET_1:41
canceled;

theorem Th42: :: RELSET_1:42
canceled;

theorem Th43: :: RELSET_1:43
canceled;

theorem Th44: :: RELSET_1:44
canceled;

theorem Th45: :: RELSET_1:45
canceled;

theorem Th46: :: RELSET_1:46
for D being non empty set holds id D <> {}
proof end;

registration
let D be non empty set ;
cluster id a1 -> non empty ;
coherence
not id D is empty
by ;
end;

theorem Th47: :: RELSET_1:47
for D, E being non empty set
for R being Relation of D,E
for x being Element of D holds
( x in dom R iff ex y being Element of E st [x,y] in R )
proof end;

theorem Th48: :: RELSET_1:48
for E, D being non empty set
for R being Relation of D,E
for y being set holds
( y in rng R iff ex x being Element of D st [x,y] in R )
proof end;

theorem Th49: :: RELSET_1:49
for D, E being non empty set
for R being Relation of D,E st dom R <> {} holds
ex y being Element of E st y in rng R
proof end;

theorem Th50: :: RELSET_1:50
for E, D being non empty set
for R being Relation of D,E st rng R <> {} holds
ex x being Element of D st x in dom R
proof end;

theorem Th51: :: RELSET_1:51
for D, E, F being non empty set
for P being Relation of D,E
for R being Relation of E,F
for x, z being set holds
( [x,z] in P * R iff ex y being Element of E st
( [x,y] in P & [y,z] in R ) )
proof end;

theorem Th52: :: RELSET_1:52
for E, D1, D being non empty set
for R being Relation of D,E
for y being Element of E holds
( y in R .: D1 iff ex x being Element of D st
( [x,y] in R & x in D1 ) )
proof end;

theorem Th53: :: RELSET_1:53
for D, D2, E being non empty set
for R being Relation of D,E
for x being Element of D holds
( x in R " D2 iff ex y being Element of E st
( [x,y] in R & y in D2 ) )
proof end;

scheme :: RELSET_1:sch 43
s43{ F1() -> non empty set , F2() -> non empty set , P1[ set , set ] } :
ex R being Relation of F1(),F2() st
for x being Element of F1()
for y being Element of F2() holds
( [x,y] in R iff P1[x,y] )
proof end;

scheme :: RELSET_1:sch 0
s0{ F1() -> set , F2() -> Subset of F1(), F3( set ) -> set } :
ex R being Relation of F2() st
for i being Element of F1() st i in F2() holds
R .: {i} = F3(i)
provided
E20: for i being Element of F1() st i in F2() holds
F3(i) c= F2()
proof end;

theorem Th54: :: RELSET_1:54
for N being set
for R, S being Relation of N st ( for i being set st i in N holds
R .: {i} = S .: {i} ) holds
R = S
proof end;