let S1, S2 be non empty non void ManySortedSign ; for A1 being non-empty MSAlgebra over S1
for A2 being non-empty MSAlgebra over S2 st the Sorts of A1 tolerates the Sorts of A2 & the Charact of A1 tolerates the Charact of A2 holds
for o being OperSymbol of (S1 +* S2)
for o1 being OperSymbol of S1 st o = o1 holds
Den (o,(A1 +* A2)) = Den (o1,A1)
let A1 be non-empty MSAlgebra over S1; for A2 being non-empty MSAlgebra over S2 st the Sorts of A1 tolerates the Sorts of A2 & the Charact of A1 tolerates the Charact of A2 holds
for o being OperSymbol of (S1 +* S2)
for o1 being OperSymbol of S1 st o = o1 holds
Den (o,(A1 +* A2)) = Den (o1,A1)
let A2 be non-empty MSAlgebra over S2; ( the Sorts of A1 tolerates the Sorts of A2 & the Charact of A1 tolerates the Charact of A2 implies for o being OperSymbol of (S1 +* S2)
for o1 being OperSymbol of S1 st o = o1 holds
Den (o,(A1 +* A2)) = Den (o1,A1) )
A1:
dom the Charact of A1 = the carrier' of S1
by PARTFUN1:def 2;
assume
the Sorts of A1 tolerates the Sorts of A2
; ( not the Charact of A1 tolerates the Charact of A2 or for o being OperSymbol of (S1 +* S2)
for o1 being OperSymbol of S1 st o = o1 holds
Den (o,(A1 +* A2)) = Den (o1,A1) )
then A2:
the Charact of (A1 +* A2) = the Charact of A1 +* the Charact of A2
by Def4;
assume A3:
the Charact of A1 tolerates the Charact of A2
; for o being OperSymbol of (S1 +* S2)
for o1 being OperSymbol of S1 st o = o1 holds
Den (o,(A1 +* A2)) = Den (o1,A1)
let o be OperSymbol of (S1 +* S2); for o1 being OperSymbol of S1 st o = o1 holds
Den (o,(A1 +* A2)) = Den (o1,A1)
let o1 be OperSymbol of S1; ( o = o1 implies Den (o,(A1 +* A2)) = Den (o1,A1) )
assume
o = o1
; Den (o,(A1 +* A2)) = Den (o1,A1)
hence
Den (o,(A1 +* A2)) = Den (o1,A1)
by A2, A3, A1, FUNCT_4:15; verum