let G be finite Group; :: thesis: for a being Element of G holds ord a = card (gr {a})
let a be Element of G; :: thesis: ord a = card (gr {a})
deffunc H1( Nat) -> Element of the carrier of G = a |^ $1;
consider F being FinSequence such that
A1: len F = ord a and
A2: for p being Nat st p in dom F holds
F . p = H1(p) from FINSEQ_1:sch 2();
A3: dom F = Seg (ord a) by A1, FINSEQ_1:def 3;
A4: for y being set st y in rng F holds
ex n being Element of NAT st y = a |^ n
proof
let y be set ; :: thesis: ( y in rng F implies ex n being Element of NAT st y = a |^ n )
assume y in rng F ; :: thesis: ex n being Element of NAT st y = a |^ n
then consider x being set such that
A5: x in dom F and
A6: F . x = y by FUNCT_1:def 5;
reconsider n = x as Element of NAT by A5;
take n ; :: thesis: y = a |^ n
thus y = a |^ n by A2, A5, A6; :: thesis: verum
end;
for x being set st x in rng F holds
x in the carrier of (gr {a})
proof
let y be set ; :: thesis: ( y in rng F implies y in the carrier of (gr {a}) )
assume y in rng F ; :: thesis: y in the carrier of (gr {a})
then ex n being Element of NAT st y = a |^ n by A4;
then y in gr {a} by Th25;
hence y in the carrier of (gr {a}) by STRUCT_0:def 5; :: thesis: verum
end;
then A7: rng F c= the carrier of (gr {a}) by TARSKI:def 3;
not a is being_of_order_0 by Th26;
then A8: ord a <> 0 by GROUP_1:def 12;
A9: ex x being set st
( x in dom F & F . x = a )
proof
set x9 = 1;
(ord a) + 1 > 0 + 1 by A8, XREAL_1:8;
then ord a >= 1 by NAT_1:13;
then A10: 1 in dom F by A3;
then F . 1 = a |^ 1 by A2
.= a by GROUP_1:44 ;
hence ex x being set st
( x in dom F & F . x = a ) by A10; :: thesis: verum
end;
then A11: a in rng F by FUNCT_1:def 5;
the carrier of (gr {a}) c= rng F
proof
ex H being strict Subgroup of G st the carrier of H = rng F
proof
reconsider car = rng F as non empty set by A9, FUNCT_1:def 5;
the carrier of (gr {a}) c= the carrier of G by GROUP_2:def 5;
then A12: car c= the carrier of G by A7, XBOOLE_1:1;
dom the multF of G = [:the carrier of G,the carrier of G:] by FUNCT_2:def 1;
then A13: dom (the multF of G || car) = [:car,car:] by A12, RELAT_1:91, ZFMISC_1:119;
for y being set st y in rng (the multF of G || car) holds
y in car
proof
let y be set ; :: thesis: ( y in rng (the multF of G || car) implies y in car )
set f = the multF of G || car;
assume y in rng (the multF of G || car) ; :: thesis: y in car
then consider x being set such that
A14: x in dom (the multF of G || car) and
A15: (the multF of G || car) . x = y by FUNCT_1:def 5;
consider xp, yp being set such that
A16: [xp,yp] = x by A13, A14, RELAT_1:def 1;
yp in car by A13, A14, A16, ZFMISC_1:106;
then consider s being Element of NAT such that
A17: yp = a |^ s by A4;
xp in car by A13, A14, A16, ZFMISC_1:106;
then consider p being Element of NAT such that
A18: xp = a |^ p by A4;
A19: ex x being set st
( x in dom F & F . x = a |^ (p + s) )
proof
set t = (p + s) mod (ord a);
A20: (p + s) mod (ord a) < ord a by A8, NAT_D:1;
per cases ( (p + s) mod (ord a) = 0 or (p + s) mod (ord a) > 0 ) ;
suppose A21: (p + s) mod (ord a) = 0 ; :: thesis: ex x being set st
( x in dom F & F . x = a |^ (p + s) )

