let S1, S2 be non empty ManySortedSign ; for A1 being Boolean MSAlgebra of S1
for A2 being Boolean MSAlgebra of S2 holds A1 +* A2 is Boolean
let A1 be Boolean MSAlgebra of S1; for A2 being Boolean MSAlgebra of S2 holds A1 +* A2 is Boolean
let A2 be Boolean MSAlgebra of S2; A1 +* A2 is Boolean
set A = A1 +* A2;
set S = S1 +* S2;
A1:
dom the Sorts of A1 = the carrier of S1
by PARTFUN1:def 2;
let x be Vertex of (S1 +* S2); CIRCCOMB:def 14 the Sorts of (A1 +* A2) . x = BOOLEAN
A2:
dom the Sorts of A2 = the carrier of S2
by PARTFUN1:def 2;
the carrier of (S1 +* S2) = the carrier of S1 \/ the carrier of S2
by Def2;
then A3:
( x in the carrier of S1 or x in the carrier of S2 )
by XBOOLE_0:def 3;
A4:
the Sorts of A2 = the carrier of S2 --> BOOLEAN
by Th65;
A5:
the Sorts of A1 = the carrier of S1 --> BOOLEAN
by Th65;
then A6:
the Sorts of A1 tolerates the Sorts of A2
by A4, FUNCOP_1:87;
then
the Sorts of (A1 +* A2) = the Sorts of A1 +* the Sorts of A2
by Def4;
then
( ( the Sorts of (A1 +* A2) . x = the Sorts of A1 . x & the Sorts of A1 . x = BOOLEAN ) or ( the Sorts of (A1 +* A2) . x = the Sorts of A2 . x & the Sorts of A2 . x = BOOLEAN ) )
by A5, A4, A6, A1, A2, A3, FUNCOP_1:7, FUNCT_4:13, FUNCT_4:15;
hence
the Sorts of (A1 +* A2) . x = BOOLEAN
; verum