let S be non empty non void ManySortedSign ; :: thesis: for V being V5 ManySortedSet of the carrier of S
for X1, X2 being SetWithCompoundTerm of S,V
for A being non-empty MSAlgebra of S holds (X1 \/ X2) -Circuit A = (X1 -Circuit A) +* (X2 -Circuit A)
let V be V5 ManySortedSet of the carrier of S; :: thesis: for X1, X2 being SetWithCompoundTerm of S,V
for A being non-empty MSAlgebra of S holds (X1 \/ X2) -Circuit A = (X1 -Circuit A) +* (X2 -Circuit A)
let X1, X2 be SetWithCompoundTerm of S,V; :: thesis: for A being non-empty MSAlgebra of S holds (X1 \/ X2) -Circuit A = (X1 -Circuit A) +* (X2 -Circuit A)
consider t1 being CompoundTerm of S,V such that
A1:
t1 in X1
by MSATERM:def 7;
t1 in X1 \/ X2
by A1, XBOOLE_0:def 3;
then reconsider X = X1 \/ X2 as SetWithCompoundTerm of S,V by MSATERM:def 7;
let A be non-empty MSAlgebra of S; :: thesis: (X1 \/ X2) -Circuit A = (X1 -Circuit A) +* (X2 -Circuit A)
set C1 = X1 -Circuit A;
set C2 = X2 -Circuit A;
set C = X -Circuit A;
X1 -Circuit A tolerates X2 -Circuit A
by Th19;
then A2:
( the Sorts of (X1 -Circuit A) tolerates the Sorts of (X2 -Circuit A) & the Charact of (X1 -Circuit A) tolerates the Charact of (X2 -Circuit A) )
by CIRCCOMB:def 3;
then A3:
( the Sorts of ((X1 -Circuit A) +* (X2 -Circuit A)) = the Sorts of (X1 -Circuit A) +* the Sorts of (X2 -Circuit A) & the Charact of ((X1 -Circuit A) +* (X2 -Circuit A)) = the Charact of (X1 -Circuit A) +* the Charact of (X2 -Circuit A) )
by CIRCCOMB:def 4;
A4:
X -CircuitStr = (X1 -CircuitStr ) +* (X2 -CircuitStr )
by Th11;
( X1 -Circuit A tolerates X -Circuit A & X2 -Circuit A tolerates X -Circuit A )
by Th19;
then A5:
( the Sorts of (X1 -Circuit A) tolerates the Sorts of (X -Circuit A) & the Sorts of (X2 -Circuit A) tolerates the Sorts of (X -Circuit A) & the Charact of (X1 -Circuit A) tolerates the Charact of (X -Circuit A) & the Charact of (X2 -Circuit A) tolerates the Charact of (X -Circuit A) )
by CIRCCOMB:def 3;
( dom the Sorts of ((X1 -Circuit A) +* (X2 -Circuit A)) = the carrier of (X -CircuitStr ) & dom the Charact of ((X1 -Circuit A) +* (X2 -Circuit A)) = the carrier' of (X -CircuitStr ) )
by A4, PBOOLE:def 3;
then
( dom the Charact of ((X1 -Circuit A) +* (X2 -Circuit A)) = dom the Charact of (X -Circuit A) & dom the Sorts of ((X1 -Circuit A) +* (X2 -Circuit A)) = dom the Sorts of (X -Circuit A) )
by PBOOLE:def 3;
then
( the Charact of ((X1 -Circuit A) +* (X2 -Circuit A)) = the Charact of (X -Circuit A) & the Sorts of ((X1 -Circuit A) +* (X2 -Circuit A)) = the Sorts of (X -Circuit A) )
by A2, A3, A5, CIRCCOMB:5, PARTFUN1:136;
hence
(X1 \/ X2) -Circuit A = (X1 -Circuit A) +* (X2 -Circuit A)
; :: thesis: verum