grcat_1.miz
begin
reserve x,y for
set;
reserve D for non
empty
set;
reserve UN for
Universe;
theorem ::
GRCAT_1:1
Th1: for u1,u2,u3,u4 be
Element of UN holds
[u1, u2, u3]
in UN &
[u1, u2, u3, u4]
in UN
proof
let u1,u2,u3,u4 be
Element of UN;
[u1, u2, u3]
=
[
[u1, u2], u3] &
[u1, u2, u3, u4]
=
[
[u1, u2, u3], u4];
hence thesis by
CLASSES2: 58;
end;
theorem ::
GRCAT_1:2
Th2: (
op2
. (
{} ,
{} ))
=
{} & (
op1
.
{} )
=
{} &
op0
=
{}
proof
[
{} ,
{} ]
in
[:
{
{} },
{
{} }:] by
ZFMISC_1: 28;
hence (
op2
. (
{} ,
{} ))
=
{} by
FUNCT_2: 50;
{}
in
{
{} } by
TARSKI:def 1;
hence (
op1
.
{} )
=
{} by
FUNCT_2: 50;
thus thesis;
end;
theorem ::
GRCAT_1:3
Th3:
{
{} }
in UN &
[
{
{} },
{
{} }]
in UN &
[:
{
{} },
{
{} }:]
in UN &
op2
in UN &
op1
in UN
proof
set D =
{
{} };
thus
A1: D
in UN by
CLASSES2: 56,
CLASSES2: 57;
hence
[D, D]
in UN by
CLASSES2: 58;
A2:
op2
in (
Funcs (
[:D, D:],D)) by
FUNCT_2: 8;
thus
[:D, D:]
in UN by
A1,
CLASSES2: 61;
then (
Funcs (
[:D, D:],D))
in UN by
A1,
CLASSES2: 61;
hence
op2
in UN by
A2,
ORDINAL1: 10;
A3:
op1
in (
Funcs (D,D)) by
FUNCT_2: 8;
(
Funcs (D,D))
in UN by
A1,
CLASSES2: 61;
hence thesis by
A3,
ORDINAL1: 10;
end;
registration
cluster
Trivial-addLoopStr ->
midpoint_operator;
coherence
proof
set G =
Trivial-addLoopStr ;
A1: for a be
Element of G holds ex x be
Element of G st (
Double x)
= a
proof
set x = the
Element of G;
let a be
Element of G;
take x;
thus (
Double x)
=
{} by
TARSKI:def 1
.= a by
TARSKI:def 1;
end;
for a be
Element of G st (
Double a)
= (
0. G) holds a
= (
0. G) by
TARSKI:def 1;
hence thesis by
A1,
MIDSP_2:def 5;
end;
end
theorem ::
GRCAT_1:4
(for x be
Element of
Trivial-addLoopStr holds x
=
{} ) & (for x,y be
Element of
Trivial-addLoopStr holds (x
+ y)
=
{} ) & (for x be
Element of
Trivial-addLoopStr holds (
- x)
=
{} ) & (
0.
Trivial-addLoopStr )
=
{} by
TARSKI:def 1;
reserve C for
Category;
reserve O for non
empty
Subset of the
carrier of C;
definition
let C, O;
::
GRCAT_1:def1
func
Morphs (O) ->
Subset of the
carrier' of C equals (
union { (
Hom (a,b)) where a be
Object of C, b be
Object of C : a
in O & b
in O });
coherence by
CAT_2: 19;
end
registration
let C, O;
cluster (
Morphs O) -> non
empty;
coherence by
CAT_2: 19;
end
definition
let C, O;
::
GRCAT_1:def2
func
dom (O) ->
Function of (
Morphs O), O equals (the
Source of C
| (
Morphs O));
coherence by
CAT_2: 20;
::
GRCAT_1:def3
func
cod (O) ->
Function of (
Morphs O), O equals (the
Target of C
| (
Morphs O));
coherence by
CAT_2: 20;
::
GRCAT_1:def4
func
comp (O) ->
PartFunc of
[:(
Morphs O), (
Morphs O):], (
Morphs O) equals (the
Comp of C
|| (
Morphs O));
coherence by
CAT_2: 20;
::$Canceled
end
definition
let C, O;
::
GRCAT_1:def6
func
cat (O) ->
Subcategory of C equals
CatStr (# O, (
Morphs O), (
dom O), (
cod O), (
comp O) #);
coherence by
CAT_2: 21;
end
registration
let C, O;
cluster (
cat O) ->
strict;
coherence ;
end
theorem ::
GRCAT_1:5
the
carrier of (
cat O)
= O;
definition
let G be non
empty
1-sorted, H be non
empty
ZeroStr;
::
GRCAT_1:def7
func
ZeroMap (G,H) ->
Function of G, H equals (the
carrier of G
--> (
0. H));
coherence ;
end
theorem ::
GRCAT_1:6
Th6: (
comp
Trivial-addLoopStr )
=
op1
proof
reconsider f = (
comp
Trivial-addLoopStr ) as
Function of
{
{} },
{
{} };
for x be
object st x
in
{
{} } holds (
op1
. x)
= (f
. x)
proof
let x be
object;
assume x
in
{
{} };
then
reconsider x as
Element of
Trivial-addLoopStr ;
x
=
{} by
TARSKI:def 1;
then (
op1
. x)
= (
- x) by
Th2,
TARSKI:def 1
.= (f
. x) by
VECTSP_1:def 13;
hence thesis;
end;
hence thesis by
FUNCT_2: 12;
end;
registration
let G be non
empty
addMagma, H be
right_zeroed non
empty
addLoopStr;
cluster (
ZeroMap (G,H)) ->
additive;
coherence
proof
set f = (
ZeroMap (G,H));
let x,y be
Element of G;
A1: (f
. y)
= (
0. H) by
FUNCOP_1: 7;
(f
. (x
+ y))
= (
0. H) & (f
. x)
= (
0. H) by
FUNCOP_1: 7;
hence thesis by
A1,
RLVECT_1:def 4;
end;
end
registration
let G be non
empty
addMagma, H be
right_zeroed non
empty
addLoopStr;
cluster
additive for
Function of G, H;
existence
proof
take (
ZeroMap (G,H));
thus thesis;
end;
end
theorem ::
GRCAT_1:7
Th7: for G1,G2,G3 be non
empty
addMagma, f be
Function of G1, G2, g be
Function of G2, G3 st f is
additive & g is
additive holds (g
* f) is
additive
proof
let G1,G2,G3 be non
empty
addMagma, f be
Function of G1, G2, g be
Function of G2, G3 such that
A1: f is
additive and
A2: g is
additive;
set h = (g
* f);
now
let x,y be
Element of G1;
A3: (g
. (f
. x))
= (h
. x) & (g
. (f
. y))
= (h
. y) by
FUNCT_2: 15;
thus (h
. (x
+ y))
= (g
. (f
. (x
+ y))) by
FUNCT_2: 15
.= (g
. ((f
. x)
+ (f
. y))) by
A1
.= ((h
. x)
+ (h
. y)) by
A2,
A3;
end;
hence thesis;
end;
registration
let G1 be non
empty
addMagma, G2,G3 be
right_zeroed non
empty
addLoopStr, f be
additive
Function of G1, G2, g be
additive
Function of G2, G3;
cluster (g
* f) ->
additive;
coherence by
Th7;
end
reserve G,H for
AddGroup;
definition
struct
GroupMorphismStr
(# the
Source,
Target ->
AddGroup,
the
Fun ->
Function of the Source, the Target #)
attr strict
strict;
end
definition
::$Canceled
let f be
GroupMorphismStr;
::
GRCAT_1:def9
func
dom (f) ->
AddGroup equals the
Source of f;
coherence ;
::
GRCAT_1:def10
func
cod (f) ->
AddGroup equals the
Target of f;
coherence ;
end
definition
let f be
GroupMorphismStr;
::
GRCAT_1:def11
func
fun (f) ->
Function of (
dom f), (
cod f) equals the
Fun of f;
coherence ;
end
theorem ::
GRCAT_1:8
for f be
GroupMorphismStr, G1,G2 be
AddGroup, f0 be
Function of G1, G2 st f
=
GroupMorphismStr (# G1, G2, f0 #) holds (
dom f)
= G1 & (
cod f)
= G2 & (
fun f)
= f0;
definition
let G, H;
::
GRCAT_1:def12
func
ZERO (G,H) ->
GroupMorphismStr equals
GroupMorphismStr (# G, H, (
ZeroMap (G,H)) #);
coherence ;
end
registration
let G, H;
cluster (
ZERO (G,H)) ->
strict;
coherence ;
end
definition
let IT be
GroupMorphismStr;
::
GRCAT_1:def13
attr IT is
GroupMorphism-like means
:
Def11: (
fun IT) is
additive;
end
registration
cluster
strict
GroupMorphism-like for
GroupMorphismStr;
existence
proof
set G = the
AddGroup;
set z = (
ZERO (G,G));
z is
GroupMorphism-like;
hence thesis;
end;
end
definition
mode
GroupMorphism is
GroupMorphism-like
GroupMorphismStr;
end
theorem ::
GRCAT_1:9
Th9: for F be
GroupMorphism holds the
Fun of F is
additive
proof
let F be
GroupMorphism;
the
Fun of F
= (
fun F);
hence thesis by
Def11;
end;
registration
let G, H;
cluster (
ZERO (G,H)) ->
GroupMorphism-like;
coherence ;
end
definition
let G, H;
::
GRCAT_1:def14
mode
Morphism of G,H ->
GroupMorphism means
:
Def12: (
dom it )
= G & (
cod it )
= H;
existence
proof
take (
ZERO (G,H));
thus thesis;
end;
end
registration
let G, H;
cluster
strict for
Morphism of G, H;
existence
proof
(
dom (
ZERO (G,H)))
= G & (
cod (
ZERO (G,H)))
= H;
then (
ZERO (G,H)) is
Morphism of G, H by
Def12;
hence thesis;
end;
end
theorem ::
GRCAT_1:10
Th10: for f be
strict
GroupMorphismStr st (
dom f)
= G & (
cod f)
= H & (
fun f) is
additive holds f is
strict
Morphism of G, H
proof
let f be
strict
GroupMorphismStr;
assume that
A1: (
dom f)
= G & (
cod f)
= H and
A2: (
fun f) is
additive;
reconsider f9 = f as
strict
GroupMorphism by
A2,
Def11;
f9 is
strict
Morphism of G, H by
A1,
Def12;
hence thesis;
end;
theorem ::
GRCAT_1:11
Th11: for f be
Function of G, H st f is
additive holds
GroupMorphismStr (# G, H, f #) is
strict
Morphism of G, H
proof
let f be
Function of G, H such that
A1: f is
additive;
set F =
GroupMorphismStr (# G, H, f #);
(
fun F)
= f;
hence thesis by
A1,
Th10;
end;
registration
let G be non
empty
addMagma;
cluster (
id G) ->
additive;
coherence
proof
set f = (
id G);
let x,y be
Element of G;
(f
. (x
+ y))
= (x
+ y) & (f
. x)
= x by
FUNCT_1: 18;
hence thesis by
FUNCT_1: 18;
end;
end
definition
let G;
::
GRCAT_1:def15
func
ID G ->
Morphism of G, G equals
GroupMorphismStr (# G, G, (
id G) #);
coherence
proof
set i =
GroupMorphismStr (# G, G, (
id G) #);
(
fun i)
= (
id G);
hence thesis by
Th10;
end;
end
registration
let G;
cluster (
ID G) ->
strict;
coherence ;
end
definition
let G, H;
:: original:
ZERO
redefine
func
ZERO (G,H) ->
strict
Morphism of G, H ;
coherence
proof
set i = (
ZERO (G,H));
(
fun i)
= (
ZeroMap (G,H));
hence thesis by
Th10;
end;
end
theorem ::
GRCAT_1:12
Th12: for F be
Morphism of G, H holds ex f be
Function of G, H st the GroupMorphismStr of F
=
GroupMorphismStr (# G, H, f #) & f is
additive
proof
let F be
Morphism of G, H;
A1: the
Target of F
= (
cod F)
.= H by
Def12;
A2: the
Source of F
= (
dom F)
.= G by
Def12;
then
reconsider f = the
Fun of F as
Function of G, H by
A1;
take f;
thus thesis by
A2,
A1,
Th9;
end;
theorem ::
GRCAT_1:13
Th13: for F be
strict
Morphism of G, H holds ex f be
Function of G, H st F
=
GroupMorphismStr (# G, H, f #)
proof
let F be
strict
Morphism of G, H;
consider f be
Function of G, H such that
A1: F
=
GroupMorphismStr (# G, H, f #) and f is
additive by
Th12;
take f;
thus thesis by
A1;
end;
theorem ::
GRCAT_1:14
Th14: for F be
GroupMorphism holds ex G, H st F is
Morphism of G, H
proof
let F be
GroupMorphism;
take G = the
Source of F, H = the
Target of F;
(
dom F)
= G & (
cod F)
= H;
hence thesis by
Def12;
end;
theorem ::
GRCAT_1:15
for F be
strict
GroupMorphism holds ex G,H be
AddGroup, f be
Function of G, H st F is
Morphism of G, H & F
=
GroupMorphismStr (# G, H, f #) & f is
additive
proof
let F be
strict
GroupMorphism;
consider G, H such that
A1: F is
Morphism of G, H by
Th14;
reconsider F9 = F as
Morphism of G, H by
A1;
consider f be
Function of G, H such that
A2: F9
=
GroupMorphismStr (# G, H, f #) & f is
additive by
Th12;
take G, H, f;
thus thesis by
A2;
end;
theorem ::
GRCAT_1:16
Th16: for g,f be
GroupMorphism st (
dom g)
= (
cod f) holds ex G1,G2,G3 be
AddGroup st g is
Morphism of G2, G3 & f is
Morphism of G1, G2
proof
defpred
P[
GroupMorphism,
GroupMorphism] means (
dom $1)
= (
cod $2);
let g,f be
GroupMorphism such that
A1:
P[g, f];
consider G2,G3 be
AddGroup such that
A2: g is
Morphism of G2, G3 by
Th14;
consider G1,G29 be
AddGroup such that
A3: f is
Morphism of G1, G29 by
Th14;
A4: G29
= (
cod f) by
A3,
Def12;
G2
= (
dom g) by
A2,
Def12;
hence thesis by
A1,
A2,
A3,
A4;
end;
definition
let G,F be
GroupMorphism;
assume
A1: (
dom G)
= (
cod F);
::
GRCAT_1:def16
func G
* F ->
strict
GroupMorphism means
:
Def14: for G1,G2,G3 be
AddGroup, g be
Function of G2, G3, f be
Function of G1, G2 st the GroupMorphismStr of G
=
GroupMorphismStr (# G2, G3, g #) & the GroupMorphismStr of F
=
GroupMorphismStr (# G1, G2, f #) holds it
=
GroupMorphismStr (# G1, G3, (g
* f) #);
existence
proof
consider G19,G29,G39 be
AddGroup such that
A2: G is
Morphism of G29, G39 and
A3: F is
Morphism of G19, G29 by
A1,
Th16;
consider f9 be
Function of G19, G29 such that
A4: the GroupMorphismStr of F
=
GroupMorphismStr (# G19, G29, f9 #) and
A5: f9 is
additive by
A3,
Th12;
consider g9 be
Function of G29, G39 such that
A6: the GroupMorphismStr of G
=
GroupMorphismStr (# G29, G39, g9 #) and
A7: g9 is
additive by
A2,
Th12;
(g9
* f9) is
additive by
A7,
A5;
then
reconsider T9 =
GroupMorphismStr (# G19, G39, (g9
* f9) #) as
strict
GroupMorphism by
Th11;
take T9;
thus thesis by
A6,
A4;
end;
uniqueness
proof
consider G19,G299 be
AddGroup such that
A8: F is
Morphism of G19, G299 by
Th14;
reconsider F9 = F as
Morphism of G19, G299 by
A8;
consider G29,G39 be
AddGroup such that
A9: G is
Morphism of G29, G39 by
Th14;
G29
= (
dom G) by
A9,
Def12;
then
reconsider F9 as
Morphism of G19, G29 by
A1,
Def12;
consider f9 be
Function of G19, G29 such that
A10: the GroupMorphismStr of F9
=
GroupMorphismStr (# G19, G29, f9 #) and f9 is
additive by
Th12;
reconsider G9 = G as
Morphism of G29, G39 by
A9;
let S1,S2 be
strict
GroupMorphism such that
A11: for G1,G2,G3 be
AddGroup, g be
Function of G2, G3, f be
Function of G1, G2 st the GroupMorphismStr of G
=
GroupMorphismStr (# G2, G3, g #) & the GroupMorphismStr of F
=
GroupMorphismStr (# G1, G2, f #) holds S1
=
GroupMorphismStr (# G1, G3, (g
* f) #) and
A12: for G1,G2,G3 be
AddGroup, g be
Function of G2, G3, f be
Function of G1, G2 st the GroupMorphismStr of G
=
GroupMorphismStr (# G2, G3, g #) & the GroupMorphismStr of F
=
GroupMorphismStr (# G1, G2, f #) holds S2
=
GroupMorphismStr (# G1, G3, (g
* f) #);
consider g9 be
Function of G29, G39 such that
A13: the GroupMorphismStr of G9
=
GroupMorphismStr (# G29, G39, g9 #) and g9 is
additive by
Th12;
thus S1
=
GroupMorphismStr (# G19, G39, (g9
* f9) #) by
A11,
A13,
A10
.= S2 by
A12,
A13,
A10;
end;
end
theorem ::
GRCAT_1:17
Th17: for G1,G2,G3 be
AddGroup, G be
Morphism of G2, G3, F be
Morphism of G1, G2 holds (G
* F) is
Morphism of G1, G3
proof
let G1,G2,G3 be
AddGroup, G be
Morphism of G2, G3, F be
Morphism of G1, G2;
consider g be
Function of G2, G3 such that
A1: the GroupMorphismStr of G
=
GroupMorphismStr (# G2, G3, g #) and g is
additive by
Th12;
consider f be
Function of G1, G2 such that
A2: the GroupMorphismStr of F
=
GroupMorphismStr (# G1, G2, f #) and f is
additive by
Th12;
(
dom G)
= G2 by
Def12
.= (
cod F) by
Def12;
then (G
* F)
=
GroupMorphismStr (# G1, G3, (g
* f) #) by
A1,
A2,
Def14;
then (
dom (G
* F))
= G1 & (
cod (G
* F))
= G3;
hence thesis by
Def12;
end;
definition
let G1,G2,G3 be
AddGroup, G be
Morphism of G2, G3, F be
Morphism of G1, G2;
:: original:
*
redefine
func G
* F ->
strict
Morphism of G1, G3 ;
coherence by
Th17;
end
theorem ::
GRCAT_1:18
Th18: for G1,G2,G3 be
AddGroup, G be
Morphism of G2, G3, F be
Morphism of G1, G2, g be
Function of G2, G3, f be
Function of G1, G2 st G
=
GroupMorphismStr (# G2, G3, g #) & F
=
GroupMorphismStr (# G1, G2, f #) holds (G
* F)
=
GroupMorphismStr (# G1, G3, (g
* f) #)
proof
let G1,G2,G3 be
AddGroup, G be
Morphism of G2, G3, F be
Morphism of G1, G2, g be
Function of G2, G3, f be
Function of G1, G2 such that
A1: G
=
GroupMorphismStr (# G2, G3, g #) & F
=
GroupMorphismStr (# G1, G2, f #);
(
dom G)
= G2 by
Def12
.= (
cod F) by
Def12;
hence thesis by
A1,
Def14;
end;
theorem ::
GRCAT_1:19
Th19: for f,g be
strict
GroupMorphism st (
dom g)
= (
cod f) holds ex G1,G2,G3 be
AddGroup, f0 be
Function of G1, G2, g0 be
Function of G2, G3 st f
=
GroupMorphismStr (# G1, G2, f0 #) & g
=
GroupMorphismStr (# G2, G3, g0 #) & (g
* f)
=
GroupMorphismStr (# G1, G3, (g0
* f0) #)
proof
let f,g be
strict
GroupMorphism such that
A1: (
dom g)
= (
cod f);
set G1 = (
dom f), G2 = (
cod f), G3 = (
cod g);
reconsider f9 = f as
strict
Morphism of G1, G2 by
Def12;
reconsider g9 = g as
strict
Morphism of G2, G3 by
A1,
Def12;
consider f0 be
Function of G1, G2 such that
A2: f9
=
GroupMorphismStr (# G1, G2, f0 #);
consider g0 be
Function of G2, G3 such that
A3: g9
=
GroupMorphismStr (# G2, G3, g0 #) by
Th13;
take G1, G2, G3, f0, g0;
thus thesis by
A2,
A3,
Th18;
end;
theorem ::
GRCAT_1:20
Th20: for f,g be
strict
GroupMorphism st (
dom g)
= (
cod f) holds (
dom (g
* f))
= (
dom f) & (
cod (g
* f))
= (
cod g)
proof
let f,g be
strict
GroupMorphism;
assume (
dom g)
= (
cod f);
then
A1: ex G1,G2,G3 be
AddGroup, f0 be
Function of G1, G2, g0 be
Function of G2, G3 st f
=
GroupMorphismStr (# G1, G2, f0 #) & g
=
GroupMorphismStr (# G2, G3, g0 #) & (g
* f)
=
GroupMorphismStr (# G1, G3, (g0
* f0) #) by
Th19;
hence (
dom (g
* f))
= (
dom f);
thus thesis by
A1;
end;
theorem ::
GRCAT_1:21
Th21: for G1,G2,G3,G4 be
AddGroup, f be
strict
Morphism of G1, G2, g be
strict
Morphism of G2, G3, h be
strict
Morphism of G3, G4 holds (h
* (g
* f))
= ((h
* g)
* f)
proof
let G1,G2,G3,G4 be
AddGroup, f be
strict
Morphism of G1, G2, g be
strict
Morphism of G2, G3, h be
strict
Morphism of G3, G4;
consider f0 be
Function of G1, G2 such that
A1: f
=
GroupMorphismStr (# G1, G2, f0 #) by
Th13;
consider g0 be
Function of G2, G3 such that
A2: g
=
GroupMorphismStr (# G2, G3, g0 #) by
Th13;
consider h0 be
Function of G3, G4 such that
A3: h
=
GroupMorphismStr (# G3, G4, h0 #) by
Th13;
A4: (h
* g)
=
GroupMorphismStr (# G2, G4, (h0
* g0) #) by
A2,
A3,
Th18;
(g
* f)
=
GroupMorphismStr (# G1, G3, (g0
* f0) #) by
A1,
A2,
Th18;
then (h
* (g
* f))
=
GroupMorphismStr (# G1, G4, (h0
* (g0
* f0)) #) by
A3,
Th18
.=
GroupMorphismStr (# G1, G4, ((h0
* g0)
* f0) #) by
RELAT_1: 36
.= ((h
* g)
* f) by
A1,
A4,
Th18;
hence thesis;
end;
theorem ::
GRCAT_1:22
Th22: for f,g,h be
strict
GroupMorphism st (
dom h)
= (
cod g) & (
dom g)
= (
cod f) holds (h
* (g
* f))
= ((h
* g)
* f)
proof
let f,g,h be
strict
GroupMorphism such that
A1: (
dom h)
= (
cod g) and
A2: (
dom g)
= (
cod f);
set G2 = (
cod f), G3 = (
cod g);
reconsider h9 = h as
Morphism of G3, (
cod h) by
A1,
Def12;
reconsider g9 = g as
Morphism of G2, G3 by
A2,
Def12;
reconsider f9 = f as
Morphism of (
dom f), G2 by
Def12;
(h9
* (g9
* f9))
= ((h9
* g9)
* f9) by
Th21;
hence thesis;
end;
theorem ::
GRCAT_1:23
(
dom (
ID G))
= G & (
cod (
ID G))
= G & (for f be
strict
GroupMorphism st (
cod f)
= G holds ((
ID G)
* f)
= f) & for g be
strict
GroupMorphism st (
dom g)
= G holds (g
* (
ID G))
= g
proof
set i = (
ID G);
thus (
dom i)
= G;
thus (
cod i)
= G;
thus for f be
strict
GroupMorphism st (
cod f)
= G holds (i
* f)
= f
proof
let f be
strict
GroupMorphism such that
A1: (
cod f)
= G;
set H = (
dom f);
reconsider f9 = f as
Morphism of H, G by
A1,
Def12;
consider m be
Function of H, G such that
A2: f9
=
GroupMorphismStr (# H, G, m #) by
Th13;
(
dom i)
= G & ((
id G)
* m)
= m by
FUNCT_2: 17;
hence thesis by
A1,
A2,
Def14;
end;
thus for g be
strict
GroupMorphism st (
dom g)
= G holds (g
* (
ID G))
= g
proof
let f be
strict
GroupMorphism such that
A3: (
dom f)
= G;
set H = (
cod f);
reconsider f9 = f as
Morphism of G, H by
A3,
Def12;
consider m be
Function of G, H such that
A4: f9
=
GroupMorphismStr (# G, H, m #) by
Th13;
(
cod i)
= G & (m
* (
id G))
= m by
FUNCT_2: 17;
hence thesis by
A3,
A4,
Def14;
end;
end;
definition
let IT be
set;
::
GRCAT_1:def17
attr IT is
Group_DOMAIN-like means
:
Def15: for x be
object st x
in IT holds x is
strict
AddGroup;
end
registration
cluster
Group_DOMAIN-like non
empty for
set;
existence
proof
set D =
{
Trivial-addLoopStr };
take D;
for x be
object st x
in D holds x is
strict
AddGroup by
TARSKI:def 1;
hence thesis;
end;
end
definition
mode
Group_DOMAIN is
Group_DOMAIN-like non
empty
set;
end
reserve V for
Group_DOMAIN;
definition
let V;
:: original:
Element
redefine
mode
Element of V ->
AddGroup ;
coherence by
Def15;
end
registration
let V;
cluster
strict for
Element of V;
existence
proof
set v = the
Element of V;
v is
strict
AddGroup by
Def15;
hence thesis;
end;
end
definition
let IT be
set;
::
GRCAT_1:def18
attr IT is
GroupMorphism_DOMAIN-like means
:
Def16: for x be
object st x
in IT holds x is
strict
GroupMorphism;
end
registration
cluster
GroupMorphism_DOMAIN-like non
empty for
set;
existence
proof
set G = the
AddGroup;
take
{(
ID G)};
for x be
object st x
in
{(
ID G)} holds x is
strict
GroupMorphism by
TARSKI:def 1;
hence thesis;
end;
end
definition
mode
GroupMorphism_DOMAIN is
GroupMorphism_DOMAIN-like non
empty
set;
end
definition
let M be
GroupMorphism_DOMAIN;
:: original:
Element
redefine
mode
Element of M ->
GroupMorphism ;
coherence by
Def16;
end
registration
let M be
GroupMorphism_DOMAIN;
cluster
strict for
Element of M;
existence
proof
set m = the
Element of M;
m is
strict
GroupMorphism by
Def16;
hence thesis;
end;
end
theorem ::
GRCAT_1:24
Th24: for f be
strict
GroupMorphism holds
{f} is
GroupMorphism_DOMAIN
proof
let f be
strict
GroupMorphism;
for x be
object st x
in
{f} holds x is
strict
GroupMorphism by
TARSKI:def 1;
hence thesis by
Def16;
end;
definition
let G, H;
::
GRCAT_1:def19
mode
GroupMorphism_DOMAIN of G,H ->
GroupMorphism_DOMAIN means
:
Def17: for x be
Element of it holds x is
strict
Morphism of G, H;
existence
proof
reconsider D =
{(
ZERO (G,H))} as
GroupMorphism_DOMAIN by
Th24;
take D;
thus thesis by
TARSKI:def 1;
end;
end
theorem ::
GRCAT_1:25
Th25: D is
GroupMorphism_DOMAIN of G, H iff for x be
Element of D holds x is
strict
Morphism of G, H
proof
thus D is
GroupMorphism_DOMAIN of G, H implies for x be
Element of D holds x is
strict
Morphism of G, H by
Def17;
thus (for x be
Element of D holds x is
strict
Morphism of G, H) implies D is
GroupMorphism_DOMAIN of G, H
proof
assume
A1: for x be
Element of D holds x is
strict
Morphism of G, H;
then for x be
object st x
in D holds x is
strict
GroupMorphism;
then
reconsider D9 = D as
GroupMorphism_DOMAIN by
Def16;
for x be
Element of D9 holds x is
strict
Morphism of G, H by
A1;
hence thesis by
Def17;
end;
end;
theorem ::
GRCAT_1:26
for f be
strict
Morphism of G, H holds
{f} is
GroupMorphism_DOMAIN of G, H
proof
let f be
strict
Morphism of G, H;
for x be
Element of
{f} holds x is
strict
Morphism of G, H by
TARSKI:def 1;
hence thesis by
Th25;
end;
definition
let G,H be
1-sorted;
::
GRCAT_1:def20
mode
MapsSet of G,H ->
set means
:
Def18: for x be
set st x
in it holds x is
Function of G, H;
existence
proof
take
{} ;
thus thesis;
end;
end
definition
let G,H be
1-sorted;
::
GRCAT_1:def21
func
Maps (G,H) ->
MapsSet of G, H equals (
Funcs (the
carrier of G,the
carrier of H));
coherence
proof
let x be
set;
assume x
in (
Funcs (the
carrier of G,the
carrier of H));
hence thesis by
FUNCT_2: 66;
end;
end
registration
let G be
1-sorted, H be non
empty
1-sorted;
cluster (
Maps (G,H)) -> non
empty;
coherence ;
end
registration
let G be
1-sorted, H be non
empty
1-sorted;
cluster non
empty for
MapsSet of G, H;
existence
proof
(
Maps (G,H)) is non
empty;
hence thesis;
end;
end
definition
let G be
1-sorted, H be non
empty
1-sorted;
let M be non
empty
MapsSet of G, H;
:: original:
Element
redefine
mode
Element of M ->
Function of G, H ;
coherence by
Def18;
end
definition
let G, H;
::
GRCAT_1:def22
func
Morphs (G,H) ->
GroupMorphism_DOMAIN of G, H means
:
Def20: for x be
object holds x
in it iff x is
strict
Morphism of G, H;
existence
proof
reconsider f0 = (
ZeroMap (G,H)) as
Element of (
Maps (G,H)) by
FUNCT_2: 8;
set D = {
GroupMorphismStr (# G, H, f #) where f be
Element of (
Maps (G,H)) : f is
additive };
GroupMorphismStr (# G, H, f0 #)
in D;
then
reconsider D as non
empty
set;
A1: for x be
object holds x
in D implies x is
strict
Morphism of G, H
proof
let x be
object;
assume x
in D;
then ex f be
Element of (
Maps (G,H)) st x
=
GroupMorphismStr (# G, H, f #) & f is
additive;
hence thesis by
Th11;
end;
then
A2: for x be
Element of D holds x is
strict
Morphism of G, H;
A3: for x be
object holds x is
strict
Morphism of G, H implies x
in D
proof
let x be
object;
assume x is
strict
Morphism of G, H;
then
reconsider x as
strict
Morphism of G, H;
A4: (
dom x)
= G & (
cod x)
= H by
Def12;
then
reconsider f = the
Fun of x as
Function of G, H;
reconsider g = f as
Element of (
Maps (G,H)) by
FUNCT_2: 8;
A5: x
=
GroupMorphismStr (# G, H, g #) by
A4;
the
Fun of x is
additive by
Th9;
hence thesis by
A5;
end;
reconsider D as
GroupMorphism_DOMAIN of G, H by
A2,
Th25;
take D;
thus thesis by
A1,
A3;
end;
uniqueness
proof
let D1,D2 be
GroupMorphism_DOMAIN of G, H such that
A6: for x be
object holds x
in D1 iff x is
strict
Morphism of G, H and
A7: for x be
object holds x
in D2 iff x is
strict
Morphism of G, H;
for x be
object holds x
in D1 iff x
in D2
proof
let x be
object;
thus x
in D1 implies x
in D2
proof
assume x
in D1;
then x is
strict
Morphism of G, H by
A6;
hence thesis by
A7;
end;
thus x
in D2 implies x
in D1
proof
assume x
in D2;
then x is
strict
Morphism of G, H by
A7;
hence thesis by
A6;
end;
end;
hence thesis by
TARSKI: 2;
end;
end
definition
let G, H;
let M be
GroupMorphism_DOMAIN of G, H;
:: original:
Element
redefine
mode
Element of M ->
Morphism of G, H ;
coherence by
Def17;
end
registration
let G, H;
let M be
GroupMorphism_DOMAIN of G, H;
cluster
strict for
Element of M;
existence
proof
set m = the
Element of M;
m is
strict
Morphism of G, H by
Def17;
hence thesis;
end;
end
definition
let x,y be
object;
::
GRCAT_1:def23
pred
GO x,y means ex x1,x2,x3,x4 be
set st x
=
[x1, x2, x3, x4] & ex G be
strict
AddGroup st y
= G & x1
= the
carrier of G & x2
= the
addF of G & x3
= (
comp G) & x4
= (
0. G);
end
theorem ::
GRCAT_1:27
Th27: for x,y1,y2 be
object st
GO (x,y1) &
GO (x,y2) holds y1
= y2
proof
let x,y1,y2 be
object such that
A1:
GO (x,y1) and
A2:
GO (x,y2);
consider a1,a2,a3,a4 be
set such that
A3: x
=
[a1, a2, a3, a4] and
A4: ex G be
strict
AddGroup st y1
= G & a1
= the
carrier of G & a2
= the
addF of G & a3
= (
comp G) & a4
= (
0. G) by
A1;
consider G1 be
strict
AddGroup such that
A5: y1
= G1 and
A6: a1
= the
carrier of G1 & a2
= the
addF of G1 and a3
= (
comp G1) and
A7: a4
= (
0. G1) by
A4;
consider b1,b2,b3,b4 be
set such that
A8: x
=
[b1, b2, b3, b4] and
A9: ex G be
strict
AddGroup st y2
= G & b1
= the
carrier of G & b2
= the
addF of G & b3
= (
comp G) & b4
= (
0. G) by
A2;
consider G2 be
strict
AddGroup such that
A10: y2
= G2 and
A11: b1
= the
carrier of G2 & b2
= the
addF of G2 and b3
= (
comp G2) and
A12: b4
= (
0. G2) by
A9;
the
carrier of G1
= the
carrier of G2 & the
addF of G1
= the
addF of G2 by
A3,
A8,
A6,
A11,
XTUPLE_0: 5;
hence thesis by
A3,
A8,
A5,
A7,
A10,
A12,
XTUPLE_0: 5;
end;
theorem ::
GRCAT_1:28
Th28: ex x st x
in UN &
GO (x,
Trivial-addLoopStr )
proof
reconsider x2 =
op2 as
Element of UN by
Th3;
reconsider x3 = (
comp
Trivial-addLoopStr ) as
Element of UN by
Th3,
Th6;
reconsider u =
{} as
Element of UN by
CLASSES2: 56;
set x1 =
{u};
(
Extract
{} )
= u;
then
reconsider x4 = (
Extract
{} ) as
Element of UN;
reconsider x =
[x1, x2, x3, x4] as
set by
TARSKI: 1;
take x;
thus x
in UN by
Th1;
take x1, x2, x3, x4;
thus x
=
[x1, x2, x3, x4];
take
Trivial-addLoopStr ;
thus thesis;
end;
definition
let UN;
::
GRCAT_1:def24
func
GroupObjects (UN) ->
set means
:
Def22: for y be
object holds y
in it iff ex x be
object st x
in UN &
GO (x,y);
existence
proof
defpred
P[
object,
object] means
GO ($1,$2);
A1: for x,y1,y2 be
object st
P[x, y1] &
P[x, y2] holds y1
= y2 by
Th27;
consider Y be
set such that
A2: for y be
object holds y
in Y iff ex x be
object st x
in UN &
P[x, y] from
TARSKI:sch 1(
A1);
take Y;
let y be
object;
thus y
in Y implies ex x be
object st x
in UN &
GO (x,y) by
A2;
thus thesis by
A2;
end;
uniqueness
proof
defpred
P[
object] means ex x be
object st x
in UN &
GO (x,$1);
for X1,X2 be
set st (for x be
object holds x
in X1 iff
P[x]) & (for x be
object holds x
in X2 iff
P[x]) holds X1
= X2 from
XBOOLE_0:sch 3;
hence thesis;
end;
end
theorem ::
GRCAT_1:29
Th29:
Trivial-addLoopStr
in (
GroupObjects UN)
proof
ex x st x
in UN &
GO (x,
Trivial-addLoopStr ) by
Th28;
hence thesis by
Def22;
end;
registration
let UN;
cluster (
GroupObjects UN) -> non
empty;
coherence by
Th29;
end
theorem ::
GRCAT_1:30
Th30: for x be
Element of (
GroupObjects UN) holds x is
strict
AddGroup
proof
let x be
Element of (
GroupObjects UN);
consider u be
object such that u
in UN and
A1:
GO (u,x) by
Def22;
ex x1,x2,x3,x4 be
set st u
=
[x1, x2, x3, x4] & ex G be
strict
AddGroup st x
= G & x1
= the
carrier of G & x2
= the
addF of G & x3
= (
comp G) & x4
= (
0. G) by
A1;
hence thesis;
end;
registration
let UN;
cluster (
GroupObjects UN) ->
Group_DOMAIN-like;
coherence by
Th30;
end
definition
let V;
::
GRCAT_1:def25
func
Morphs (V) ->
GroupMorphism_DOMAIN means
:
Def23: for x be
object holds x
in it iff ex G,H be
strict
Element of V st x is
strict
Morphism of G, H;
existence
proof
set G0 = the
strict
Element of V;
set M = (
Morphs (G0,G0)), S = the set of all (
Morphs (G,H)) where G be
strict
Element of V, H be
strict
Element of V;
(
ZERO (G0,G0)) is
Element of M & M
in S by
Def20;
then
reconsider T = (
union S) as non
empty
set by
TARSKI:def 4;
A1: for x be
object holds x
in T iff ex G,H be
strict
Element of V st x is
strict
Morphism of G, H
proof
let x be
object;
thus x
in T implies ex G,H be
strict
Element of V st x is
strict
Morphism of G, H
proof
assume x
in T;
then
consider Y be
set such that
A2: x
in Y and
A3: Y
in S by
TARSKI:def 4;
consider G,H be
strict
Element of V such that
A4: Y
= (
Morphs (G,H)) by
A3;
take G, H;
thus thesis by
A2,
A4,
Def20;
end;
thus (ex G,H be
strict
Element of V st x is
strict
Morphism of G, H) implies x
in T
proof
given G,H be
strict
Element of V such that
A5: x is
strict
Morphism of G, H;
set M = (
Morphs (G,H));
A6: M
in S;
x
in M by
A5,
Def20;
hence thesis by
A6,
TARSKI:def 4;
end;
end;
now
let x be
object;
assume x
in T;
then ex G,H be
strict
Element of V st x is
strict
Morphism of G, H by
A1;
hence x is
strict
GroupMorphism;
end;
then
reconsider T9 = T as
GroupMorphism_DOMAIN by
Def16;
take T9;
thus thesis by
A1;
end;
uniqueness
proof
let D1,D2 be
GroupMorphism_DOMAIN such that
A7: for x be
object holds x
in D1 iff ex G,H be
strict
Element of V st x is
strict
Morphism of G, H and
A8: for x be
object holds x
in D2 iff ex G,H be
strict
Element of V st x is
strict
Morphism of G, H;
now
let x be
object;
x
in D1 iff ex G,H be
strict
Element of V st x is
strict
Morphism of G, H by
A7;
hence x
in D1 iff x
in D2 by
A8;
end;
hence thesis by
TARSKI: 2;
end;
end
definition
let V;
let F be
Element of (
Morphs V);
:: original:
dom
redefine
func
dom (F) ->
strict
Element of V ;
coherence
proof
consider G,H be
strict
Element of V such that
A1: F is
strict
Morphism of G, H by
Def23;
reconsider F9 = F as
Morphism of G, H by
A1;
(
dom F9)
= G by
Def12;
hence thesis;
end;
:: original:
cod
redefine
func
cod (F) ->
strict
Element of V ;
coherence
proof
consider G,H be
strict
Element of V such that
A2: F is
strict
Morphism of G, H by
Def23;
reconsider F9 = F as
Morphism of G, H by
A2;
(
cod F9)
= H by
Def12;
hence thesis;
end;
end
definition
let V;
let G be
Element of V;
::
GRCAT_1:def26
func
ID (G) ->
strict
Element of (
Morphs V) equals (
ID G);
coherence
proof
reconsider G9 = G as
strict
Element of V by
Def15;
(
ID G9) is
strict
Element of (
Morphs V) by
Def23;
hence thesis;
end;
end
definition
let V;
::
GRCAT_1:def27
func
dom (V) ->
Function of (
Morphs V), V means
:
Def25: for f be
Element of (
Morphs V) holds (it
. f)
= (
dom f);
existence
proof
deffunc
F(
Element of (
Morphs V)) = (
dom $1);
consider F be
Function of (
Morphs V), V such that
A1: for f be
Element of (
Morphs V) holds (F
. f)
=
F(f) from
FUNCT_2:sch 4;
take F;
thus thesis by
A1;
end;
uniqueness
proof
let F1,F2 be
Function of (
Morphs V), V such that
A2: for f be
Element of (
Morphs V) holds (F1
. f)
= (
dom f) and
A3: for f be
Element of (
Morphs V) holds (F2
. f)
= (
dom f);
now
let f be
Element of (
Morphs V);
(F1
. f)
= (
dom f) by
A2;
hence (F1
. f)
= (F2
. f) by
A3;
end;
hence thesis by
FUNCT_2: 63;
end;
::
GRCAT_1:def28
func
cod (V) ->
Function of (
Morphs V), V means
:
Def26: for f be
Element of (
Morphs V) holds (it
. f)
= (
cod f);
existence
proof
deffunc
F(
Element of (
Morphs V)) = (
cod $1);
consider F be
Function of (
Morphs V), V such that
A4: for f be
Element of (
Morphs V) holds (F
. f)
=
F(f) from
FUNCT_2:sch 4;
take F;
thus thesis by
A4;
end;
uniqueness
proof
let F1,F2 be
Function of (
Morphs V), V such that
A5: for f be
Element of (
Morphs V) holds (F1
. f)
= (
cod f) and
A6: for f be
Element of (
Morphs V) holds (F2
. f)
= (
cod f);
now
let f be
Element of (
Morphs V);
(F1
. f)
= (
cod f) by
A5;
hence (F1
. f)
= (F2
. f) by
A6;
end;
hence thesis by
FUNCT_2: 63;
end;
end
theorem ::
GRCAT_1:31
Th31: for g,f be
Element of (
Morphs V) st (
dom g)
= (
cod f) holds ex G1,G2,G3 be
strict
Element of V st g is
Morphism of G2, G3 & f is
Morphism of G1, G2
proof
set X = (
Morphs V);
defpred
P[
Element of X,
Element of X] means (
dom $1)
= (
cod $2);
let g,f be
Element of X such that
A1:
P[g, f];
consider G2,G3 be
strict
Element of V such that
A2: g is
strict
Morphism of G2, G3 by
Def23;
consider G1,G29 be
strict
Element of V such that
A3: f is
strict
Morphism of G1, G29 by
Def23;
A4: G29
= (
cod f) by
A3,
Def12;
G2
= (
dom g) by
A2,
Def12;
hence thesis by
A1,
A2,
A3,
A4;
end;
theorem ::
GRCAT_1:32
Th32: for g,f be
Element of (
Morphs V) st (
dom g)
= (
cod f) holds (g
* f)
in (
Morphs V)
proof
set X = (
Morphs V);
defpred
P[
Element of X,
Element of X] means (
dom $1)
= (
cod $2);
let g,f be
Element of X;
assume
P[g, f];
then
consider G1,G2,G3 be
strict
Element of V such that
A1: g is
Morphism of G2, G3 and
A2: f is
Morphism of G1, G2 by
Th31;
reconsider f9 = f as
Morphism of G1, G2 by
A2;
reconsider g9 = g as
Morphism of G2, G3 by
A1;
(g9
* f9) is
Morphism of G1, G3;
hence thesis by
Def23;
end;
definition
let V;
::
GRCAT_1:def29
func
comp (V) ->
PartFunc of
[:(
Morphs V), (
Morphs V):], (
Morphs V) means
:
Def27: (for g,f be
Element of (
Morphs V) holds
[g, f]
in (
dom it ) iff (
dom g)
= (
cod f)) & for g,f be
Element of (
Morphs V) st
[g, f]
in (
dom it ) holds (it
. (g,f))
= (g
* f);
existence
proof
set X = (
Morphs V);
defpred
P[
Element of X,
Element of X] means (
dom $1)
= (
cod $2);
deffunc
F(
Element of X,
Element of X) = ($1
* $2);
A1: for g,f be
Element of X st
P[g, f] holds
F(g,f)
in X by
Th32;
consider c be
PartFunc of
[:X, X:], X such that
A2: (for g,f be
Element of X holds
[g, f]
in (
dom c) iff
P[g, f]) & for g,f be
Element of X st
[g, f]
in (
dom c) holds (c
. (g,f))
=
F(g,f) from
BINOP_1:sch 8(
A1);
take c;
thus thesis by
A2;
end;
uniqueness
proof
set X = (
Morphs V);
defpred
P[
Element of X,
Element of X] means (
dom $1)
= (
cod $2);
let c1,c2 be
PartFunc of
[:X, X:], X such that
A3: for g,f be
Element of X holds
[g, f]
in (
dom c1) iff
P[g, f] and
A4: for g,f be
Element of X st
[g, f]
in (
dom c1) holds (c1
. (g,f))
= (g
* f) and
A5: for g,f be
Element of X holds
[g, f]
in (
dom c2) iff
P[g, f] and
A6: for g,f be
Element of X st
[g, f]
in (
dom c2) holds (c2
. (g,f))
= (g
* f);
set V9 = (
dom c1);
A7: (
dom c1)
c=
[:X, X:] by
RELAT_1:def 18;
now
let x be
object;
assume
A8: x
in (
dom c1);
then
consider g,f be
Element of X such that
A9: x
=
[g, f] by
A7,
SUBSET_1: 43;
P[g, f] by
A3,
A8,
A9;
hence x
in (
dom c2) by
A5,
A9;
end;
then
A10: (
dom c1)
c= (
dom c2) by
TARSKI:def 3;
A11: for x,y be
object st
[x, y]
in V9 holds (c1
. (x,y))
= (c2
. (x,y))
proof
let x,y be
object;
assume
A12:
[x, y]
in V9;
then
reconsider x, y as
Element of X by
A7,
ZFMISC_1: 87;
(c1
. (x,y))
= (x
* y) by
A4,
A12;
hence thesis by
A6,
A10,
A12;
end;
now
let x be
object;
assume
A13: x
in (
dom c2);
(
dom c2)
c=
[:X, X:] by
RELAT_1:def 18;
then
consider g,f be
Element of X such that
A14: x
=
[g, f] by
A13,
SUBSET_1: 43;
P[g, f] by
A5,
A13,
A14;
hence x
in (
dom c1) by
A3,
A14;
end;
then (
dom c2)
c= (
dom c1) by
TARSKI:def 3;
then (
dom c1)
= (
dom c2) by
A10,
XBOOLE_0:def 10;
hence thesis by
A11,
BINOP_1: 20;
end;
end
definition
let UN;
::
GRCAT_1:def30
func
GroupCat (UN) -> non
empty non
void
strict
CatStr equals
CatStr (# (
GroupObjects UN), (
Morphs (
GroupObjects UN)), (
dom (
GroupObjects UN)), (
cod (
GroupObjects UN)), (
comp (
GroupObjects UN)) #);
coherence ;
end
registration
let UN;
cluster (
GroupCat UN) ->
strict non
void non
empty;
coherence ;
end
theorem ::
GRCAT_1:33
Th33: for f,g be
Morphism of (
GroupCat UN) holds
[g, f]
in (
dom the
Comp of (
GroupCat UN)) iff (
dom g)
= (
cod f)
proof
set C = (
GroupCat UN), V = (
GroupObjects UN);
let f,g be
Morphism of C;
reconsider f9 = f as
Element of (
Morphs V);
reconsider g9 = g as
Element of (
Morphs V);
(
dom g)
= (
dom g9) & (
cod f)
= (
cod f9) by
Def25,
Def26;
hence thesis by
Def27;
end;
theorem ::
GRCAT_1:34
Th34: for f be
Morphism of (
GroupCat UN), f9 be
Element of (
Morphs (
GroupObjects UN)), b be
Object of (
GroupCat UN), b9 be
Element of (
GroupObjects UN) holds f is
strict
Element of (
Morphs (
GroupObjects UN)) & f9 is
Morphism of (
GroupCat UN) & b is
strict
Element of (
GroupObjects UN) & b9 is
Object of (
GroupCat UN)
proof
set C = (
GroupCat UN), V = (
GroupObjects UN);
set X = (
Morphs V);
let f be
Morphism of C, f9 be
Element of X, b be
Object of C, b9 be
Element of V;
consider x be
object such that x
in UN and
A1:
GO (x,b) by
Def22;
ex G,H be
strict
Element of V st f is
strict
Morphism of G, H by
Def23;
hence f is
strict
Element of X;
thus f9 is
Morphism of C;
ex x1,x2,x3,x4 be
set st x
=
[x1, x2, x3, x4] & ex G be
strict
AddGroup st b
= G & x1
= the
carrier of G & x2
= the
addF of G & x3
= (
comp G) & x4
= (
0. G) by
A1;
hence b is
strict
Element of V;
thus thesis;
end;
::$Canceled
theorem ::
GRCAT_1:36
Th35: for f,g be
Morphism of (
GroupCat UN), f9,g9 be
Element of (
Morphs (
GroupObjects UN)) st f
= f9 & g
= g9 holds ((
dom g)
= (
cod f) iff (
dom g9)
= (
cod f9)) & ((
dom g)
= (
cod f) iff
[g9, f9]
in (
dom (
comp (
GroupObjects UN)))) & ((
dom g)
= (
cod f) implies (g
(*) f)
= (g9
* f9)) & ((
dom f)
= (
dom g) iff (
dom f9)
= (
dom g9)) & ((
cod f)
= (
cod g) iff (
cod f9)
= (
cod g9))
proof
set C = (
GroupCat UN), V = (
GroupObjects UN);
set X = (
Morphs V);
let f,g be
Morphism of C;
let f9,g9 be
Element of X;
assume that
A1: f
= f9 and
A2: g
= g9;
A3: (
cod f)
= (
cod f9) by
A1,
Def26;
hence (
dom g)
= (
cod f) iff (
dom g9)
= (
cod f9) by
A2,
Def25;
(
dom g)
= (
dom g9) by
A2,
Def25;
hence
A4: (
dom g)
= (
cod f) iff
[g9, f9]
in (
dom (
comp V)) by
A3,
Def27;
thus (
dom g)
= (
cod f) implies (g
(*) f)
= (g9
* f9)
proof
assume
A5: (
dom g)
= (
cod f);
then
[g, f]
in (
dom the
Comp of C) by
Th33;
hence (g
(*) f)
= ((
comp V)
. (g9,f9)) by
A1,
A2,
CAT_1:def 1
.= (g9
* f9) by
A4,
A5,
Def27;
end;
(
dom f)
= (
dom f9) by
A1,
Def25;
hence (
dom f)
= (
dom g) iff (
dom f9)
= (
dom g9) by
A2,
Def25;
(
cod g)
= (
cod g9) by
A2,
Def26;
hence thesis by
A1,
Def26;
end;
Lm1: for f,g be
Morphism of (
GroupCat UN) st (
dom g)
= (
cod f) holds (
dom (g
(*) f))
= (
dom f) & (
cod (g
(*) f))
= (
cod g)
proof
set X = (
Morphs (
GroupObjects UN));
let f,g be
Morphism of (
GroupCat UN) such that
A1: (
dom g)
= (
cod f);
reconsider g9 = g as
strict
Element of X by
Th34;
reconsider f9 = f as
strict
Element of X by
Th34;
A2: (
dom g9)
= (
cod f9) by
A1,
Th35;
then
reconsider gf = (g9
* f9) as
Element of X by
Th32;
A3: gf
= (g
(*) f) by
A1,
Th35;
(
dom (g9
* f9))
= (
dom f9) & (
cod (g9
* f9))
= (
cod g9) by
A2,
Th20;
hence thesis by
A3,
Th35;
end;
registration
let UN;
cluster (
GroupCat UN) ->
reflexive
Category-like;
coherence
proof
set C = (
GroupCat UN);
thus C is
reflexive
proof
let a be
Element of C;
reconsider G = a as
Element of (
GroupObjects UN);
consider x be
object such that x
in UN and
A1:
GO (x,G) by
Def22;
set ii = (
ID G);
consider x1,x2,x3,x4 be
set such that x
=
[x1, x2, x3, x4] and
A2: ex H be
strict
AddGroup st G
= H & x1
= the
carrier of H & x2
= the
addF of H & x3
= (
comp H) & x4
= (
0. H) by
A1;
reconsider G as
strict
Element of (
GroupObjects UN) by
A2;
reconsider ii as
Morphism of C;
reconsider ia = ii as
GroupMorphismStr;
A3: (
dom ii)
= (
dom ia) by
Def25
.= a;
(
cod ii)
= (
cod ia) by
Def26
.= a;
then ii
in (
Hom (a,a)) by
A3;
hence (
Hom (a,a))
<>
{} ;
end;
let f,g be
Morphism of C;
reconsider ff = f, gg = g as
Element of (
Morphs (
GroupObjects UN));
thus
[g, f]
in (
dom the
Comp of C) iff (
dom g)
= (
cod f) by
Th35;
end;
end
Lm2: for a be
Element of (
GroupCat UN), aa be
Element of (
GroupObjects UN) st a
= aa holds for i be
Morphism of a, a st i
= (
ID aa) holds for b be
Element of (
GroupCat UN) holds ((
Hom (a,b))
<>
{} implies for g be
Morphism of a, b holds (g
(*) i)
= g) & ((
Hom (b,a))
<>
{} implies for f be
Morphism of b, a holds (i
(*) f)
= f)
proof
let a be
Element of (
GroupCat UN), aa be
Element of (
GroupObjects UN) such that a
= aa;
let i be
Morphism of a, a such that
A1: i
= (
ID aa);
let b be
Element of (
GroupCat UN);
thus (
Hom (a,b))
<>
{} implies for g be
Morphism of a, b holds (g
(*) i)
= g
proof
assume
A2: (
Hom (a,b))
<>
{} ;
let g be
Morphism of a, b;
reconsider gg = g, ii = i as
Element of (
Morphs (
GroupObjects UN));
consider G1,H1 be
strict
Element of (
GroupObjects UN) such that
A3: gg is
strict
Morphism of G1, H1 by
Def23;
consider f be
Function of G1, H1 such that
A4: gg
=
GroupMorphismStr (# G1, H1, f #) by
A3,
Th13;
A5: ii
=
GroupMorphismStr (# aa, aa, (
id aa) #) by
A1;
A6: (
cod ii)
= aa by
A1;
A7: (
dom gg)
= G1 by
A4;
A8: (
Hom (a,a))
<>
{} ;
(
dom g)
= a by
A2,
CAT_1: 5
.= (
cod i) by
A8,
CAT_1: 5;
then
A9: (
dom gg)
= (
cod ii) by
Th35;
then aa
= (
dom gg) by
A6;
then
A10: aa
= G1 by
A7;
then
reconsider f as
Function of aa, H1;
A11: the GroupMorphismStr of gg
=
GroupMorphismStr (# aa, H1, f #) by
A4,
A10;
A12:
[gg, ii]
in (
dom (
comp (
GroupObjects UN))) by
Def27,
A9;
then
[g, i]
in (
dom the
Comp of (
GroupCat UN));
hence (g
(*) i)
= (the
Comp of (
GroupCat UN)
. (g,i)) by
CAT_1:def 1
.= ((
comp (
GroupObjects UN))
. (g,i))
.= (gg
* ii) by
A12,
Def27
.=
GroupMorphismStr (# aa, H1, (f
* (
id aa)) #) by
A5,
Def14,
A11,
A9
.=
GroupMorphismStr (# aa, H1, f #) by
FUNCT_2: 17
.= g by
A10,
A4;
end;
thus (
Hom (b,a))
<>
{} implies for f be
Morphism of b, a holds (i
(*) f)
= f
proof
assume
A13: (
Hom (b,a))
<>
{} ;
let g be
Morphism of b, a;
reconsider gg = g, ii = i as
Element of (
Morphs (
GroupObjects UN));
consider G1,H1 be
strict
Element of (
GroupObjects UN) such that
A14: gg is
strict
Morphism of G1, H1 by
Def23;
consider f be
Function of G1, H1 such that
A15: gg
=
GroupMorphismStr (# G1, H1, f #) by
A14,
Th13;
A16: ii
=
GroupMorphismStr (# aa, aa, (
id aa) #) by
A1;
A17: (
dom ii)
= aa by
A1;
A18: (
cod gg)
= H1 by
A15;
A19: (
Hom (a,a))
<>
{} ;
(
cod g)
= a by
A13,
CAT_1: 5
.= (
dom i) by
A19,
CAT_1: 5;
then
A20: (
cod gg)
= (
dom ii) by
Th35;
then aa
= (
cod gg) by
A17;
then
A21: aa
= H1 by
A18;
then
reconsider f as
Function of G1, aa;
A22: the GroupMorphismStr of gg
=
GroupMorphismStr (# G1, aa, f #) by
A15,
A21;
A23:
[ii, gg]
in (
dom (
comp (
GroupObjects UN))) by
Def27,
A20;
then
[i, g]
in (
dom the
Comp of (
GroupCat UN));
hence (i
(*) g)
= (the
Comp of (
GroupCat UN)
. (i,g)) by
CAT_1:def 1
.= ((
comp (
GroupObjects UN))
. (i,g))
.= (ii
* gg) by
A23,
Def27
.=
GroupMorphismStr (# G1, aa, ((
id aa)
* f) #) by
A16,
Def14,
A22,
A20
.=
GroupMorphismStr (# G1, aa, f #) by
FUNCT_2: 17
.= g by
A21,
A15;
end;
end;
registration
let UN;
cluster (
GroupCat UN) ->
transitive
associative
with_identities;
coherence
proof
set C = (
GroupCat UN);
set X = (
Morphs (
GroupObjects UN));
thus C is
transitive
proof
let f,g be
Morphism of (
GroupCat UN) such that
A1: (
dom g)
= (
cod f);
reconsider g9 = g as
strict
Element of X by
Th34;
reconsider f9 = f as
strict
Element of X by
Th34;
A2: (
dom g9)
= (
cod f9) by
A1,
Th35;
then
reconsider gf = (g9
* f9) as
Element of X by
Th32;
A3: gf
= (g
(*) f) by
A1,
Th35;
(
dom (g9
* f9))
= (
dom f9) & (
cod (g9
* f9))
= (
cod g9) by
A2,
Th20;
hence thesis by
A3,
Th35;
end;
thus C is
associative
proof
let f,g,h be
Morphism of (
GroupCat UN) such that
A4: (
dom h)
= (
cod g) & (
dom g)
= (
cod f);
reconsider f9 = f, g9 = g, h9 = h as
strict
Element of X by
Th34;
A5: (h9
* g9)
= (h
(*) g) & (
dom (h
(*) g))
= (
cod f) by
A4,
Lm1,
Th35;
A6: (
dom h9)
= (
cod g9) & (
dom g9)
= (
cod f9) by
A4,
Th35;
then
reconsider gf = (g9
* f9), hg = (h9
* g9) as
Element of X by
Th32;
(g9
* f9)
= (g
(*) f) & (
dom h)
= (
cod (g
(*) f)) by
A4,
Lm1,
Th35;
then (h
(*) (g
(*) f))
= (h9
* gf) by
Th35
.= (hg
* f9) by
A6,
Th22
.= ((h
(*) g)
(*) f) by
A5,
Th35;
hence thesis;
end;
thus C is
with_identities
proof
let a be
Element of C;
reconsider aa = a as
Element of (
GroupObjects UN);
reconsider ii = (
ID aa) as
Morphism of C;
reconsider ia = ii as
GroupMorphismStr;
A7: (
dom ii)
= (
dom ia) by
Def25
.= a;
(
cod ii)
= (
cod ia) by
Def26
.= a;
then
reconsider ii as
Morphism of a, a by
A7,
CAT_1: 4;
take ii;
thus thesis by
Lm2;
end;
end;
end
definition
let UN;
::
GRCAT_1:def31
func
AbGroupObjects (UN) ->
Subset of the
carrier of (
GroupCat UN) equals { G where G be
Element of (
GroupCat UN) : ex H be
AbGroup st G
= H };
coherence
proof
set D2 = the
carrier of (
GroupCat UN);
now
let x be
object;
assume x
in { G where G be
Element of D2 : ex H be
AbGroup st G
= H };
then ex G be
Element of D2 st x
= G & ex H be
AbGroup st G
= H;
hence x
in D2;
end;
hence thesis by
TARSKI:def 3;
end;
end
theorem ::
GRCAT_1:37
Th36:
Trivial-addLoopStr
in (
AbGroupObjects UN)
proof
Trivial-addLoopStr
in the
carrier of (
GroupCat UN) by
Th29;
hence thesis;
end;
registration
let UN;
cluster (
AbGroupObjects UN) -> non
empty;
coherence by
Th36;
end
definition
let UN;
::
GRCAT_1:def32
func
AbGroupCat UN ->
Subcategory of (
GroupCat UN) equals (
cat (
AbGroupObjects UN));
coherence ;
end
registration
let UN;
cluster (
AbGroupCat UN) ->
strict;
coherence ;
end
theorem ::
GRCAT_1:38
the
carrier of (
AbGroupCat UN)
= (
AbGroupObjects UN);
definition
let UN;
::
GRCAT_1:def33
func
MidOpGroupObjects (UN) ->
Subset of the
carrier of (
AbGroupCat UN) equals { G where G be
Element of (
AbGroupCat UN) : ex H be
midpoint_operator
AbGroup st G
= H };
coherence
proof
set D2 = the
carrier of (
AbGroupCat UN);
now
let x be
object;
assume x
in { G where G be
Element of D2 : ex H be
midpoint_operator
AbGroup st G
= H };
then ex G be
Element of D2 st x
= G & ex H be
midpoint_operator
AbGroup st G
= H;
hence x
in D2;
end;
hence thesis by
TARSKI:def 3;
end;
end
registration
let UN;
cluster (
MidOpGroupObjects UN) -> non
empty;
coherence
proof
set T =
Trivial-addLoopStr ;
set D2 = the
carrier of (
AbGroupCat UN);
set D1 = { G where G be
Element of D2 : ex H be
midpoint_operator
AbGroup st G
= H };
T
in D2 by
Th36;
then T
in D1;
then
reconsider D1 as non
empty
set;
now
let x be
set;
assume x
in D1;
then ex G be
Element of D2 st x
= G & ex H be
midpoint_operator
AbGroup st G
= H;
hence x
in D2;
end;
hence thesis;
end;
end
definition
let UN;
::
GRCAT_1:def34
func
MidOpGroupCat UN ->
Subcategory of (
AbGroupCat UN) equals (
cat (
MidOpGroupObjects UN));
coherence ;
end
registration
let UN;
cluster (
MidOpGroupCat UN) ->
strict;
coherence ;
end
theorem ::
GRCAT_1:39
the
carrier of (
MidOpGroupCat UN)
= (
MidOpGroupObjects UN);
theorem ::
GRCAT_1:40
Trivial-addLoopStr
in (
MidOpGroupObjects UN)
proof
Trivial-addLoopStr
in the
carrier of (
AbGroupCat UN) by
Th36;
hence thesis;
end;
theorem ::
GRCAT_1:41
for S,T be non
empty
1-sorted holds for f be
Function of S, T st f is
one-to-one
onto holds (f
* (f
" ))
= (
id T) & ((f
" )
* f)
= (
id S) & (f
" ) is
one-to-one
onto
proof
let S,T be non
empty
1-sorted;
let f be
Function of S, T;
A1: (
[#] T)
= the
carrier of T;
assume
A2: f is
one-to-one
onto;
then
A3: (
rng f)
= the
carrier of T by
FUNCT_2:def 3;
then (
dom f)
= the
carrier of S & (
rng (f
" ))
= (
[#] S) by
A2,
A1,
FUNCT_2:def 1,
TOPS_2: 49;
hence thesis by
A2,
A3,
A1,
FUNCT_2:def 3,
TOPS_2: 50,
TOPS_2: 52;
end;
theorem ::
GRCAT_1:42
for a be
Object of (
GroupCat UN), aa be
Element of (
GroupObjects UN) st a
= aa holds (
id a)
= (
ID aa)
proof
let a be
Object of (
GroupCat UN), aa be
Element of (
GroupObjects UN);
set C = (
GroupCat UN);
assume
A1: a
= aa;
reconsider ii = (
ID aa) as
Morphism of C;
reconsider ia = ii as
GroupMorphismStr;
A2: (
dom ii)
= (
dom ia) by
Def25
.= a by
A1;
(
cod ii)
= (
cod ia) by
Def26
.= a by
A1;
then
reconsider ii as
Morphism of a, a by
A2,
CAT_1: 4;
for b be
Object of C holds ((
Hom (a,b))
<>
{} implies for f be
Morphism of a, b holds (f
(*) ii)
= f) & ((
Hom (b,a))
<>
{} implies for f be
Morphism of b, a holds (ii
(*) f)
= f) by
A1,
Lm2;
hence (
id a)
= (
ID aa) by
CAT_1:def 12;
end;