:: GR_CY_2 semantic presentation

theorem Th1: :: GR_CY_2:1
canceled;

theorem Th2: :: GR_CY_2:2
canceled;

theorem Th3: :: GR_CY_2:3
canceled;

theorem Th4: :: GR_CY_2:4
canceled;

theorem Th5: :: GR_CY_2:5
canceled;

theorem Th6: :: GR_CY_2:6
for b1 being Group
for b2, b3 being Element of b1
for b4 being Nat st ord b2 > 1 & b2 = b3 |^ b4 holds
b4 <> 0
proof end;

Lemma1: for b1 being Group st b1 is finite holds
ord b1 > 0
by GROUP_1:90;

theorem Th7: :: GR_CY_2:7
canceled;

theorem Th8: :: GR_CY_2:8
for b1 being Group
for b2 being Element of b1 holds b2 in gr {b2}
proof end;

theorem Th9: :: GR_CY_2:9
for b1 being Group
for b2 being Subgroup of b1
for b3 being Element of b1
for b4 being Element of b2 st b3 = b4 holds
gr {b3} = gr {b4}
proof end;

theorem Th10: :: GR_CY_2:10
for b1 being Group
for b2 being Element of b1 holds gr {b2} is cyclic Group
proof end;

theorem Th11: :: GR_CY_2:11
for b1 being strict Group
for b2 being Element of b1 holds
( ( for b3 being Element of b1 ex b4 being Integer st b3 = b2 |^ b4 ) iff b1 = gr {b2} )
proof end;

theorem Th12: :: GR_CY_2:12
for b1 being strict Group
for b2 being Element of b1 st b1 is finite holds
( ( for b3 being Element of b1 ex b4 being Nat st b3 = b2 |^ b4 ) iff b1 = gr {b2} )
proof end;

theorem Th13: :: GR_CY_2:13
for b1 being strict Group
for b2 being Element of b1 st b1 is finite & b1 = gr {b2} holds
for b3 being strict Subgroup of b1 ex b4 being Nat st b3 = gr {(b2 |^ b4)}
proof end;

theorem Th14: :: GR_CY_2:14
for b1 being Group
for b2 being Element of b1
for b3, b4, b5 being Nat st b1 is finite & b1 = gr {b2} & ord b1 = b3 & b3 = b4 * b5 holds
ord (b2 |^ b4) = b5
proof end;

theorem Th15: :: GR_CY_2:15
for b1 being Group
for b2 being Element of b1
for b3, b4 being Nat st b3 divides b4 holds
b2 |^ b4 in gr {(b2 |^ b3)}
proof end;

theorem Th16: :: GR_CY_2:16
for b1 being Group
for b2 being Element of b1
for b3, b4 being Nat st b1 is finite & ord (gr {(b2 |^ b3)}) = ord (gr {(b2 |^ b4)}) & b2 |^ b4 in gr {(b2 |^ b3)} holds
gr {(b2 |^ b3)} = gr {(b2 |^ b4)}
proof end;

theorem Th17: :: GR_CY_2:17
for b1 being Group
for b2 being Subgroup of b1
for b3 being Element of b1
for b4, b5, b6 being Nat st b1 is finite & ord b1 = b4 & b1 = gr {b3} & ord b2 = b5 & b2 = gr {(b3 |^ b6)} holds
b4 divides b6 * b5
proof end;

theorem Th18: :: GR_CY_2:18
for b1, b2 being Nat
for b3 being strict Group
for b4 being Element of b3 st b3 is finite & b3 = gr {b4} & ord b3 = b1 holds
( b3 = gr {(b4 |^ b2)} iff b2 hcf b1 = 1 )
proof end;

