let m, n be Nat; :: thesis: ( ( m is odd or m = (2 * n) + 1 ) implies (2 |^ m) mod 3 = 2 )
defpred S1[ Nat] means (2 |^ ((2 * $1) + 1)) mod 3 = 2;
A1: S1[ 0 ] by NAT_D:24;
A2: for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be Nat; :: thesis: ( S1[k] implies S1[k + 1] )
assume A3: S1[k] ; :: thesis: S1[k + 1]
A4: (2 * (k + 1)) + 1 = ((2 * k) + 1) + 2 ;
((2 |^ ((2 * k) + 1)) * 4) mod 3 = (2 * 1) mod 3 by A3, Lm8, Lm10, NAT_D:67
.= 2 by NAT_D:24 ;
hence S1[k + 1] by A4, Lm2, NEWTON:8; :: thesis: verum
end;
A5: for k being Nat holds S1[k] from NAT_1:sch 2(A1, A2);
( m is odd implies ex k being Nat st m = (2 * k) + 1 ) by ABIAN:9;
hence ( ( m is odd or m = (2 * n) + 1 ) implies (2 |^ m) mod 3 = 2 ) by A5; :: thesis: verum