let n be Nat; :: thesis: ( (2 |^ n) mod 3 = 1 or (2 |^ n) mod 3 = 2 )
defpred S1[ Nat] means ( (2 |^ $1) mod 3 = 1 or (2 |^ $1) mod 3 = 2 );
A1: S1[ 0 ] by Lm1, NEWTON:4;
A2: for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be Nat; :: thesis: ( S1[k] implies S1[k + 1] )
((2 |^ k) * 2) mod 3 = (((2 |^ k) mod 3) * (2 mod 3)) mod 3 by NAT_D:67;
hence ( S1[k] implies S1[k + 1] ) by Lm1, Lm2, Lm3, NEWTON:6; :: thesis: verum
end;
for k being Nat holds S1[k] from NAT_1:sch 2(A1, A2);
hence ( (2 |^ n) mod 3 = 1 or (2 |^ n) mod 3 = 2 ) ; :: thesis: verum