take x = ord a; :: thesis: ( x in dom F & F . x = a |^ (p + s) )
a |^ (p + s) = a |^ (((ord a) * ((p + s) div (ord a))) + ((p + s) mod (ord a))) by A8, NAT_D:2
.= (a |^ ((ord a) * ((p + s) div (ord a)))) * (a |^ ((p + s) mod (ord a))) by GROUP_1:63
.= ((a |^ (ord a)) |^ ((p + s) div (ord a))) * (a |^ ((p + s) mod (ord a))) by GROUP_1:67
.= ((1_ G) |^ ((p + s) div (ord a))) * (a |^ ((p + s) mod (ord a))) by GROUP_1:82
.= (1_ G) * (a |^ ((p + s) mod (ord a))) by GROUP_1:61
.= a |^ 0 by A21, GROUP_1:def 5
.= 1_ G by GROUP_1:43
.= a |^ (ord a) by GROUP_1:82
.= F . (ord a) by A2, A3, A8, FINSEQ_1:5 ;
hence ( x in dom F & F . x = a |^ (p + s) ) by A3, A8, FINSEQ_1:5; :: thesis: verum
end;
suppose (p + s) mod (ord a) > 0 ; :: thesis: ex x being set st
( x in dom F & F . x = a |^ (p + s) )

