begin
scheme
FraenkelA2{
F1()
-> non
empty set ,
F2(
set ,
set )
-> set ,
P1[
set ,
set ],
P2[
set ,
set ] } :
{ F2(s,t) where s, t is Element of F1() : P1[s,t] } is
Subset of
F1()
provided
A1:
for
s,
t being
Element of
F1() holds
F2(
s,
t)
in F1()
theorem Th1:
Lm1:
for x, a1, a2, b1, b2 being set st x = [[a1,a2],[b1,b2]] holds
( (x `1) `1 = a1 & (x `1) `2 = a2 & (x `2) `1 = b1 & (x `2) `2 = b2 )
theorem
theorem
theorem
theorem
theorem
theorem
theorem
theorem
begin
definition
let P,
R be
Relation;
func ["P,R"] -> Relation means :
Def1:
for
x,
y being
set holds
(
[x,y] in it iff ex
p,
q,
s,
t being
set st
(
x = [p,q] &
y = [s,t] &
[p,s] in P &
[q,t] in R ) );
existence
ex b1 being Relation st
for x, y being set holds
( [x,y] in b1 iff ex p, q, s, t being set st
( x = [p,q] & y = [s,t] & [p,s] in P & [q,t] in R ) )
uniqueness
for b1, b2 being Relation st ( for x, y being set holds
( [x,y] in b1 iff ex p, q, s, t being set st
( x = [p,q] & y = [s,t] & [p,s] in P & [q,t] in R ) ) ) & ( for x, y being set holds
( [x,y] in b2 iff ex p, q, s, t being set st
( x = [p,q] & y = [s,t] & [p,s] in P & [q,t] in R ) ) ) holds
b1 = b2
end;
:: deftheorem Def1 defines [" YELLOW_3:def 1 :
for P, R, b3 being Relation holds
( b3 = ["P,R"] iff for x, y being set holds
( [x,y] in b3 iff ex p, q, s, t being set st
( x = [p,q] & y = [s,t] & [p,s] in P & [q,t] in R ) ) );
theorem Th10:
for
P,
R being
Relation for
x being
set holds
(
x in ["P,R"] iff (
[((x `1) `1),((x `2) `1)] in P &
[((x `1) `2),((x `2) `2)] in R & ex
a,
b being
set st
x = [a,b] & ex
c,
d being
set st
x `1 = [c,d] & ex
e,
f being
set st
x `2 = [e,f] ) )
definition
let A,
B,
X,
Y be
set ;
let P be
Relation of
A,
B;
let R be
Relation of
X,
Y;
["redefine func ["P,R"] -> Relation of
[:A,X:],
[:B,Y:];
coherence
["P,R"] is Relation of [:A,X:],[:B,Y:]
end;
definition
let X,
Y be
RelStr ;
func [:X,Y:] -> strict RelStr means :
Def2:
( the
carrier of
it = [: the carrier of X, the carrier of Y:] & the
InternalRel of
it = [" the InternalRel of X, the InternalRel of Y"] );
existence
ex b1 being strict RelStr st
( the carrier of b1 = [: the carrier of X, the carrier of Y:] & the InternalRel of b1 = [" the InternalRel of X, the InternalRel of Y"] )
uniqueness
for b1, b2 being strict RelStr st the carrier of b1 = [: the carrier of X, the carrier of Y:] & the InternalRel of b1 = [" the InternalRel of X, the InternalRel of Y"] & the carrier of b2 = [: the carrier of X, the carrier of Y:] & the InternalRel of b2 = [" the InternalRel of X, the InternalRel of Y"] holds
b1 = b2
;
end;
:: deftheorem Def2 defines [: YELLOW_3:def 2 :
for X, Y being RelStr
for b3 being strict RelStr holds
( b3 = [:X,Y:] iff ( the carrier of b3 = [: the carrier of X, the carrier of Y:] & the InternalRel of b3 = [" the InternalRel of X, the InternalRel of Y"] ) );
theorem Th11:
theorem Th12:
theorem
theorem
theorem
theorem
theorem
theorem
theorem
theorem
theorem Th21:
theorem
theorem
theorem
theorem
theorem
theorem
theorem
:: deftheorem Def3 defines void YELLOW_3:def 3 :
for R being RelStr holds
( R is void iff the InternalRel of R is empty );
theorem Th29:
theorem Th30:
theorem Th31:
theorem Th32:
theorem Th33:
theorem Th34:
theorem Th35:
theorem Th36:
theorem
theorem
theorem Th39:
theorem Th40:
theorem Th41:
theorem Th42:
theorem Th43:
theorem Th44:
theorem
theorem
theorem
theorem
theorem