:: GROUP_5 semantic presentation

scheme :: GROUP_5:sch 1
s1{ F1() -> non empty set , F2() -> non empty set , F3() -> non empty set , F4( set , set , set ) -> Element of F2(), P1[ set , set , set ] } :
{ F4(b1,b2,b3) where B is Element of F1(), B is Element of F2(), B is Element of F3() : P1[b1,b2,b3] } is Subset of F2()
proof end;

theorem Th1: :: GROUP_5:1
for b1 being set
for b2 being Group holds
( b1 in (1). b2 iff b1 = 1. b2 )
proof end;

theorem Th2: :: GROUP_5:2
for b1 being Group
for b2, b3 being Element of b1
for b4 being Subgroup of b1 st b2 in b4 & b3 in b4 holds
b2 |^ b3 in b4
proof end;

theorem Th3: :: GROUP_5:3
for b1 being Group
for b2, b3 being Element of b1
for b4 being strict normal Subgroup of b1 st b2 in b4 holds
b2 |^ b3 in b4
proof end;

theorem Th4: :: GROUP_5:4
for b1 being set
for b2 being Group
for b3, b4 being Subgroup of b2 holds
( b1 in b3 * b4 iff ex b5, b6 being Element of b2 st
( b1 = b5 * b6 & b5 in b3 & b6 in b4 ) )
proof end;

theorem Th5: :: GROUP_5:5
for b1 being set
for b2 being Group
for b3, b4 being Subgroup of b2 st b3 * b4 = b4 * b3 holds
( b1 in b3 "\/" b4 iff ex b5, b6 being Element of b2 st
( b1 = b5 * b6 & b5 in b3 & b6 in b4 ) )
proof end;

theorem Th6: :: GROUP_5:6
for b1 being set
for b2 being Group
for b3, b4 being Subgroup of b2 st b2 is commutative Group holds
( b1 in b3 "\/" b4 iff ex b5, b6 being Element of b2 st
( b1 = b5 * b6 & b5 in b3 & b6 in b4 ) )
proof end;

theorem Th7: :: GROUP_5:7
for b1 being set
for b2 being Group
for b3, b4 being strict normal Subgroup of b2 holds
( b1 in b3 "\/" b4 iff ex b5, b6 being Element of b2 st
( b1 = b5 * b6 & b5 in b3 & b6 in b4 ) )
proof end;

theorem Th8: :: GROUP_5:8
for b1 being Group
for b2 being Subgroup of b1
for b3 being normal Subgroup of b1 holds b2 * b3 = b3 * b2
proof end;

