defpred S_{3}[ object , object , object , object ] means for p being PartialPredicate of D

for f, g being BinominativeFunction of D st p = $1 & f = $2 & g = $3 holds

for h being Function st h = $4 holds

( dom h = H_{1}(p,f,g) & ( for d being object holds

( ( S_{1}[d,p,f] implies h . d = f . d ) & ( S_{2}[d,p,g] implies h . d = g . d ) ) ) );

A1: for x1 being Element of Pr D

for x2, x3 being Element of FPrg D ex y being Element of FPrg D st S_{3}[x1,x2,x3,y]

A14: for x being Element of Pr D

for y, z being Element of FPrg D holds S_{3}[x,y,z,F . [x,y,z]]
from MULTOP_1:sch 1(A1);

take F ; :: thesis: for p being PartialPredicate of D

for f, g being BinominativeFunction of D holds

( dom (F . (p,f,g)) = { d where d is Element of D : ( ( d in dom p & p . d = TRUE & d in dom f ) or ( d in dom p & p . d = FALSE & d in dom g ) ) } & ( for d being object holds

( ( d in dom p & p . d = TRUE & d in dom f implies (F . (p,f,g)) . d = f . d ) & ( d in dom p & p . d = FALSE & d in dom g implies (F . (p,f,g)) . d = g . d ) ) ) )

let p be PartialPredicate of D; :: thesis: for f, g being BinominativeFunction of D holds

( dom (F . (p,f,g)) = { d where d is Element of D : ( ( d in dom p & p . d = TRUE & d in dom f ) or ( d in dom p & p . d = FALSE & d in dom g ) ) } & ( for d being object holds

( ( d in dom p & p . d = TRUE & d in dom f implies (F . (p,f,g)) . d = f . d ) & ( d in dom p & p . d = FALSE & d in dom g implies (F . (p,f,g)) . d = g . d ) ) ) )

let f, g be BinominativeFunction of D; :: thesis: ( dom (F . (p,f,g)) = { d where d is Element of D : ( ( d in dom p & p . d = TRUE & d in dom f ) or ( d in dom p & p . d = FALSE & d in dom g ) ) } & ( for d being object holds

( ( d in dom p & p . d = TRUE & d in dom f implies (F . (p,f,g)) . d = f . d ) & ( d in dom p & p . d = FALSE & d in dom g implies (F . (p,f,g)) . d = g . d ) ) ) )

( p in Pr D & f in FPrg D & g in FPrg D ) by PARTFUN1:45;

hence ( dom (F . (p,f,g)) = { d where d is Element of D : ( ( d in dom p & p . d = TRUE & d in dom f ) or ( d in dom p & p . d = FALSE & d in dom g ) ) } & ( for d being object holds

( ( d in dom p & p . d = TRUE & d in dom f implies (F . (p,f,g)) . d = f . d ) & ( d in dom p & p . d = FALSE & d in dom g implies (F . (p,f,g)) . d = g . d ) ) ) ) by A14; :: thesis: verum

for f, g being BinominativeFunction of D st p = $1 & f = $2 & g = $3 holds

for h being Function st h = $4 holds

