reserve x for set;
reserve i,j for Integer;
reserve n,n1,n2,n3 for Nat;
reserve K,K1,K2,K3 for Field;
reserve SK1,SK2 for Subfield of K;
reserve ek,ek1,ek2 for Element of K;
reserve p for Prime;
reserve a,b,c for Element of GF(p);
reserve F for FinSequence of GF(p);

theorem Th30:
  ex g be Element of GF(p) st
  for a be Element of GF(p) st a <> 0.GF(p) holds
  ex n be Nat st a = g|^n
  proof
    consider g be Element of MultGroup GF(p) such that
A1: for a be Element of MultGroup GF(p)
    holds ex n be Nat st a= g|^n by GR_CY_1:18;
    reconsider g0=g as Element of GF(p) by UNIROOTS:19;
    take g0;
    now let a be Element of GF(p);
      assume a <> 0.GF(p); then
      A2:not a in {0.GF(p)} by TARSKI:def 1;
      the carrier of GF(p) = (the carrier of MultGroup GF(p))
      \/ {0.GF(p)} by UNIROOTS:15; then
      reconsider a0 = a as Element of MultGroup GF(p) by A2,XBOOLE_0:def 3;
      consider n be Nat such that
      A3: a0= g|^n by A1;
      take n;
      thus a = g0|^n by A3,Th29;
    end;
    hence thesis;
  end;
