let a1, a2 be Integer; for n1, n2 being Nat st n1 > 0 & n2 > 0 holds
for x being Integer st x solves_CRT a1,n1,a2,n2 holds
x mod (n1 * n2) solves_CRT a1,n1,a2,n2
let n1, n2 be Nat; ( n1 > 0 & n2 > 0 implies for x being Integer st x solves_CRT a1,n1,a2,n2 holds
x mod (n1 * n2) solves_CRT a1,n1,a2,n2 )
assume that
A1:
n1 > 0
and
A2:
n2 > 0
; for x being Integer st x solves_CRT a1,n1,a2,n2 holds
x mod (n1 * n2) solves_CRT a1,n1,a2,n2
let x be Integer; ( x solves_CRT a1,n1,a2,n2 implies x mod (n1 * n2) solves_CRT a1,n1,a2,n2 )
assume A3:
x solves_CRT a1,n1,a2,n2
; x mod (n1 * n2) solves_CRT a1,n1,a2,n2
A4:
x mod n1 = a1 mod n1
by A3, NAT_D:64;
(x mod (n1 * n2)) mod n1 = x mod n1
by A2, RADIX_1:7;
hence
x mod (n1 * n2),a1 are_congruent_mod n1
by A1, A4, NAT_D:64; NUMBER14:def 1 x mod (n1 * n2),a2 are_congruent_mod n2
A5:
x mod n2 = a2 mod n2
by A3, NAT_D:64;
(x mod (n1 * n2)) mod n2 = x mod n2
by A1, RADIX_1:7;
hence
x mod (n1 * n2),a2 are_congruent_mod n2
by A2, A5, NAT_D:64; verum