:: GROUP_3 semantic presentation

theorem Th1: :: GROUP_3:1
for b1 being Group
for b2, b3 being Element of b1 holds
( (b2 * b3) * (b3 " ) = b2 & (b2 * (b3 " )) * b3 = b2 & ((b3 " ) * b3) * b2 = b2 & (b3 * (b3 " )) * b2 = b2 & b2 * (b3 * (b3 " )) = b2 & b2 * ((b3 " ) * b3) = b2 & (b3 " ) * (b3 * b2) = b2 & b3 * ((b3 " ) * b2) = b2 )
proof end;

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

theorem Th2: :: GROUP_3:2
for b1 being Group holds
( b1 is commutative Group iff the mult of b1 is commutative )
proof end;

theorem Th3: :: GROUP_3:3
for b1 being Group holds (1). b1 is commutative
proof end;

theorem Th4: :: GROUP_3:4
for b1 being Group
for b2, b3, b4, b5 being Subset of b1 st b2 c= b3 & b4 c= b5 holds
b2 * b4 c= b3 * b5
proof end;

theorem Th5: :: GROUP_3:5
for b1 being Group
for b2 being Element of b1
for b3, b4 being Subset of b1 st b3 c= b4 holds
( b2 * b3 c= b2 * b4 & b3 * b2 c= b4 * b2 ) by Th4;

theorem Th6: :: GROUP_3:6
for b1 being Group
for b2 being Element of b1
for b3, b4 being Subgroup of b1 st b3 is Subgroup of b4 holds
( b2 * b3 c= b2 * b4 & b3 * b2 c= b4 * b2 )
proof end;

theorem Th7: :: GROUP_3:7
for b1 being Group
for b2 being Element of b1
for b3 being Subgroup of b1 holds b2 * b3 = {b2} * b3 ;

theorem Th8: :: GROUP_3:8
for b1 being Group
for b2 being Element of b1
for b3 being Subgroup of b1 holds b3 * b2 = b3 * {b2} ;

theorem Th9: :: GROUP_3:9
for b1 being Group
for b2 being Element of b1
for b3 being Subset of b1
for b4 being Subgroup of b1 holds (b2 * b3) * b4 = b2 * (b3 * b4) by GROUP_2:116;

theorem Th10: :: GROUP_3:10
for b1 being Group
for b2 being Element of b1
for b3 being Subset of b1
for b4 being Subgroup of b1 holds (b3 * b2) * b4 = b3 * (b2 * b4)
proof end;

theorem Th11: :: GROUP_3:11
for b1 being Group
for b2 being Element of b1
for b3 being Subset of b1
for b4 being Subgroup of b1 holds (b2 * b4) * b3 = b2 * (b4 * b3)
proof end;

theorem Th12: :: GROUP_3:12
for b1 being Group
for b2 being Element of b1
for b3 being Subset of b1
for b4 being Subgroup of b1 holds (b3 * b4) * b2 = b3 * (b4 * b2)
proof end;

theorem Th13: :: GROUP_3:13
for b1 being Group
for b2 being Element of b1
for b3 being Subset of b1
for b4 being Subgroup of b1 holds (b4 * b2) * b3 = b4 * (b2 * b3)
proof end;

theorem Th14: :: GROUP_3:14
for b1 being Group
for b2 being Element of b1
for b3 being Subset of b1
for b4 being Subgroup of b1 holds (b4 * b3) * b2 = b4 * (b3 * b2) by GROUP_2:118;

theorem Th15: :: GROUP_3:15
for b1 being Group
for b2 being Element of b1
for b3, b4 being Subgroup of b1 holds (b3 * b2) * b4 = b3 * (b2 * b4) by Th10;

