defpred S1[ set ] means for x, y being set holds
( not $1 = [x,y] or P1[x,y] or P2[x,y] or P3[x,y] );
consider L being set such that
A5:
for z being set holds
( z in L iff ( z in [:F1(),F2():] & S1[z] ) )
from XBOOLE_0:sch 1();
A6:
L c= [:F1(),F2():]
defpred S2[ set , set ] means for x, y being set st $1 = [x,y] holds
( ( P1[x,y] implies $2 = F4(x,y) ) & ( P2[x,y] implies $2 = F5(x,y) ) & ( P3[x,y] implies $2 = F6(x,y) ) );
A7:
for x1 being set st x1 in L holds
ex z being set st S2[x1,z]
proof
let x1 be
set ;
:: thesis: ( x1 in L implies ex z being set st S2[x1,z] )
assume A8:
x1 in L
;
:: thesis: ex z being set st S2[x1,z]
then
x1 in [:F1(),F2():]
by A5;
then consider z',
a' being
set such that A9:
(
z' in F1() &
a' in F2() &
x1 = [z',a'] )
by ZFMISC_1:def 2;
now per cases
( P1[z',a'] or P2[z',a'] or P3[z',a'] )
by A5, A8, A9;
suppose A10:
P1[
z',
a']
;
:: thesis: ex z being set st
for x, y being set st x1 = [x,y] holds
( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) )take z =
F4(
z',
a');
:: thesis: for x, y being set st x1 = [x,y] holds
( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) )let x,
y be
set ;
:: thesis: ( x1 = [x,y] implies ( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) ) )assume
x1 = [x,y]
;
:: thesis: ( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) )then
(
z' = x &
a' = y )
by A9, ZFMISC_1:33;
hence
( (
P1[
x,
y] implies
z = F4(
x,
y) ) & (
P2[
x,
y] implies
z = F5(
x,
y) ) & (
P3[
x,
y] implies
z = F6(
x,
y) ) )
by A1, A9, A10;
:: thesis: verum end; suppose A11:
P2[
z',
a']
;
:: thesis: ex z being set st
for x, y being set st x1 = [x,y] holds
( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) )take z =
F5(
z',
a');
:: thesis: for x, y being set st x1 = [x,y] holds
( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) )let x,
y be
set ;
:: thesis: ( x1 = [x,y] implies ( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) ) )assume
x1 = [x,y]
;
:: thesis: ( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) )then
(
z' = x &
a' = y )
by A9, ZFMISC_1:33;
hence
( (
P1[
x,
y] implies
z = F4(
x,
y) ) & (
P2[
x,
y] implies
z = F5(
x,
y) ) & (
P3[
x,
y] implies
z = F6(
x,
y) ) )
by A1, A9, A11;
:: thesis: verum end; suppose A12:
P3[
z',
a']
;
:: thesis: ex z being set st
for x, y being set st x1 = [x,y] holds
( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) )take z =
F6(
z',
a');
:: thesis: for x, y being set st x1 = [x,y] holds
( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) )let x,
y be
set ;
:: thesis: ( x1 = [x,y] implies ( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) ) )assume
x1 = [x,y]
;
:: thesis: ( ( P1[x,y] implies z = F4(x,y) ) & ( P2[x,y] implies z = F5(x,y) ) & ( P3[x,y] implies z = F6(x,y) ) )then
(
z' = x &
a' = y )
by A9, ZFMISC_1:33;
hence
( (
P1[
x,
y] implies
z = F4(
x,
y) ) & (
P2[
x,
y] implies
z = F5(
x,
y) ) & (
P3[
x,
y] implies
z = F6(
x,
y) ) )
by A1, A9, A12;
:: thesis: verum end; end; end;
hence
ex
z being
set st
S2[
x1,
z]
;
:: thesis: verum
end;
consider f being Function such that
A13:
( dom f = L & ( for z being set st z in L holds
S2[z,f . z] ) )
from CLASSES1:sch 1(A7);
rng f c= F3()
then reconsider f = f as PartFunc of [:F1(),F2():],F3() by A6, A13, RELSET_1:11;
take
f
; :: thesis: ( ( for x, y being set holds
( [x,y] in dom f iff ( x in F1() & y in F2() & ( P1[x,y] or P2[x,y] or P3[x,y] ) ) ) ) & ( for x, y being set st [x,y] in dom f holds
( ( P1[x,y] implies f . [x,y] = F4(x,y) ) & ( P2[x,y] implies f . [x,y] = F5(x,y) ) & ( P3[x,y] implies f . [x,y] = F6(x,y) ) ) ) )
thus
for x, y being set holds
( [x,y] in dom f iff ( x in F1() & y in F2() & ( P1[x,y] or P2[x,y] or P3[x,y] ) ) )
:: thesis: for x, y being set st [x,y] in dom f holds
( ( P1[x,y] implies f . [x,y] = F4(x,y) ) & ( P2[x,y] implies f . [x,y] = F5(x,y) ) & ( P3[x,y] implies f . [x,y] = F6(x,y) ) )proof
let x,
y be
set ;
:: thesis: ( [x,y] in dom f iff ( x in F1() & y in F2() & ( P1[x,y] or P2[x,y] or P3[x,y] ) ) )
thus
(
[x,y] in dom f implies (
x in F1() &
y in F2() & (
P1[
x,
y] or
P2[
x,
y] or
P3[
x,
y] ) ) )
by A5, A13, ZFMISC_1:106;
:: thesis: ( x in F1() & y in F2() & ( P1[x,y] or P2[x,y] or P3[x,y] ) implies [x,y] in dom f )
assume A19:
(
x in F1() &
y in F2() & (
P1[
x,
y] or
P2[
x,
y] or
P3[
x,
y] ) )
;
:: thesis: [x,y] in dom f
then A20:
[x,y] in [:F1(),F2():]
by ZFMISC_1:106;
now let f',
r' be
set ;
:: thesis: ( not [x,y] = [f',r'] or P1[f',r'] or P2[f',r'] or P3[f',r'] )assume
[x,y] = [f',r']
;
:: thesis: ( P1[f',r'] or P2[f',r'] or P3[f',r'] )then
(
x = f' &
y = r' )
by ZFMISC_1:33;
hence
(
P1[
f',
r'] or
P2[
f',
r'] or
P3[
f',
r'] )
by A19;
:: thesis: verum end;
hence
[x,y] in dom f
by A5, A13, A20;
:: thesis: verum
end;
let x, y be set ; :: thesis: ( [x,y] in dom f implies ( ( P1[x,y] implies f . [x,y] = F4(x,y) ) & ( P2[x,y] implies f . [x,y] = F5(x,y) ) & ( P3[x,y] implies f . [x,y] = F6(x,y) ) ) )
assume
[x,y] in dom f
; :: thesis: ( ( P1[x,y] implies f . [x,y] = F4(x,y) ) & ( P2[x,y] implies f . [x,y] = F5(x,y) ) & ( P3[x,y] implies f . [x,y] = F6(x,y) ) )
hence
( ( P1[x,y] implies f . [x,y] = F4(x,y) ) & ( P2[x,y] implies f . [x,y] = F5(x,y) ) & ( P3[x,y] implies f . [x,y] = F6(x,y) ) )
by A13; :: thesis: verum