reserve i,s,t,m,n,k for Nat,
        c,d,e for Element of NAT,
        fn for FinSequence of NAT,
        x,y for Integer;
reserve p for Prime;
 reserve fp,fr for FinSequence of NAT;

theorem
  for k be Nat st k>=3 holds
  for m st m,2|^k are_coprime holds not m is_primitive_root_of 2|^k
proof let k be Nat;
  assume A1:k>=3;
   now assume ex m st m,2|^k are_coprime
     & m is_primitive_root_of 2|^k;
     then consider m such that
A2:  m,2|^k are_coprime & m is_primitive_root_of 2|^k;
       now assume m is even;
         then A3:2 divides m by PEPIN:22;
         2|^1 divides 2|^k by A1,XXREAL_0:2,NEWTON:89;
         then 2 divides 2|^k;
        hence contradiction by A2,A3,PYTHTRIP:def 1;
       end;
      then A4:m|^(2|^(k-'2)) mod 2|^k = 1 by A1,Th7;
A5:   2|^k > 1 by A1,PEPIN:25;
      order(m,2|^k) <= 2|^(k-'2) by A2,A4,A5,PEPIN:def 2;
      then A6:Euler(2|^k) <= 2|^(k-'2) by A2;
      A7:k>1 by XXREAL_0:2,A1;
      k = (k-'1)+1 by A7,XREAL_1:235;then
A8:   Euler(2|^k) = 2|^((k-'1)+1) - 2|^(k-'1) by A1,XXREAL_0:2,Th8,INT_2:28
                 .= 2|^(k-'1)*2 - 2|^(k-'1)*1 by NEWTON:6
                 .= 2|^(k-'1);
      k-'1= k-1-1+1 by A7,XREAL_1:233
         .=k-2+1  .= (k-'2)+1 by A1,XXREAL_0:2,XREAL_1:233;
      then 2|^(k-'2) * 2 <= 2|^(k-'2) by A6,A8,NEWTON:6;
      then 2|^(k-'2)*2/(2|^(k-'2))<=2|^(k-'2)/(2|^(k-'2)) by XREAL_1:72;
      then 2 <= 2|^(k-'2)/(2|^(k-'2)) by XCMPLX_1:89;
      then 2 <= 1 by XCMPLX_1:60;
     hence contradiction;
   end;
 hence thesis;
end;
