reserve X for set;
reserve a,b,c,k,m,n for Nat;
reserve i for Integer;
reserve r for Real;
reserve p for Prime;

theorem Th7: :: to generalize
  2|^(4*n),1 are_congruent_mod 5
  proof
    defpred P[Nat] means 2|^(4*$1),1 are_congruent_mod 5;
A1: P[0]
    proof
      2|^(4*0) = 1 by NEWTON:4;
      hence 2|^(4*0),1 are_congruent_mod 5 by INT_1:11;
    end;
A2: for k st P[k] holds P[k+1]
    proof
      let k;
      assume
A3:   P[k];
A4:   4*(k+1) = 4*k+4*1;
      5*3 = 2|^4 - 1 by Lm4;
      then 2|^(4*1),1 are_congruent_mod 5;
      then 2|^(4*k)*2|^(4*1),1*1 are_congruent_mod 5 by A3,INT_1:18;
      hence 2|^(4*(k+1)),1 are_congruent_mod 5 by A4,NEWTON:8;
    end;
    P[k] from NAT_1:sch 2(A1,A2);
    hence thesis;
  end;
