autalg_1.miz
begin
reserve UA for
Universal_Algebra,
f,g for
Function of UA, UA;
theorem ::
AUTALG_1:1
Th1: (
id the
carrier of UA)
is_isomorphism
proof
set I = (
id the
carrier of UA);
I
is_homomorphism by
ALG_1: 5;
hence I
is_monomorphism ;
I
is_homomorphism & (
rng I)
= the
carrier of UA by
ALG_1: 5,
RELAT_1: 45;
hence I
is_epimorphism ;
end;
definition
let UA;
::
AUTALG_1:def1
func
UAAut 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_isomorphism ;
existence
proof
set F = { x where x be
Element of (
Funcs (the
carrier of UA,the
carrier of UA)) : x
is_isomorphism };
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_isomorphism by
Th1,
FUNCT_2: 8;
hence thesis;
end;
reconsider F as
set;
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_isomorphism ;
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_isomorphism ;
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_isomorphism
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_isomorphism ;
hence thesis;
end;
A2: h is
Element of (
Funcs (the
carrier of UA,the
carrier of UA)) by
FUNCT_2: 8;
assume h
is_isomorphism ;
hence thesis by
A2;
end;
uniqueness
proof
let F1,F2 be
FUNCTION_DOMAIN of the
carrier of UA, the
carrier of UA such that
A3: for h be
Function of UA, UA holds h
in F1 iff h
is_isomorphism and
A4: for h be
Function of UA, UA holds h
in F2 iff h
is_isomorphism ;
A5: F2
c= F1
proof
let q be
object;
assume
A6: q
in F2;
then
reconsider h1 = q as
Function of UA, UA by
FUNCT_2:def 12;
h1
is_isomorphism by
A4,
A6;
hence thesis by
A3;
end;
F1
c= F2
proof
let q be
object;
assume
A7: q
in F1;
then
reconsider h1 = q as
Function of UA, UA by
FUNCT_2:def 12;
h1
is_isomorphism by
A3,
A7;
hence thesis by
A4;
end;
hence thesis by
A5;
end;
end
theorem ::
AUTALG_1:2
(
UAAut UA)
c= (
Funcs (the
carrier of UA,the
carrier of UA))
proof
let q be
object;
assume q
in (
UAAut UA);
then ex f be
Element of (
UAAut UA) st f
= q;
hence thesis by
FUNCT_2: 9;
end;
theorem ::
AUTALG_1:3
Th3: (
id the
carrier of UA)
in (
UAAut UA)
proof
(
id the
carrier of UA)
is_isomorphism by
Th1;
hence thesis by
Def1;
end;
theorem ::
AUTALG_1:4
for f, g st f is
Element of (
UAAut UA) & g
= (f
" ) holds g
is_isomorphism
proof
let f, g;
assume that
A1: f is
Element of (
UAAut UA) and
A2: g
= (f
" );
f
is_isomorphism by
A1,
Def1;
hence thesis by
A2,
ALG_1: 10;
end;
Lm1: for f st f
is_isomorphism holds (f
" ) is
Function of UA, UA
proof
let f;
assume
A1: f
is_isomorphism ;
then f
is_epimorphism ;
then
A2: (
rng f)
= the
carrier of UA;
f is
one-to-one by
A1,
ALG_1: 7;
hence thesis by
A2,
FUNCT_2: 25;
end;
theorem ::
AUTALG_1:5
Th5: for f be
Element of (
UAAut UA) holds (f
" )
in (
UAAut UA)
proof
let f be
Element of (
UAAut UA);
A1: f
is_isomorphism by
Def1;
then (f
" ) is
Function of UA, UA by
Lm1;
then
consider ff be
Function of UA, UA such that
A2: ff
= (f
" );
ff
is_isomorphism by
A1,
A2,
ALG_1: 10;
hence thesis by
A2,
Def1;
end;
theorem ::
AUTALG_1:6
Th6: for f1,f2 be
Element of (
UAAut UA) holds (f1
* f2)
in (
UAAut UA)
proof
let f1,f2 be
Element of (
UAAut UA);
f1
is_isomorphism & f2
is_isomorphism by
Def1;
then (f1
* f2)
is_isomorphism by
ALG_1: 11;
hence thesis by
Def1;
end;
definition
let UA;
::
AUTALG_1:def2
func
UAAutComp UA ->
BinOp of (
UAAut UA) means
:
Def2: for x,y be
Element of (
UAAut UA) holds (it
. (x,y))
= (y
* x);
existence
proof
defpred
P[
Element of (
UAAut UA),
Element of (
UAAut UA),
set] means $3
= ($2
* $1);
A1: for x,y be
Element of (
UAAut UA) holds ex m be
Element of (
UAAut UA) st
P[x, y, m]
proof
let x,y be
Element of (
UAAut UA);
reconsider xx = x, yy = y as
Function of UA, UA;
reconsider m = (yy
* xx) as
Element of (
UAAut UA) by
Th6;
take m;
thus thesis;
end;
thus ex IT be
BinOp of (
UAAut UA) st for x,y be
Element of (
UAAut UA) holds
P[x, y, (IT
. (x,y))] from
BINOP_1:sch 3(
A1);
end;
uniqueness
proof
let b1,b2 be
BinOp of (
UAAut UA) such that
A2: for x,y be
Element of (
UAAut UA) holds (b1
. (x,y))
= (y
* x) and
A3: for x,y be
Element of (
UAAut UA) holds (b2
. (x,y))
= (y
* x);
for x,y be
Element of (
UAAut UA) holds (b1
. (x,y))
= (b2
. (x,y))
proof
let x,y be
Element of (
UAAut 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;
::
AUTALG_1:def3
func
UAAutGroup UA ->
Group equals
multMagma (# (
UAAut UA), (
UAAutComp UA) #);
coherence
proof
set H =
multMagma (# (
UAAut UA), (
UAAutComp UA) #);
A1: ex e be
Element of H st for h be
Element of H holds (h
* e)
= h & (e
* h)
= h & ex g be
Element of H st (h
* g)
= e & (g
* h)
= e
proof
reconsider e = (
id the
carrier of UA) as
Element of H by
Th3;
take e;
let h be
Element of H;
consider A be
Element of (
UAAut UA) such that
A2: A
= h;
(h
* e)
= ((
id the
carrier of UA)
* A) by
A2,
Def2
.= A by
FUNCT_2: 17;
hence (h
* e)
= h by
A2;
(e
* h)
= (A
* (
id the
carrier of UA)) by
A2,
Def2
.= A by
FUNCT_2: 17;
hence (e
* h)
= h by
A2;
reconsider g = (A
" ) as
Element of H by
Th5;
take g;
A3: A
is_isomorphism by
Def1;
then
A4: A is
one-to-one by
ALG_1: 7;
A
is_epimorphism by
A3;
then
A5: (
rng A)
= the
carrier of UA;
thus (h
* g)
= ((A
" )
* A) by
A2,
Def2
.= e by
A4,
A5,
FUNCT_2: 29;
thus (g
* h)
= (A
* (A
" )) by
A2,
Def2
.= e by
A4,
A5,
FUNCT_2: 29;
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 (
UAAut UA);
A6: (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
A6,
Def2;
end;
hence thesis by
A1,
GROUP_1:def 2,
GROUP_1:def 3;
end;
end
registration
let UA;
cluster (
UAAutGroup UA) ->
strict;
coherence ;
end
Lm2: for f be
Element of (
UAAut UA) holds (
dom f)
= (
rng f) & (
dom f)
= the
carrier of UA
proof
let f be
Element of (
UAAut UA);
A1: f
is_isomorphism by
Def1;
then (
dom f)
= the
carrier of UA by
ALG_1: 8;
hence thesis by
A1,
ALG_1: 8;
end;
theorem ::
AUTALG_1:7
for x,y be
Element of (
UAAutGroup UA) holds for f,g be
Element of (
UAAut UA) st x
= f & y
= g holds (x
* y)
= (g
* f) by
Def2;
theorem ::
AUTALG_1:8
Th8: (
id the
carrier of UA)
= (
1_ (
UAAutGroup UA))
proof
set f = the
Element of (
UAAutGroup UA);
reconsider g = (
id the
carrier of UA) as
Element of (
UAAutGroup UA) by
Th3;
consider g1 be
Function of the
carrier of UA, the
carrier of UA such that
A1: g1
= g;
f is
Element of (
UAAut UA);
then
consider f1 be
Function of the
carrier of UA, the
carrier of UA such that
A2: f1
= f;
(g
* f)
= (f1
* g1) by
A1,
A2,
Def2
.= f by
A1,
A2,
FUNCT_2: 17;
hence thesis by
GROUP_1: 7;
end;
theorem ::
AUTALG_1:9
for f be
Element of (
UAAut UA) holds for g be
Element of (
UAAutGroup UA) st f
= g holds (f
" )
= (g
" )
proof
let f be
Element of (
UAAut UA);
let g be
Element of (
UAAutGroup UA);
consider g1 be
Element of (
UAAut UA) such that
A1: g1
= (g
" );
assume f
= g;
then (g1
* f)
= (g
* (g
" )) by
A1,
Def2;
then (g1
* f)
= (
1_ (
UAAutGroup UA)) by
GROUP_1:def 5;
then
A2: (g1
* f)
= (
id the
carrier of UA) by
Th8;
f
is_isomorphism by
Def1;
then f
is_monomorphism ;
then
A3: f is
one-to-one;
(
rng f)
= (
dom f) by
Lm2
.= the
carrier of UA by
Lm2;
hence thesis by
A1,
A3,
A2,
FUNCT_2: 30;
end;
begin
reserve I for
set,
A,B,C for
ManySortedSet of I;
theorem ::
AUTALG_1:10
A
is_transformable_to B & B
is_transformable_to C implies A
is_transformable_to C
proof
assume that
A1: A
is_transformable_to B and
A2: B
is_transformable_to C;
let i be
set;
assume
A3: i
in I;
then (B
. i)
=
{} implies (A
. i)
=
{} by
A1;
hence thesis by
A2,
A3;
end;
theorem ::
AUTALG_1:11
Th11: for x be
set, A be
ManySortedSet of
{x} holds A
= (x
.--> (A
. x))
proof
let x be
set;
let A be
ManySortedSet of
{x};
A1: (
dom A)
=
{x} by
PARTFUN1:def 2;
then (
rng A)
=
{(A
. x)} by
FUNCT_1: 4;
hence thesis by
A1,
FUNCOP_1: 9;
end;
theorem ::
AUTALG_1:12
Th12: for A,B be
non-empty
ManySortedSet of I holds for F be
ManySortedFunction of A, B st F is
"1-1"
"onto" holds (F
"" ) is
"1-1"
"onto"
proof
let A,B be
non-empty
ManySortedSet of I;
let F be
ManySortedFunction of A, B;
assume
A1: F is
"1-1"
"onto";
now
let i be
set;
assume
A2: i
in I;
then
reconsider g = (F
. i) as
Function of (A
. i), (B
. i) by
PBOOLE:def 15;
g is
one-to-one by
A1,
A2,
MSUALG_3: 1;
then (g
" ) is
one-to-one;
hence ((F
"" )
. i) is
one-to-one by
A1,
A2,
MSUALG_3:def 4;
end;
hence (F
"" ) is
"1-1" by
MSUALG_3: 1;
thus (F
"" ) is
"onto"
proof
let i be
set;
assume
A3: i
in I;
then
reconsider g = (F
. i) as
Function of (A
. i), (B
. i) by
PBOOLE:def 15;
A4: g is
one-to-one by
A1,
A3,
MSUALG_3: 1;
(A
. i)
= (
dom g) by
A3,
FUNCT_2:def 1
.= (
rng (g
" )) by
A4,
FUNCT_1: 33;
hence thesis by
A1,
A3,
MSUALG_3:def 4;
end;
end;
theorem ::
AUTALG_1:13
for A,B be
non-empty
ManySortedSet of I holds for F be
ManySortedFunction of A, B st F is
"1-1"
"onto" holds ((F
"" )
"" )
= F
proof
let A,B be
non-empty
ManySortedSet of I;
let F be
ManySortedFunction of A, B;
assume
A1: F is
"1-1"
"onto";
now
let i be
object;
assume
A2: i
in I;
then
reconsider f = (F
. i) as
Function of (A
. i), (B
. i) by
PBOOLE:def 15;
reconsider f9 = ((F
"" )
. i) as
Function of (B
. i), (A
. i) by
A2,
PBOOLE:def 15;
f is
one-to-one by
A1,
A2,
MSUALG_3: 1;
then
A3: ((f
" )
" )
= f by
FUNCT_1: 43;
(F
"" ) is
"1-1"
"onto" by
A1,
Th12;
then (((F
"" )
"" )
. i)
= (f9
" ) by
A2,
MSUALG_3:def 4;
hence (((F
"" )
"" )
. i)
= (F
. i) by
A1,
A2,
A3,
MSUALG_3:def 4;
end;
hence thesis by
PBOOLE: 3;
end;
theorem ::
AUTALG_1:14
Th14: for F,G be
Function-yielding
Function st F is
"1-1" & G is
"1-1" holds (G
** F) is
"1-1"
proof
let F,G be
Function-yielding
Function such that
A1: F is
"1-1" and
A2: G is
"1-1";
let i be
set, f be
Function such that
A3: i
in (
dom (G
** F)) and
A4: ((G
** F)
. i)
= f;
A5: (
dom (G
** F))
= ((
dom G)
/\ (
dom F)) by
PBOOLE:def 19;
then i
in (
dom F) by
A3,
XBOOLE_0:def 4;
then
A6: (F
. i) is
one-to-one by
A1;
i
in (
dom G) by
A3,
A5,
XBOOLE_0:def 4;
then (G
. i) is
one-to-one by
A2;
then ((G
. i)
* (F
. i)) is
one-to-one by
A6;
hence thesis by
A3,
A4,
PBOOLE:def 19;
end;
theorem ::
AUTALG_1:15
Th15: for B,C be
non-empty
ManySortedSet of I holds for F be
ManySortedFunction of A, B holds for G be
ManySortedFunction of B, C st F is
"onto" & G is
"onto" holds (G
** F) is
"onto"
proof
let B,C be
non-empty
ManySortedSet of I;
let F be
ManySortedFunction of A, B;
let G be
ManySortedFunction of B, C;
assume
A1: F is
"onto" & G is
"onto";
now
let i be
set;
assume
A2: i
in I;
then
reconsider f = (F
. i) as
Function of (A
. i), (B
. i) by
PBOOLE:def 15;
reconsider g = (G
. i) as
Function of (B
. i), (C
. i) by
A2,
PBOOLE:def 15;
(
rng f)
= (B
. i) & (
rng g)
= (C
. i) by
A1,
A2;
then (
rng (g
* f))
= (C
. i) by
A2,
FUNCT_2: 14;
hence (
rng ((G
** F)
. i))
= (C
. i) by
A2,
MSUALG_3: 2;
end;
hence thesis;
end;
theorem ::
AUTALG_1:16
for A,B,C be
non-empty
ManySortedSet of I holds for F be
ManySortedFunction of A, B holds for G be
ManySortedFunction of B, C st F is
"1-1"
"onto" & G is
"1-1"
"onto" holds ((G
** F)
"" )
= ((F
"" )
** (G
"" ))
proof
let A,B,C be
non-empty
ManySortedSet of I;
let F be
ManySortedFunction of A, B;
let G be
ManySortedFunction of B, C;
assume that
A1: F is
"1-1"
"onto" and
A2: G is
"1-1"
"onto";
now
let i be
object;
assume
A3: i
in I;
then
reconsider f = (F
. i) as
Function of (A
. i), (B
. i) by
PBOOLE:def 15;
A4: f is
one-to-one by
A1,
A3,
MSUALG_3: 1;
reconsider g = (G
. i) as
Function of (B
. i), (C
. i) by
A3,
PBOOLE:def 15;
A5: g is
one-to-one by
A2,
A3,
MSUALG_3: 1;
((F
"" )
. i)
= (f
" ) & (
rng f)
= (B
. i) by
A1,
A3,
MSUALG_3:def 4;
then
reconsider ff = ((F
"" )
. i) as
Function of (B
. i), (A
. i) by
A4,
FUNCT_2: 25;
A6: (G
** F) is
"1-1"
"onto" by
A1,
A2,
Th14,
Th15;
((G
** F)
. i)
= (g
* f) by
A3,
MSUALG_3: 2;
then
A7: (((G
** F)
"" )
. i)
= ((g
* f)
" ) by
A3,
A6,
MSUALG_3:def 4;
((G
"" )
. i)
= (g
" ) & (
rng g)
= (C
. i) by
A2,
A3,
MSUALG_3:def 4;
then
reconsider gg = ((G
"" )
. i) as
Function of (C
. i), (B
. i) by
A5,
FUNCT_2: 25;
(((F
"" )
** (G
"" ))
. i)
= (ff
* gg) by
A3,
MSUALG_3: 2
.= (ff
* (g
" )) by
A2,
A3,
MSUALG_3:def 4
.= ((f
" )
* (g
" )) by
A1,
A3,
MSUALG_3:def 4;
hence (((G
** F)
"" )
. i)
= (((F
"" )
** (G
"" ))
. i) by
A4,
A5,
A7,
FUNCT_1: 44;
end;
hence thesis by
PBOOLE: 3;
end;
theorem ::
AUTALG_1:17
Th17: for A,B be
non-empty
ManySortedSet of I holds for F be
ManySortedFunction of A, B holds for G be
ManySortedFunction of B, A st F is
"1-1" & F is
"onto" & (G
** F)
= (
id A) holds G
= (F
"" )
proof
let A,B be
non-empty
ManySortedSet of I;
let F be
ManySortedFunction of A, B;
let G be
ManySortedFunction of B, A;
assume that
A1: F is
"1-1" and
A2: F is
"onto" and
A3: (G
** F)
= (
id A);
now
let i be
object;
assume
A4: i
in I;
then
reconsider f = (F
. i) as
Function of (A
. i), (B
. i) by
PBOOLE:def 15;
A5: f is
one-to-one by
A1,
A4,
MSUALG_3: 1;
reconsider g = (G
. i) as
Function of (B
. i), (A
. i) by
A4,
PBOOLE:def 15;
((G
** F)
. i)
= (
id (A
. i)) by
A3,
A4,
MSUALG_3:def 1;
then
A6: (g
* f)
= (
id (A
. i)) by
A4,
MSUALG_3: 2;
((F
"" )
. i)
= (f
" ) & (
rng f)
= (B
. i) by
A1,
A2,
A4,
MSUALG_3:def 4;
hence (G
. i)
= ((F
"" )
. i) by
A4,
A6,
A5,
FUNCT_2: 30;
end;
hence thesis by
PBOOLE: 3;
end;
theorem ::
AUTALG_1:18
Th18: A
is_transformable_to B implies (
(Funcs) (A,B)) is
non-empty
proof
assume
A1: A
is_transformable_to B;
A2: for i be
set st i
in I holds (
Funcs ((A
. i),(B
. i)))
<>
{}
proof
let i be
set;
assume i
in I;
then (B
. i)
=
{} implies (A
. i)
=
{} by
A1;
hence thesis by
FUNCT_2: 8;
end;
for i be
object st i
in I holds ((
(Funcs) (A,B))
. i)
<>
{}
proof
let i be
object;
assume
A3: i
in I;
then ((
(Funcs) (A,B))
. i)
= (
Funcs ((A
. i),(B
. i))) by
PBOOLE:def 17;
hence thesis by
A2,
A3;
end;
then for i be
object st i
in I holds ((
(Funcs) (A,B))
. i) is non
empty;
hence thesis by
PBOOLE:def 13;
end;
definition
let I, A, B;
assume
A1: A
is_transformable_to B;
::
AUTALG_1:def4
func
MSFuncs (A,B) -> non
empty
set equals
:
Def4: (
product (
(Funcs) (A,B)));
coherence
proof
(
(Funcs) (A,B)) is
non-empty by
A1,
Th18;
then not
{}
in (
rng (
(Funcs) (A,B))) by
PBOOLE: 137;
hence thesis by
CARD_3: 26;
end;
end
theorem ::
AUTALG_1:19
Th19: A
is_transformable_to B implies for x be
set st x
in (
MSFuncs (A,B)) holds x is
ManySortedFunction of A, B
proof
assume
A1: A
is_transformable_to B;
set f = (
(Funcs) (A,B));
let x be
set;
assume x
in (
MSFuncs (A,B));
then x
in (
product f) by
A1,
Def4;
then
consider g be
Function such that
A2: x
= g and
A3: (
dom g)
= (
dom f) and
A4: for i be
object st i
in (
dom f) holds (g
. i)
in (f
. i) by
CARD_3:def 5;
A5: (
dom f)
= I by
PARTFUN1:def 2;
A6: for i be
set st i
in I holds (g
. i)
in (
Funcs ((A
. i),(B
. i)))
proof
let i be
set;
assume
A7: i
in I;
then ((
(Funcs) (A,B))
. i)
= (
Funcs ((A
. i),(B
. i))) by
PBOOLE:def 17;
hence thesis by
A4,
A5,
A7;
end;
A8: for i be
set st i
in I holds ex F be
Function st F
= (g
. i) & (
dom F)
= (A
. i) & (
rng F)
c= (B
. i)
proof
let i be
set;
assume i
in I;
then (g
. i)
in (
Funcs ((A
. i),(B
. i))) by
A6;
hence thesis by
FUNCT_2:def 2;
end;
A9: for i be
object st i
in I holds (g
. i) is
Function of (A
. i), (B
. i)
proof
let i be
object;
assume
A10: i
in I;
ex F be
Function st F
= (g
. i) & (
dom F)
= (A
. i) & (
rng F)
c= (B
. i) by
A8,
A10;
hence thesis by
FUNCT_2: 2;
end;
(
dom g)
= I by
A3,
PARTFUN1:def 2;
then g is
ManySortedSet of I by
PARTFUN1:def 2,
RELAT_1:def 18;
hence thesis by
A2,
A9,
PBOOLE:def 15;
end;
theorem ::
AUTALG_1:20
Th20: A
is_transformable_to B implies for g be
ManySortedFunction of A, B holds g
in (
MSFuncs (A,B))
proof
assume
A1: A
is_transformable_to B;
set f = (
(Funcs) (A,B));
let g be
ManySortedFunction of A, B;
A2: (
dom f)
= I by
PARTFUN1:def 2;
A3:
now
let x be
object;
assume
A4: x
in (
dom f);
then
reconsider i = x as
Element of I by
PARTFUN1:def 2;
A5: (g
. i) is
Function of (A
. i), (B
. i) by
A2,
A4,
PBOOLE:def 15;
(B
. i)
=
{} implies (A
. i)
=
{} by
A1,
A2,
A4;
then (g
. i)
in (
Funcs ((A
. i),(B
. i))) by
A5,
FUNCT_2: 8;
hence (g
. x)
in (f
. x) by
A2,
A4,
PBOOLE:def 17;
end;
(
dom g)
= I by
PARTFUN1:def 2;
then g
in (
product f) by
A2,
A3,
CARD_3: 9;
hence thesis by
A1,
Def4;
end;
registration
let I, A;
cluster (
(Funcs) (A,A)) ->
non-empty;
coherence
proof
for i be
object st i
in I holds ((
(Funcs) (A,A))
. i) is non
empty
proof
let i be
object;
assume
A1: i
in I;
then ((
id A)
. i) is
Function of (A
. i), (A
. i) by
PBOOLE:def 15;
then ((
id A)
. i)
in (
Funcs ((A
. i),(A
. i))) by
FUNCT_2: 9;
hence thesis by
A1,
PBOOLE:def 17;
end;
hence thesis by
PBOOLE:def 13;
end;
end
definition
let I be
set;
let D be
ManySortedSet of I;
let A be non
empty
Subset of (
MSFuncs (D,D));
:: original:
Element
redefine
mode
Element of A ->
ManySortedFunction of D, D ;
coherence
proof
let f be
Element of A;
thus thesis by
Th19;
end;
end
registration
let I, A;
cluster (
id A) ->
"onto";
coherence
proof
let i be
set;
assume i
in I;
then ((
id A)
. i)
= (
id (A
. i)) by
MSUALG_3:def 1;
hence thesis by
RELAT_1: 45;
end;
cluster (
id A) ->
"1-1";
coherence
proof
now
let i be
set;
assume i
in I;
then ((
id A)
. i)
= (
id (A
. i)) by
MSUALG_3:def 1;
hence ((
id A)
. i) is
one-to-one;
end;
hence thesis by
MSUALG_3: 1;
end;
end
begin
reserve S for non
void non
empty
ManySortedSign,
U1,U2 for
non-empty
MSAlgebra over S;
definition
let S, U1, U2;
mode
MSFunctionSet of U1,U2 is non
empty
Subset of (
MSFuncs (the
Sorts of U1,the
Sorts of U2));
end
theorem ::
AUTALG_1:21
(
id the
Sorts of U1)
in (
MSFuncs (the
Sorts of U1,the
Sorts of U1)) by
Th20;
definition
let S, U1;
set T = the
Sorts of U1;
::
AUTALG_1:def5
func
MSAAut U1 ->
MSFunctionSet of U1, U1 means
:
Def5: for h be
ManySortedFunction of U1, U1 holds h
in it iff h
is_isomorphism (U1,U1);
existence
proof
defpred
P[
object] means ex msf be
ManySortedFunction of U1, U1 st $1
= msf & msf
is_isomorphism (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;
A2: X
c= (
MSFuncs (T,T)) by
A1;
(
id T)
in (
MSFuncs (T,T)) & ex F be
ManySortedFunction of U1, U1 st (
id T)
= F & F
is_isomorphism (U1,U1) by
Th20,
MSUALG_3: 16;
then
reconsider X as
MSFunctionSet of U1, U1 by
A1,
A2;
take X;
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_isomorphism (U1,U1) by
A1;
hence h
is_isomorphism (U1,U1);
end;
h
in (
MSFuncs (T,T)) by
Th20;
hence thesis by
A1;
end;
uniqueness
proof
let F1,F2 be
MSFunctionSet of U1, U1 such that
A3: for h be
ManySortedFunction of U1, U1 holds h
in F1 iff h
is_isomorphism (U1,U1) and
A4: for h be
ManySortedFunction of U1, U1 holds h
in F2 iff h
is_isomorphism (U1,U1);
thus F1
c= F2
proof
let q be
object;
assume
A5: q
in F1;
then
reconsider h1 = q as
ManySortedFunction of U1, U1 by
Th19;
h1
is_isomorphism (U1,U1) by
A3,
A5;
hence thesis by
A4;
end;
let q be
object;
assume
A6: q
in F2;
then
reconsider h1 = q as
ManySortedFunction of U1, U1 by
Th19;
h1
is_isomorphism (U1,U1) by
A4,
A6;
hence thesis by
A3;
end;
end
theorem ::
AUTALG_1:22
for f be
Element of (
MSAAut U1) holds f
in (
MSFuncs (the
Sorts of U1,the
Sorts of U1)) by
Th20;
theorem ::
AUTALG_1:23
(
MSAAut U1)
c= (
MSFuncs (the
Sorts of U1,the
Sorts of U1));
Lm3: for f be
Element of (
MSAAut U1) holds f is
"1-1" & f is
"onto"
proof
let f be
Element of (
MSAAut U1);
f
is_isomorphism (U1,U1) by
Def5;
hence thesis by
MSUALG_3: 13;
end;
theorem ::
AUTALG_1:24
Th24: (
id the
Sorts of U1)
in (
MSAAut U1)
proof
(
id the
Sorts of U1)
is_isomorphism (U1,U1) by
MSUALG_3: 16;
hence thesis by
Def5;
end;
theorem ::
AUTALG_1:25
Th25: for f be
Element of (
MSAAut U1) holds (f
"" )
in (
MSAAut U1)
proof
let f be
Element of (
MSAAut U1);
f
is_isomorphism (U1,U1) by
Def5;
then (f
"" )
is_isomorphism (U1,U1) by
MSUALG_3: 14;
hence thesis by
Def5;
end;
theorem ::
AUTALG_1:26
Th26: for f1,f2 be
Element of (
MSAAut U1) holds (f1
** f2)
in (
MSAAut U1)
proof
let f1,f2 be
Element of (
MSAAut U1);
f1
is_isomorphism (U1,U1) & f2
is_isomorphism (U1,U1) by
Def5;
then (f1
** f2)
is_isomorphism (U1,U1) by
MSUALG_3: 15;
hence thesis by
Def5;
end;
theorem ::
AUTALG_1:27
Th27: for F be
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) holds for f be
Element of (
UAAut UA) st F
= (
0
.--> f) holds F
in (
MSAAut (
MSAlg UA))
proof
let F be
ManySortedFunction of (
MSAlg UA), (
MSAlg UA);
let f be
Element of (
UAAut UA);
assume F
= (
0
.--> f);
then
A1: F
= (
MSAlg f) by
MSUHOM_1:def 3;
f
is_isomorphism by
Def1;
then (
MSAlg f)
is_isomorphism ((
MSAlg UA),((
MSAlg UA)
Over (
MSSign UA))) by
MSUHOM_1: 20;
then F
is_isomorphism ((
MSAlg UA),(
MSAlg UA)) by
A1,
MSUHOM_1: 9;
hence thesis by
Def5;
end;
definition
let S, U1;
::
AUTALG_1:def6
func
MSAAutComp U1 ->
BinOp of (
MSAAut U1) means
:
Def6: for x,y be
Element of (
MSAAut U1) holds (it
. (x,y))
= (y
** x);
existence
proof
defpred
P[
Element of (
MSAAut U1),
Element of (
MSAAut U1),
set] means $3
= ($2
** $1);
A1: for x,y be
Element of (
MSAAut U1) holds ex m be
Element of (
MSAAut U1) st
P[x, y, m]
proof
let x,y be
Element of (
MSAAut U1);
reconsider xx = x, yy = y as
ManySortedFunction of U1, U1;
reconsider m = (yy
** xx) as
Element of (
MSAAut U1) by
Th26;
take m;
thus thesis;
end;
thus ex IT be
BinOp of (
MSAAut U1) st for x,y be
Element of (
MSAAut U1) holds
P[x, y, (IT
. (x,y))] from
BINOP_1:sch 3(
A1);
end;
uniqueness
proof
let b1,b2 be
BinOp of (
MSAAut U1) such that
A2: for x,y be
Element of (
MSAAut U1) holds (b1
. (x,y))
= (y
** x) and
A3: for x,y be
Element of (
MSAAut U1) holds (b2
. (x,y))
= (y
** x);
for x,y be
Element of (
MSAAut U1) holds (b1
. (x,y))
= (b2
. (x,y))
proof
let x,y be
Element of (
MSAAut 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;
::
AUTALG_1:def7
func
MSAAutGroup U1 ->
Group equals
multMagma (# (
MSAAut U1), (
MSAAutComp U1) #);
coherence
proof
set SO = the
Sorts of U1;
set H =
multMagma (# (
MSAAut U1), (
MSAAutComp U1) #);
A1: ex e be
Element of H st for h be
Element of H holds (h
* e)
= h & (e
* h)
= h & ex g be
Element of H st (h
* g)
= e & (g
* h)
= e
proof
reconsider e = (
id SO) as
Element of H by
Th24;
take e;
let h be
Element of H;
consider A be
Element of (
MSAAut U1) such that
A2: A
= h;
(h
* e)
= ((
id SO)
** A) by
A2,
Def6
.= A by
MSUALG_3: 4;
hence (h
* e)
= h by
A2;
(e
* h)
= (A
** (
id SO)) by
A2,
Def6
.= A by
MSUALG_3: 3;
hence (e
* h)
= h by
A2;
reconsider g = (A
"" ) as
Element of H by
Th25;
take g;
A3: A is
"onto" & A is
"1-1" by
Lm3;
thus (h
* g)
= ((A
"" )
** A) by
A2,
Def6
.= e by
A3,
MSUALG_3: 5;
thus (g
* h)
= (A
** (A
"" )) by
A2,
Def6
.= e by
A3,
MSUALG_3: 5;
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 (
MSAAut U1);
A4: (g
* h)
= (C
** B) by
Def6;
(f
* g)
= (B
** A) by
Def6;
hence ((f
* g)
* h)
= (C
** (B
** A)) by
Def6
.= ((C
** B)
** A) by
PBOOLE: 140
.= (f
* (g
* h)) by
A4,
Def6;
end;
hence thesis by
A1,
GROUP_1:def 2,
GROUP_1:def 3;
end;
end
registration
let S, U1;
cluster (
MSAAutGroup U1) ->
strict;
coherence ;
end
theorem ::
AUTALG_1:28
for x,y be
Element of (
MSAAutGroup U1) holds for f,g be
Element of (
MSAAut U1) st x
= f & y
= g holds (x
* y)
= (g
** f) by
Def6;
theorem ::
AUTALG_1:29
Th29: (
id the
Sorts of U1)
= (
1_ (
MSAAutGroup U1))
proof
set T = the
Sorts of U1;
set f = the
Element of (
MSAAutGroup U1);
reconsider g = (
id T) as
Element of (
MSAAutGroup U1) by
Th24;
consider g1 be
ManySortedFunction of T, T such that
A1: g1
= g;
f is
Element of (
MSAAut U1);
then
consider f1 be
ManySortedFunction of T, T such that
A2: f1
= f;
(g
* f)
= (f1
** g1) by
A1,
A2,
Def6
.= f by
A1,
A2,
MSUALG_3: 3;
hence thesis by
GROUP_1: 7;
end;
theorem ::
AUTALG_1:30
for f be
Element of (
MSAAut U1) holds for g be
Element of (
MSAAutGroup U1) st f
= g holds (f
"" )
= (g
" )
proof
let f be
Element of (
MSAAut U1);
let g be
Element of (
MSAAutGroup U1);
consider g1 be
Element of (
MSAAut U1) such that
A1: g1
= (g
" );
assume f
= g;
then (g1
** f)
= (g
* (g
" )) by
A1,
Def6;
then (g1
** f)
= (
1_ (
MSAAutGroup U1)) by
GROUP_1:def 5;
then
A2: (g1
** f)
= (
id the
Sorts of U1) by
Th29;
f is
"1-1" & f is
"onto" by
Lm3;
hence thesis by
A1,
A2,
Th17;
end;
begin
theorem ::
AUTALG_1:31
Th31: for UA1,UA2 be
Universal_Algebra st (UA1,UA2)
are_similar holds for F be
ManySortedFunction of (
MSAlg UA1), ((
MSAlg UA2)
Over (
MSSign UA1)) holds (F
.
0 ) is
Function of UA1, UA2
proof
let UA1,UA2 be
Universal_Algebra;
A1:
0
in
{
0 } by
TARSKI:def 1;
assume (UA1,UA2)
are_similar ;
then (
MSSign UA1)
= (
MSSign UA2) by
MSUHOM_1: 10;
then
A2: (
MSAlg UA2)
=
MSAlgebra (# (
MSSorts UA2), (
MSCharact UA2) #) & ((
MSAlg UA2)
Over (
MSSign UA1))
= (
MSAlg UA2) by
MSUALG_1:def 11,
MSUHOM_1: 9;
let F be
ManySortedFunction of (
MSAlg UA1), ((
MSAlg UA2)
Over (
MSSign UA1));
A3: the
carrier of (
MSSign UA1)
=
{
0 } & (
MSAlg UA1)
=
MSAlgebra (# (
MSSorts UA1), (
MSCharact UA1) #) by
MSUALG_1:def 8,
MSUALG_1:def 11;
A4: ((
MSSorts UA2)
.
0 )
= ((
0
.--> the
carrier of UA2)
.
0 ) by
MSUALG_1:def 9
.= the
carrier of UA2 by
A1,
FUNCOP_1: 7;
((
MSSorts UA1)
.
0 )
= ((
0
.--> the
carrier of UA1)
.
0 ) by
MSUALG_1:def 9
.= the
carrier of UA1 by
A1,
FUNCOP_1: 7;
hence thesis by
A1,
A3,
A4,
A2,
PBOOLE:def 15;
end;
theorem ::
AUTALG_1:32
Th32: for f be
Element of (
UAAut UA) holds (
0
.--> f) is
ManySortedFunction of (
MSAlg UA), (
MSAlg UA)
proof
let f be
Element of (
UAAut UA);
(
MSAlg f) is
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) by
MSUHOM_1: 9;
hence thesis by
MSUHOM_1:def 3;
end;
Lm4: for h be
Function st ((
dom h)
= (
UAAut UA) & for x be
object st x
in (
UAAut UA) holds (h
. x)
= (
0
.--> x)) holds (
rng h)
= (
MSAAut (
MSAlg UA))
proof
let h be
Function such that
A1: (
dom h)
= (
UAAut UA) and
A2: for x be
object st x
in (
UAAut UA) holds (h
. x)
= (
0
.--> x);
thus (
rng h)
c= (
MSAAut (
MSAlg UA))
proof
let x be
object;
assume x
in (
rng h);
then
consider q be
object such that
A3: q
in (
dom h) and
A4: x
= (h
. q) by
FUNCT_1:def 3;
consider q9 be
Element of (
UAAut UA) such that
A5: q9
= q by
A1,
A3;
x
= (
0
.--> q) & (
0
.--> q) is
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) by
A1,
A2,
A3,
A4,
Th32;
then
consider d be
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) such that
A6: d
= x;
q9
is_isomorphism by
Def1;
then
A7: (
MSAlg q9)
is_isomorphism ((
MSAlg UA),((
MSAlg UA)
Over (
MSSign UA))) by
MSUHOM_1: 20;
(
MSAlg q9)
= (
0
.--> q) by
A5,
MSUHOM_1:def 3
.= x by
A1,
A2,
A3,
A4;
then d
is_isomorphism ((
MSAlg UA),(
MSAlg UA)) by
A6,
A7,
MSUHOM_1: 9;
hence thesis by
A6,
Def5;
end;
let x be
object;
assume
A8: x
in (
MSAAut (
MSAlg UA));
then
reconsider f = x as
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) by
Th19;
the
carrier of (
MSSign UA)
=
{
0 } by
MSUALG_1:def 8;
then
A9: f
= (
0
.--> (f
.
0 )) by
Th11;
A10: f
is_isomorphism ((
MSAlg UA),(
MSAlg UA)) by
A8,
Def5;
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
Th31;
(
MSAlg q9)
= f by
A9,
MSUHOM_1:def 3;
then (
MSAlg q9)
is_isomorphism ((
MSAlg UA),((
MSAlg UA)
Over (
MSSign UA))) by
A10,
MSUHOM_1: 9;
then q9
is_isomorphism by
MSUHOM_1: 24;
hence q
in (
dom h) by
A1,
Def1;
hence thesis by
A1,
A2,
A9;
end;
hence thesis by
FUNCT_1:def 3;
end;
theorem ::
AUTALG_1:33
Th33: for h be
Function st ((
dom h)
= (
UAAut UA) & for x be
object st x
in (
UAAut UA) holds (h
. x)
= (
0
.--> x)) holds h is
Homomorphism of (
UAAutGroup UA), (
MSAAutGroup (
MSAlg UA))
proof
let h be
Function such that
A1: (
dom h)
= (
UAAut UA) and
A2: for x be
object st x
in (
UAAut UA) holds (h
. x)
= (
0
.--> x);
set H = (
MSAAutGroup (
MSAlg UA));
set G = (
UAAutGroup UA);
(
rng h)
c= the
carrier of H by
A1,
A2,
Lm4;
then
reconsider h9 = h as
Function of G, H by
A1,
FUNCT_2:def 1,
RELSET_1: 4;
now
let a,b be
Element of (
UAAutGroup UA);
thus (h9
. (a
* b))
= ((h9
. a)
* (h9
. b))
proof
reconsider a9 = a, b9 = b as
Element of (
UAAut UA);
A3: (h9
. (b9
* a9))
= (
0
.--> (b9
* a9)) by
A2,
Th6;
reconsider A = (
0
.--> a9), B = (
0
.--> b9) as
ManySortedFunction of (
MSAlg UA), (
MSAlg UA) by
Th32;
reconsider ha = (h9
. a), hb = (h9
. b) as
Element of (
MSAAut (
MSAlg UA));
reconsider A9 = A, B9 = B as
Element of (
MSAAutGroup (
MSAlg UA)) by
Th27;
A4: ha
= A9 & hb
= B9 by
A2;
thus (h9
. (a
* b))
= (h9
. (b9
* a9)) by
Def2
.= (
MSAlg (b9
* a9)) by
A3,
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
A4,
Def6;
end;
end;
hence thesis by
GROUP_6:def 6;
end;
theorem ::
AUTALG_1:34
Th34: for h be
Homomorphism of (
UAAutGroup UA), (
MSAAutGroup (
MSAlg UA)) st for x be
object st x
in (
UAAut UA) holds (h
. x)
= (
0
.--> x) holds h is
bijective
proof
let h be
Homomorphism of (
UAAutGroup UA), (
MSAAutGroup (
MSAlg UA));
set G = (
UAAutGroup UA);
assume
A1: for x be
object st x
in (
UAAut 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
A2: (h
. a)
= (h
. b);
A3: (h
. b)
= (
0
.--> b) by
A1
.=
[:
{
0 },
{b}:];
(h
. a)
= (
0
.--> a) by
A1
.=
[:
{
0 },
{a}:];
then
{a}
=
{b} by
A2,
A3,
ZFMISC_1: 110;
hence thesis by
ZFMISC_1: 3;
end;
then
A4: h is
one-to-one by
GROUP_6: 1;
(
dom h)
= (
UAAut UA) by
FUNCT_2:def 1;
then (
rng h)
= the
carrier of (
MSAAutGroup (
MSAlg UA)) by
A1,
Lm4;
then h is
onto;
hence h is
bijective by
A4;
end;
theorem ::
AUTALG_1:35
((
UAAutGroup UA),(
MSAAutGroup (
MSAlg UA)))
are_isomorphic
proof
deffunc
F(
object) = (
0
.--> $1);
consider h be
Function such that
A1: (
dom h)
= (
UAAut UA) & for x be
object st x
in (
UAAut UA) holds (h
. x)
=
F(x) from
FUNCT_1:sch 3;
reconsider h as
Homomorphism of (
UAAutGroup UA), (
MSAAutGroup (
MSAlg UA)) by
A1,
Th33;
take h;
thus thesis by
A1,
Th34;
end;