( dom h = H

( ( S

A1: for x1 being Element of Pr D

for x2, x3 being Element of FPrg D ex y being Element of FPrg D st S

proof

consider F being Function of [:(Pr D),(FPrg D),(FPrg D):],(FPrg D) such that
let x1 be Element of Pr D; :: thesis: for x2, x3 being Element of FPrg D ex y being Element of FPrg D st S_{3}[x1,x2,x3,y]

let x2, x3 be Element of FPrg D; :: thesis: ex y being Element of FPrg D st S_{3}[x1,x2,x3,y]

reconsider X1 = x1 as PartFunc of D,BOOLEAN by PARTFUN1:46;

reconsider X2 = x2, X3 = x3 as PartFunc of D,D by PARTFUN1:46;

defpred S_{4}[ object , object ] means for d being object st d = $1 holds

( ( S_{1}[d,X1,X2] implies $2 = X2 . d ) & ( S_{2}[d,X1,X3] implies $2 = X3 . d ) );

A2: for a being object st a in H_{1}(X1,X2,X3) holds

ex b being object st

( b in D & S_{4}[a,b] )

A7: dom H = H_{1}(X1,X2,X3)
and

A8: rng H c= D and

A9: for x being object st x in H_{1}(X1,X2,X3) holds

S_{4}[x,H . x]
from FUNCT_1:sch 6(A2);

H_{1}(X1,X2,X3) c= D

then reconsider H = H as Element of FPrg D by PARTFUN1:45;

take H ; :: thesis: S_{3}[x1,x2,x3,H]

let p be PartialPredicate of D; :: thesis: for f, g being BinominativeFunction of D st p = x1 & f = x2 & g = x3 holds

for h being Function st h = H holds

( dom h = H_{1}(p,f,g) & ( for d being object holds

( ( S_{1}[d,p,f] implies h . d = f . d ) & ( S_{2}[d,p,g] implies h . d = g . d ) ) ) )

let f, g be BinominativeFunction of D; :: thesis: ( p = x1 & f = x2 & g = x3 implies for h being Function st h = H holds

( dom h = H_{1}(p,f,g) & ( for d being object holds

( ( S_{1}[d,p,f] implies h . d = f . d ) & ( S_{2}[d,p,g] implies h . d = g . d ) ) ) ) )

assume A10: ( x1 = p & x2 = f & x3 = g ) ; :: thesis: for h being Function st h = H holds

( dom h = H_{1}(p,f,g) & ( for d being object holds

( ( S_{1}[d,p,f] implies h . d = f . d ) & ( S_{2}[d,p,g] implies h . d = g . d ) ) ) )

let h be Function; :: thesis: ( h = H implies ( dom h = H_{1}(p,f,g) & ( for d being object holds

( ( S_{1}[d,p,f] implies h . d = f . d ) & ( S_{2}[d,p,g] implies h . d = g . d ) ) ) ) )

assume A11: h = H ; :: thesis: ( dom h = H_{1}(p,f,g) & ( for d being object holds

( ( S_{1}[d,p,f] implies h . d = f . d ) & ( S_{2}[d,p,g] implies h . d = g . d ) ) ) )

thus dom h = H_{1}(p,f,g)
by A7, A10, A11; :: thesis: for d being object holds

( ( S_{1}[d,p,f] implies h . d = f . d ) & ( S_{2}[d,p,g] implies h . d = g . d ) )

let d be object ; :: thesis: ( ( S_{1}[d,p,f] implies h . d = f . d ) & ( S_{2}[d,p,g] implies h . d = g . d ) )

_{2}[d,p,g]
; :: thesis: h . d = g . d

then d in dom p ;

then d in H_{1}(X1,X2,X3)
by A10, A13;

hence h . d = g . d by A9, A10, A11, A13; :: thesis: verum

end;let x2, x3 be Element of FPrg D; :: thesis: ex y being Element of FPrg D st S

reconsider X1 = x1 as PartFunc of D,BOOLEAN by PARTFUN1:46;

reconsider X2 = x2, X3 = x3 as PartFunc of D,D by PARTFUN1:46;

defpred S

( ( S

A2: for a being object st a in H

ex b being object st

( b in D & S

proof

consider H being Function such that
let a be object ; :: thesis: ( a in H_{1}(X1,X2,X3) implies ex b being object st

( b in D & S_{4}[a,b] ) )

assume a in H_{1}(X1,X2,X3)
; :: thesis: ex b being object st

( b in D & S_{4}[a,b] )

then consider d being Element of D such that

A3: d = a and

A4: ( S_{1}[d,X1,X2] or S_{2}[d,X1,X3] )
;

end;( b in D & S

assume a in H

( b in D & S

then consider d being Element of D such that

A3: d = a and

A4: ( S

per cases
( S_{1}[d,X1,X2] or S_{2}[d,X1,X3] )
by A4;

end;

suppose A5:
S_{1}[d,X1,X2]
; :: thesis: ex b being object st

( b in D & S_{4}[a,b] )

( b in D & S

take
X2 . d
; :: thesis: ( X2 . d in D & S_{4}[a,X2 . d] )

thus ( X2 . d in D & S_{4}[a,X2 . d] )
by A3, A5, PARTFUN1:4; :: thesis: verum

end;thus ( X2 . d in D & S

suppose A6:
S_{2}[d,X1,X3]
; :: thesis: ex b being object st

( b in D & S_{4}[a,b] )

( b in D & S

take
X3 . d
; :: thesis: ( X3 . d in D & S_{4}[a,X3 . d] )

thus ( X3 . d in D & S_{4}[a,X3 . d] )
by A3, A6, PARTFUN1:4; :: thesis: verum

end;thus ( X3 . d in D & S

A7: dom H = H

A8: rng H c= D and

A9: for x being object st x in H

S

H

proof

then
H is PartFunc of D,D
by A7, A8, RELSET_1:4;
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in H_{1}(X1,X2,X3) or x in D )

assume x in H_{1}(X1,X2,X3)
; :: thesis: x in D

then ex d being Element of D st

( d = x & ( S_{1}[d,X1,X2] or S_{2}[d,X1,X3] ) )
;

hence x in D ; :: thesis: verum

end;assume x in H

then ex d being Element of D st

( d = x & ( S

hence x in D ; :: thesis: verum

then reconsider H = H as Element of FPrg D by PARTFUN1:45;

take H ; :: thesis: S

let p be PartialPredicate of D; :: thesis: for f, g being BinominativeFunction of D st p = x1 & f = x2 & g = x3 holds

for h being Function st h = H holds

( dom h = H

( ( S

let f, g be BinominativeFunction of D; :: thesis: ( p = x1 & f = x2 & g = x3 implies for h being Function st h = H holds

( dom h = H

( ( S

assume A10: ( x1 = p & x2 = f & x3 = g ) ; :: thesis: for h being Function st h = H holds

( dom h = H

( ( S

let h be Function; :: thesis: ( h = H implies ( dom h = H

( ( S

assume A11: h = H ; :: thesis: ( dom h = H

( ( S

thus dom h = H

( ( S

let d be object ; :: thesis: ( ( S

hereby :: thesis: ( S_{2}[d,p,g] implies h . d = g . d )

assume A13:
Sassume A12:
S_{1}[d,p,f]
; :: thesis: h . d = f . d

then d in dom p ;

then d in H_{1}(X1,X2,X3)
by A10, A12;

hence h . d = f . d by A9, A10, A11, A12; :: thesis: verum

end;then d in dom p ;

then d in H

hence h . d = f . d by A9, A10, A11, A12; :: thesis: verum

then d in dom p ;

then d in H

hence h . d = g . d by A9, A10, A11, A13; :: thesis: verum

A14: for x being Element of Pr D

for y, z being Element of FPrg D holds S

take F ; :: thesis: for p being PartialPredicate of D

for f, g being BinominativeFunction of D holds

( dom (F . (p,f,g)) = { d where d is Element of D : ( ( d in dom p & p . d = TRUE & d in dom f ) or ( d in dom p & p . d = FALSE & d in dom g ) ) } & ( for d being object holds

( ( d in dom p & p . d = TRUE & d in dom f implies (F . (p,f,g)) . d = f . d ) & ( d in dom p & p . d = FALSE & d in dom g implies (F . (p,f,g)) . d = g . d ) ) ) )

let p be PartialPredicate of D; :: thesis: for f, g being BinominativeFunction of D holds

( dom (F . (p,f,g)) = { d where d is Element of D : ( ( d in dom p & p . d = TRUE & d in dom f ) or ( d in dom p & p . d = FALSE & d in dom g ) ) } & ( for d being object holds

( ( d in dom p & p . d = TRUE & d in dom f implies (F . (p,f,g)) . d = f . d ) & ( d in dom p & p . d = FALSE & d in dom g implies (F . (p,f,g)) . d = g . d ) ) ) )

let f, g be BinominativeFunction of D; :: thesis: ( dom (F . (p,f,g)) = { d where d is Element of D : ( ( d in dom p & p . d = TRUE & d in dom f ) or ( d in dom p & p . d = FALSE & d in dom g ) ) } & ( for d being object holds

( ( d in dom p & p . d = TRUE & d in dom f implies (F . (p,f,g)) . d = f . d ) & ( d in dom p & p . d = FALSE & d in dom g implies (F . (p,f,g)) . d = g . d ) ) ) )

( p in Pr D & f in FPrg D & g in FPrg D ) by PARTFUN1:45;

hence ( dom (F . (p,f,g)) = { d where d is Element of D : ( ( d in dom p & p . d = TRUE & d in dom f ) or ( d in dom p & p . d = FALSE & d in dom g ) ) } & ( for d being object holds

( ( d in dom p & p . d = TRUE & d in dom f implies (F . (p,f,g)) . d = f . d ) & ( d in dom p & p . d = FALSE & d in dom g implies (F . (p,f,g)) . d = g . d ) ) ) ) by A14; :: thesis: verum