theorem Th19: :: GR_CY_2:19
for b1 being cyclic Group
for b2 being Subgroup of b1
for b3 being Element of b1 st b1 = gr {b3} & b3 in b2 holds
HGrStr(# the carrier of b1,the mult of b1 #) = HGrStr(# the carrier of b2,the mult of b2 #)
proof end;

theorem Th20: :: GR_CY_2:20
for b1 being cyclic Group
for b2 being Element of b1 st b1 = gr {b2} holds
( b1 is finite iff ex b3, b4 being Integer st
( b3 <> b4 & b2 |^ b3 = b2 |^ b4 ) )
proof end;

definition
let c1 be Nat;
assume E14: c1 > 0 ;
let c2 be Element of (INT.Group c1);
func @ c2 -> Nat equals :Def1: :: GR_CY_2:def 1
a2;
coherence
c2 is Nat
proof end;
end;

:: deftheorem Def1 defines @ GR_CY_2:def 1 :
for b1 being Nat st b1 > 0 holds
for b2 being Element of (INT.Group b1) holds @ b2 = b2;

theorem Th21: :: GR_CY_2:21
for b1 being Nat
for b2 being strict cyclic Group st b2 is finite & ord b2 = b1 holds
INT.Group b1,b2 are_isomorphic
proof end;

theorem Th22: :: GR_CY_2:22
for b1 being strict cyclic Group st not b1 is finite holds
INT.Group ,b1 are_isomorphic
proof end;

theorem Th23: :: GR_CY_2:23
for b1, b2 being strict cyclic Group st b2 is finite & b1 is finite & ord b2 = ord b1 holds
b2,b1 are_isomorphic
proof end;

theorem Th24: :: GR_CY_2:24
for b1 being Nat
for b2, b3 being strict Group st b2 is finite & b3 is finite & ord b2 = b1 & ord b3 = b1 & b1 is prime holds
b2,b3 are_isomorphic
proof end;

theorem Th25: :: GR_CY_2:25
for b1, b2 being strict Group st b1 is finite & b2 is finite & ord b1 = 2 & ord b2 = 2 holds
b1,b2 are_isomorphic by Th24, INT_2:44;

theorem Th26: :: GR_CY_2:26
for b1 being strict Group st b1 is finite & ord b1 = 2 holds
for b2 being strict Subgroup of b1 holds
( b2 = (1). b1 or b2 = b1 ) by GR_CY_1:32, INT_2:44;

theorem Th27: :: GR_CY_2:27
for b1 being strict Group st b1 is finite & ord b1 = 2 holds
b1 is cyclic Group by GR_CY_1:45, INT_2:44;

theorem Th28: :: GR_CY_2:28
for b1 being Nat
for b2 being strict Group st b2 is finite & b2 is cyclic Group & ord b2 = b1 holds
for b3 being Nat st b3 divides b1 holds
ex b4 being strict Subgroup of b2 st
( ord b4 = b3 & ( for b5 being strict Subgroup of b2 st ord b5 = b3 holds
b5 = b4 ) )
proof end;

theorem Th29: :: GR_CY_2:29
for b1 being cyclic Group
for b2 being Element of b1 st b1 = gr {b2} holds
for b3 being Group
for b4 being Homomorphism of b3,b1 st b2 in Image b4 holds
b4 is_epimorphism
proof end;

theorem Th30: :: GR_CY_2:30
for b1 being Nat
for b2 being strict cyclic Group st b2 is finite & ord b2 = b1 & ex b3 being Nat st b1 = 2 * b3 holds
ex b3 being Element of b2 st
( ord b3 = 2 & ( for b4 being Element of b2 st ord b4 = 2 holds
b3 = b4 ) )
proof end;

registration
let c1 be Group;
cluster center a1 -> normal ;
coherence
center c1 is normal
by GROUP_5:90;
end;

theorem Th31: :: GR_CY_2:31
for b1 being Nat
for b2 being strict cyclic Group st b2 is finite & ord b2 = b1 & ex b3 being Nat st b1 = 2 * b3 holds
ex b3 being Subgroup of b2 st
( ord b3 = 2 & b3 is cyclic Group )
proof end;

theorem Th32: :: GR_CY_2:32
for b1 being Group
for b2 being strict Group
for b3 being Homomorphism of b2,b1 st b2 is cyclic Group holds
Image b3 is cyclic Group
proof end;

theorem Th33: :: GR_CY_2:33
for b1, b2 being strict Group st b1,b2 are_isomorphic & ( b1 is cyclic Group or b2 is cyclic Group ) holds
( b1 is cyclic Group & b2 is cyclic Group )
proof end;