definition
let c1 be Group;
let c2 be FinSequence of the carrier of c1;
let c3 be Element of c1;
func c2 |^ c3 -> FinSequence of the carrier of a1 means :Def1: :: GROUP_5:def 1
( len a4 = len a2 & ( for b1 being Nat st b1 in dom a2 holds
a4 . b1 = (a2 /. b1) |^ a3 ) );
existence
ex b1 being FinSequence of the carrier of c1 st
( len b1 = len c2 & ( for b2 being Nat st b2 in dom c2 holds
b1 . b2 = (c2 /. b2) |^ c3 ) )
proof end;
correctness
uniqueness
for b1, b2 being FinSequence of the carrier of c1 st len b1 = len c2 & ( for b3 being Nat st b3 in dom c2 holds
b1 . b3 = (c2 /. b3) |^ c3 ) & len b2 = len c2 & ( for b3 being Nat st b3 in dom c2 holds
b2 . b3 = (c2 /. b3) |^ c3 ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def1 defines |^ GROUP_5:def 1 :
for b1 being Group
for b2 being FinSequence of the carrier of b1
for b3 being Element of b1
for b4 being FinSequence of the carrier of b1 holds
( b4 = b2 |^ b3 iff ( len b4 = len b2 & ( for b5 being Nat st b5 in dom b2 holds
b4 . b5 = (b2 /. b5) |^ b3 ) ) );

theorem Th9: :: GROUP_5:9
canceled;

theorem Th10: :: GROUP_5:10
canceled;

theorem Th11: :: GROUP_5:11
canceled;

theorem Th12: :: GROUP_5:12
for b1 being Group
for b2 being Element of b1
for b3, b4 being FinSequence of the carrier of b1 holds (b3 |^ b2) ^ (b4 |^ b2) = (b3 ^ b4) |^ b2
proof end;

theorem Th13: :: GROUP_5:13
for b1 being Group
for b2 being Element of b1 holds (<*> the carrier of b1) |^ b2 = {}
proof end;

theorem Th14: :: GROUP_5:14
for b1 being Group
for b2, b3 being Element of b1 holds <*b2*> |^ b3 = <*(b2 |^ b3)*>
proof end;

theorem Th15: :: GROUP_5:15
for b1 being Group
for b2, b3, b4 being Element of b1 holds <*b2,b3*> |^ b4 = <*(b2 |^ b4),(b3 |^ b4)*>
proof end;

theorem Th16: :: GROUP_5:16
for b1 being Group
for b2, b3, b4, b5 being Element of b1 holds <*b2,b3,b4*> |^ b5 = <*(b2 |^ b5),(b3 |^ b5),(b4 |^ b5)*>
proof end;

theorem Th17: :: GROUP_5:17
for b1 being Group
for b2 being Element of b1
for b3 being FinSequence of the carrier of b1 holds Product (b3 |^ b2) = (Product b3) |^ b2
proof end;

theorem Th18: :: GROUP_5:18
for b1 being Group
for b2 being Element of b1
for b3 being FinSequence of the carrier of b1
for b4 being FinSequence of INT holds (b3 |^ b2) |^ b4 = (b3 |^ b4) |^ b2
proof end;

definition
let c1 be Group;
let c2, c3 be Element of c1;
func [.c2,c3.] -> Element of a1 equals :: GROUP_5:def 2
(((a2 " ) * (a3 " )) * a2) * a3;
correctness
coherence
(((c2 " ) * (c3 " )) * c2) * c3 is Element of c1
;
;
end;

:: deftheorem Def2 defines [. GROUP_5:def 2 :
for b1 being Group
for b2, b3 being Element of b1 holds [.b2,b3.] = (((b2 " ) * (b3 " )) * b2) * b3;

theorem Th19: :: GROUP_5:19
for b1 being Group
for b2, b3 being Element of b1 holds
( [.b2,b3.] = (((b2 " ) * (b3 " )) * b2) * b3 & [.b2,b3.] = ((b2 " ) * ((b3 " ) * b2)) * b3 & [.b2,b3.] = (b2 " ) * (((b3 " ) * b2) * b3) & [.b2,b3.] = (b2 " ) * ((b3 " ) * (b2 * b3)) & [.b2,b3.] = ((b2 " ) * (b3 " )) * (b2 * b3) )
proof end;

