let p be Prime; :: thesis: Z/Z* p is cyclic Group
consider a being Element of (Z/Z* p);
set ZP = Z/Z* p;
defpred S1[ natural number , Element of (Z/Z* p), Element of (Z/Z* p)] means ord $2 < ord $3;
assume A1: Z/Z* p is not cyclic Group ; :: thesis: contradiction
A2: for x being Element of (Z/Z* p) holds ord x < card (Z/Z* p)
proof
let x be Element of (Z/Z* p); :: thesis: ord x < card (Z/Z* p)
A3: ord x <= card (Z/Z* p) by GR_CY_1:28, NAT_D:7;
ord x <> card (Z/Z* p) by A1, GR_CY_1:43;
hence ord x < card (Z/Z* p) by A3, XXREAL_0:1; :: thesis: verum
end;
A4: for n being Element of NAT
for x being Element of (Z/Z* p) ex y being Element of (Z/Z* p) st S1[n,x,y]
proof
let n be Element of NAT ; :: thesis: for x being Element of (Z/Z* p) ex y being Element of (Z/Z* p) st S1[n,x,y]
let x be Element of (Z/Z* p); :: thesis: ex y being Element of (Z/Z* p) st S1[n,x,y]
set n = ord x;
ord x < card (Z/Z* p) by A2;
then A5: card (gr {x}) <> card (Z/Z* p) by GR_CY_1:27;
the carrier of (gr {x}) c= the carrier of (Z/Z* p) by GROUP_2:def 5;
then the carrier of (gr {x}) c< the carrier of (Z/Z* p) by A5, XBOOLE_0:def 8;
then the carrier of (Z/Z* p) \ the carrier of (gr {x}) <> {} by XBOOLE_1:105;
then consider z being set such that
A6: z in the carrier of (Z/Z* p) \ the carrier of (gr {x}) by XBOOLE_0:def 1;
reconsider z = z as Element of (Z/Z* p) by A6;
1_ (gr {x}) in the carrier of (gr {x}) ;
then 1_ (Z/Z* p) in the carrier of (gr {x}) by GROUP_2:53;
then 1 in the carrier of (gr {x}) by Th21;
then z <> 1 by A6, XBOOLE_0:def 5;
then A7: z <> 1_ (Z/Z* p) by Th21;
reconsider H = gr {z} as strict Subgroup of Z/Z* p ;
set m = ord z;
reconsider d = (ord z) gcd (ord x) as Nat ;
A8: card H = ord z by GR_CY_1:27;
1 <= card H by GROUP_1:90;
then A9: 1 < ord z by A8, A7, GROUP_1:85, XXREAL_0:1;
now
per cases ( d = 1 or d <> 1 ) ;
suppose A10: d = 1 ; :: thesis: ex y being Element of the carrier of (Z/Z* p) st ord x < ord y
take y = x * z; :: thesis: ord x < ord y
1 <= card (gr {x}) by GROUP_1:90;
then 1 <= ord x by GR_CY_1:27;
then 1 * (ord x) < (ord z) * (ord x) by A9, XREAL_1:70;
hence ord x < ord y by A10, Th25; :: thesis: verum
end;
suppose d <> 1 ; :: thesis: ex y being Element of the carrier of (Z/Z* p) st ord x < ord y
set l = (ord z) lcm (ord x);
1 <= card (gr {x}) by GROUP_1:90;
then A11: 1 <= ord x by GR_CY_1:27;
not ord z divides ord x
proof
assume ord z divides ord x ; :: thesis: contradiction
then consider j being Integer such that
A12: ord x = (ord z) * j by INT_1:def 9;
z |^ (ord x) = (z |^ (ord z)) |^ j by A12, GROUP_1:67
.= (1_ (Z/Z* p)) |^ j by GROUP_1:82
.= 1_ (Z/Z* p) by GROUP_1:61
.= 1 by Th21 ;
then z is Element of (gr {x}) by A11, Th29;
hence contradiction by A6, XBOOLE_0:def 5; :: thesis: verum
end;
then A13: ord x <> (ord z) lcm (ord x) by INT_2:25;
1 <= card (gr {z}) by GROUP_1:90;
then A14: 1 <= ord z by GR_CY_1:27;
then consider m0, n0 being Element of NAT such that
A15: (ord z) lcm (ord x) = n0 * m0 and
A16: n0 gcd m0 = 1 and
A17: n0 divides ord x and
A18: m0 divides ord z and
A19: n0 <> 0 and
A20: m0 <> 0 by A11, Th17;
consider j being Integer such that
A21: ord x = n0 * j by A17, INT_1:def 9;
consider u being Integer such that
A22: ord z = m0 * u by A18, INT_1:def 9;
(ord z) / m0 = u by A20, A22, XCMPLX_1:90;
then reconsider d2 = (ord z) / m0 as Element of NAT by INT_1:16;
ord z = ((ord z) / m0) * m0 by A20, XCMPLX_1:88;
then A23: ord (z |^ d2) = m0 by Th30;
(ord x) / n0 = j by A19, A21, XCMPLX_1:90;
then reconsider d1 = (ord x) / n0 as Element of NAT by INT_1:16;
ord x divides (ord z) lcm (ord x) by INT_2:25;
then consider j being Integer such that
A24: (ord z) lcm (ord x) = (ord x) * j by INT_1:def 9;
take y = (x |^ d1) * (z |^ d2); :: thesis: ord x < ord y
ord x = ((ord x) / n0) * n0 by A19, XCMPLX_1:88;
then ord (x |^ d1) = n0 by Th30;
then A25: ord y = m0 * n0 by A16, A23, Th25;
((ord z) lcm (ord x)) / (ord x) = j by A11, A24, XCMPLX_1:90;
then A26: j is Element of NAT by INT_1:16;
j <> 0 by A11, A14, A24, INT_2:4;
then (ord x) * 1 <= (ord x) * j by A26, NAT_1:14, XREAL_1:66;
hence ord x < ord y by A15, A25, A13, A24, XXREAL_0:1; :: thesis: verum
end;
end;
end;
hence ex y being Element of (Z/Z* p) st S1[n,x,y] ; :: thesis: verum
end;
consider f being Function of NAT ,the carrier of (Z/Z* p) such that
A27: ( f . 0 = a & ( for n being Element of NAT holds S1[n,f . n,f . (n + 1)] ) ) from RECDEF_1:sch 2(A4);
deffunc H1( Element of NAT ) -> Element of NAT = ord (f . $1);
consider g being Function of NAT ,NAT such that
A28: for k being Element of NAT holds g . k = H1(k) from FUNCT_2:sch 4();
A29: now
let k be Element of NAT ; :: thesis: g . k < g . (k + 1)
A30: g . (k + 1) = ord (f . (k + 1)) by A28;
g . k = ord (f . k) by A28;
hence g . k < g . (k + 1) by A27, A30; :: thesis: verum
end;
A31: for k, m being Element of NAT holds g . k < g . ((k + 1) + m)
proof
let k be Element of NAT ; :: thesis: for m being Element of NAT holds g . k < g . ((k + 1) + m)
defpred S2[ Nat] means g . k < g . ((k + 1) + $1);
A32: now
let m be Element of NAT ; :: thesis: ( S2[m] implies S2[m + 1] )
assume A33: S2[m] ; :: thesis: S2[m + 1]
g . ((k + 1) + m) < g . (((k + 1) + m) + 1) by A29;
hence S2[m + 1] by A33, XXREAL_0:2; :: thesis: verum
end;
A34: S2[ 0 ] by A29;
for m being Element of NAT holds S2[m] from NAT_1:sch 1(A34, A32);
hence for m being Element of NAT holds g . k < g . ((k + 1) + m) ; :: thesis: verum
end;
A35: for k, m being Element of NAT st k < m holds
g . k < g . m
proof
let k, m be Element of NAT ; :: thesis: ( k < m implies g . k < g . m )
assume A36: k < m ; :: thesis: g . k < g . m
then m - k is Element of NAT by INT_1:18;
then reconsider mk = m - k as Nat ;
m - k <> 0 by A36;
then consider n0 being Nat such that
A37: mk = n0 + 1 by NAT_1:6;
reconsider n = n0 as Element of NAT by ORDINAL1:def 13;
m = (k + 1) + n by A37;
hence g . k < g . m by A31; :: thesis: verum
end;
now
let x1, x2 be set ; :: thesis: ( x1 in NAT & x2 in NAT & g . x1 = g . x2 implies x2 = x1 )
assume that
A38: x1 in NAT and
A39: x2 in NAT and
A40: g . x1 = g . x2 ; :: thesis: x2 = x1
reconsider xx1 = x1, xx2 = x2 as Element of NAT by A38, A39;
A41: xx2 <= xx1 by A35, A40;
xx1 <= xx2 by A35, A40;
hence x2 = x1 by A41, XXREAL_0:1; :: thesis: verum
end;
then g is one-to-one by FUNCT_2:25;
then dom g, rng g are_equipotent by WELLORD2:def 4;
then card (dom g) = card (rng g) by CARD_1:21;
then A42: card (rng g) = card NAT by FUNCT_2:def 1;
rng g c= Segm (card (Z/Z* p))
proof
let y be set ; :: according to TARSKI:def 3 :: thesis: ( not y in rng g or y in Segm (card (Z/Z* p)) )
assume y in rng g ; :: thesis: y in Segm (card (Z/Z* p))
then consider x being set such that
A43: x in NAT and
A44: y = g . x by FUNCT_2:17;
reconsider x = x as Element of NAT by A43;
reconsider gg = g . x as Element of NAT ;
g . x = ord (f . x) by A28;
then gg < card (Z/Z* p) by A2;
hence y in Segm (card (Z/Z* p)) by A44, ALGSEQ_1:10; :: thesis: verum
end;
hence contradiction by A42; :: thesis: verum