let i be Integer; :: thesis: ( (i |^ 4) mod 5 = 0 or (i |^ 4) mod 5 = 1 )
A1: (i |^ 2) mod 5 = (i * i) mod 5 by NEWTON:81
.= ((i mod 5) * (i mod 5)) mod 5 by NAT_D:67 ;
A2: (i |^ (2 + 2)) mod 5 = ((i |^ 2) * (i |^ 2)) mod 5 by NEWTON:8
.= ((((i mod 5) * (i mod 5)) mod 5) * (((i mod 5) * (i mod 5)) mod 5)) mod 5 by A1, NAT_D:67
.= (((i mod 5) * (i mod 5)) * ((i mod 5) * (i mod 5))) mod 5 by NAT_D:67
.= ((((i mod 5) * (i mod 5)) * (i mod 5)) * (i mod 5)) mod 5 ;
not not i mod (4 + 1) = 0 & ... & not i mod (4 + 1) = 4 by NUMBER03:11;
per cases then ( i mod (4 + 1) = 0 or i mod (4 + 1) = 1 or i mod (4 + 1) = 2 or i mod (4 + 1) = 3 or i mod (4 + 1) = 4 ) ;
suppose i mod (4 + 1) = 0 ; :: thesis: ( (i |^ 4) mod 5 = 0 or (i |^ 4) mod 5 = 1 )
hence ( (i |^ 4) mod 5 = 0 or (i |^ 4) mod 5 = 1 ) by A2; :: thesis: verum
end;
suppose i mod (4 + 1) = 1 ; :: thesis: ( (i |^ 4) mod 5 = 0 or (i |^ 4) mod 5 = 1 )
hence ( (i |^ 4) mod 5 = 0 or (i |^ 4) mod 5 = 1 ) by A2; :: thesis: verum
end;
suppose i mod (4 + 1) = 2 ; :: thesis: ( (i |^ 4) mod 5 = 0 or (i |^ 4) mod 5 = 1 )
then (i |^ 4) mod (4 + 1) = ((5 * 3) + 1) mod 5 by A2
.= 1 mod (1 + 4)
.= 1 ;
hence ( (i |^ 4) mod 5 = 0 or (i |^ 4) mod 5 = 1 ) ; :: thesis: verum
end;
suppose i mod (4 + 1) = 3 ; :: thesis: ( (i |^ 4) mod 5 = 0 or (i |^ 4) mod 5 = 1 )
then (i |^ 4) mod (4 + 1) = ((5 * 16) + 1) mod 5 by A2
.= 1 mod (1 + 4)
.= 1 ;
hence ( (i |^ 4) mod 5 = 0 or (i |^ 4) mod 5 = 1 ) ; :: thesis: verum
end;
suppose i mod (4 + 1) = 4 ; :: thesis: ( (i |^ 4) mod 5 = 0 or (i |^ 4) mod 5 = 1 )
then (i |^ 4) mod (4 + 1) = ((51 * 5) + 1) mod 5 by A2
.= 1 mod (1 + 4)
.= 1 ;
hence ( (i |^ 4) mod 5 = 0 or (i |^ 4) mod 5 = 1 ) ; :: thesis: verum
end;
end;