let a, b, c, r0 be Integer; :: thesis: ( r0 = numberR0 (a,b,c) implies a + r0,b + r0,c + r0 at_least_two_are_not_divisible_by 3 )
assume A1: r0 = numberR0 (a,b,c) ; :: thesis: a + r0,b + r0,c + r0 at_least_two_are_not_divisible_by 3
per cases ( a,b,c give_three_different_remainders_upon_dividing_by 3 or not a,b,c give_three_different_remainders_upon_dividing_by 3 ) ;
suppose A2: a,b,c give_three_different_remainders_upon_dividing_by 3 ; :: thesis: a + r0,b + r0,c + r0 at_least_two_are_not_divisible_by 3
then A3: a mod 3,b mod 3,c mod 3 are_mutually_distinct ;
A4: r0 = 0 by A1, A2, Def10;
assume ( 3 divides a + r0 or 3 divides b + r0 or not 3 divides c + r0 ) ; :: according to NUMBER14:def 8 :: thesis: ( ( not 3 divides a + r0 & 3 divides b + r0 & not 3 divides c + r0 ) or ( 3 divides a + r0 & not 3 divides b + r0 & not 3 divides c + r0 ) or ( not 3 divides a + r0 & not 3 divides b + r0 & not 3 divides c + r0 ) )
hence ( ( not 3 divides a + r0 & 3 divides b + r0 & not 3 divides c + r0 ) or ( 3 divides a + r0 & not 3 divides b + r0 & not 3 divides c + r0 ) or ( not 3 divides a + r0 & not 3 divides b + r0 & not 3 divides c + r0 ) ) by A3, A4; :: thesis: verum
end;
suppose A5: not a,b,c give_three_different_remainders_upon_dividing_by 3 ; :: thesis: a + r0,b + r0,c + r0 at_least_two_are_not_divisible_by 3
then A6: not a mod 3,b mod 3,c mod 3 are_mutually_distinct ;
assume A7: not a + r0,b + r0,c + r0 at_least_two_are_not_divisible_by 3 ; :: thesis: contradiction
then A8: ( ( 3 divides a + r0 or 3 divides b + r0 or not 3 divides c + r0 ) & ( 3 divides a + r0 or not 3 divides b + r0 or 3 divides c + r0 ) & ( not 3 divides a + r0 or 3 divides b + r0 or 3 divides c + r0 ) & ( 3 divides a + r0 or 3 divides b + r0 or 3 divides c + r0 ) ) ;
A9: (a + r0) mod 3 = ((a mod 3) + (r0 mod 3)) mod 3 by NAT_D:66;
A10: (b + r0) mod 3 = ((b mod 3) + (r0 mod 3)) mod 3 by NAT_D:66;
A11: (c + r0) mod 3 = ((c mod 3) + (r0 mod 3)) mod 3 by NAT_D:66;
reconsider a3 = a mod 3 as Element of NAT by INT_1:3, INT_1:57;
a mod 3 < 2 + 1 by INT_1:58;
then a3 <= 2 by NAT_1:13;
then A12: not not a3 = 0 & ... & not a3 = 2 ;
per cases ( a mod 3 = b mod 3 or a mod 3 = c mod 3 or ( b mod 3 = c mod 3 & a mod 3 <> b mod 3 & a mod 3 <> c mod 3 ) ) by A6;
suppose that A17: b mod 3 = c mod 3 and
A18: ( a mod 3 <> b mod 3 & a mod 3 <> c mod 3 ) ; :: thesis: contradiction
reconsider b3 = b mod 3 as Element of NAT by INT_1:3, INT_1:57;
b mod 3 < 2 + 1 by INT_1:58;
then b3 <= 2 by NAT_1:13;
then A19: not not b3 = 0 & ... & not b3 = 2 ;
A20: r0 = 1 - (b mod 3) by A1, A5, A18, Def10;
end;
end;
end;
end;