Metamath Proof Explorer


Theorem crth

Description: The Chinese Remainder Theorem: the function that maps x to its remainder classes mod M and mod N is 1-1 and onto when M and N are coprime. (Contributed by Mario Carneiro, 24-Feb-2014) (Proof shortened by Mario Carneiro, 2-May-2016)

Ref Expression
Hypotheses crth.1 S = 0 ..^ M N
crth.2 T = 0 ..^ M × 0 ..^ N
crth.3 F = x S x mod M x mod N
crth.4 φ M N M gcd N = 1
Assertion crth φ F : S 1-1 onto T

Proof

Step Hyp Ref Expression
1 crth.1 S = 0 ..^ M N
2 crth.2 T = 0 ..^ M × 0 ..^ N
3 crth.3 F = x S x mod M x mod N
4 crth.4 φ M N M gcd N = 1
5 elfzoelz x 0 ..^ M N x
6 5 1 eleq2s x S x
7 simpr φ x x
8 4 simp1d φ M
9 8 adantr φ x M
10 zmodfzo x M x mod M 0 ..^ M
11 7 9 10 syl2anc φ x x mod M 0 ..^ M
12 4 simp2d φ N
13 12 adantr φ x N
14 zmodfzo x N x mod N 0 ..^ N
15 7 13 14 syl2anc φ x x mod N 0 ..^ N
16 11 15 opelxpd φ x x mod M x mod N 0 ..^ M × 0 ..^ N
17 16 2 eleqtrrdi φ x x mod M x mod N T
18 6 17 sylan2 φ x S x mod M x mod N T
19 18 3 fmptd φ F : S T
20 oveq1 x = y x mod M = y mod M
21 oveq1 x = y x mod N = y mod N
22 20 21 opeq12d x = y x mod M x mod N = y mod M y mod N
23 opex y mod M y mod N V
24 22 3 23 fvmpt y S F y = y mod M y mod N
25 24 ad2antrl φ y S z S F y = y mod M y mod N
26 oveq1 x = z x mod M = z mod M
27 oveq1 x = z x mod N = z mod N
28 26 27 opeq12d x = z x mod M x mod N = z mod M z mod N
29 opex z mod M z mod N V
30 28 3 29 fvmpt z S F z = z mod M z mod N
31 30 ad2antll φ y S z S F z = z mod M z mod N
32 25 31 eqeq12d φ y S z S F y = F z y mod M y mod N = z mod M z mod N
33 ovex y mod M V
34 ovex y mod N V
35 33 34 opth y mod M y mod N = z mod M z mod N y mod M = z mod M y mod N = z mod N
36 32 35 syl6bb φ y S z S F y = F z y mod M = z mod M y mod N = z mod N
37 8 adantr φ y S z S M
38 37 nnzd φ y S z S M
39 12 adantr φ y S z S N
40 39 nnzd φ y S z S N
41 simprl φ y S z S y S
42 41 1 eleqtrdi φ y S z S y 0 ..^ M N
43 elfzoelz y 0 ..^ M N y
44 42 43 syl φ y S z S y
45 simprr φ y S z S z S
46 45 1 eleqtrdi φ y S z S z 0 ..^ M N
47 elfzoelz z 0 ..^ M N z
48 46 47 syl φ y S z S z
49 44 48 zsubcld φ y S z S y z
50 4 simp3d φ M gcd N = 1
51 50 adantr φ y S z S M gcd N = 1
52 coprmdvds2 M N y z M gcd N = 1 M y z N y z M N y z
53 38 40 49 51 52 syl31anc φ y S z S M y z N y z M N y z
54 moddvds M y z y mod M = z mod M M y z
55 37 44 48 54 syl3anc φ y S z S y mod M = z mod M M y z
56 moddvds N y z y mod N = z mod N N y z
57 39 44 48 56 syl3anc φ y S z S y mod N = z mod N N y z
58 55 57 anbi12d φ y S z S y mod M = z mod M y mod N = z mod N M y z N y z
59 44 zred φ y S z S y
60 37 39 nnmulcld φ y S z S M N
61 60 nnrpd φ y S z S M N +
62 elfzole1 y 0 ..^ M N 0 y
63 42 62 syl φ y S z S 0 y
64 elfzolt2 y 0 ..^ M N y < M N
65 42 64 syl φ y S z S y < M N
66 modid y M N + 0 y y < M N y mod M N = y
67 59 61 63 65 66 syl22anc φ y S z S y mod M N = y
68 48 zred φ y S z S z
69 elfzole1 z 0 ..^ M N 0 z
70 46 69 syl φ y S z S 0 z
71 elfzolt2 z 0 ..^ M N z < M N
72 46 71 syl φ y S z S z < M N
73 modid z M N + 0 z z < M N z mod M N = z
74 68 61 70 72 73 syl22anc φ y S z S z mod M N = z
75 67 74 eqeq12d φ y S z S y mod M N = z mod M N y = z
76 moddvds M N y z y mod M N = z mod M N M N y z
77 60 44 48 76 syl3anc φ y S z S y mod M N = z mod M N M N y z
78 75 77 bitr3d φ y S z S y = z M N y z
79 53 58 78 3imtr4d φ y S z S y mod M = z mod M y mod N = z mod N y = z
80 36 79 sylbid φ y S z S F y = F z y = z
81 80 ralrimivva φ y S z S F y = F z y = z
82 dff13 F : S 1-1 T F : S T y S z S F y = F z y = z
83 19 81 82 sylanbrc φ F : S 1-1 T
84 nnnn0 M M 0
85 nnnn0 N N 0
86 nn0mulcl M 0 N 0 M N 0
87 hashfzo0 M N 0 0 ..^ M N = M N
88 86 87 syl M 0 N 0 0 ..^ M N = M N
89 fzofi 0 ..^ M Fin
90 fzofi 0 ..^ N Fin
91 hashxp 0 ..^ M Fin 0 ..^ N Fin 0 ..^ M × 0 ..^ N = 0 ..^ M 0 ..^ N
92 89 90 91 mp2an 0 ..^ M × 0 ..^ N = 0 ..^ M 0 ..^ N
93 hashfzo0 M 0 0 ..^ M = M
94 hashfzo0 N 0 0 ..^ N = N
95 93 94 oveqan12d M 0 N 0 0 ..^ M 0 ..^ N = M N
96 92 95 syl5eq M 0 N 0 0 ..^ M × 0 ..^ N = M N
97 88 96 eqtr4d M 0 N 0 0 ..^ M N = 0 ..^ M × 0 ..^ N
98 fzofi 0 ..^ M N Fin
99 xpfi 0 ..^ M Fin 0 ..^ N Fin 0 ..^ M × 0 ..^ N Fin
100 89 90 99 mp2an 0 ..^ M × 0 ..^ N Fin
101 hashen 0 ..^ M N Fin 0 ..^ M × 0 ..^ N Fin 0 ..^ M N = 0 ..^ M × 0 ..^ N 0 ..^ M N 0 ..^ M × 0 ..^ N
102 98 100 101 mp2an 0 ..^ M N = 0 ..^ M × 0 ..^ N 0 ..^ M N 0 ..^ M × 0 ..^ N
103 97 102 sylib M 0 N 0 0 ..^ M N 0 ..^ M × 0 ..^ N
104 84 85 103 syl2an M N 0 ..^ M N 0 ..^ M × 0 ..^ N
105 8 12 104 syl2anc φ 0 ..^ M N 0 ..^ M × 0 ..^ N
106 105 1 2 3brtr4g φ S T
107 2 100 eqeltri T Fin
108 f1finf1o S T T Fin F : S 1-1 T F : S 1-1 onto T
109 106 107 108 sylancl φ F : S 1-1 T F : S 1-1 onto T
110 83 109 mpbid φ F : S 1-1 onto T