Lm1:
for a being Integer
for X being Subset of INT holds a ++ X c= INT
Lm2:
for a being Integer
for X being Subset of INT holds a ** X c= INT
Lm3:
for x being Integer
for X being Subset of INT
for a being Integer holds
( x in a ** X iff ex y being Integer st
( y in X & x = a * y ) )
Lm4:
for i1, i2, i3 being Integer st i1 divides i2 & i1 divides i3 holds
i1 divides i2 - i3
Lm5:
for a, b, i being Integer st i divides a & i divides a - b holds
i divides b
Lm6:
for p, n being Nat st p is prime & p,n are_coprime holds
not p divides n
Lm7:
for p being Nat st p > 0 holds
p >= 1 + 0
by NAT_1:13;
Th12:
for i being Integer holds 0 = 0 mod i
by INT_1:73;
definition
let m be
Integer;
existence
ex b1 being Relation of INT st
for x, y being Integer holds
( [x,y] in b1 iff x,y are_congruent_mod m )
uniqueness
for b1, b2 being Relation of INT st ( for x, y being Integer holds
( [x,y] in b1 iff x,y are_congruent_mod m ) ) & ( for x, y being Integer holds
( [x,y] in b2 iff x,y are_congruent_mod m ) ) holds
b1 = b2
end;
Lm8:
for m being Integer holds Cong m is Equivalence_Relation of INT
Lm9:
for i1, i2 being Integer
for n being Nat st n > 0 & i1 mod n = 0 holds
(i1 * i2) mod n = 0
Lm10:
for x, y being Integer holds
( ( x divides y implies y mod x = 0 ) & ( x <> 0 & y mod x = 0 implies x divides y ) )
Lm11:
for x, y being Integer st x divides y holds
y = (y div x) * x
Lm12:
for x, y being Integer st ( x <> 0 or y <> 0 ) holds
x div (x gcd y),y div (x gcd y) are_coprime
Lm13:
for i, x, y being Integer st x divides i & y divides i & x,y are_coprime holds
x * y divides i
theorem
for
m1,
m2,
m3,
a,
b,
c being
Integer st
m1 <> 0 &
m2 <> 0 &
m3 <> 0 &
m1,
m2 are_coprime &
m1,
m3 are_coprime &
m2,
m3 are_coprime holds
ex
r,
s being
Integer st
for
x being
Integer st
(x - a) mod m1 = 0 &
(x - b) mod m2 = 0 &
(x - c) mod m3 = 0 holds
(
x,
(a + (m1 * r)) + ((m1 * m2) * s) are_congruent_mod (m1 * m2) * m3 &
((m1 * r) - (b - a)) mod m2 = 0 &
(((m1 * m2) * s) - ((c - a) - (m1 * r))) mod m3 = 0 )