let a, b be Integer; :: thesis: for n being Nat holds ((a mod n) + (b mod n)) mod n = (a + (b mod n)) mod n
let n be Nat; :: thesis: ((a mod n) + (b mod n)) mod n = (a + (b mod n)) mod n
per cases ( 0 < n or n = 0 ) ;
suppose 0 < n ; :: thesis: ((a mod n) + (b mod n)) mod n = (a + (b mod n)) mod n
then (a mod n) + ((a div n) * n) = (a - ((a div n) * n)) + ((a div n) * n) by INT_1:def 10
.= a + 0 ;
then n divides (a + (b mod n)) - ((a mod n) + (b mod n)) by INT_1:def 3;
then a + (b mod n),(a mod n) + (b mod n) are_congruent_mod n by INT_2:15;
hence ((a mod n) + (b mod n)) mod n = (a + (b mod n)) mod n by NAT_D:64; :: thesis: verum
end;
suppose A1: n = 0 ; :: thesis: ((a mod n) + (b mod n)) mod n = (a + (b mod n)) mod n
hence ((a mod n) + (b mod n)) mod n = 0 by INT_1:def 10
.= (a + (b mod n)) mod n by A1, INT_1:def 10 ;
:: thesis: verum
end;
end;