reserve a,b,i,k,m,n for Nat;
reserve s,z for non zero Nat;
reserve r for Real;
reserve c for Complex;
reserve e1,e2,e3,e4,e5 for ExtReal;

theorem Th28:
  for a,b,k being Integer holds
  ((a+b)|^n) mod k = (((a mod k) + (b mod k)) |^ n) mod k
  proof
    let a,b,k be Integer;
    set ak = a mod k;
    set bk = b mod k;
    defpred P[Nat] means ((a+b)|^$1) mod k = ((ak+bk)|^$1) mod k;
A1: P[0]
    proof
      thus ((a+b)|^0) mod k = 1 mod k by NEWTON:4
      .= (((a mod k) + (b mod k)) |^ 0) mod k by NEWTON:4;
    end;
A2: for x being Nat st P[x] holds P[x+1]
    proof
      let x be Nat such that
A3:   P[x];
A4:   (a+b)|^(x+1) = (a+b)|^ x * (a+b) by NEWTON:6;
A5:   (a+b) mod k = (ak+bk) mod k by NAT_D:66;
      thus ((a+b)|^(x+1)) mod k
       = (((a+b)|^x mod k) * ((a+b) mod k)) mod k by A4,NAT_D:67
      .= ((ak+bk)|^x * (ak+bk)) mod k by A3,A5,NAT_D:67
      .= ((ak+bk)|^(x+1)) mod k by NEWTON:6;
    end;
    for x being Nat holds P[x] from NAT_1:sch 2(A1,A2);
    hence thesis;
  end;
