endalg.miz
begin
reserve UA for
Universal_Algebra;
definition
let UA;
::
ENDALG:def1
func
UAEnd UA ->
FUNCTION_DOMAIN of the
carrier of UA, the
carrier of UA means
:
Def1: for h be
Function of UA, UA holds h
in it iff h
is_homomorphism ;
existence
proof
set F = { x where x be
Element of (
Funcs (the
carrier of UA,the
carrier of UA)) : x
is_homomorphism };
A1: (
id the
carrier of UA)
in F
proof
set I = (
id the
carrier of UA);
I
in (
Funcs (the
carrier of UA,the
carrier of UA)) & I
is_homomorphism by
ALG_1: 5,
FUNCT_2: 8;
hence thesis;
end;
F is
functional
proof
let q be
object;
assume q
in F;
then ex x be
Element of (
Funcs (the
carrier of UA,the
carrier of UA)) st q
= x & x
is_homomorphism ;
hence thesis;
end;
then
reconsider F as
functional non
empty
set by
A1;
F is
FUNCTION_DOMAIN of the
carrier of UA, the
carrier of UA
proof
let a be
Element of F;
a
in F;
then ex x be
Element of (
Funcs (the
carrier of UA,the
carrier of UA)) st a
= x & x
is_homomorphism ;
hence thesis;
end;
then
reconsider F as
FUNCTION_DOMAIN of the
carrier of UA, the
carrier of UA;
take F;
let h be
Function of UA, UA;
thus h
in F implies h
is_homomorphism
proof
assume h
in F;
then ex f be
Element of (
Funcs (the
carrier of UA,the
carrier of UA)) st f
= h & f
is_homomorphism ;
hence thesis;
end;
A2: h is
Element of (
Funcs (the
carrier of UA,the
carrier of UA)) by
FUNCT_2: 8;
assume h
is_homomorphism ;
hence thesis by
A2;
end;
uniqueness
proof
let F1,F2 be
FUNCTION_DOMAIN of the
carrier of UA, the
carrier of UA;
assume that
A3: for h be
Function of UA, UA holds h
in F1 iff h
is_homomorphism and
A4: for h be
Function of UA, UA holds h
in F2 iff h
is_homomorphism ;
A5: for f be
Element of F2 holds f is
Function of UA, UA;
A6: F2
c= F1
proof
let q be
object;
assume
A7: q
in F2;
then
reconsider h1 = q as
Function of UA, UA by
A5;
h1
is_homomorphism by
A4,
A7;
hence thesis by
A3;
end;
A8: for f be
Element of F1 holds f is
Function of UA, UA;
F1
c= F2
proof
let q be
object;
assume
A9: q
in F1;
then
reconsider h1 = q as
Function of UA, UA by
A8;
h1
is_homomorphism by
A3,
A9;
hence thesis by
A4;
end;
hence thesis by
A6,
XBOOLE_0:def 10;
end;
end
theorem ::
ENDALG:1
(
UAEnd UA)
c= (
Funcs (the
carrier of UA,the
carrier of UA))
proof
let q be
object;
assume q
in (
UAEnd UA);
then q is
Element of (
UAEnd UA);
hence thesis by
FUNCT_2: 9;
end;
theorem ::
ENDALG:2
Th2: (
id the
carrier of UA)
in (
UAEnd UA)
proof
(
id the
carrier of UA)
is_homomorphism by
ALG_1: 5;
hence thesis by
Def1;
end;
theorem ::
ENDALG:3
Th3: for f1,f2 be
Element of (
UAEnd UA) holds (f1
* f2)
in (
UAEnd UA)
proof
let f1,f2 be
Element of (
UAEnd UA);
f1
is_homomorphism & f2
is_homomorphism by
Def1;
then (f1
* f2)
is_homomorphism by
ALG_1: 6;
hence thesis by
Def1;
end;
definition
let UA;
::
ENDALG:def2
func
UAEndComp UA ->
BinOp of (
UAEnd UA) means
:
Def2: for x,y be
Element of (
UAEnd UA) holds (it
. (x,y))
= (y
* x);
existence
proof
defpred
P[
Element of (
UAEnd UA),
Element of (
UAEnd UA),
set] means $3
= ($2
* $1);
A1: for x,y be
Element of (
UAEnd UA) holds ex m be
Element of (
UAEnd UA) st
P[x, y, m]
proof
let x,y be
Element of (
UAEnd UA);
reconsider xx = x, yy = y as
Function of UA, UA;
reconsider m = (yy
* xx) as
Element of (
UAEnd UA) by
Th3;
take m;
thus thesis;
end;
ex B be
BinOp of (
UAEnd UA) st for x,y be
Element of (
UAEnd UA) holds
P[x, y, (B
. (x,y))] from
BINOP_1:sch 3(
A1);
hence thesis;
end;
uniqueness
proof
let b1,b2 be
BinOp of (
UAEnd UA) such that
A2: for x,y be
Element of (
UAEnd UA) holds (b1
. (x,y))
= (y
* x) and
A3: for x,y be
Element of (
UAEnd UA) holds (b2
. (x,y))
= (y
* x);
for x,y be
Element of (
UAEnd UA) holds (b1
. (x,y))
= (b2
. (x,y))
proof
let x,y be
Element of (
UAEnd UA);
thus (b1
. (x,y))
= (y
* x) by
A2
.= (b2
. (x,y)) by
A3;
end;
hence thesis by
BINOP_1: 2;
end;
end
definition
let UA;
::
ENDALG:def3
func
UAEndMonoid UA ->
strict
multLoopStr means
:
Def3: the
carrier of it
= (
UAEnd UA) & the
multF of it
= (
UAEndComp UA) & (
1. it )
= (
id the
carrier of UA);
existence
proof
reconsider i = (
id the
carrier of UA) as
Element of (
UAEnd UA) by
Th2;
take
multLoopStr (# (
UAEnd UA), (
UAEndComp UA), i #);
thus thesis;
end;
uniqueness ;
end
registration
let UA;
cluster (
UAEndMonoid UA) -> non
empty;
coherence
proof
reconsider i = (
id the
carrier of UA) as
Element of (
UAEnd UA) by
Th2;
set M =
multLoopStr (# (
UAEnd UA), (
UAEndComp UA), i #);
(
1. M)
= i;
hence thesis by
Def3;
end;
end
Lm1:
now
let UA;
let x,e be
Element of (
UAEndMonoid UA);
reconsider i = e, y = x as
Element of (
UAEnd UA) by
Def3;
assume
A1: e
= (
id the
carrier of UA);
thus (x
* e)
= ((
UAEndComp UA)
. (y,i)) by
Def3
.= (i
* y) by
Def2
.= x by
A1,
FUNCT_2: 17;
thus (e
* x)
= ((
UAEndComp UA)
. (i,y)) by
Def3
.= (y
* i) by
Def2
.= x by
A1,
FUNCT_2: 17;
end;
registration
let UA;
cluster (
UAEndMonoid UA) ->
well-unital
associative;
coherence
proof
reconsider i = (
id the
carrier of UA) as
Element of (
UAEnd UA) by
Th2;
set H =
multLoopStr (# (
UAEnd UA), (
UAEndComp UA), i #);
thus (
UAEndMonoid UA) is
well-unital
proof
let x be
Element of (
UAEndMonoid UA);
(
1. (
UAEndMonoid UA))
= i by
Def3;
hence thesis by
Lm1;
end;
for f,g,h be
Element of H holds ((f
* g)
* h)
= (f
* (g
* h))
proof
let f,g,h be
Element of H;
reconsider A = f, B = g, C = h as
Element of (
UAEnd UA);
A1: (g
* h)
= (C
* B) by
Def2;
(f
* g)
= (B
* A) by
Def2;
hence ((f
* g)
* h)
= (C
* (B
* A)) by
Def2
.= ((C
* B)
* A) by
RELAT_1: 36
.= (f
* (g
* h)) by
A1,
Def2;
end;
then (
1. H)
= i & H is
associative;
hence thesis by
Def3;
end;
end
theorem ::
ENDALG:4
Th4: for x,y be
Element of (
UAEndMonoid UA) holds for f,g be
Element of (
UAEnd UA) st x
= f & y
= g holds (x
* y)
= (g
* f)
proof
reconsider i = (
id the
carrier of UA) as
Element of (
UAEnd UA) by
Th2;
let x,y be
Element of (
UAEndMonoid UA);
let f,g be
Element of (
UAEnd UA);
set H =
multLoopStr (# (
UAEnd UA), (
UAEndComp UA), i #);
(
1. H)
= i;
then
A1: (
UAEndMonoid UA)
= H by
Def3;
assume x
= f & y
= g;
hence thesis by
A1,
Def2;
end;
theorem ::
ENDALG:5
(
id the
carrier of UA)
= (
1_ (
UAEndMonoid UA)) by
Def3;
reserve S for non
void non
empty
ManySortedSign,
U1 for
non-empty
MSAlgebra over S;
definition
let S, U1;
set T = the
Sorts of U1;
::
ENDALG:def4
func
MSAEnd U1 ->
MSFunctionSet of U1, U1 means
:
Def4: (for f be
Element of it holds f is
ManySortedFunction of U1, U1) & for h be
ManySortedFunction of U1, U1 holds h
in it iff h
is_homomorphism (U1,U1);
existence
proof
defpred
P[
object] means ex msf be
ManySortedFunction of U1, U1 st $1
= msf & msf
is_homomorphism (U1,U1);
consider X be
set such that
A1: for x be
object holds x
in X iff x
in (
MSFuncs (T,T)) &
P[x] from
XBOOLE_0:sch 1;
(
id T)
in (
MSFuncs (T,T)) & ex F be
ManySortedFunction of U1, U1 st (
id T)
= F & F
is_homomorphism (U1,U1) by
AUTALG_1: 20,
MSUALG_3: 9;
then
reconsider X as non
empty
set by
A1;
X
c= (
MSFuncs (T,T)) by
A1;
then
reconsider X as
MSFunctionSet of U1, U1;
take X;
thus for f be
Element of X holds f is
ManySortedFunction of U1, U1;
let h be
ManySortedFunction of U1, U1;
hereby
assume h
in X;
then ex msf be
ManySortedFunction of U1, U1 st h
= msf & msf
is_homomorphism (U1,U1) by
A1;
hence h
is_homomorphism (U1,U1);
end;
h
in (
MSFuncs (T,T)) by
AUTALG_1: 20;
hence thesis by
A1;
end;
uniqueness
proof
let F1,F2 be
MSFunctionSet of U1, U1 such that
A2: for f be
Element of F1 holds f is
ManySortedFunction of U1, U1 and
A3: for h be
ManySortedFunction of U1, U1 holds h
in F1 iff h
is_homomorphism (U1,U1) and
A4: for f be
Element of F2 holds f is
ManySortedFunction of U1, U1 and
A5: for h be
ManySortedFunction of U1, U1 holds h
in F2 iff h
is_homomorphism (U1,U1);
A6: F2
c= F1
proof
let q be
object;
assume
A7: q
in F2;
then
reconsider h1 = q as
ManySortedFunction of U1, U1 by
A4;
h1
is_homomorphism (U1,U1) by
A5,
A7;
hence thesis by
A3;
end;
F1
c= F2
proof
let q be
object;
assume
A8: q
in F1;
then
reconsider h1 = q as
ManySortedFunction of U1, U1 by
A2;
h1
is_homomorphism (U1,U1) by
A3,
A8;
hence thesis by
A5;
end;
hence thesis by
A6,
XBOOLE_0:def 10;
end;
end
theorem ::
ENDALG:6
(
MSAEnd U1)
c= (
MSFuncs (the
Sorts of U1,the
Sorts of U1));
theorem ::
ENDALG:7
Th7: (
id the
Sorts of U1)
in (
MSAEnd U1)
proof
(
id the
Sorts of U1)
is_homomorphism (U1,U1) by
MSUALG_3: 9;
hence thesis by
Def4;
end;
theorem ::
ENDALG:8
Th8: for f1,f2 be
Element of (
MSAEnd U1) holds (f1
** f2)
in (
MSAEnd U1)
proof
let f1,f2 be
Element of (
MSAEnd U1);
f1
is_homomorphism (U1,U1) & f2
is_homomorphism (U1,U1) by
Def4;
then (f1
** f2)
is_homomorphism (U1,U1) by
MSUALG_3: 10;
hence thesis by
Def4;
end;
theorem ::
ENDALG:9
Th9: for F be
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) holds for f be
Element of (
UAEnd UA) st F
= (
0
.--> f) holds F
in (
MSAEnd (
MSAlg UA))
proof
let F be
ManySortedFunction of (
MSAlg UA), (
MSAlg UA);
let f be
Element of (
UAEnd UA);
assume F
= (
0
.--> f);
then
A1: F
= (
MSAlg f) by
MSUHOM_1:def 3;
f
is_homomorphism by
Def1;
then (
MSAlg f)
is_homomorphism ((
MSAlg UA),((
MSAlg UA)
Over (
MSSign UA))) by
MSUHOM_1: 16;
then F
is_homomorphism ((
MSAlg UA),(
MSAlg UA)) by
A1,
MSUHOM_1: 9;
hence thesis by
Def4;
end;
definition
let S, U1;
::
ENDALG:def5
func
MSAEndComp U1 ->
BinOp of (
MSAEnd U1) means
:
Def5: for x,y be
Element of (
MSAEnd U1) holds (it
. (x,y))
= (y
** x);
existence
proof
defpred
P[
Element of (
MSAEnd U1),
Element of (
MSAEnd U1),
set] means $3
= ($2
** $1);
A1: for x,y be
Element of (
MSAEnd U1) holds ex m be
Element of (
MSAEnd U1) st
P[x, y, m]
proof
let x,y be
Element of (
MSAEnd U1);
reconsider xx = x, yy = y as
ManySortedFunction of U1, U1;
reconsider m = (yy
** xx) as
Element of (
MSAEnd U1) by
Th8;
take m;
thus thesis;
end;
ex B be
BinOp of (
MSAEnd U1) st for x,y be
Element of (
MSAEnd U1) holds
P[x, y, (B
. (x,y))] from
BINOP_1:sch 3(
A1);
hence thesis;
end;
uniqueness
proof
let b1,b2 be
BinOp of (
MSAEnd U1) such that
A2: for x,y be
Element of (
MSAEnd U1) holds (b1
. (x,y))
= (y
** x) and
A3: for x,y be
Element of (
MSAEnd U1) holds (b2
. (x,y))
= (y
** x);
for x,y be
Element of (
MSAEnd U1) holds (b1
. (x,y))
= (b2
. (x,y))
proof
let x,y be
Element of (
MSAEnd U1);
thus (b1
. (x,y))
= (y
** x) by
A2
.= (b2
. (x,y)) by
A3;
end;
hence thesis by
BINOP_1: 2;
end;
end
definition
let S, U1;
::
ENDALG:def6
func
MSAEndMonoid U1 ->
strict
multLoopStr means
:
Def6: the
carrier of it
= (
MSAEnd U1) & the
multF of it
= (
MSAEndComp U1) & (
1. it )
= (
id the
Sorts of U1);
existence
proof
reconsider i = (
id the
Sorts of U1) as
Element of (
MSAEnd U1) by
Th7;
take H =
multLoopStr (# (
MSAEnd U1), (
MSAEndComp U1), i #);
thus the
carrier of H
= (
MSAEnd U1);
thus the
multF of H
= (
MSAEndComp U1);
thus thesis;
end;
uniqueness ;
end
registration
let S, U1;
cluster (
MSAEndMonoid U1) -> non
empty;
coherence
proof
reconsider i = (
id the
Sorts of U1) as
Element of (
MSAEnd U1) by
Th7;
set H =
multLoopStr (# (
MSAEnd U1), (
MSAEndComp U1), i #);
(
1. H)
= i;
hence thesis by
Def6;
end;
end
Lm2:
now
let S, U1;
set F = (
MSAEndMonoid U1);
let x,e be
Element of F;
reconsider i = e, y = x as
Element of (
MSAEnd U1) by
Def6;
assume
A1: e
= (
id the
Sorts of U1);
thus (x
* e)
= ((
MSAEndComp U1)
. (y,i)) by
Def6
.= (i
** y) by
Def5
.= x by
A1,
MSUALG_3: 4;
thus (e
* x)
= ((
MSAEndComp U1)
. (i,y)) by
Def6
.= (y
** i) by
Def5
.= x by
A1,
MSUALG_3: 3;
end;
registration
let S, U1;
cluster (
MSAEndMonoid U1) ->
well-unital
associative;
coherence
proof
reconsider i = (
id the
Sorts of U1) as
Element of (
MSAEnd U1) by
Th7;
set H =
multLoopStr (# (
MSAEnd U1), (
MSAEndComp U1), i #);
thus (
MSAEndMonoid U1) is
well-unital
proof
let x be
Element of (
MSAEndMonoid U1);
(
1. (
MSAEndMonoid U1))
= i by
Def6;
hence thesis by
Lm2;
end;
for f,g,h be
Element of H holds ((f
* g)
* h)
= (f
* (g
* h))
proof
let f,g,h be
Element of H;
reconsider A = f, B = g, C = h as
Element of (
MSAEnd U1);
A1: (g
* h)
= (C
** B) by
Def5;
(f
* g)
= (B
** A) by
Def5;
hence ((f
* g)
* h)
= (C
** (B
** A)) by
Def5
.= ((C
** B)
** A) by
PBOOLE: 140
.= (f
* (g
* h)) by
A1,
Def5;
end;
then (
1. H)
= i & H is
associative;
hence thesis by
Def6;
end;
end
theorem ::
ENDALG:10
Th10: for x,y be
Element of (
MSAEndMonoid U1) holds for f,g be
Element of (
MSAEnd U1) st x
= f & y
= g holds (x
* y)
= (g
** f)
proof
reconsider i = (
id the
Sorts of U1) as
Element of (
MSAEnd U1) by
Th7;
let x,y be
Element of (
MSAEndMonoid U1);
let f,g be
Element of (
MSAEnd U1);
set H =
multLoopStr (# (
MSAEnd U1), (
MSAEndComp U1), i #);
(
1. H)
= i;
then
A1: (
MSAEndMonoid U1)
= H by
Def6;
assume x
= f & y
= g;
hence thesis by
A1,
Def5;
end;
theorem ::
ENDALG:11
(
id the
Sorts of U1)
= (
1_ (
MSAEndMonoid U1)) by
Def6;
theorem ::
ENDALG:12
Th12: for f be
Element of (
UAEnd UA) holds (
0
.--> f) is
ManySortedFunction of (
MSAlg UA), (
MSAlg UA)
proof
let f be
Element of (
UAEnd UA);
(
MSAlg f) is
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) by
MSUHOM_1: 9;
hence thesis by
MSUHOM_1:def 3;
end;
Lm3: for h be
Function st ((
dom h)
= (
UAEnd UA) & for x be
object st x
in (
UAEnd UA) holds (h
. x)
= (
0
.--> x)) holds (
rng h)
= (
MSAEnd (
MSAlg UA))
proof
let h be
Function such that
A1: (
dom h)
= (
UAEnd UA) and
A2: for x be
object st x
in (
UAEnd UA) holds (h
. x)
= (
0
.--> x);
A3: (
MSAEnd (
MSAlg UA))
c= (
rng h)
proof
let x be
object;
assume
A4: x
in (
MSAEnd (
MSAlg UA));
then
reconsider f = x as
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) by
Def4;
the
carrier of (
MSSign UA)
=
{
0 } by
MSUALG_1:def 8;
then
A5: f
= (
0
.--> (f
.
0 )) by
AUTALG_1: 11;
A6: f
is_homomorphism ((
MSAlg UA),(
MSAlg UA)) by
A4,
Def4;
ex q be
set st q
in (
dom h) & x
= (h
. q)
proof
take q = (f
.
0 );
f is
ManySortedFunction of (
MSAlg UA), ((
MSAlg UA)
Over (
MSSign UA)) by
MSUHOM_1: 9;
then
reconsider q9 = q as
Function of UA, UA by
AUTALG_1: 31;
(
MSAlg q9)
= f by
A5,
MSUHOM_1:def 3;
then (
MSAlg q9)
is_homomorphism ((
MSAlg UA),((
MSAlg UA)
Over (
MSSign UA))) by
A6,
MSUHOM_1: 9;
then q9
is_homomorphism by
MSUHOM_1: 21;
hence q
in (
dom h) by
A1,
Def1;
hence thesis by
A1,
A2,
A5;
end;
hence thesis by
FUNCT_1:def 3;
end;
(
rng h)
c= (
MSAEnd (
MSAlg UA))
proof
let x be
object;
assume x
in (
rng h);
then
consider q be
object such that
A7: q
in (
dom h) and
A8: x
= (h
. q) by
FUNCT_1:def 3;
consider q9 be
Element of (
UAEnd UA) such that
A9: q9
= q by
A1,
A7;
x
= (
0
.--> q) & (
0
.--> q) is
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) by
A1,
A2,
A7,
A8,
Th12;
then
consider d be
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) such that
A10: d
= x;
q9
is_homomorphism by
Def1;
then
A11: (
MSAlg q9)
is_homomorphism ((
MSAlg UA),((
MSAlg UA)
Over (
MSSign UA))) by
MSUHOM_1: 16;
(
MSAlg q9)
= (
0
.--> q) by
A9,
MSUHOM_1:def 3
.= x by
A1,
A2,
A7,
A8;
then d
is_homomorphism ((
MSAlg UA),(
MSAlg UA)) by
A10,
A11,
MSUHOM_1: 9;
hence thesis by
A10,
Def4;
end;
hence (
rng h)
= (
MSAEnd (
MSAlg UA)) by
A3,
XBOOLE_0:def 10;
end;
registration
cluster
left_unital for non
empty
multLoopStr;
existence
proof
set m = the
BinOp of
{
0 }, u = the
Element of
{
0 };
take
multLoopStr (#
{
0 }, m, u #);
let x be
Element of
multLoopStr (#
{
0 }, m, u #);
thus ((
1.
multLoopStr (#
{
0 }, m, u #))
* x)
=
0 by
TARSKI:def 1
.= x by
TARSKI:def 1;
end;
end
registration
let G,H be
well-unital non
empty
multLoopStr;
cluster
multiplicative
unity-preserving for
Function of G, H;
existence
proof
reconsider m = (the
carrier of G
--> (
1. H)) as
Function of the
carrier of G, the
carrier of H;
reconsider m as
Function of G, H;
take m;
for x,y be
Element of G holds (m
. (x
* y))
= ((m
. x)
* (m
. y))
proof
let x,y be
Element of G;
(m
. (x
* y))
= (
1. H) by
FUNCOP_1: 7
.= ((
1. H)
* (
1. H))
.= ((m
. x)
* (
1. H)) by
FUNCOP_1: 7
.= ((m
. x)
* (m
. y)) by
FUNCOP_1: 7;
hence thesis;
end;
hence m is
multiplicative by
GROUP_6:def 6;
thus (m
. (
1_ G))
= (
1_ H) by
FUNCOP_1: 7;
end;
end
definition
let G,H be
well-unital non
empty
multLoopStr;
mode
Homomorphism of G,H is
multiplicative
unity-preserving
Function of G, H;
end
theorem ::
ENDALG:13
Th13: for G be
well-unital non
empty
multLoopStr holds (
id the
carrier of G) is
Homomorphism of G, G
proof
let G be
well-unital non
empty
multLoopStr;
reconsider f = (
id the
carrier of G) as
Function of G, G;
A1: for a,b be
Element of G holds (f
. (a
* b))
= ((f
. a)
* (f
. b));
(f
. (
1_ G))
= (
1_ G);
hence thesis by
A1,
GROUP_1:def 13,
GROUP_6:def 6;
end;
definition
let G,H be
well-unital non
empty
multLoopStr;
::
ENDALG:def7
pred G,H
are_isomorphic means ex h be
Homomorphism of G, H st h is
bijective;
reflexivity
proof
let G be
well-unital non
empty
multLoopStr;
reconsider i = (
id the
carrier of G) as
Homomorphism of G, G by
Th13;
A1: the
carrier of G
c= (
rng i)
proof
let y be
object;
assume
A2: y
in the
carrier of G;
ex x be
set st x
in (
dom i) & y
= (i
. x)
proof
take y;
thus thesis by
A2,
FUNCT_1: 17;
end;
hence thesis by
FUNCT_1:def 3;
end;
(
rng i)
c= the
carrier of G by
RELAT_1:def 19;
then (
rng i)
= the
carrier of G by
A1,
XBOOLE_0:def 10;
then i is
onto;
hence thesis;
end;
end
theorem ::
ENDALG:14
Th14: for h be
Function st ((
dom h)
= (
UAEnd UA) & for x be
object st x
in (
UAEnd UA) holds (h
. x)
= (
0
.--> x)) holds h is
Homomorphism of (
UAEndMonoid UA), (
MSAEndMonoid (
MSAlg UA))
proof
reconsider i = (
id the
Sorts of (
MSAlg UA)) as
Element of (
MSAEnd (
MSAlg UA)) by
Th7;
set G = (
UAEndMonoid UA);
set H = (
MSAEndMonoid (
MSAlg UA)), M =
multLoopStr (# (
MSAEnd (
MSAlg UA)), (
MSAEndComp (
MSAlg UA)), i #);
reconsider e = (
id the
carrier of UA) as
Element of (
UAEnd UA) by
Th2;
let h be
Function such that
A1: (
dom h)
= (
UAEnd UA) and
A2: for x be
object st x
in (
UAEnd UA) holds (h
. x)
= (
0
.--> x);
A3: the
carrier of G
= (
dom h) by
A1,
Def3;
(
1. M)
= i;
then
A4: H
= M by
Def6;
then (
rng h)
c= the
carrier of H by
A1,
A2,
Lm3;
then
reconsider h9 = h as
Function of G, H by
A3,
FUNCT_2:def 1,
RELSET_1: 4;
A5: (h9
. e)
= (
0
.--> e) by
A2;
A6: for a,b be
Element of G holds (h9
. (a
* b))
= ((h9
. a)
* (h9
. b))
proof
let a,b be
Element of (
UAEndMonoid UA);
reconsider a9 = a, b9 = b as
Element of (
UAEnd UA) by
Def3;
reconsider A = (
0
.--> a9), B = (
0
.--> b9) as
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) by
Th12;
reconsider ha = (h9
. a), hb = (h9
. b) as
Element of (
MSAEnd (
MSAlg UA)) by
Def6;
A7: (h9
. (b9
* a9))
= (
0
.--> (b9
* a9)) by
A2,
Th3;
reconsider A9 = A, B9 = B as
Element of (
MSAEndMonoid (
MSAlg UA)) by
A4,
Th9;
A8: ha
= A9 & hb
= B9 by
A2;
thus (h9
. (a
* b))
= (h9
. (b9
* a9)) by
Th4
.= (
MSAlg (b9
* a9)) by
A7,
MSUHOM_1:def 3
.= ((
MSAlg b9)
** (
MSAlg a9)) by
MSUHOM_1: 26
.= (B
** (
MSAlg a9)) by
MSUHOM_1:def 3
.= (B
** A) by
MSUHOM_1:def 3
.= ((h9
. a)
* (h9
. b)) by
A8,
Th10;
end;
(h9
. (
1. G))
= (h9
. e) by
Def3
.= (
MSAlg e) by
A5,
MSUHOM_1:def 3
.= i by
MSUHOM_1: 25
.= (
1_ H) by
Def6;
then (h9
. (
1_ G))
= (
1_ H);
hence thesis by
A6,
GROUP_1:def 13,
GROUP_6:def 6;
end;
theorem ::
ENDALG:15
Th15: for h be
Homomorphism of (
UAEndMonoid UA), (
MSAEndMonoid (
MSAlg UA)) st for x be
object st x
in (
UAEnd UA) holds (h
. x)
= (
0
.--> x) holds h is
bijective
proof
reconsider e = (
id the
Sorts of (
MSAlg UA)) as
Element of (
MSAEnd (
MSAlg UA)) by
Th7;
set N =
multLoopStr (# (
MSAEnd (
MSAlg UA)), (
MSAEndComp (
MSAlg UA)), e #);
reconsider i = (
id the
carrier of UA) as
Element of (
UAEnd UA) by
Th2;
let h be
Homomorphism of (
UAEndMonoid UA), (
MSAEndMonoid (
MSAlg UA));
set G = (
UAEndMonoid UA);
set H = (
MSAEndMonoid (
MSAlg UA)), M =
multLoopStr (# (
UAEnd UA), (
UAEndComp UA), i #);
(
1. M)
= i;
then
A1: G
= M by
Def3;
assume
A2: for x be
object st x
in (
UAEnd UA) holds (h
. x)
= (
0
.--> x);
for a,b be
Element of G st (h
. a)
= (h
. b) holds a
= b
proof
let a,b be
Element of G;
assume
A3: (h
. a)
= (h
. b);
A4: (h
. b)
= (
0
.--> b) by
A2,
A1
.=
[:
{
0 },
{b}:];
(h
. a)
= (
0
.--> a) by
A2,
A1
.=
[:
{
0 },
{a}:];
then
{a}
=
{b} by
A3,
A4,
ZFMISC_1: 110;
hence thesis by
ZFMISC_1: 3;
end;
then
A5: h is
one-to-one by
GROUP_6: 1;
(
1. N)
= e;
then
A6: H
= N by
Def6;
(
dom h)
= (
UAEnd UA) by
A1,
FUNCT_2:def 1;
then (
rng h)
= the
carrier of (
MSAEndMonoid (
MSAlg UA)) by
A2,
A6,
Lm3;
then h is
onto;
hence h is
bijective by
A5;
end;
theorem ::
ENDALG:16
((
UAEndMonoid UA),(
MSAEndMonoid (
MSAlg UA)))
are_isomorphic
proof
set G = (
UAEndMonoid UA);
set H = (
MSAEndMonoid (
MSAlg UA));
ex h be
Homomorphism of G, H st h is
bijective
proof
deffunc
F(
object) = (
0
.--> $1);
consider h be
Function such that
A1: (
dom h)
= (
UAEnd UA) & for x be
object st x
in (
UAEnd UA) holds (h
. x)
=
F(x) from
FUNCT_1:sch 3;
reconsider h as
Homomorphism of G, H by
A1,
Th14;
h is
bijective by
A1,
Th15;
hence thesis;
end;
hence thesis;
end;