definition
let c1 be Group;
func Subgroups c1 -> set means :Def1: :: GROUP_3:def 1
for b1 being set holds
( b1 in a2 iff b1 is strict Subgroup of a1 );
existence
ex b1 being set st
for b2 being set holds
( b2 in b1 iff b2 is strict Subgroup of c1 )
proof end;
uniqueness
for b1, b2 being set st ( for b3 being set holds
( b3 in b1 iff b3 is strict Subgroup of c1 ) ) & ( for b3 being set holds
( b3 in b2 iff b3 is strict Subgroup of c1 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def1 defines Subgroups GROUP_3:def 1 :
for b1 being Group
for b2 being set holds
( b2 = Subgroups b1 iff for b3 being set holds
( b3 in b2 iff b3 is strict Subgroup of b1 ) );

registration
let c1 be Group;
cluster Subgroups a1 -> non empty ;
coherence
not Subgroups c1 is empty
proof end;
end;

theorem Th16: :: GROUP_3:16
canceled;

theorem Th17: :: GROUP_3:17
canceled;

theorem Th18: :: GROUP_3:18
for b1 being strict Group holds b1 in Subgroups b1
proof end;

theorem Th19: :: GROUP_3:19
for b1 being Group st b1 is finite holds
Subgroups b1 is finite
proof end;

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

:: deftheorem Def2 defines |^ GROUP_3:def 2 :
for b1 being Group
for b2, b3 being Element of b1 holds b2 |^ b3 = ((b3 " ) * b2) * b3;

theorem Th20: :: GROUP_3:20
for b1 being Group
for b2, b3 being Element of b1 holds
( b2 |^ b3 = ((b3 " ) * b2) * b3 & b2 |^ b3 = (b3 " ) * (b2 * b3) ) by GROUP_1:def 4;

theorem Th21: :: GROUP_3:21
for b1 being Group
for b2, b3, b4 being Element of b1 st b2 |^ b3 = b4 |^ b3 holds
b2 = b4
proof end;

theorem Th22: :: GROUP_3:22
for b1 being Group
for b2 being Element of b1 holds (1. b1) |^ b2 = 1. b1
proof end;

theorem Th23: :: GROUP_3:23
for b1 being Group
for b2, b3 being Element of b1 st b2 |^ b3 = 1. b1 holds
b2 = 1. b1
proof end;

theorem Th24: :: GROUP_3:24
for b1 being Group
for b2 being Element of b1 holds b2 |^ (1. b1) = b2
proof end;

theorem Th25: :: GROUP_3:25
for b1 being Group
for b2 being Element of b1 holds b2 |^ b2 = b2
proof end;

theorem Th26: :: GROUP_3:26
for b1 being Group
for b2 being Element of b1 holds
( b2 |^ (b2 " ) = b2 & (b2 " ) |^ b2 = b2 " )
proof end;

theorem Th27: :: GROUP_3:27
for b1 being Group
for b2, b3 being Element of b1 holds
( b2 |^ b3 = b2 iff b2 * b3 = b3 * b2 )
proof end;

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

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

theorem Th30: :: GROUP_3:30
for b1 being Group
for b2, b3 being Element of b1 holds
( (b2 |^ b3) |^ (b3 " ) = b2 & (b2 |^ (b3 " )) |^ b3 = b2 )
proof end;

theorem Th31: :: GROUP_3:31
canceled;

theorem Th32: :: GROUP_3:32
for b1 being Group
for b2, b3 being Element of b1 holds (b2 " ) |^ b3 = (b2 |^ b3) "
proof end;

E21: now
let c1 be Group;
let c2, c3 be Element of c1;
thus (c2 |^ 0) |^ c3 = (1. c1) |^ c3 by GROUP_1:43
.= 1. c1 by Th22
.= (c2 |^ c3) |^ 0 by GROUP_1:43 ;
end;

E22: now
let c1 be Nat;
assume E23: for b1 being Group
for b2, b3 being Element of b1 holds (b2 |^ c1) |^ b3 = (b2 |^ b3) |^ c1 ;
let c2 be Group;
let c3, c4 be Element of c2;
thus (c3 |^ (c1 + 1)) |^ c4 = ((c3 |^ c1) * c3) |^ c4 by GROUP_1:49
.= ((c3 |^ c1) |^ c4) * (c3 |^ c4) by Th28
.= ((c3 |^ c4) |^ c1) * (c3 |^ c4) by E23
.= (c3 |^ c4) |^ (c1 + 1) by GROUP_1:49 ;
end;

Lemma23: for b1 being Nat
for b2 being Group
for b3, b4 being Element of b2 holds (b3 |^ b1) |^ b4 = (b3 |^ b4) |^ b1
proof end;

theorem Th33: :: GROUP_3:33
for b1 being Group
for b2, b3 being Element of b1
for b4 being Nat holds (b2 |^ b4) |^ b3 = (b2 |^ b3) |^ b4 by Lemma23;

theorem Th34: :: GROUP_3:34
for b1 being Group
for b2, b3 being Element of b1
for b4 being Integer holds (b2 |^ b4) |^ b3 = (b2 |^ b3) |^ b4
proof end;

theorem Th35: :: GROUP_3:35
for b1 being Group
for b2, b3 being Element of b1 st b1 is commutative Group holds
b2 |^ b3 = b2
proof end;

theorem Th36: :: GROUP_3:36
for b1 being Group st ( for b2, b3 being Element of b1 holds b2 |^ b3 = b2 ) holds
b1 is commutative
proof end;

definition
let c1 be Group;
let c2, c3 be Subset of c1;
func c2 |^ c3 -> Subset of a1 equals :: GROUP_3:def 3
{ (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 Def3 defines |^ GROUP_3:def 3 :
for b1 being Group
for b2, b3 being Subset of b1 holds b2 |^ b3 = { (b4 |^ b5) where B is Element of b1, B is Element of b1 : ( b4 in b2 & b5 in b3 ) } ;

theorem Th37: :: GROUP_3:37
canceled;

theorem Th38: :: GROUP_3:38
for b1 being set
for b2 being Group
for b3, b4 being Subset 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 ) ) ;

theorem Th39: :: GROUP_3:39
for b1 being Group
for b2, b3 being Subset of b1 holds
( b2 |^ b3 <> {} iff ( b2 <> {} & b3 <> {} ) )
proof end;

theorem Th40: :: GROUP_3:40
for b1 being Group
for b2, b3 being Subset of b1 holds b2 |^ b3 c= ((b3 " ) * b2) * b3
proof end;

theorem Th41: :: GROUP_3:41
for b1 being Group
for b2, b3, b4 being Subset of b1 holds (b2 * b3) |^ b4 c= (b2 |^ b4) * (b3 |^ b4)
proof end;

theorem Th42: :: GROUP_3:42
for b1 being Group
for b2, b3, b4 being Subset of b1 holds (b2 |^ b3) |^ b4 = b2 |^ (b3 * b4)
proof end;

theorem Th43: :: GROUP_3:43
for b1 being Group
for b2, b3 being Subset of b1 holds (b2 " ) |^ b3 = (b2 |^ b3) "
proof end;

theorem Th44: :: GROUP_3:44
for b1 being Group
for b2, b3 being Element of b1 holds {b2} |^ {b3} = {(b2 |^ b3)}
proof end;

theorem Th45: :: GROUP_3:45
for b1 being Group
for b2, b3, b4 being Element of b1 holds {b2} |^ {b3,b4} = {(b2 |^ b3),(b2 |^ b4)}
proof end;

theorem Th46: :: GROUP_3:46
for b1 being Group
for b2, b3, b4 being Element of b1 holds {b2,b3} |^ {b4} = {(b2 |^ b4),(b3 |^ b4)}
proof end;

theorem Th47: :: GROUP_3:47
for b1 being Group
for b2, b3, b4, b5 being Element of b1 holds {b2,b3} |^ {b4,b5} = {(b2 |^ b4),(b2 |^ b5),(b3 |^ b4),(b3 |^ b5)}
proof end;

definition
let c1 be Group;
let c2 be Subset of c1;
let c3 be Element of c1;
func c2 |^ c3 -> Subset of a1 equals :: GROUP_3:def 4
a2 |^ {a3};
correctness
coherence
c2 |^ {c3} is Subset of c1
;
;
func c3 |^ c2 -> Subset of a1 equals :: GROUP_3:def 5
{a3} |^ a2;
correctness
coherence
{c3} |^ c2 is Subset of c1
;
;
end;

:: deftheorem Def4 defines |^ GROUP_3:def 4 :
for b1 being Group
for b2 being Subset of b1
for b3 being Element of b1 holds b2 |^ b3 = b2 |^ {b3};

:: deftheorem Def5 defines |^ GROUP_3:def 5 :
for b1 being Group
for b2 being Subset of b1
for b3 being Element of b1 holds b3 |^ b2 = {b3} |^ b2;

theorem Th48: :: GROUP_3:48
canceled;

theorem Th49: :: GROUP_3:49
canceled;

theorem Th50: :: GROUP_3:50
for b1 being set
for b2 being Group
for b3 being Element of b2
for b4 being Subset of b2 holds
( b1 in b4 |^ b3 iff ex b5 being Element of b2 st
( b1 = b5 |^ b3 & b5 in b4 ) )
proof end;

theorem Th51: :: GROUP_3:51
for b1 being set
for b2 being Group
for b3 being Element of b2
for b4 being Subset of b2 holds
( b1 in b3 |^ b4 iff ex b5 being Element of b2 st
( b1 = b3 |^ b5 & b5 in b4 ) )
proof end;

theorem Th52: :: GROUP_3:52
for b1 being Group
for b2 being Element of b1
for b3 being Subset of b1 holds b2 |^ b3 c= ((b3 " ) * b2) * b3
proof end;

theorem Th53: :: GROUP_3:53
for b1 being Group
for b2 being Element of b1
for b3, b4 being Subset of b1 holds (b3 |^ b4) |^ b2 = b3 |^ (b4 * b2) by Th42;

theorem Th54: :: GROUP_3:54
for b1 being Group
for b2 being Element of b1
for b3, b4 being Subset of b1 holds (b3 |^ b2) |^ b4 = b3 |^ (b2 * b4) by Th42;

theorem Th55: :: GROUP_3:55
for b1 being Group
for b2 being Element of b1
for b3, b4 being Subset of b1 holds (b2 |^ b3) |^ b4 = b2 |^ (b3 * b4) by Th42;

theorem Th56: :: GROUP_3:56
for b1 being Group
for b2, b3 being Element of b1
for b4 being Subset of b1 holds (b4 |^ b2) |^ b3 = b4 |^ (b2 * b3)
proof end;

theorem Th57: :: GROUP_3:57
for b1 being Group
for b2, b3 being Element of b1
for b4 being Subset of b1 holds (b2 |^ b4) |^ b3 = b2 |^ (b4 * b3) by Th53;

theorem Th58: :: GROUP_3:58
for b1 being Group
for b2, b3 being Element of b1
for b4 being Subset of b1 holds (b2 |^ b3) |^ b4 = b2 |^ (b3 * b4)
proof end;

theorem Th59: :: GROUP_3:59
for b1 being Group
for b2 being Element of b1
for b3 being Subset of b1 holds b3 |^ b2 = ((b2 " ) * b3) * b2
proof end;

theorem Th60: :: GROUP_3:60
for b1 being Group
for b2 being Element of b1
for b3, b4 being Subset of b1 holds (b3 * b4) |^ b2 c= (b3 |^ b2) * (b4 |^ b2) by Th41;

theorem Th61: :: GROUP_3:61
for b1 being Group
for b2 being Subset of b1 holds b2 |^ (1. b1) = b2
proof end;

theorem Th62: :: GROUP_3:62
for b1 being Group
for b2 being Subset of b1 st b2 <> {} holds
(1. b1) |^ b2 = {(1. b1)}
proof end;

theorem Th63: :: GROUP_3:63
for b1 being Group
for b2 being Element of b1
for b3 being Subset of b1 holds
( (b3 |^ b2) |^ (b2 " ) = b3 & (b3 |^ (b2 " )) |^ b2 = b3 )
proof end;

theorem Th64: :: GROUP_3:64
canceled;

theorem Th65: :: GROUP_3:65
for b1 being Group holds
( b1 is commutative Group iff for b2, b3 being Subset of b1 st b3 <> {} holds
b2 |^ b3 = b2 )
proof end;

theorem Th66: :: GROUP_3:66
for b1 being Group holds
( b1 is commutative Group iff for b2 being Subset of b1
for b3 being Element of b1 holds b2 |^ b3 = b2 )
proof end;

theorem Th67: :: GROUP_3:67
for b1 being Group holds
( b1 is commutative Group iff for b2 being Subset of b1
for b3 being Element of b1 st b2 <> {} holds
b3 |^ b2 = {b3} )
proof end;

definition
let c1 be Group;
let c2 be Subgroup of c1;
let c3 be Element of c1;
func c2 |^ c3 -> strict Subgroup of a1 means :Def6: :: GROUP_3:def 6
the carrier of a4 = (carr a2) |^ a3;
existence
ex b1 being strict Subgroup of c1 st the carrier of b1 = (carr c2) |^ c3
proof end;
correctness
uniqueness
for b1, b2 being strict Subgroup of c1 st the carrier of b1 = (carr c2) |^ c3 & the carrier of b2 = (carr c2) |^ c3 holds
b1 = b2
;
by GROUP_2:68;
end;

:: deftheorem Def6 defines |^ GROUP_3:def 6 :
for b1 being Group
for b2 being Subgroup of b1
for b3 being Element of b1
for b4 being strict Subgroup of b1 holds
( b4 = b2 |^ b3 iff the carrier of b4 = (carr b2) |^ b3 );

theorem Th68: :: GROUP_3:68
canceled;

theorem Th69: :: GROUP_3:69
canceled;

theorem Th70: :: GROUP_3:70
for b1 being set
for b2 being Group
for b3 being Element of b2
for b4 being Subgroup of b2 holds
( b1 in b4 |^ b3 iff ex b5 being Element of b2 st
( b1 = b5 |^ b3 & b5 in b4 ) )
proof end;

theorem Th71: :: GROUP_3:71
for b1 being Group
for b2 being Element of b1
for b3 being Subgroup of b1 holds the carrier of (b3 |^ b2) = ((b2 " ) * b3) * b2
proof end;

theorem Th72: :: GROUP_3:72
for b1 being Group
for b2, b3 being Element of b1
for b4 being Subgroup of b1 holds (b4 |^ b2) |^ b3 = b4 |^ (b2 * b3)
proof end;

theorem Th73: :: GROUP_3:73
for b1 being Group
for b2 being strict Subgroup of b1 holds b2 |^ (1. b1) = b2
proof end;

theorem Th74: :: GROUP_3:74
for b1 being Group
for b2 being Element of b1
for b3 being strict Subgroup of b1 holds
( (b3 |^ b2) |^ (b2 " ) = b3 & (b3 |^ (b2 " )) |^ b2 = b3 )
proof end;

theorem Th75: :: GROUP_3:75
canceled;

theorem Th76: :: GROUP_3:76
for b1 being Group
for b2 being Element of b1
for b3, b4 being Subgroup of b1 holds (b3 /\ b4) |^ b2 = (b3 |^ b2) /\ (b4 |^ b2)
proof end;

theorem Th77: :: GROUP_3:77
for b1 being Group
for b2 being Element of b1
for b3 being Subgroup of b1 holds Ord b3 = Ord (b3 |^ b2)
proof end;

theorem Th78: :: GROUP_3:78
for b1 being Group
for b2 being Element of b1
for b3 being Subgroup of b1 holds
( b3 is finite iff b3 |^ b2 is finite )
proof end;

theorem Th79: :: GROUP_3:79
for b1 being Group
for b2 being Element of b1
for b3 being Subgroup of b1 st b3 is finite holds
ord b3 = ord (b3 |^ b2)
proof end;

theorem Th80: :: GROUP_3:80
for b1 being Group
for b2 being Element of b1 holds ((1). b1) |^ b2 = (1). b1
proof end;

theorem Th81: :: GROUP_3:81
for b1 being Group
for b2 being Element of b1
for b3 being strict Subgroup of b1 st b3 |^ b2 = (1). b1 holds
b3 = (1). b1
proof end;

theorem Th82: :: GROUP_3:82
for b1 being Group
for b2 being Element of b1 holds ((Omega). b1) |^ b2 = (Omega). b1
proof end;

theorem Th83: :: GROUP_3:83
for b1 being Group
for b2 being Element of b1
for b3 being strict Subgroup of b1 st b3 |^ b2 = b1 holds
b3 = b1
proof end;

theorem Th84: :: GROUP_3:84
for b1 being Group
for b2 being Element of b1
for b3 being Subgroup of b1 holds Index b3 = Index (b3 |^ b2)
proof end;

theorem Th85: :: GROUP_3:85
for b1 being Group
for b2 being Element of b1
for b3 being Subgroup of b1 st Left_Cosets b3 is finite holds
index b3 = index (b3 |^ b2)
proof end;

theorem Th86: :: GROUP_3:86
for b1 being Group st b1 is commutative Group holds
for b2 being strict Subgroup of b1
for b3 being Element of b1 holds b2 |^ b3 = b2
proof end;

definition
let c1 be Group;
let c2, c3 be Element of c1;
pred c2,c3 are_conjugated means :Def7: :: GROUP_3:def 7
ex b1 being Element of a1 st a2 = a3 |^ b1;
end;

:: deftheorem Def7 defines are_conjugated GROUP_3:def 7 :
for b1 being Group
for b2, b3 being Element of b1 holds
( b2,b3 are_conjugated iff ex b4 being Element of b1 st b2 = b3 |^ b4 );

notation
let c1 be Group;
let c2, c3 be Element of c1;
antonym c2,c3 are_not_conjugated for c2,c3 are_conjugated ;
end;

theorem Th87: :: GROUP_3:87
canceled;

theorem Th88: :: GROUP_3:88
for b1 being Group
for b2, b3 being Element of b1 holds
( b2,b3 are_conjugated iff ex b4 being Element of b1 st b3 = b2 |^ b4 )
proof end;

theorem Th89: :: GROUP_3:89
for b1 being Group
for b2 being Element of b1 holds b2,b2 are_conjugated
proof end;

theorem Th90: :: GROUP_3:90
for b1 being Group
for b2, b3 being Element of b1 st b2,b3 are_conjugated holds
b3,b2 are_conjugated
proof end;

definition
let c1 be Group;
let c2, c3 be Element of c1;
redefine pred are_conjugated as c2,c3 are_conjugated ;
reflexivity
for b1 being Element of c1 holds b1,b1 are_conjugated
by Th89;
symmetry
for b1, b2 being Element of c1 st b1,b2 are_conjugated holds
b2,b1 are_conjugated
by Th90;
end;

theorem Th91: :: GROUP_3:91
for b1 being Group
for b2, b3, b4 being Element of b1 st b2,b3 are_conjugated & b3,b4 are_conjugated holds
b2,b4 are_conjugated
proof end;

theorem Th92: :: GROUP_3:92
for b1 being Group
for b2 being Element of b1 st ( b2, 1. b1 are_conjugated or 1. b1,b2 are_conjugated ) holds
b2 = 1. b1
proof end;

theorem Th93: :: GROUP_3:93
for b1 being Group
for b2 being Element of b1 holds b2 |^ (carr ((Omega). b1)) = { b3 where B is Element of b1 : b2,b3 are_conjugated }
proof end;

definition
let c1 be Group;
let c2 be Element of c1;
func con_class c2 -> Subset of a1 equals :: GROUP_3:def 8
a2 |^ (carr ((Omega). a1));
correctness
coherence
c2 |^ (carr ((Omega). c1)) is Subset of c1
;
;
end;

:: deftheorem Def8 defines con_class GROUP_3:def 8 :
for b1 being Group
for b2 being Element of b1 holds con_class b2 = b2 |^ (carr ((Omega). b1));

theorem Th94: :: GROUP_3:94
canceled;

theorem Th95: :: GROUP_3:95
for b1 being set
for b2 being Group
for b3 being Element of b2 holds
( b1 in con_class b3 iff ex b4 being Element of b2 st
( b4 = b1 & b3,b4 are_conjugated ) )
proof end;

theorem Th96: :: GROUP_3:96
for b1 being Group
for b2, b3 being Element of b1 holds
( b2 in con_class b3 iff b2,b3 are_conjugated )
proof end;

theorem Th97: :: GROUP_3:97
for b1 being Group
for b2, b3 being Element of b1 holds b2 |^ b3 in con_class b2
proof end;

theorem Th98: :: GROUP_3:98
for b1 being Group
for b2 being Element of b1 holds b2 in con_class b2 by Th96;

theorem Th99: :: GROUP_3:99
for b1 being Group
for b2, b3 being Element of b1 st b2 in con_class b3 holds
b3 in con_class b2
proof end;

theorem Th100: :: GROUP_3:100
for b1 being Group
for b2, b3 being Element of b1 holds
( con_class b2 = con_class b3 iff con_class b2 meets con_class b3 )
proof end;

theorem Th101: :: GROUP_3:101
for b1 being Group
for b2 being Element of b1 holds
( con_class b2 = {(1. b1)} iff b2 = 1. b1 )
proof end;

theorem Th102: :: GROUP_3:102
for b1 being Group
for b2 being Element of b1
for b3 being Subset of b1 holds (con_class b2) * b3 = b3 * (con_class b2)
proof end;

definition
let c1 be Group;
let c2, c3 be Subset of c1;
pred c2,c3 are_conjugated means :Def9: :: GROUP_3:def 9
ex b1 being Element of a1 st a2 = a3 |^ b1;
end;

:: deftheorem Def9 defines are_conjugated GROUP_3:def 9 :
for b1 being Group
for b2, b3 being Subset of b1 holds
( b2,b3 are_conjugated iff ex b4 being Element of b1 st b2 = b3 |^ b4 );

notation
let c1 be Group;
let c2, c3 be Subset of c1;
antonym c2,c3 are_not_conjugated for c2,c3 are_conjugated ;
end;

theorem Th103: :: GROUP_3:103
canceled;

theorem Th104: :: GROUP_3:104
for b1 being Group
for b2, b3 being Subset of b1 holds
( b2,b3 are_conjugated iff ex b4 being Element of b1 st b3 = b2 |^ b4 )
proof end;

theorem Th105: :: GROUP_3:105
for b1 being Group
for b2 being Subset of b1 holds b2,b2 are_conjugated
proof end;

theorem Th106: :: GROUP_3:106
for b1 being Group
for b2, b3 being Subset of b1 st b2,b3 are_conjugated holds
b3,b2 are_conjugated
proof end;

definition
let c1 be Group;
let c2, c3 be Subset of c1;
redefine pred are_conjugated as c2,c3 are_conjugated ;
reflexivity
for b1 being Subset of c1 holds b1,b1 are_conjugated
by Th105;
symmetry
for b1, b2 being Subset of c1 st b1,b2 are_conjugated holds
b2,b1 are_conjugated
by Th106;
end;

theorem Th107: :: GROUP_3:107
for b1 being Group
for b2, b3, b4 being Subset of b1 st b2,b3 are_conjugated & b3,b4 are_conjugated holds
b2,b4 are_conjugated
proof end;

theorem Th108: :: GROUP_3:108
for b1 being Group
for b2, b3 being Element of b1 holds
( {b2},{b3} are_conjugated iff b2,b3 are_conjugated )
proof end;

theorem Th109: :: GROUP_3:109
for b1 being Group
for b2 being Subset of b1
for b3 being Subgroup of b1 st b2, carr b3 are_conjugated holds
ex b4 being strict Subgroup of b1 st the carrier of b4 = b2
proof end;

definition
let c1 be Group;
let c2 be Subset of c1;
func con_class c2 -> Subset-Family of a1 equals :: GROUP_3:def 10
{ b1 where B is Subset of a1 : a2,b1 are_conjugated } ;
coherence
{ b1 where B is Subset of c1 : c2,b1 are_conjugated } is Subset-Family of c1
proof end;
end;

:: deftheorem Def10 defines con_class GROUP_3:def 10 :
for b1 being Group
for b2 being Subset of b1 holds con_class b2 = { b3 where B is Subset of b1 : b2,b3 are_conjugated } ;

theorem Th110: :: GROUP_3:110
canceled;

theorem Th111: :: GROUP_3:111
for b1 being set
for b2 being Group
for b3 being Subset of b2 holds
( b1 in con_class b3 iff ex b4 being Subset of b2 st
( b1 = b4 & b3,b4 are_conjugated ) ) ;

theorem Th112: :: GROUP_3:112
canceled;

theorem Th113: :: GROUP_3:113
for b1 being Group
for b2, b3 being Subset of b1 holds
( b2 in con_class b3 iff b2,b3 are_conjugated )
proof end;

theorem Th114: :: GROUP_3:114
for b1 being Group
for b2 being Element of b1
for b3 being Subset of b1 holds b3 |^ b2 in con_class b3
proof end;

theorem Th115: :: GROUP_3:115
for b1 being Group
for b2 being Subset of b1 holds b2 in con_class b2 ;

theorem Th116: :: GROUP_3:116
for b1 being Group
for b2, b3 being Subset of b1 st b2 in con_class b3 holds
b3 in con_class b2
proof end;

theorem Th117: :: GROUP_3:117
for b1 being Group
for b2, b3 being Subset of b1 holds
( con_class b2 = con_class b3 iff con_class b2 meets con_class b3 )
proof end;

theorem Th118: :: GROUP_3:118
for b1 being Group
for b2 being Element of b1 holds con_class {b2} = { {b3} where B is Element of b1 : b3 in con_class b2 }
proof end;

theorem Th119: :: GROUP_3:119
for b1 being Group
for b2 being Subset of b1 st b1 is finite holds
con_class b2 is finite
proof end;

definition
let c1 be Group;
let c2, c3 be Subgroup of c1;
pred c2,c3 are_conjugated means :Def11: :: GROUP_3:def 11
ex b1 being Element of a1 st HGrStr(# the carrier of a2,the mult of a2 #) = a3 |^ b1;
end;

:: deftheorem Def11 defines are_conjugated GROUP_3:def 11 :
for b1 being Group
for b2, b3 being Subgroup of b1 holds
( b2,b3 are_conjugated iff ex b4 being Element of b1 st HGrStr(# the carrier of b2,the mult of b2 #) = b3 |^ b4 );

notation
let c1 be Group;
let c2, c3 be Subgroup of c1;
antonym c2,c3 are_not_conjugated for c2,c3 are_conjugated ;
end;

theorem Th120: :: GROUP_3:120
canceled;

theorem Th121: :: GROUP_3:121
for b1 being Group
for b2, b3 being strict Subgroup of b1 holds
( b2,b3 are_conjugated iff ex b4 being Element of b1 st b3 = b2 |^ b4 )
proof end;

theorem Th122: :: GROUP_3:122
for b1 being Group
for b2 being strict Subgroup of b1 holds b2,b2 are_conjugated
proof end;

theorem Th123: :: GROUP_3:123
for b1 being Group
for b2, b3 being strict Subgroup of b1 st b2,b3 are_conjugated holds
b3,b2 are_conjugated
proof end;

definition
let c1 be Group;
let c2, c3 be strict Subgroup of c1;
redefine pred are_conjugated as c2,c3 are_conjugated ;
reflexivity
for b1 being strict Subgroup of c1 holds b1,b1 are_conjugated
by Th122;
symmetry
for b1, b2 being strict Subgroup of c1 st b1,b2 are_conjugated holds
b2,b1 are_conjugated
by Th123;
end;

theorem Th124: :: GROUP_3:124
for b1 being Group
for b2 being Subgroup of b1
for b3, b4 being strict Subgroup of b1 st b3,b4 are_conjugated & b4,b2 are_conjugated holds
b3,b2 are_conjugated
proof end;

definition
let c1 be Group;
let c2 be Subgroup of c1;
func con_class c2 -> Subset of (Subgroups a1) means :Def12: :: GROUP_3:def 12
for b1 being set holds
( b1 in a3 iff ex b2 being strict Subgroup of a1 st
( b1 = b2 & a2,b2 are_conjugated ) );
existence
ex b1 being Subset of (Subgroups c1) st
for b2 being set holds
( b2 in b1 iff ex b3 being strict Subgroup of c1 st
( b2 = b3 & c2,b3 are_conjugated ) )
proof end;
uniqueness
for b1, b2 being Subset of (Subgroups c1) st ( for b3 being set holds
( b3 in b1 iff ex b4 being strict Subgroup of c1 st
( b3 = b4 & c2,b4 are_conjugated ) ) ) & ( for b3 being set holds
( b3 in b2 iff ex b4 being strict Subgroup of c1 st
( b3 = b4 & c2,b4 are_conjugated ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def12 defines con_class GROUP_3:def 12 :
for b1 being Group
for b2 being Subgroup of b1
for b3 being Subset of (Subgroups b1) holds
( b3 = con_class b2 iff for b4 being set holds
( b4 in b3 iff ex b5 being strict Subgroup of b1 st
( b4 = b5 & b2,b5 are_conjugated ) ) );

theorem Th125: :: GROUP_3:125
canceled;

theorem Th126: :: GROUP_3:126
canceled;

theorem Th127: :: GROUP_3:127
for b1 being set
for b2 being Group
for b3 being Subgroup of b2 st b1 in con_class b3 holds
b1 is strict Subgroup of b2
proof end;

theorem Th128: :: GROUP_3:128
for b1 being Group
for b2, b3 being strict Subgroup of b1 holds
( b2 in con_class b3 iff b2,b3 are_conjugated )
proof end;

theorem Th129: :: GROUP_3:129
for b1 being Group
for b2 being Element of b1
for b3 being strict Subgroup of b1 holds b3 |^ b2 in con_class b3
proof end;

theorem Th130: :: GROUP_3:130
for b1 being Group
for b2 being strict Subgroup of b1 holds b2 in con_class b2
proof end;

theorem Th131: :: GROUP_3:131
for b1 being Group
for b2, b3 being strict Subgroup of b1 st b2 in con_class b3 holds
b3 in con_class b2
proof end;

theorem Th132: :: GROUP_3:132
for b1 being Group
for b2, b3 being strict Subgroup of b1 holds
( con_class b2 = con_class b3 iff con_class b2 meets con_class b3 )
proof end;

theorem Th133: :: GROUP_3:133
for b1 being Group
for b2 being Subgroup of b1 st b1 is finite holds
con_class b2 is finite
proof end;

theorem Th134: :: GROUP_3:134
for b1 being Group
for b2 being Subgroup of b1
for b3 being strict Subgroup of b1 holds
( b3,b2 are_conjugated iff carr b3, carr b2 are_conjugated )
proof end;

definition
let c1 be Group;
let c2 be Subgroup of c1;
attr a2 is normal means :Def13: :: GROUP_3:def 13
for b1 being Element of a1 holds a2 |^ b1 = HGrStr(# the carrier of a2,the mult of a2 #);
end;

:: deftheorem Def13 defines normal GROUP_3:def 13 :
for b1 being Group
for b2 being Subgroup of b1 holds
( b2 is normal iff for b3 being Element of b1 holds b2 |^ b3 = HGrStr(# the carrier of b2,the mult of b2 #) );

registration
let c1 be Group;
cluster strict normal Subgroup of a1;
existence
ex b1 being Subgroup of c1 st
( b1 is strict & b1 is normal )
proof end;
end;

theorem Th135: :: GROUP_3:135
canceled;

theorem Th136: :: GROUP_3:136
canceled;

theorem Th137: :: GROUP_3:137
for b1 being Group holds
( (1). b1 is normal & (Omega). b1 is normal )
proof end;

theorem Th138: :: GROUP_3:138
for b1 being Group
for b2, b3 being strict normal Subgroup of b1 holds b2 /\ b3 is normal
proof end;

theorem Th139: :: GROUP_3:139
for b1 being Group
for b2 being strict Subgroup of b1 st b1 is commutative Group holds
b2 is normal
proof end;

theorem Th140: :: GROUP_3:140
for b1 being Group
for b2 being Subgroup of b1 holds
( b2 is normal Subgroup of b1 iff for b3 being Element of b1 holds b3 * b2 = b2 * b3 )
proof end;

theorem Th141: :: GROUP_3:141
for b1 being Group
for b2 being Subgroup of b1 holds
( b2 is normal Subgroup of b1 iff for b3 being Element of b1 holds b3 * b2 c= b2 * b3 )
proof end;

theorem Th142: :: GROUP_3:142
for b1 being Group
for b2 being Subgroup of b1 holds
( b2 is normal Subgroup of b1 iff for b3 being Element of b1 holds b2 * b3 c= b3 * b2 )
proof end;

theorem Th143: :: GROUP_3:143
for b1 being Group
for b2 being Subgroup of b1 holds
( b2 is normal Subgroup of b1 iff for b3 being Subset of b1 holds b3 * b2 = b2 * b3 )
proof end;

theorem Th144: :: GROUP_3:144
for b1 being Group
for b2 being strict Subgroup of b1 holds
( b2 is normal Subgroup of b1 iff for b3 being Element of b1 holds b2 is Subgroup of b2 |^ b3 )
proof end;

theorem Th145: :: GROUP_3:145
for b1 being Group
for b2 being strict Subgroup of b1 holds
( b2 is normal Subgroup of b1 iff for b3 being Element of b1 holds b2 |^ b3 is Subgroup of b2 )
proof end;

theorem Th146: :: GROUP_3:146
for b1 being Group
for b2 being strict Subgroup of b1 holds
( b2 is normal Subgroup of b1 iff con_class b2 = {b2} )
proof end;

theorem Th147: :: GROUP_3:147
for b1 being Group
for b2 being strict Subgroup of b1 holds
( b2 is normal Subgroup of b1 iff for b3 being Element of b1 st b3 in b2 holds
con_class b3 c= carr b2 )
proof end;

Lemma90: for b1 being Group
for b2 being normal Subgroup of b1
for b3 being strict normal Subgroup of b1 holds (carr b3) * (carr b2) c= (carr b2) * (carr b3)
proof end;

theorem Th148: :: GROUP_3:148
for b1 being Group
for b2, b3 being strict normal Subgroup of b1 holds (carr b2) * (carr b3) = (carr b3) * (carr b2)
proof end;

theorem Th149: :: GROUP_3:149
for b1 being Group
for b2, b3 being strict normal Subgroup of b1 ex b4 being strict normal Subgroup of b1 st the carrier of b4 = (carr b2) * (carr b3)
proof end;

theorem Th150: :: GROUP_3:150
for b1 being Group
for b2 being normal Subgroup of b1 holds Left_Cosets b2 = Right_Cosets b2
proof end;

theorem Th151: :: GROUP_3:151
for b1 being Group
for b2 being Subgroup of b1 st Left_Cosets b2 is finite & index b2 = 2 holds
b2 is normal Subgroup of b1
proof end;

definition
let c1 be Group;
let c2 be Subset of c1;
func Normalizator c2 -> strict Subgroup of a1 means :Def14: :: GROUP_3:def 14
the carrier of a3 = { b1 where B is Element of a1 : a2 |^ b1 = a2 } ;
existence
ex b1 being strict Subgroup of c1 st the carrier of b1 = { b2 where B is Element of c1 : c2 |^ b2 = c2 }
proof end;
uniqueness
for b1, b2 being strict Subgroup of c1 st the carrier of b1 = { b3 where B is Element of c1 : c2 |^ b3 = c2 } & the carrier of b2 = { b3 where B is Element of c1 : c2 |^ b3 = c2 } holds
b1 = b2
by GROUP_2:68;
end;

:: deftheorem Def14 defines Normalizator GROUP_3:def 14 :
for b1 being Group
for b2 being Subset of b1
for b3 being strict Subgroup of b1 holds
( b3 = Normalizator b2 iff the carrier of b3 = { b4 where B is Element of b1 : b2 |^ b4 = b2 } );

theorem Th152: :: GROUP_3:152
canceled;

theorem Th153: :: GROUP_3:153
canceled;

theorem Th154: :: GROUP_3:154
for b1 being set
for b2 being Group
for b3 being Subset of b2 holds
( b1 in Normalizator b3 iff ex b4 being Element of b2 st
( b1 = b4 & b3 |^ b4 = b3 ) )
proof end;

theorem Th155: :: GROUP_3:155
for b1 being Group
for b2 being Subset of b1 holds Card (con_class b2) = Index (Normalizator b2)
proof end;

theorem Th156: :: GROUP_3:156
for b1 being Group
for b2 being Subset of b1 st ( con_class b2 is finite or Left_Cosets (Normalizator b2) is finite ) holds
ex b3 being finite set st
( b3 = con_class b2 & card b3 = index (Normalizator b2) )
proof end;

theorem Th157: :: GROUP_3:157
for b1 being Group
for b2 being Element of b1 holds Card (con_class b2) = Index (Normalizator {b2})
proof end;

theorem Th158: :: GROUP_3:158
for b1 being Group
for b2 being Element of b1 st ( con_class b2 is finite or Left_Cosets (Normalizator {b2}) is finite ) holds
ex b3 being finite set st
( b3 = con_class b2 & card b3 = index (Normalizator {b2}) )
proof end;

definition
let c1 be Group;
let c2 be Subgroup of c1;
func Normalizator c2 -> strict Subgroup of a1 equals :: GROUP_3:def 15
Normalizator (carr a2);
correctness
coherence
Normalizator (carr c2) is strict Subgroup of c1
;
;
end;

:: deftheorem Def15 defines Normalizator GROUP_3:def 15 :
for b1 being Group
for b2 being Subgroup of b1 holds Normalizator b2 = Normalizator (carr b2);

theorem Th159: :: GROUP_3:159
canceled;

theorem Th160: :: GROUP_3:160
for b1 being set
for b2 being Group
for b3 being strict Subgroup of b2 holds
( b1 in Normalizator b3 iff ex b4 being Element of b2 st
( b1 = b4 & b3 |^ b4 = b3 ) )
proof end;

theorem Th161: :: GROUP_3:161
for b1 being Group
for b2 being strict Subgroup of b1 holds Card (con_class b2) = Index (Normalizator b2)
proof end;

theorem Th162: :: GROUP_3:162
for b1 being Group
for b2 being strict Subgroup of b1 st ( con_class b2 is finite or Left_Cosets (Normalizator b2) is finite ) holds
ex b3 being finite set st
( b3 = con_class b2 & card b3 = index (Normalizator b2) )
proof end;

theorem Th163: :: GROUP_3:163
for b1 being strict Group
for b2 being strict Subgroup of b1 holds
( b2 is normal Subgroup of b1 iff Normalizator b2 = b1 )
proof end;

theorem Th164: :: GROUP_3:164
for b1 being strict Group holds Normalizator ((1). b1) = b1
proof end;

theorem Th165: :: GROUP_3:165
for b1 being strict Group holds Normalizator ((Omega). b1) = b1
proof end;