theorem Th20: :: GROUP_5:20
for b1 being Group
for b2, b3 being Element of b1 holds [.b2,b3.] = ((b3 * b2) " ) * (b2 * b3)
proof end;

theorem Th21: :: GROUP_5:21
for b1 being Group
for b2, b3 being Element of b1 holds
( [.b2,b3.] = ((b3 " ) |^ b2) * b3 & [.b2,b3.] = (b2 " ) * (b2 |^ b3) )
proof end;

theorem Th22: :: GROUP_5:22
for b1 being Group
for b2 being Element of b1 holds
( [.(1. b1),b2.] = 1. b1 & [.b2,(1. b1).] = 1. b1 )
proof end;

theorem Th23: :: GROUP_5:23
for b1 being Group
for b2 being Element of b1 holds [.b2,b2.] = 1. b1
proof end;

theorem Th24: :: GROUP_5:24
for b1 being Group
for b2 being Element of b1 holds
( [.b2,(b2 " ).] = 1. b1 & [.(b2 " ),b2.] = 1. b1 )
proof end;

theorem Th25: :: GROUP_5:25
for b1 being Group
for b2, b3 being Element of b1 holds [.b2,b3.] " = [.b3,b2.]
proof end;

theorem Th26: :: GROUP_5:26
for b1 being Group
for b2, b3, b4 being Element of b1 holds [.b2,b3.] |^ b4 = [.(b2 |^ b4),(b3 |^ b4).]
proof end;

theorem Th27: :: GROUP_5:27
for b1 being Group
for b2, b3 being Element of b1 holds [.b2,b3.] = (((b2 " ) |^ 2) * ((b2 * (b3 " )) |^ 2)) * (b3 |^ 2)
proof end;

theorem Th28: :: GROUP_5:28
for b1 being Group
for b2, b3, b4 being Element of b1 holds [.(b2 * b3),b4.] = ([.b2,b4.] |^ b3) * [.b3,b4.]
proof end;

theorem Th29: :: GROUP_5:29
for b1 being Group
for b2, b3, b4 being Element of b1 holds [.b2,(b3 * b4).] = [.b2,b4.] * ([.b2,b3.] |^ b4)
proof end;

theorem Th30: :: GROUP_5:30
for b1 being Group
for b2, b3 being Element of b1 holds [.(b2 " ),b3.] = [.b3,b2.] |^ (b2 " )
proof end;

theorem Th31: :: GROUP_5:31
for b1 being Group
for b2, b3 being Element of b1 holds [.b2,(b3 " ).] = [.b3,b2.] |^ (b3 " )
proof end;

theorem Th32: :: GROUP_5:32
for b1 being Group
for b2, b3 being Element of b1 holds
( [.(b2 " ),(b3 " ).] = [.b2,b3.] |^ ((b2 * b3) " ) & [.(b2 " ),(b3 " ).] = [.b2,b3.] |^ ((b3 * b2) " ) )
proof end;

theorem Th33: :: GROUP_5:33
for b1 being Group
for b2, b3 being Element of b1 holds [.b2,(b3 |^ (b2 " )).] = [.b3,(b2 " ).]
proof end;

theorem Th34: :: GROUP_5:34
for b1 being Group
for b2, b3 being Element of b1 holds [.(b2 |^ (b3 " )),b3.] = [.(b3 " ),b2.]
proof end;

theorem Th35: :: GROUP_5:35
for b1 being Nat
for b2 being Group
for b3, b4 being Element of b2 holds [.(b3 |^ b1),b4.] = (b3 |^ (- b1)) * ((b3 |^ b4) |^ b1)
proof end;

theorem Th36: :: GROUP_5:36
for b1 being Nat
for b2 being Group
for b3, b4 being Element of b2 holds [.b3,(b4 |^ b1).] = ((b4 |^ b3) |^ (- b1)) * (b4 |^ b1)
proof end;

theorem Th37: :: GROUP_5:37
for b1 being Integer
for b2 being Group
for b3, b4 being Element of b2 holds [.(b3 |^ b1),b4.] = (b3 |^ (- b1)) * ((b3 |^ b4) |^ b1)
proof end;

theorem Th38: :: GROUP_5:38
for b1 being Integer
for b2 being Group
for b3, b4 being Element of b2 holds [.b3,(b4 |^ b1).] = ((b4 |^ b3) |^ (- b1)) * (b4 |^ b1)
proof end;

theorem Th39: :: GROUP_5:39
for b1 being Group
for b2, b3 being Element of b1 holds
( [.b2,b3.] = 1. b1 iff b2 * b3 = b3 * b2 )
proof end;

Lemma24: for b1 being commutative Group
for b2, b3 being Element of b1 holds b2 * b3 = b3 * b2
;

theorem Th40: :: GROUP_5:40
for b1 being Group holds
( b1 is commutative Group iff for b2, b3 being Element of b1 holds [.b2,b3.] = 1. b1 )
proof end;

theorem Th41: :: GROUP_5:41
for b1 being Group
for b2, b3 being Element of b1
for b4 being Subgroup of b1 st b2 in b4 & b3 in b4 holds
[.b2,b3.] in b4
proof end;

definition
let c1 be Group;
let c2, c3, c4 be Element of c1;
func [.c2,c3,c4.] -> Element of a1 equals :: GROUP_5:def 3
[.[.a2,a3.],a4.];
correctness
coherence
[.[.c2,c3.],c4.] is Element of c1
;
;
end;

:: deftheorem Def3 defines [. GROUP_5:def 3 :
for b1 being Group
for b2, b3, b4 being Element of b1 holds [.b2,b3,b4.] = [.[.b2,b3.],b4.];

theorem Th42: :: GROUP_5:42
canceled;

theorem Th43: :: GROUP_5:43
for b1 being Group
for b2, b3 being Element of b1 holds
( [.b2,b3,(1. b1).] = 1. b1 & [.b2,(1. b1),b3.] = 1. b1 & [.(1. b1),b2,b3.] = 1. b1 )
proof end;

theorem Th44: :: GROUP_5:44
for b1 being Group
for b2, b3 being Element of b1 holds [.b2,b2,b3.] = 1. b1
proof end;

theorem Th45: :: GROUP_5:45
for b1 being Group
for b2, b3 being Element of b1 holds [.b2,b3,b2.] = [.(b2 |^ b3),b2.]
proof end;

theorem Th46: :: GROUP_5:46
for b1 being Group
for b2, b3 being Element of b1 holds [.b2,b3,b3.] = ([.b2,(b3 " ).] * [.b2,b3.]) |^ b3
proof end;

theorem Th47: :: GROUP_5:47
for b1 being Group
for b2, b3 being Element of b1 holds [.b2,b3,(b3 |^ b2).] = [.b3,[.b3,b2.].]
proof end;

theorem Th48: :: GROUP_5:48
for b1 being Group
for b2, b3, b4 being Element of b1 holds [.(b2 * b3),b4.] = ([.b2,b4.] * [.b2,b4,b3.]) * [.b3,b4.]
proof end;

theorem Th49: :: GROUP_5:49
for b1 being Group
for b2, b3, b4 being Element of b1 holds [.b2,(b3 * b4).] = ([.b2,b4.] * [.b2,b3.]) * [.b2,b3,b4.]
proof end;

theorem Th50: :: GROUP_5:50
for b1 being Group
for b2, b3, b4 being Element of b1 holds (([.b2,(b3 " ),b4.] |^ b3) * ([.b3,(b4 " ),b2.] |^ b4)) * ([.b4,(b2 " ),b3.] |^ b2) = 1. b1
proof end;

definition
let c1 be Group;
let c2, c3 be Subset of c1;
func commutators c2,c3 -> Subset of a1 equals :: GROUP_5:def 4
{ [.b1,b2.] where B is Element of a1, B is Element of a1 : ( b1 in a2 & b2 in a3 ) } ;
coherence
{ [.b1,b2.] where B is Element of c1, B is Element of c1 : ( b1 in c2 & b2 in c3 ) } is Subset of c1
proof end;
end;

:: deftheorem Def4 defines commutators GROUP_5:def 4 :
for b1 being Group
for b2, b3 being Subset of b1 holds commutators b2,b3 = { [.b4,b5.] where B is Element of b1, B is Element of b1 : ( b4 in b2 & b5 in b3 ) } ;

theorem Th51: :: GROUP_5:51
canceled;

theorem Th52: :: GROUP_5:52
for b1 being set
for b2 being Group
for b3, b4 being Subset of b2 holds
( b1 in commutators b3,b4 iff ex b5, b6 being Element of b2 st
( b1 = [.b5,b6.] & b5 in b3 & b6 in b4 ) ) ;

theorem Th53: :: GROUP_5:53
for b1 being Group
for b2 being Subset of b1 holds
( commutators ({} the carrier of b1),b2 = {} & commutators b2,({} the carrier of b1) = {} )
proof end;

theorem Th54: :: GROUP_5:54
for b1 being Group
for b2, b3 being Element of b1 holds commutators {b2},{b3} = {[.b2,b3.]}
proof end;

theorem Th55: :: GROUP_5:55
for b1 being Group
for b2, b3, b4, b5 being Subset of b1 st b2 c= b3 & b4 c= b5 holds
commutators b2,b4 c= commutators b3,b5
proof end;

theorem Th56: :: GROUP_5:56
for b1 being Group holds
( b1 is commutative Group iff for b2, b3 being Subset of b1 st b2 <> {} & b3 <> {} holds
commutators b2,b3 = {(1. b1)} )
proof end;

definition
let c1 be Group;
let c2, c3 be Subgroup of c1;
func commutators c2,c3 -> Subset of a1 equals :: GROUP_5:def 5
commutators (carr a2),(carr a3);
correctness
coherence
commutators (carr c2),(carr c3) is Subset of c1
;
;
end;

:: deftheorem Def5 defines commutators GROUP_5:def 5 :
for b1 being Group
for b2, b3 being Subgroup of b1 holds commutators b2,b3 = commutators (carr b2),(carr b3);

theorem Th57: :: GROUP_5:57
canceled;

theorem Th58: :: GROUP_5:58
for b1 being set
for b2 being Group
for b3, b4 being Subgroup of b2 holds
( b1 in commutators b3,b4 iff ex b5, b6 being Element of b2 st
( b1 = [.b5,b6.] & b5 in b3 & b6 in b4 ) )
proof end;

theorem Th59: :: GROUP_5:59
for b1 being Group
for b2, b3 being Subgroup of b1 holds 1. b1 in commutators b2,b3
proof end;

theorem Th60: :: GROUP_5:60
for b1 being Group
for b2 being Subgroup of b1 holds
( commutators ((1). b1),b2 = {(1. b1)} & commutators b2,((1). b1) = {(1. b1)} )
proof end;

theorem Th61: :: GROUP_5:61
for b1 being Group
for b2 being Subgroup of b1
for b3 being strict normal Subgroup of b1 holds
( commutators b2,b3 c= carr b3 & commutators b3,b2 c= carr b3 )
proof end;

theorem Th62: :: GROUP_5:62
for b1 being Group
for b2, b3, b4, b5 being Subgroup of b1 st b2 is Subgroup of b3 & b4 is Subgroup of b5 holds
commutators b2,b4 c= commutators b3,b5
proof end;

theorem Th63: :: GROUP_5:63
for b1 being Group holds
( b1 is commutative Group iff for b2, b3 being Subgroup of b1 holds commutators b2,b3 = {(1. b1)} )
proof end;

definition
let c1 be Group;
func commutators c1 -> Subset of a1 equals :: GROUP_5:def 6
commutators ((Omega). a1),((Omega). a1);
correctness
coherence
commutators ((Omega). c1),((Omega). c1) is Subset of c1
;
;
end;

:: deftheorem Def6 defines commutators GROUP_5:def 6 :
for b1 being Group holds commutators b1 = commutators ((Omega). b1),((Omega). b1);

theorem Th64: :: GROUP_5:64
canceled;

theorem Th65: :: GROUP_5:65
for b1 being set
for b2 being Group holds
( b1 in commutators b2 iff ex b3, b4 being Element of b2 st b1 = [.b3,b4.] )
proof end;

theorem Th66: :: GROUP_5:66
for b1 being Group holds
( b1 is commutative Group iff commutators b1 = {(1. b1)} )
proof end;

definition
let c1 be Group;
let c2, c3 be Subset of c1;
func [.c2,c3.] -> strict Subgroup of a1 equals :: GROUP_5:def 7
gr (commutators a2,a3);
correctness
coherence
gr (commutators c2,c3) is strict Subgroup of c1
;
;
end;

:: deftheorem Def7 defines [. GROUP_5:def 7 :
for b1 being Group
for b2, b3 being Subset of b1 holds [.b2,b3.] = gr (commutators b2,b3);

theorem Th67: :: GROUP_5:67
canceled;

theorem Th68: :: GROUP_5:68
for b1 being Group
for b2, b3 being Element of b1
for b4, b5 being Subset of b1 st b2 in b4 & b3 in b5 holds
[.b2,b3.] in [.b4,b5.]
proof end;

theorem Th69: :: GROUP_5:69
for b1 being set
for b2 being Group
for b3, b4 being Subset of b2 holds
( b1 in [.b3,b4.] iff ex b5 being FinSequence of the carrier of b2ex b6 being FinSequence of INT st
( len b5 = len b6 & rng b5 c= commutators b3,b4 & b1 = Product (b5 |^ b6) ) )
proof end;

theorem Th70: :: GROUP_5:70
for b1 being Group
for b2, b3, b4, b5 being Subset of b1 st b2 c= b3 & b4 c= b5 holds
[.b2,b4.] is Subgroup of [.b3,b5.]
proof end;

definition
let c1 be Group;
let c2, c3 be Subgroup of c1;
func [.c2,c3.] -> strict Subgroup of a1 equals :: GROUP_5:def 8
[.(carr a2),(carr a3).];
correctness
coherence
[.(carr c2),(carr c3).] is strict Subgroup of c1
;
;
end;

:: deftheorem Def8 defines [. GROUP_5:def 8 :
for b1 being Group
for b2, b3 being Subgroup of b1 holds [.b2,b3.] = [.(carr b2),(carr b3).];

theorem Th71: :: GROUP_5:71
canceled;

theorem Th72: :: GROUP_5:72
for b1 being Group
for b2, b3 being Subgroup of b1 holds [.b2,b3.] = gr (commutators b2,b3) ;

theorem Th73: :: GROUP_5:73
for b1 being set
for b2 being Group
for b3, b4 being Subgroup of b2 holds
( b1 in [.b3,b4.] iff ex b5 being FinSequence of the carrier of b2ex b6 being FinSequence of INT st
( len b5 = len b6 & rng b5 c= commutators b3,b4 & b1 = Product (b5 |^ b6) ) ) by Th69;

theorem Th74: :: GROUP_5:74
for b1 being Group
for b2, b3 being Element of b1
for b4, b5 being Subgroup of b1 st b2 in b4 & b3 in b5 holds
[.b2,b3.] in [.b4,b5.]
proof end;

theorem Th75: :: GROUP_5:75
for b1 being Group
for b2, b3, b4, b5 being Subgroup of b1 st b2 is Subgroup of b3 & b4 is Subgroup of b5 holds
[.b2,b4.] is Subgroup of [.b3,b5.]
proof end;

theorem Th76: :: GROUP_5:76
for b1 being Group
for b2 being Subgroup of b1
for b3 being strict normal Subgroup of b1 holds
( [.b3,b2.] is Subgroup of b3 & [.b2,b3.] is Subgroup of b3 )
proof end;

theorem Th77: :: GROUP_5:77
for b1 being Group
for b2, b3 being strict normal Subgroup of b1 holds [.b2,b3.] is normal Subgroup of b1
proof end;

Lemma40: for b1 being Group
for b2, b3 being normal Subgroup of b1 holds [.b2,b3.] is Subgroup of [.b3,b2.]
proof end;

theorem Th78: :: GROUP_5:78
for b1 being Group
for b2, b3 being normal Subgroup of b1 holds [.b2,b3.] = [.b3,b2.]
proof end;

theorem Th79: :: GROUP_5:79
for b1 being Group
for b2, b3, b4 being strict normal Subgroup of b1 holds [.(b2 "\/" b3),b4.] = [.b2,b4.] "\/" [.b3,b4.]
proof end;

theorem Th80: :: GROUP_5:80
for b1 being Group
for b2, b3, b4 being strict normal Subgroup of b1 holds [.b2,(b3 "\/" b4).] = [.b2,b3.] "\/" [.b2,b4.]
proof end;

definition
let c1 be Group;
func c1 ` -> strict normal Subgroup of a1 equals :: GROUP_5:def 9
[.((Omega). a1),((Omega). a1).];
coherence
[.((Omega). c1),((Omega). c1).] is strict normal Subgroup of c1
proof end;
end;

:: deftheorem Def9 defines ` GROUP_5:def 9 :
for b1 being Group holds b1 ` = [.((Omega). b1),((Omega). b1).];

theorem Th81: :: GROUP_5:81
canceled;

theorem Th82: :: GROUP_5:82
for b1 being Group holds b1 ` = gr (commutators b1) ;

theorem Th83: :: GROUP_5:83
for b1 being set
for b2 being Group holds
( b1 in b2 ` iff ex b3 being FinSequence of the carrier of b2ex b4 being FinSequence of INT st
( len b3 = len b4 & rng b3 c= commutators b2 & b1 = Product (b3 |^ b4) ) )
proof end;

theorem Th84: :: GROUP_5:84
for b1 being strict Group
for b2, b3 being Element of b1 holds [.b2,b3.] in b1 `
proof end;

theorem Th85: :: GROUP_5:85
for b1 being strict Group holds
( b1 is commutative Group iff b1 ` = (1). b1 )
proof end;

theorem Th86: :: GROUP_5:86
for b1 being Group
for b2 being strict Subgroup of b1 st Left_Cosets b2 is finite & index b2 = 2 holds
b1 ` is Subgroup of b2
proof end;

definition
let c1 be Group;
func center c1 -> strict Subgroup of a1 means :Def10: :: GROUP_5:def 10
the carrier of a2 = { b1 where B is Element of a1 : for b1 being Element of a1 holds b1 * b2 = b2 * b1 } ;
existence
ex b1 being strict Subgroup of c1 st the carrier of b1 = { b2 where B is Element of c1 : for b1 being Element of c1 holds b2 * b3 = b3 * b2 }
proof end;
uniqueness
for b1, b2 being strict Subgroup of c1 st the carrier of b1 = { b3 where B is Element of c1 : for b1 being Element of c1 holds b3 * b4 = b4 * b3 } & the carrier of b2 = { b3 where B is Element of c1 : for b1 being Element of c1 holds b3 * b4 = b4 * b3 } holds
b1 = b2
by GROUP_2:68;
end;

:: deftheorem Def10 defines center GROUP_5:def 10 :
for b1 being Group
for b2 being strict Subgroup of b1 holds
( b2 = center b1 iff the carrier of b2 = { b3 where B is Element of b1 : for b1 being Element of b1 holds b3 * b4 = b4 * b3 } );

theorem Th87: :: GROUP_5:87
canceled;

theorem Th88: :: GROUP_5:88
canceled;

theorem Th89: :: GROUP_5:89
for b1 being Group
for b2 being Element of b1 holds
( b2 in center b1 iff for b3 being Element of b1 holds b2 * b3 = b3 * b2 )
proof end;

theorem Th90: :: GROUP_5:90
for b1 being Group holds center b1 is normal Subgroup of b1
proof end;

theorem Th91: :: GROUP_5:91
for b1 being Group
for b2 being Subgroup of b1 st b2 is Subgroup of center b1 holds
b2 is normal Subgroup of b1
proof end;

theorem Th92: :: GROUP_5:92
for b1 being Group holds center b1 is commutative
proof end;

theorem Th93: :: GROUP_5:93
for b1 being Group
for b2 being Element of b1 holds
( b2 in center b1 iff con_class b2 = {b2} )
proof end;

theorem Th94: :: GROUP_5:94
for b1 being strict Group holds
( b1 is commutative Group iff center b1 = b1 )
proof end;