set O = { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } ;
defpred S1[ set , set ] means ex f being OperSymbol of A ex q being Element of P * st
( q = $2 & $1 = [f,q] );
A1:
for o being set st o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } holds
ex p being set st
( p in P * & S1[o,p] )
proof
let o be
set ;
:: thesis: ( o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } implies ex p being set st
( p in P * & S1[o,p] ) )
assume
o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) }
;
:: thesis: ex p being set st
( p in P * & S1[o,p] )
then consider f being
OperSymbol of
A,
p being
Element of
P * such that A2:
(
o = [f,p] &
product p meets dom (Den f,A) )
;
take
p
;
:: thesis: ( p in P * & S1[o,p] )
thus
(
p in P * &
S1[
o,
p] )
by A2;
:: thesis: verum
end;
defpred S2[ set , set ] means ex f being OperSymbol of A ex p being Element of P * st
( $1 = [f,p] & (Den f,A) .: (product p) c= $2 );
A3:
for o being set st o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } holds
ex r being set st
( r in P & S2[o,r] )
proof
let o be
set ;
:: thesis: ( o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } implies ex r being set st
( r in P & S2[o,r] ) )
assume
o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) }
;
:: thesis: ex r being set st
( r in P & S2[o,r] )
then consider f being
OperSymbol of
A,
p being
Element of
P * such that A4:
(
o = [f,p] &
product p meets dom (Den f,A) )
;
Den f,
A is_exactly_partitable_wrt P
by Def11;
then
Den f,
A is_partitable_wrt P
by Def10;
then
ex
a being
Element of
P st
(Den f,A) .: (product p) c= a
by Def9;
hence
ex
r being
set st
(
r in P &
S2[
o,
r] )
by A4;
:: thesis: verum
end;
consider Ar being Function such that
A5:
( dom Ar = { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } & rng Ar c= P * )
and
A6:
for o being set st o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } holds
S1[o,Ar . o]
from WELLORD2:sch 1(A1);
reconsider Ar = Ar as Function of { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } ,(P * ) by A5, FUNCT_2:4;
consider R being Function such that
A7:
( dom R = { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } & rng R c= P )
and
A8:
for o being set st o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } holds
S2[o,R . o]
from WELLORD2:sch 1(A3);
reconsider R = R as Function of { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } ,P by A7, FUNCT_2:4;
take S = ManySortedSign(# P,{ [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } ,Ar,R #); :: thesis: ( the carrier of S = P & the carrier' of S = { [o,p] where o is OperSymbol of A, p is Element of P * : product p meets dom (Den o,A) } & ( for o being OperSymbol of A
for p being Element of P * st product p meets dom (Den o,A) holds
( the Arity of S . [o,p] = p & (Den o,A) .: (product p) c= the ResultSort of S . [o,p] ) ) )
thus
( the carrier of S = P & the carrier' of S = { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) } )
; :: thesis: for o being OperSymbol of A
for p being Element of P * st product p meets dom (Den o,A) holds
( the Arity of S . [o,p] = p & (Den o,A) .: (product p) c= the ResultSort of S . [o,p] )
let f be OperSymbol of A; :: thesis: for p being Element of P * st product p meets dom (Den f,A) holds
( the Arity of S . [f,p] = p & (Den f,A) .: (product p) c= the ResultSort of S . [f,p] )
let p be Element of P * ; :: thesis: ( product p meets dom (Den f,A) implies ( the Arity of S . [f,p] = p & (Den f,A) .: (product p) c= the ResultSort of S . [f,p] ) )
set o = [f,p];
assume
product p meets dom (Den f,A)
; :: thesis: ( the Arity of S . [f,p] = p & (Den f,A) .: (product p) c= the ResultSort of S . [f,p] )
then A9:
[f,p] in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den f,A) }
;
then consider f1 being OperSymbol of A, q1 being Element of P * such that
A10:
( q1 = Ar . [f,p] & [f,p] = [f1,q1] )
by A6;
consider f2 being OperSymbol of A, q2 being Element of P * such that
A11:
( [f,p] = [f2,q2] & (Den f2,A) .: (product q2) c= R . [f,p] )
by A8, A9;
( q1 = p & q2 = p & f2 = f )
by A10, A11, ZFMISC_1:33;
hence
( the Arity of S . [f,p] = p & (Den f,A) .: (product p) c= the ResultSort of S . [f,p] )
by A10, A11; :: thesis: verum