let S be non empty non void ManySortedSign ; for A, B being non-empty MSAlgebra over S st MSAlgebra(# the Sorts of A, the Charact of A #) = MSAlgebra(# the Sorts of B, the Charact of B #) holds
for G being GeneratorSet of A
for H being GeneratorSet of B st G = H & G is free holds
H is free
let A, B be non-empty MSAlgebra over S; ( MSAlgebra(# the Sorts of A, the Charact of A #) = MSAlgebra(# the Sorts of B, the Charact of B #) implies for G being GeneratorSet of A
for H being GeneratorSet of B st G = H & G is free holds
H is free )
assume A1:
MSAlgebra(# the Sorts of A, the Charact of A #) = MSAlgebra(# the Sorts of B, the Charact of B #)
; for G being GeneratorSet of A
for H being GeneratorSet of B st G = H & G is free holds
H is free
let G be GeneratorSet of A; for H being GeneratorSet of B st G = H & G is free holds
H is free
let H be GeneratorSet of B; ( G = H & G is free implies H is free )
assume A2:
G = H
; ( not G is free or H is free )
assume A3:
for U1 being non-empty MSAlgebra over S
for f being ManySortedFunction of G, the Sorts of U1 ex h being ManySortedFunction of A,U1 st
( h is_homomorphism A,U1 & h || G = f )
; MSAFREE:def 5 H is free
let U1 be non-empty MSAlgebra over S; MSAFREE:def 5 for b1 being ManySortedFunction of H, the Sorts of U1 ex b2 being ManySortedFunction of the Sorts of B, the Sorts of U1 st
( b2 is_homomorphism B,U1 & b2 || H = b1 )
let f be ManySortedFunction of H, the Sorts of U1; ex b1 being ManySortedFunction of the Sorts of B, the Sorts of U1 st
( b1 is_homomorphism B,U1 & b1 || H = f )
consider h being ManySortedFunction of A,U1 such that
A4:
( h is_homomorphism A,U1 & h || G = f )
by A2, A3;
reconsider g = h as ManySortedFunction of B,U1 by A1;
take
g
; ( g is_homomorphism B,U1 & g || H = f )
MSAlgebra(# the Sorts of U1, the Charact of U1 #) = MSAlgebra(# the Sorts of U1, the Charact of U1 #)
;
hence
g is_homomorphism B,U1
by A1, A4, MSAFREE4:30; g || H = f
thus
g || H = f
by A1, A2, A4; verum