let f1, f2 be Function of [:[:(free_magma (X,n)),(free_magma (X,m)):],{n}:],M; ( ( for x being Element of [:[:(free_magma (X,n)),(free_magma (X,m)):],{n}:]
for y being Element of free_magma (X,n)
for z being Element of free_magma (X,m) st y = (x `1) `1 & z = (x `1) `2 holds
f1 . x = (f . y) * (g . z) ) & ( for x being Element of [:[:(free_magma (X,n)),(free_magma (X,m)):],{n}:]
for y being Element of free_magma (X,n)
for z being Element of free_magma (X,m) st y = (x `1) `1 & z = (x `1) `2 holds
f2 . x = (f . y) * (g . z) ) implies f1 = f2 )
assume A4:
for x being Element of [:[:(free_magma (X,n)),(free_magma (X,m)):],{n}:]
for y being Element of free_magma (X,n)
for z being Element of free_magma (X,m) st y = (x `1) `1 & z = (x `1) `2 holds
f1 . x = (f . y) * (g . z)
; ( ex x being Element of [:[:(free_magma (X,n)),(free_magma (X,m)):],{n}:] ex y being Element of free_magma (X,n) ex z being Element of free_magma (X,m) st
( y = (x `1) `1 & z = (x `1) `2 & not f2 . x = (f . y) * (g . z) ) or f1 = f2 )
assume A5:
for x being Element of [:[:(free_magma (X,n)),(free_magma (X,m)):],{n}:]
for y being Element of free_magma (X,n)
for z being Element of free_magma (X,m) st y = (x `1) `1 & z = (x `1) `2 holds
f2 . x = (f . y) * (g . z)
; f1 = f2
for x being object st x in [:[:(free_magma (X,n)),(free_magma (X,m)):],{n}:] holds
f1 . x = f2 . x
proof
let x be
object ;
( x in [:[:(free_magma (X,n)),(free_magma (X,m)):],{n}:] implies f1 . x = f2 . x )
assume
x in [:[:(free_magma (X,n)),(free_magma (X,m)):],{n}:]
;
f1 . x = f2 . x
then reconsider x9 =
x as
Element of
[:[:(free_magma (X,n)),(free_magma (X,m)):],{n}:] ;
A6:
x9 `1 in [:(free_magma (X,n)),(free_magma (X,m)):]
by MCART_1:10;
then reconsider x1 =
(x9 `1) `1 as
Element of
free_magma (
X,
n)
by MCART_1:10;
reconsider x2 =
(x9 `1) `2 as
Element of
free_magma (
X,
m)
by A6, MCART_1:10;
thus f1 . x =
(f . x1) * (g . x2)
by A4
.=
f2 . x
by A5
;
verum
end;
hence
f1 = f2
by FUNCT_2:12; verum