A1:
( not X is empty implies ex f being BinOp of (free_magma_carrier X) st
for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
f . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] )
proof
assume A2:
not
X is
empty
;
ex f being BinOp of (free_magma_carrier X) st
for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
f . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)]
defpred S1[
set ,
set ,
set ]
means for
n,
m being
Nat st
n = $1
`2 &
m = $2
`2 holds
$3
= [[[($1 `1),($2 `1)],($1 `2)],(n + m)];
reconsider Y =
free_magma_carrier X as non
empty set by A2;
A3:
for
x,
y being
Element of
Y ex
z being
Element of
Y st
S1[
x,
y,
z]
proof
let x,
y be
Element of
Y;
ex z being Element of Y st S1[x,y,z]
reconsider X9 =
X as non
empty set by A2;
reconsider v =
x as
Element of
free_magma_carrier X9 ;
reconsider w =
y as
Element of
free_magma_carrier X9 ;
reconsider z =
[[[(v `1),(w `1)],(v `2)],((v `2) + (w `2))] as
Element of
Y by Th26;
take
z
;
S1[x,y,z]
thus
S1[
x,
y,
z]
;
verum
end;
consider f being
Function of
[:Y,Y:],
Y such that A4:
for
x,
y being
Element of
Y holds
S1[
x,
y,
f . (
x,
y)]
from BINOP_1:sch 3(A3);
reconsider f =
f as
BinOp of
(free_magma_carrier X) ;
take
f
;
for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
f . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)]
thus
for
v,
w being
Element of
free_magma_carrier X for
n,
m being
Nat st
n = v `2 &
m = w `2 holds
f . (
v,
w)
= [[[(v `1),(w `1)],(v `2)],(n + m)]
by A4;
verum
end;
A5:
( X is empty implies ex f being BinOp of (free_magma_carrier X) st f = {} )
proof
assume A6:
X is
empty
;
ex f being BinOp of (free_magma_carrier X) st f = {}
then A7:
free_magma_carrier X = {}
;
{} c= [:{},{}:]
;
then reconsider f =
{} as
Relation of
[:{},{}:],
{} ;
( (
[:{},{}:] = {} implies
{} = {} ) &
dom f = [:{},{}:] )
;
then reconsider f =
{} as
BinOp of
{} ;
for
v,
w being
Element of
free_magma_carrier X for
n,
m being
Nat st
n = v `2 &
m = w `2 &
v in free_magma_carrier X &
w in free_magma_carrier X holds
f . (
v,
w)
= [[[(v `1),(w `1)],(v `2)],(n + m)]
by A6;
hence
ex
f being
BinOp of
(free_magma_carrier X) st
f = {}
by A7;
verum
end;
now for f1, f2 being BinOp of (free_magma_carrier X) holds
( ( not X is empty & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
f1 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
f2 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) implies f1 = f2 ) & ( X is empty & f1 = {} & f2 = {} implies ( ( for b3 being BinOp of (free_magma_carrier X) holds verum ) & ( not X is empty implies ex b3 being BinOp of (free_magma_carrier X) st
for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b3 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( X is empty implies ex b3 being BinOp of (free_magma_carrier X) st b3 = {} ) & ( for b3, b4 being BinOp of (free_magma_carrier X) holds
( ( not X is empty & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b3 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b4 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) implies b3 = b4 ) & ( X is empty & b3 = {} & b4 = {} implies b3 = b4 ) ) ) ) ) )let f1,
f2 be
BinOp of
(free_magma_carrier X);
( ( not X is empty & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
f1 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
f2 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) implies f1 = f2 ) & ( X is empty & f1 = {} & f2 = {} implies ( ( for b1 being BinOp of (free_magma_carrier X) holds verum ) & ( not X is empty implies ex b1 being BinOp of (free_magma_carrier X) st
for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b1 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( X is empty implies ex b1 being BinOp of (free_magma_carrier X) st b1 = {} ) & ( for b1, b2 being BinOp of (free_magma_carrier X) holds
( ( not X is empty & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b1 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b2 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) implies b1 = b2 ) & ( X is empty & b1 = {} & b2 = {} implies b1 = b2 ) ) ) ) ) )thus
( not
X is
empty & ( for
v,
w being
Element of
free_magma_carrier X for
n,
m being
Nat st
n = v `2 &
m = w `2 holds
f1 . (
v,
w)
= [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( for
v,
w being
Element of
free_magma_carrier X for
n,
m being
Nat st
n = v `2 &
m = w `2 holds
f2 . (
v,
w)
= [[[(v `1),(w `1)],(v `2)],(n + m)] ) implies
f1 = f2 )
( X is empty & f1 = {} & f2 = {} implies ( ( for b1 being BinOp of (free_magma_carrier X) holds verum ) & ( not X is empty implies ex b1 being BinOp of (free_magma_carrier X) st
for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b1 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( X is empty implies ex b1 being BinOp of (free_magma_carrier X) st b1 = {} ) & ( for b1, b2 being BinOp of (free_magma_carrier X) holds
( ( not X is empty & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b1 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b2 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) implies b1 = b2 ) & ( X is empty & b1 = {} & b2 = {} implies b1 = b2 ) ) ) ) )proof
assume A8:
not
X is
empty
;
( ex v, w being Element of free_magma_carrier X ex n, m being Nat st
( n = v `2 & m = w `2 & not f1 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) or ex v, w being Element of free_magma_carrier X ex n, m being Nat st
( n = v `2 & m = w `2 & not f2 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) or f1 = f2 )
assume A9:
for
v,
w being
Element of
free_magma_carrier X for
n,
m being
Nat st
n = v `2 &
m = w `2 holds
f1 . (
v,
w)
= [[[(v `1),(w `1)],(v `2)],(n + m)]
;
( ex v, w being Element of free_magma_carrier X ex n, m being Nat st
( n = v `2 & m = w `2 & not f2 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) or f1 = f2 )
assume A10:
for
v,
w being
Element of
free_magma_carrier X for
n,
m being
Nat st
n = v `2 &
m = w `2 holds
f2 . (
v,
w)
= [[[(v `1),(w `1)],(v `2)],(n + m)]
;
f1 = f2
for
v,
w being
Element of
free_magma_carrier X holds
f1 . (
v,
w)
= f2 . (
v,
w)
hence
f1 = f2
by BINOP_1:2;
verum
end; assume
(
X is
empty &
f1 = {} &
f2 = {} )
;
( ( for b1 being BinOp of (free_magma_carrier X) holds verum ) & ( not X is empty implies ex b1 being BinOp of (free_magma_carrier X) st
for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b1 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( X is empty implies ex b1 being BinOp of (free_magma_carrier X) st b1 = {} ) & ( for b1, b2 being BinOp of (free_magma_carrier X) holds
( ( not X is empty & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b1 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b2 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) implies b1 = b2 ) & ( X is empty & b1 = {} & b2 = {} implies b1 = b2 ) ) ) )hence
( ( for
b1 being
BinOp of
(free_magma_carrier X) holds verum ) & ( not
X is
empty implies ex
b1 being
BinOp of
(free_magma_carrier X) st
for
v,
w being
Element of
free_magma_carrier X for
n,
m being
Nat st
n = v `2 &
m = w `2 holds
b1 . (
v,
w)
= [[[(v `1),(w `1)],(v `2)],(n + m)] ) & (
X is
empty implies ex
b1 being
BinOp of
(free_magma_carrier X) st
b1 = {} ) & ( for
b1,
b2 being
BinOp of
(free_magma_carrier X) holds
( ( not
X is
empty & ( for
v,
w being
Element of
free_magma_carrier X for
n,
m being
Nat st
n = v `2 &
m = w `2 holds
b1 . (
v,
w)
= [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( for
v,
w being
Element of
free_magma_carrier X for
n,
m being
Nat st
n = v `2 &
m = w `2 holds
b2 . (
v,
w)
= [[[(v `1),(w `1)],(v `2)],(n + m)] ) implies
b1 = b2 ) & (
X is
empty &
b1 = {} &
b2 = {} implies
b1 = b2 ) ) ) )
;
verum end;
hence
( ( for b1 being BinOp of (free_magma_carrier X) holds verum ) & ( not X is empty implies ex b1 being BinOp of (free_magma_carrier X) st
for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b1 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( X is empty implies ex b1 being BinOp of (free_magma_carrier X) st b1 = {} ) & ( for b1, b2 being BinOp of (free_magma_carrier X) holds
( ( not X is empty & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b1 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) & ( for v, w being Element of free_magma_carrier X
for n, m being Nat st n = v `2 & m = w `2 holds
b2 . (v,w) = [[[(v `1),(w `1)],(v `2)],(n + m)] ) implies b1 = b2 ) & ( X is empty & b1 = {} & b2 = {} implies b1 = b2 ) ) ) )
by A1, A5; verum