:: GROUP_1  semantic presentation
:: deftheorem Def1   defines * GROUP_1:def 1 : 
E1: 
now 
set c1 =  
HGrStr(# 
REAL ,
addreal  #);
E2: 
for 
b1, 
b2 being  
Element of 
HGrStr(# 
REAL ,
addreal  #)
 for 
b3, 
b4 being  
Real  st 
b1 = b3 & 
b2 = b4 holds 
b1 * b2 = b3 + b4
 by BINOP_2:def 9;
thus 
for 
b1, 
b2, 
b3 being  
Element of 
HGrStr(# 
REAL ,
addreal  #) holds  
(b1 * b2) * b3 = b1 * (b2 * b3)
 
reconsider c2 = 0 as   
Element of 
HGrStr(# 
REAL ,
addreal  #) ;
take c3 = 
c2;
let c4 be   
Element of 
HGrStr(# 
REAL ,
addreal  #);
reconsider c5 = 
c4 as   
Real ;
thus c4 * c3 = 
c5 + 0
by E2
.= 
c4
;
thus c3 * c4 = 
0 
+ c5
by E2
.= 
c4
;
reconsider c6 =  
- c5 as   
Element of 
HGrStr(# 
REAL ,
addreal  #) ;
take c7 = 
c6;
thus c4 * c7 = 
c5 + (- c5)
by E2
.= 
c3
;
thus c7 * c4 = 
(- c5) + c5
by E2
.= 
c3
;
 
end;
 
:: deftheorem Def2   defines unital GROUP_1:def 2 : 
:: deftheorem Def3   defines Group-like GROUP_1:def 3 : 
:: deftheorem Def4   defines associative GROUP_1:def 4 : 
theorem Th1: :: GROUP_1:1
canceled; 
theorem Th2: :: GROUP_1:2
canceled; 
theorem Th3: :: GROUP_1:3
canceled; 
theorem Th4: :: GROUP_1:4
canceled; 
theorem Th5: :: GROUP_1:5
theorem Th6: :: GROUP_1:6
theorem Th7: :: GROUP_1:7
:: deftheorem Def5   defines 1. GROUP_1:def 5 : 
theorem Th8: :: GROUP_1:8
canceled; 
theorem Th9: :: GROUP_1:9
canceled; 
theorem Th10: :: GROUP_1:10
:: deftheorem Def6   defines " GROUP_1:def 6 : 
for 
b1 being  
Group for 
b2, 
b3 being  
Element of 
b1 holds 
 ( 
b3 = b2 "  iff ( 
b2 * b3 =  1. b1 & 
b3 * b2 =  1. b1 ) );
theorem Th11: :: GROUP_1:11
canceled; 
theorem Th12: :: GROUP_1:12
theorem Th13: :: GROUP_1:13
canceled; 
theorem Th14: :: GROUP_1:14
for 
b1 being  
Group for 
b2, 
b3, 
b4 being  
Element of 
b1  st ( 
b2 * b3 = b2 * b4 or 
b3 * b2 = b4 * b2 ) holds 
b3 = b4
theorem Th15: :: GROUP_1:15
for 
b1 being  
Group for 
b2, 
b3 being  
Element of 
b1  st ( 
b2 * b3 = b2 or 
b3 * b2 = b2 ) holds 
b3 =  1. b1
theorem Th16: :: GROUP_1:16
theorem Th17: :: GROUP_1:17
theorem Th18: :: GROUP_1:18
theorem Th19: :: GROUP_1:19
theorem Th20: :: GROUP_1:20
for 
b1 being  
Group for 
b2, 
b3 being  
Element of 
b1  st ( 
b2 * b3 =  1. b1 or 
b3 * b2 =  1. b1 ) holds 
( 
b2 = b3 "  & 
b3 = b2 "  )
theorem Th21: :: GROUP_1:21
for 
b1 being  
Group for 
b2, 
b3, 
b4 being  
Element of 
b1 holds 
 ( 
b2 * b3 = b4 iff 
b3 = (b2 " ) * b4 )
theorem Th22: :: GROUP_1:22
for 
b1 being  
Group for 
b2, 
b3, 
b4 being  
Element of 
b1 holds 
 ( 
b2 * b3 = b4 iff 
b2 = b4 * (b3 " ) )
theorem Th23: :: GROUP_1:23
theorem Th24: :: GROUP_1:24
theorem Th25: :: GROUP_1:25
theorem Th26: :: GROUP_1:26
for 
b1 being  
Group for 
b2, 
b3 being  
Element of 
b1 holds 
 ( 
b2 * b3 = b3 * b2 iff 
(b2 * b3) "  = (b2 " ) * (b3 " ) )
theorem Th27: :: GROUP_1:27
for 
b1 being  
Group for 
b2, 
b3 being  
Element of 
b1 holds 
 ( 
b2 * b3 = b3 * b2 iff 
(b2 " ) * (b3 " ) = (b3 " ) * (b2 " ) )
theorem Th28: :: GROUP_1:28
for 
b1 being  
Group for 
b2, 
b3 being  
Element of 
b1 holds 
 ( 
b2 * b3 = b3 * b2 iff 
b2 * (b3 " ) = (b3 " ) * b2 )
:: deftheorem Def7   defines inverse_op GROUP_1:def 7 : 
theorem Th29: :: GROUP_1:29
canceled; 
theorem Th30: :: GROUP_1:30
canceled; 
theorem Th31: :: GROUP_1:31
theorem Th32: :: GROUP_1:32
theorem Th33: :: GROUP_1:33
theorem Th34: :: GROUP_1:34
theorem Th35: :: GROUP_1:35
theorem Th36: :: GROUP_1:36
theorem Th37: :: GROUP_1:37
definition
let c1 be  non 
empty  HGrStr ;
func  power c1 ->   Function of 
[:the carrier of a1,NAT :],the 
carrier of 
a1 means :
Def8: 
:: GROUP_1:def 8
for 
b1 being  
Element of 
a1 holds 
 ( 
a2 . b1,0 
=  1. a1 & ( for 
b2 being  
Nat holds  
a2 . b1,
(b2 + 1) = (a2 . b1,b2) * b1 ) );
existence 
ex b1 being  Function of [:the carrier of c1,NAT :],the carrier of c1 st 
for b2 being  Element of c1 holds 
 ( b1 . b2,0 =  1. c1 & ( for b3 being  Nat holds  b1 . b2,(b3 + 1) = (b1 . b2,b3) * b2 ) )
 
uniqueness 
for b1, b2 being  Function of [:the carrier of c1,NAT :],the carrier of c1  st ( for b3 being  Element of c1 holds 
 ( b1 . b3,0 =  1. c1 & ( for b4 being  Nat holds  b1 . b3,(b4 + 1) = (b1 . b3,b4) * b3 ) ) ) & ( for b3 being  Element of c1 holds 
 ( b2 . b3,0 =  1. c1 & ( for b4 being  Nat holds  b2 . b3,(b4 + 1) = (b2 . b3,b4) * b3 ) ) ) holds 
b1 = b2
 
 
end;
 
:: deftheorem Def8   defines power GROUP_1:def 8 : 
:: deftheorem Def9   defines |^ GROUP_1:def 9 : 
:: deftheorem Def10   defines |^ GROUP_1:def 10 : 
Lemma28: 
for b1 being  Nat
 for b2 being  Group
 for b3 being  Element of b2 holds  b3 |^ (b1 + 1) = (b3 |^ b1) * b3
 
by Def8;
Lemma29: 
for b1 being  Group
 for b2 being  Element of b1 holds  b2 |^ 0 =  1. b1
 
by Def8;
theorem Th38: :: GROUP_1:38
canceled; 
theorem Th39: :: GROUP_1:39
canceled; 
theorem Th40: :: GROUP_1:40
canceled; 
theorem Th41: :: GROUP_1:41
canceled; 
theorem Th42: :: GROUP_1:42
theorem Th43: :: GROUP_1:43
theorem Th44: :: GROUP_1:44
theorem Th45: :: GROUP_1:45
theorem Th46: :: GROUP_1:46
theorem Th47: :: GROUP_1:47
theorem Th48: :: GROUP_1:48
theorem Th49: :: GROUP_1:49
theorem Th50: :: GROUP_1:50
theorem Th51: :: GROUP_1:51
theorem Th52: :: GROUP_1:52
for 
b1 being  
Nat for 
b2 being  
Group for 
b3, 
b4 being  
Element of 
b2  st 
b3 * b4 = b4 * b3 holds 
b3 * (b4 |^ b1) = (b4 |^ b1) * b3
theorem Th53: :: GROUP_1:53
for 
b1, 
b2 being  
Nat for 
b3 being  
Group for 
b4, 
b5 being  
Element of 
b3  st 
b4 * b5 = b5 * b4 holds 
(b4 |^ b1) * (b5 |^ b2) = (b5 |^ b2) * (b4 |^ b1)
theorem Th54: :: GROUP_1:54
for 
b1 being  
Nat for 
b2 being  
Group for 
b3, 
b4 being  
Element of 
b2  st 
b3 * b4 = b4 * b3 holds 
(b3 * b4) |^ b1 = (b3 |^ b1) * (b4 |^ b1)
theorem Th55: :: GROUP_1:55
theorem Th56: :: GROUP_1:56
theorem Th57: :: GROUP_1:57
canceled; 
theorem Th58: :: GROUP_1:58
canceled; 
theorem Th59: :: GROUP_1:59
theorem Th60: :: GROUP_1:60
theorem Th61: :: GROUP_1:61
theorem Th62: :: GROUP_1:62
Lemma44: 
for b1 being  Integer
 for b2 being  Group
 for b3 being  Element of b2 holds  b3 |^ (- b1) = (b3 |^ b1) " 
 
Lemma45: 
for b1 being  Integer  holds 
( b1 >= 1 or b1 = 0 or b1 < 0 )
 
Lemma46: 
for b1 being  Integer
 for b2 being  Group
 for b3 being  Element of b2 holds  b3 |^ (b1 - 1) = (b3 |^ b1) * (b3 |^ (- 1))
 
Lemma47: 
for b1 being  Integer  holds 
( b1 >= 0 or b1 =  - 1 or b1 <  - 1 )
 
Lemma48: 
for b1 being  Integer
 for b2 being  Group
 for b3 being  Element of b2 holds  b3 |^ (b1 + 1) = (b3 |^ b1) * (b3 |^ 1)
 
theorem Th63: :: GROUP_1:63
theorem Th64: :: GROUP_1:64
theorem Th65: :: GROUP_1:65
theorem Th66: :: GROUP_1:66
Lemma50: 
for b1 being  Integer
 for b2 being  Group
 for b3 being  Element of b2 holds  (b3 " ) |^ b1 = (b3 |^ b1) " 
 
theorem Th67: :: GROUP_1:67
theorem Th68: :: GROUP_1:68
theorem Th69: :: GROUP_1:69
theorem Th70: :: GROUP_1:70
theorem Th71: :: GROUP_1:71
theorem Th72: :: GROUP_1:72
theorem Th73: :: GROUP_1:73
theorem Th74: :: GROUP_1:74
theorem Th75: :: GROUP_1:75
theorem Th76: :: GROUP_1:76
canceled; 
theorem Th77: :: GROUP_1:77
:: deftheorem Def11   defines being_of_order_0 GROUP_1:def 11 : 
theorem Th78: :: GROUP_1:78
canceled; 
theorem Th79: :: GROUP_1:79
:: deftheorem Def12   defines ord GROUP_1:def 12 : 
theorem Th80: :: GROUP_1:80
canceled; 
theorem Th81: :: GROUP_1:81
canceled; 
theorem Th82: :: GROUP_1:82
theorem Th83: :: GROUP_1:83
canceled; 
theorem Th84: :: GROUP_1:84
theorem Th85: :: GROUP_1:85
theorem Th86: :: GROUP_1:86
:: deftheorem Def13   defines Ord GROUP_1:def 13 : 
:: deftheorem Def14   defines finite GROUP_1:def 14 : 
:: deftheorem Def15   defines ord GROUP_1:def 15 : 
theorem Th87: :: GROUP_1:87
canceled; 
theorem Th88: :: GROUP_1:88
canceled; 
theorem Th89: :: GROUP_1:89
canceled; 
theorem Th90: :: GROUP_1:90
reconsider c1 =  HGrStr(# REAL ,addreal  #) as   Group by Th7;
:: deftheorem Def16   defines commutative GROUP_1:def 16 : 
theorem Th91: :: GROUP_1:91
canceled; 
theorem Th92: :: GROUP_1:92
theorem Th93: :: GROUP_1:93
canceled; 
theorem Th94: :: GROUP_1:94
theorem Th95: :: GROUP_1:95
theorem Th96: :: GROUP_1:96
theorem Th97: :: GROUP_1:97