then ((p + s) mod (ord a)) + 1 > 0 + 1 by XREAL_1:8;
then (p + s) mod (ord a) >= 1 by NAT_1:13;
then A22: (p + s) mod (ord a) in dom F by A3, A20;
take x = (p + s) mod (ord a); :: thesis: ( x in dom F & F . x = a |^ (p + s) )
a |^ (p + s) = a |^ (((ord a) * ((p + s) div (ord a))) + ((p + s) mod (ord a))) by A8, NAT_D:2
.= (a |^ ((ord a) * ((p + s) div (ord a)))) * (a |^ ((p + s) mod (ord a))) by GROUP_1:63
.= ((a |^ (ord a)) |^ ((p + s) div (ord a))) * (a |^ ((p + s) mod (ord a))) by GROUP_1:67
.= ((1_ G) |^ ((p + s) div (ord a))) * (a |^ ((p + s) mod (ord a))) by GROUP_1:82
.= (1_ G) * (a |^ ((p + s) mod (ord a))) by GROUP_1:61
.= a |^ ((p + s) mod (ord a)) by GROUP_1:def 5 ;
hence ( x in dom F & F . x = a |^ (p + s) ) by A2, A22; :: thesis: verum
end;
end;
end;
y = (a |^ p) * (a |^ s) by A14, A15, A16, A18, A17, FUNCT_1:70
.= a |^ (p + s) by GROUP_1:63 ;
hence y in car by A19, FUNCT_1:def 5; :: thesis: verum
end;
then rng (the multF of G || car) c= car by TARSKI:def 3;
then reconsider op = the multF of G || car as BinOp of car by A13, FUNCT_2:def 1, RELSET_1:11;
set H = multMagma(# car,op #);
A23: for f, g being Element of multMagma(# car,op #)
for f9, g9 being Element of G st f = f9 & g = g9 holds
f9 * g9 = f * g
proof
let f, g be Element of multMagma(# car,op #); :: thesis: for f9, g9 being Element of G st f = f9 & g = g9 holds
f9 * g9 = f * g

let f9, g9 be Element of G; :: thesis: ( f = f9 & g = g9 implies f9 * g9 = f * g )
A24: f * g = (the multF of G || car) . [f,g] ;
assume ( f = f9 & g = g9 ) ; :: thesis: f9 * g9 = f * g
hence f9 * g9 = f * g by A24, FUNCT_1:72; :: thesis: verum
end;
A25: ex e being Element of multMagma(# car,op #) st
for h being Element of multMagma(# car,op #) holds
( h * e = h & e * h = h & ex g being Element of multMagma(# car,op #) st
( h * g = e & g * h = e ) )
proof
ex x being set st
( x in dom F & F . x = a |^ (ord a) )
proof
set x9 = ord a;
F . (ord a) = a |^ (ord a) by A2, A3, A8, FINSEQ_1:5;
hence ex x being set st
( x in dom F & F . x = a |^ (ord a) ) by A3, A8, FINSEQ_1:5; :: thesis: verum
end;
then a |^ (ord a) in car by FUNCT_1:def 5;
then reconsider e = 1_ G as Element of multMagma(# car,op #) by GROUP_1:82;
take e ; :: thesis: for h being Element of multMagma(# car,op #) holds
( h * e = h & e * h = h & ex g being Element of multMagma(# car,op #) st
( h * g = e & g * h = e ) )

for h being Element of multMagma(# car,op #) holds
( h * e = h & e * h = h & ex g being Element of multMagma(# car,op #) st
( h * g = e & g * h = e ) )
proof
let h be Element of multMagma(# car,op #); :: thesis: ( h * e = h & e * h = h & ex g being Element of multMagma(# car,op #) st
( h * g = e & g * h = e ) )

reconsider h9 = h as Element of G by A12, TARSKI:def 3;
h * e = h9 * (1_ G) by A23
.= h9 by GROUP_1:def 5 ;
hence h * e = h ; :: thesis: ( e * h = h & ex g being Element of multMagma(# car,op #) st
( h * g = e & g * h = e ) )

e * h = (1_ G) * h9 by A23
.= h9 by GROUP_1:def 5 ;
hence e * h = h ; :: thesis: ex g being Element of multMagma(# car,op #) st
( h * g = e & g * h = e )

thus ex g being Element of multMagma(# car,op #) st
( h * g = e & g * h = e ) :: thesis: verum
proof
ex n being Element of NAT st
( h = a |^ n & 1 <= n & ord a >= n )
proof
consider x being set such that
A26: x in dom F and
A27: F . x = h by FUNCT_1:def 5;
reconsider n = x as Element of NAT by A26;
take n ; :: thesis: ( h = a |^ n & 1 <= n & ord a >= n )
thus ( h = a |^ n & 1 <= n & ord a >= n ) by A2, A3, A26, A27, FINSEQ_1:3; :: thesis: verum
end;
then consider n being Element of NAT such that
A28: h = a |^ n and
A29: ord a >= n ;
ex x being set st
( x in dom F & F . x = a |^ ((ord a) - n) )
proof
per cases ( ord a = n or ord a > n ) by A29, XXREAL_0:1;
suppose A30: ord a = n ; :: thesis: ex x being set st
( x in dom F & F . x = a |^ ((ord a) - n) )

set x = ord a;
F . (ord a) = a |^ (ord a) by A2, A3, A8, FINSEQ_1:5
.= 1_ G by GROUP_1:82
.= a |^ ((ord a) - n) by A30, GROUP_1:43 ;
hence ex x being set st
( x in dom F & F . x = a |^ ((ord a) - n) ) by A3, A8, FINSEQ_1:5; :: thesis: verum
end;
suppose A31: ord a > n ; :: thesis: ex x being set st
( x in dom F & F . x = a |^ ((ord a) - n) )

then reconsider x = (ord a) - n as Element of NAT by INT_1:18;
take x ; :: thesis: ( x in dom F & F . x = a |^ ((ord a) - n) )
x in Seg (ord a)
proof
reconsider r1 = ord a, r2 = n as Real ;
r1 <= r1 + r2 by NAT_1:11;
then A32: x <= ord a by XREAL_1:22;
r1 - r2 > r2 - r2 by A31, XREAL_1:11;
then x >= 0 + 1 by NAT_1:13;
hence x in Seg (ord a) by A32; :: thesis: verum
end;
hence ( x in dom F & F . x = a |^ ((ord a) - n) ) by A2, A3; :: thesis: verum
end;
end;
end;
then reconsider g = a |^ ((ord a) - n) as Element of multMagma(# car,op #) by FUNCT_1:def 5;
A33: n + ((ord a) - n) = ord a ;
A34: g * h = (a |^ ((ord a) - n)) * (a |^ n) by A23, A28
.= a |^ (ord a) by A33, GROUP_1:63
.= e by GROUP_1:82 ;
h * g = (a |^ n) * (a |^ ((ord a) - n)) by A23, A28
.= a |^ (ord a) by A33, GROUP_1:63
.= e by GROUP_1:82 ;
hence ex g being Element of multMagma(# car,op #) st
( h * g = e & g * h = e ) by A34; :: thesis: verum
end;
end;
hence for h being Element of multMagma(# car,op #) holds
( h * e = h & e * h = h & ex g being Element of multMagma(# car,op #) st
( h * g = e & g * h = e ) ) ; :: thesis: verum
end;
for f, g, h being Element of multMagma(# car,op #) holds (f * g) * h = f * (g * h)
proof
let f, g, h be Element of multMagma(# car,op #); :: thesis: (f * g) * h = f * (g * h)
reconsider f9 = f, g9 = g, h9 = h as Element of G by A12, TARSKI:def 3;
A35: g * h = g9 * h9 by A23;
f9 * g9 = f * g by A23;
then (f * g) * h = (f9 * g9) * h9 by A23
.= f9 * (g9 * h9) by GROUP_1:def 4
.= f * (g * h) by A23, A35 ;
hence (f * g) * h = f * (g * h) ; :: thesis: verum
end;
then reconsider H1 = multMagma(# car,op #) as Group by A25, GROUP_1:5;
the carrier of (gr {a}) c= the carrier of G by GROUP_2:def 5;
then the carrier of H1 c= the carrier of G by A7, XBOOLE_1:1;
then H1 is Subgroup of G by GROUP_2:def 5;
hence ex H being strict Subgroup of G st the carrier of H = rng F ; :: thesis: verum
end;
then consider H being strict Subgroup of G such that
A36: the carrier of H = rng F ;
{a} c= the carrier of H by A11, A36, ZFMISC_1:37;
then gr {a} is Subgroup of H by GROUP_4:def 5;
hence the carrier of (gr {a}) c= rng F by A36, GROUP_2:def 5; :: thesis: verum
end;
then A37: rng F = the carrier of (gr {a}) by A7, XBOOLE_0:def 10;
reconsider So = Seg (ord a) as finite set ;
set ca = the carrier of (gr {a});
F is one-to-one
proof
let x be set ; :: according to FUNCT_1:def 8 :: thesis: for b1 being set holds
( not x in proj1 F or not b1 in proj1 F or not F . x = F . b1 or x = b1 )

let y be set ; :: thesis: ( not x in proj1 F or not y in proj1 F or not F . x = F . y or x = y )
assume that
A38: x in dom F and
A39: y in dom F and
A40: F . x = F . y and
A41: x <> y ; :: thesis: contradiction
reconsider s = y as Element of NAT by A39;
reconsider p = x as Element of NAT by A38;
A42: ( F . p = a |^ p & F . s = a |^ s ) by A2, A38, A39;
reconsider s9 = s, p9 = p, z = ord a as Real ;
per cases ( p <= s or s <= p ) ;
suppose p <= s ; :: thesis: contradiction
then reconsider r1 = s - p as Element of NAT by INT_1:18;
p > 0 by A3, A38, FINSEQ_1:3;
then A43: z < z + p9 by XREAL_1:31;
s9 <= z by A3, A39, FINSEQ_1:3;
then s9 < z + p9 by A43, XXREAL_0:2;
then A44: s9 - p9 < (z + p9) - p9 by XREAL_1:11;
1_ G = (a |^ s) * ((a |^ p) " ) by A40, A42, GROUP_1:def 6;
then a |^ 0 = (a |^ s) * ((a |^ p) " ) by GROUP_1:43;
then a |^ 0 = (a |^ s) * (a |^ (- p)) by GROUP_1:70;
then a |^ 0 = a |^ (s + (- p)) by GROUP_1:63;
then A45: 1_ G = a |^ r1 by GROUP_1:43;
( r1 <> 0 & not a is being_of_order_0 ) by A41, Th26;
hence contradiction by A45, A44, GROUP_1:def 12; :: thesis: verum
end;
suppose s <= p ; :: thesis: contradiction
then reconsider r2 = p - s as Element of NAT by INT_1:18;
s > 0 by A3, A39, FINSEQ_1:3;
then A46: z < z + s9 by XREAL_1:31;
p9 <= z by A3, A38, FINSEQ_1:3;
then p9 < z + s9 by A46, XXREAL_0:2;
then A47: p9 - s9 < (z + s9) - s9 by XREAL_1:11;
1_ G = (a |^ p) * ((a |^ s) " ) by A40, A42, GROUP_1:def 6;
then a |^ 0 = (a |^ p) * ((a |^ s) " ) by GROUP_1:43;
then a |^ 0 = (a |^ p) * (a |^ (- s)) by GROUP_1:70;
then a |^ 0 = a |^ (p + (- s)) by GROUP_1:63;
then A48: 1_ G = a |^ r2 by GROUP_1:43;
( r2 <> 0 & not a is being_of_order_0 ) by A41, Th26;
hence contradiction by A48, A47, GROUP_1:def 12; :: thesis: verum
end;
end;
end;
then Seg (ord a),the carrier of (gr {a}) are_equipotent by A3, A37, WELLORD2:def 4;
then card So = card the carrier of (gr {a}) by CARD_1:21;
hence ord a = card (gr {a}) by FINSEQ_1:78; :: thesis: verum