let A be non empty set ; :: thesis: for S being non empty non void ManySortedSign
for x being MSAlgebra of S st x in MSAlg_set S,A holds
( the Sorts of x in Funcs the carrier of S,(bool A) & the Charact of x in Funcs the carrier' of S,(PFuncs (PFuncs NAT ,A),A) )
let S be non empty non void ManySortedSign ; :: thesis: for x being MSAlgebra of S st x in MSAlg_set S,A holds
( the Sorts of x in Funcs the carrier of S,(bool A) & the Charact of x in Funcs the carrier' of S,(PFuncs (PFuncs NAT ,A),A) )
let x be MSAlgebra of S; :: thesis: ( x in MSAlg_set S,A implies ( the Sorts of x in Funcs the carrier of S,(bool A) & the Charact of x in Funcs the carrier' of S,(PFuncs (PFuncs NAT ,A),A) ) )
assume
x in MSAlg_set S,A
; :: thesis: ( the Sorts of x in Funcs the carrier of S,(bool A) & the Charact of x in Funcs the carrier' of S,(PFuncs (PFuncs NAT ,A),A) )
then consider M being strict feasible MSAlgebra of S such that
A1:
( x = M & ( for C being Component of the Sorts of M holds C c= A ) )
by Def2;
A2:
dom the Sorts of M = the carrier of S
by PARTFUN1:def 4;
then reconsider SM = the Sorts of M as Function of the carrier of S,(rng the Sorts of M) by FUNCT_2:3;
A4:
rng the Sorts of M c= bool A
then reconsider SM' = SM as Function of the carrier of S,(bool A) by FUNCT_2:8;
A5:
SM' in Funcs the carrier of S,(bool A)
by FUNCT_2:11;
A6:
dom the Charact of M = the carrier' of S
by PARTFUN1:def 4;
rng the Charact of M c= PFuncs (PFuncs NAT ,A),A
proof
let x be
set ;
:: according to TARSKI:def 3 :: thesis: ( not x in rng the Charact of M or x in PFuncs (PFuncs NAT ,A),A )
assume
x in rng the
Charact of
M
;
:: thesis: x in PFuncs (PFuncs NAT ,A),A
then consider x1 being
set such that A7:
(
x1 in dom the
Charact of
M &
x = the
Charact of
M . x1 )
by FUNCT_1:def 5;
reconsider SA =
(the Sorts of M # ) * the
Arity of
S,
SR = the
Sorts of
M * the
ResultSort of
S as
ManySortedSet of ;
reconsider CM = the
Charact of
M as
ManySortedFunction of
SA,
SR ;
A8:
x1 in the
carrier' of
S
by A7, PARTFUN1:def 4;
A9:
(
x1 in dom SR &
x1 in dom SA )
by A6, A7, PARTFUN1:def 4;
reconsider Cm =
CM . x1 as
Function of
(SA . x1),
(SR . x1) by A6, A7, PBOOLE:def 18;
A10:
the
ResultSort of
S . x1 in the
carrier of
S
by A6, A7, FUNCT_2:7;
SR . x1 = the
Sorts of
M . (the ResultSort of S . x1)
by A9, FUNCT_1:22;
then A11:
SR . x1 in rng the
Sorts of
M
by A2, A10, FUNCT_1:def 5;
SA . x1 c= PFuncs NAT ,
A
then
(
dom Cm c= PFuncs NAT ,
A &
rng Cm c= A )
by A4, A11, XBOOLE_1:1;
hence
x in PFuncs (PFuncs NAT ,A),
A
by A7, PARTFUN1:def 5;
:: thesis: verum
end;
hence
( the Sorts of x in Funcs the carrier of S,(bool A) & the Charact of x in Funcs the carrier' of S,(PFuncs (PFuncs NAT ,A),A) )
by A1, A5, A6, FUNCT_2:def 2; :: thesis: verum