the Sorts of U2 is MSSubset of U0
by Def10;
then A1:
the Sorts of U2 c= the Sorts of U0
by PBOOLE:def 23;
the Sorts of U1 is MSSubset of U0
by Def10;
then
the Sorts of U1 c= the Sorts of U0
by PBOOLE:def 23;
then
the Sorts of U1 /\ the Sorts of U2 c= the Sorts of U0 /\ the Sorts of U0
by A1, PBOOLE:23;
then reconsider A = the Sorts of U1 /\ the Sorts of U2 as MSSubset of U0 by PBOOLE:def 23;
reconsider E = U0 | A as strict MSSubAlgebra of U0 ;
take
E
; ( the Sorts of E = the Sorts of U1 /\ the Sorts of U2 & ( for B being MSSubset of U0 st B = the Sorts of E holds
( B is opers_closed & the Charact of E = Opers (U0,B) ) ) )
A is opers_closed
proof
reconsider u1 = the
Sorts of
U1,
u2 = the
Sorts of
U2 as
MSSubset of
U0 by Def10;
let o be
OperSymbol of
S;
MSUALG_2:def 7 A is_closed_on o
A2:
dom ((u1 #) * the Arity of S) = the
carrier' of
S
by PARTFUN1:def 4;
A3:
dom ((u2 #) * the Arity of S) = the
carrier' of
S
by PARTFUN1:def 4;
u2 is
opers_closed
by Def10;
then
u2 is_closed_on o
by Def7;
then A4:
rng ((Den (o,U0)) | (((u2 #) * the Arity of S) . o)) c= (u2 * the ResultSort of S) . o
by Def6;
dom ((A #) * the Arity of S) = the
carrier' of
S
by PARTFUN1:def 4;
then A5:
((A #) * the Arity of S) . o =
(A #) . ( the Arity of S . o)
by FUNCT_1:22
.=
(A #) . (the_arity_of o)
by MSUALG_1:def 6
.=
product ((u1 /\ u2) * (the_arity_of o))
by PBOOLE:def 19
.=
(product (u1 * (the_arity_of o))) /\ (product (u2 * (the_arity_of o)))
by Th2
.=
((u1 #) . (the_arity_of o)) /\ (product (u2 * (the_arity_of o)))
by PBOOLE:def 19
.=
((u1 #) . (the_arity_of o)) /\ ((u2 #) . (the_arity_of o))
by PBOOLE:def 19
.=
((u1 #) . ( the Arity of S . o)) /\ ((u2 #) . (the_arity_of o))
by MSUALG_1:def 6
.=
((u1 #) . ( the Arity of S . o)) /\ ((u2 #) . ( the Arity of S . o))
by MSUALG_1:def 6
.=
(((u1 #) * the Arity of S) . o) /\ ((u2 #) . ( the Arity of S . o))
by A2, FUNCT_1:22
.=
(((u1 #) * the Arity of S) . o) /\ (((u2 #) * the Arity of S) . o)
by A3, FUNCT_1:22
;
then
(Den (o,U0)) | (((A #) * the Arity of S) . o) = ((Den (o,U0)) | (((u2 #) * the Arity of S) . o)) | (((u1 #) * the Arity of S) . o)
by RELAT_1:100;
then
rng ((Den (o,U0)) | (((A #) * the Arity of S) . o)) c= rng ((Den (o,U0)) | (((u2 #) * the Arity of S) . o))
by RELAT_1:99;
then A6:
rng ((Den (o,U0)) | (((A #) * the Arity of S) . o)) c= (u2 * the ResultSort of S) . o
by A4, XBOOLE_1:1;
u1 is
opers_closed
by Def10;
then
u1 is_closed_on o
by Def7;
then A7:
rng ((Den (o,U0)) | (((u1 #) * the Arity of S) . o)) c= (u1 * the ResultSort of S) . o
by Def6;
A8:
dom (u2 * the ResultSort of S) = the
carrier' of
S
by PARTFUN1:def 4;
(Den (o,U0)) | (((A #) * the Arity of S) . o) = ((Den (o,U0)) | (((u1 #) * the Arity of S) . o)) | (((u2 #) * the Arity of S) . o)
by A5, RELAT_1:100;
then
rng ((Den (o,U0)) | (((A #) * the Arity of S) . o)) c= rng ((Den (o,U0)) | (((u1 #) * the Arity of S) . o))
by RELAT_1:99;
then
rng ((Den (o,U0)) | (((A #) * the Arity of S) . o)) c= (u1 * the ResultSort of S) . o
by A7, XBOOLE_1:1;
then A9:
rng ((Den (o,U0)) | (((A #) * the Arity of S) . o)) c= ((u1 * the ResultSort of S) . o) /\ ((u2 * the ResultSort of S) . o)
by A6, XBOOLE_1:19;
A10:
dom (A * the ResultSort of S) = the
carrier' of
S
by PARTFUN1:def 4;
dom (u1 * the ResultSort of S) = the
carrier' of
S
by PARTFUN1:def 4;
then ((u1 * the ResultSort of S) . o) /\ ((u2 * the ResultSort of S) . o) =
(u1 . ( the ResultSort of S . o)) /\ ((u2 * the ResultSort of S) . o)
by FUNCT_1:22
.=
(u1 . ( the ResultSort of S . o)) /\ (u2 . ( the ResultSort of S . o))
by A8, FUNCT_1:22
.=
(u1 . (the_result_sort_of o)) /\ (u2 . ( the ResultSort of S . o))
by MSUALG_1:def 7
.=
(u1 . (the_result_sort_of o)) /\ (u2 . (the_result_sort_of o))
by MSUALG_1:def 7
.=
A . (the_result_sort_of o)
by PBOOLE:def 8
.=
A . ( the ResultSort of S . o)
by MSUALG_1:def 7
.=
(A * the ResultSort of S) . o
by A10, FUNCT_1:22
;
hence
A is_closed_on o
by A9, Def6;
verum
end;
then
U0 | A = MSAlgebra(# A,(Opers (U0,A)) #)
by Def16;
hence
the Sorts of E = the Sorts of U1 /\ the Sorts of U2
; for B being MSSubset of U0 st B = the Sorts of E holds
( B is opers_closed & the Charact of E = Opers (U0,B) )
thus
for B being MSSubset of U0 st B = the Sorts of E holds
( B is opers_closed & the Charact of E = Opers (U0,B) )
by Def10; verum