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 Nat st y = a |^ n
proof
let y be set ; :: thesis: ( y in rng F implies ex n being Nat st y = a |^ n )
assume y in rng F ; :: thesis: ex n being Nat st y = a |^ n
then consider x being object such that
A5: x in dom F and
A6: F . x = y by FUNCT_1:def 3;
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 object st x in rng F holds
x in the carrier of (gr {a})
proof
let y be object ; :: 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 Nat st y = a |^ n by A4;
then y in gr {a} by Th5;
hence y in the carrier of (gr {a}) ; :: thesis: verum
end;
then A7: rng F c= the carrier of (gr {a}) ;
not a is being_of_order_0 by Th6;
then A8: ord a <> 0 by GROUP_1:def 11;
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:6;
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:26 ;
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 3;
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 3;
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;
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:62, ZFMISC_1:96;
for y being object st y in rng ( the multF of G || car) holds
y in car
proof
let y be object ; :: 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 object such that
A14: x in dom ( the multF of G || car) and
A15: ( the multF of G || car) . x = y by FUNCT_1:def 3;
consider xp, yp being object such that
A16: [xp,yp] = x by A13, A14, RELAT_1:def 1;
yp in car by A13, A14, A16, ZFMISC_1:87;
then consider s being Nat such that
A17: yp = a |^ s by A4;
xp in car by A13, A14, A16, ZFMISC_1:87;
then consider p being 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 ord a ; :: thesis: ( ord a in dom F & F . (ord a) = 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:33
.= ((a |^ (ord a)) |^ ((p + s) div (ord a))) * (a |^ ((p + s) mod (ord a))) by GROUP_1:35
.= ((1_ G) |^ ((p + s) div (ord a))) * (a |^ ((p + s) mod (ord a))) by GROUP_1:41
.= (1_ G) * (a |^ ((p + s) mod (ord a))) by GROUP_1:31
.= a |^ 0 by A21, GROUP_1:def 4
.= 1_ G by GROUP_1:25
.= a |^ (ord a) by GROUP_1:41
.= F . (ord a) by A2, A3, A8, FINSEQ_1:3 ;
hence ( ord a in dom F & F . (ord a) = a |^ (p + s) ) by A3, A8, FINSEQ_1:3; :: 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:6;
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 (p + s) mod (ord a) ; :: thesis: ( (p + s) mod (ord a) in dom F & F . ((p + s) mod (ord a)) = 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:33
.= ((a |^ (ord a)) |^ ((p + s) div (ord a))) * (a |^ ((p + s) mod (ord a))) by GROUP_1:35
.= ((1_ G) |^ ((p + s) div (ord a))) * (a |^ ((p + s) mod (ord a))) by GROUP_1:41
.= (1_ G) * (a |^ ((p + s) mod (ord a))) by GROUP_1:31
.= a |^ ((p + s) mod (ord a)) by GROUP_1:def 4 ;
hence ( (p + s) mod (ord a) in dom F & F . ((p + s) mod (ord a)) = a |^ (p + s) ) by A2, A22; :: thesis: verum
end;
end;
end;
y = (a |^ p) * (a |^ s) by A14, A15, A16, A18, A17, FUNCT_1:47
.= a |^ (p + s) by GROUP_1:33 ;
hence y in car by A19, FUNCT_1:def 3; :: thesis: verum
end;
then rng ( the multF of G || car) c= car ;
then reconsider op = the multF of G || car as BinOp of car by A13, FUNCT_2:def 1, RELSET_1:4;
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:49; :: 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:3;
hence ex x being set st
( x in dom F & F . x = a |^ (ord a) ) by A3, A8, FINSEQ_1:3; :: thesis: verum
end;
then a |^ (ord a) in car by FUNCT_1:def 3;
then reconsider e = 1_ G as Element of multMagma(# car,op #) by GROUP_1:41;
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;
h * e = h9 * (1_ G) by A23
.= h9 by GROUP_1:def 4 ;
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 4 ;
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 Nat st
( h = a |^ n & 1 <= n & ord a >= n )
proof
consider x being object such that
A26: x in dom F and
A27: F . x = h by FUNCT_1:def 3;
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:1; :: thesis: verum
end;
then consider n being 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:3
.= 1_ G by GROUP_1:41
.= a |^ ((ord a) - n) by A30, GROUP_1:25 ;
hence ex x being set st
( x in dom F & F . x = a |^ ((ord a) - n) ) by A3, A8, FINSEQ_1:3; :: 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:5;
take x ; :: thesis: ( x in dom F & F . x = a |^ ((ord a) - n) )
x in Seg (ord a)
proof
set r1 = ord a;
ord a <= (ord a) + n by NAT_1:11;
then A32: x <= ord a by XREAL_1:20;
(ord a) - n > n - n by A31, XREAL_1:9;
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 3;
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:33
.= e by GROUP_1:41 ;
h * g = (a |^ n) * (a |^ ((ord a) - n)) by A23, A28
.= a |^ (ord a) by A33, GROUP_1:33
.= e by GROUP_1:41 ;
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;
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 3
.= 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:1;
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;
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:31;
then gr {a} is Subgroup of H by GROUP_4:def 4;
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, y be object ; :: according to FUNCT_1:def 4 :: thesis: ( not x in dom F or not y in dom 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:5;
p > 0 by A3, A38, FINSEQ_1:1;
then A43: z < z + p9 by XREAL_1:29;
s9 <= z by A3, A39, FINSEQ_1:1;
then s9 < z + p9 by A43, XXREAL_0:2;
then A44: s9 - p9 < (z + p9) - p9 by XREAL_1:9;
1_ G = (a |^ s) * ((a |^ p) ") by A40, A42, GROUP_1:def 5;
then a |^ 0 = (a |^ s) * ((a |^ p) ") by GROUP_1:25;
then a |^ 0 = (a |^ s) * (a |^ (- p)) by GROUP_1:36;
then a |^ 0 = a |^ (s + (- p)) by GROUP_1:33;
then A45: 1_ G = a |^ r1 by GROUP_1:25;
( r1 <> 0 & not a is being_of_order_0 ) by A41, Th6;
hence contradiction by A45, A44, GROUP_1:def 11; :: thesis: verum
end;
suppose s <= p ; :: thesis: contradiction
then reconsider r2 = p - s as Element of NAT by INT_1:5;
s > 0 by A3, A39, FINSEQ_1:1;
then A46: z < z + s9 by XREAL_1:29;
p9 <= z by A3, A38, FINSEQ_1:1;
then p9 < z + s9 by A46, XXREAL_0:2;
then A47: p9 - s9 < (z + s9) - s9 by XREAL_1:9;
1_ G = (a |^ p) * ((a |^ s) ") by A40, A42, GROUP_1:def 5;
then a |^ 0 = (a |^ p) * ((a |^ s) ") by GROUP_1:25;
then a |^ 0 = (a |^ p) * (a |^ (- s)) by GROUP_1:36;
then a |^ 0 = a |^ (p + (- s)) by GROUP_1:33;
then A48: 1_ G = a |^ r2 by GROUP_1:25;
( r2 <> 0 & not a is being_of_order_0 ) by A41, Th6;
hence contradiction by A48, A47, GROUP_1:def 11; :: 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:5;
hence ord a = card (gr {a}) by FINSEQ_1:57; :: thesis: verum