set v = the ManySortedMSSet of the Sorts of (Free (S,X)), the Sorts of (Free (S,X));
set A = VarMSAlgebra(# the Sorts of (Free (S,X)), the Charact of (Free (S,X)), the ManySortedMSSet of the Sorts of (Free (S,X)), the Sorts of (Free (S,X)) #);
VarMSAlgebra(# the Sorts of (Free (S,X)), the Charact of (Free (S,X)), the ManySortedMSSet of the Sorts of (Free (S,X)), the Sorts of (Free (S,X)) #) is X,S -terms
then reconsider A = VarMSAlgebra(# the Sorts of (Free (S,X)), the Charact of (Free (S,X)), the ManySortedMSSet of the Sorts of (Free (S,X)), the Sorts of (Free (S,X)) #) as X,S -terms strict VarMSAlgebra over S ;
take
A
; ( A is all_vars_including & A is inheriting_operations & A is free_in_itself )
A1:
MSAlgebra(# the Sorts of A, the Charact of A #) = FreeMSA X
by MSAFREE3:31;
thus
( FreeGen X is ManySortedSubset of the Sorts of A & ( for o being OperSymbol of S
for p being FinSequence st p in Args (o,(Free (S,X))) & (Den (o,(Free (S,X)))) . p in the Sorts of A . (the_result_sort_of o) holds
( p in Args (o,A) & (Den (o,A)) . p = (Den (o,(Free (S,X)))) . p ) ) )
by MSAFREE3:31; MSAFREE4:def 7,MSAFREE4:def 8 A is free_in_itself
reconsider B = A as non-empty VarMSAlgebra over S ;
let f be ManySortedFunction of FreeGen X, the Sorts of A; MSAFREE4:def 9 for b1 being ManySortedSubset of the Sorts of A holds
( not b1 = FreeGen X or ex b2 being ManySortedFunction of the Sorts of A, the Sorts of A st
( b2 is_homomorphism A,A & f = b2 || b1 ) )
let G be MSSubset of A; ( not G = FreeGen X or ex b1 being ManySortedFunction of the Sorts of A, the Sorts of A st
( b1 is_homomorphism A,A & f = b1 || G ) )
assume A2:
G = FreeGen X
; ex b1 being ManySortedFunction of the Sorts of A, the Sorts of A st
( b1 is_homomorphism A,A & f = b1 || G )
then reconsider F = G as non-empty GeneratorSet of MSAlgebra(# the Sorts of B, the Charact of B #) by MSAFREE3:31;
reconsider H = F as non-empty GeneratorSet of B by Th32;
H is free
by Th33, A1, A2, MSAFREE:16;
hence
ex b1 being ManySortedFunction of the Sorts of A, the Sorts of A st
( b1 is_homomorphism A,A & f = b1 || G )
by A2; verum