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 โŠข ๐‘† = ( 0 ..^ ( ๐‘€ ยท ๐‘ ) )
crth.2 โŠข ๐‘‡ = ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) )
crth.3 โŠข ๐น = ( ๐‘ฅ โˆˆ ๐‘† โ†ฆ โŸจ ( ๐‘ฅ mod ๐‘€ ) , ( ๐‘ฅ mod ๐‘ ) โŸฉ )
crth.4 โŠข ( ๐œ‘ โ†’ ( ๐‘€ โˆˆ โ„• โˆง ๐‘ โˆˆ โ„• โˆง ( ๐‘€ gcd ๐‘ ) = 1 ) )
Assertion crth ( ๐œ‘ โ†’ ๐น : ๐‘† โ€“1-1-ontoโ†’ ๐‘‡ )

Proof

Step Hyp Ref Expression
1 crth.1 โŠข ๐‘† = ( 0 ..^ ( ๐‘€ ยท ๐‘ ) )
2 crth.2 โŠข ๐‘‡ = ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) )
3 crth.3 โŠข ๐น = ( ๐‘ฅ โˆˆ ๐‘† โ†ฆ โŸจ ( ๐‘ฅ mod ๐‘€ ) , ( ๐‘ฅ mod ๐‘ ) โŸฉ )
4 crth.4 โŠข ( ๐œ‘ โ†’ ( ๐‘€ โˆˆ โ„• โˆง ๐‘ โˆˆ โ„• โˆง ( ๐‘€ gcd ๐‘ ) = 1 ) )
5 elfzoelz โŠข ( ๐‘ฅ โˆˆ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ†’ ๐‘ฅ โˆˆ โ„ค )
6 5 1 eleq2s โŠข ( ๐‘ฅ โˆˆ ๐‘† โ†’ ๐‘ฅ โˆˆ โ„ค )
7 simpr โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ โ„ค ) โ†’ ๐‘ฅ โˆˆ โ„ค )
8 4 simp1d โŠข ( ๐œ‘ โ†’ ๐‘€ โˆˆ โ„• )
9 8 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ โ„ค ) โ†’ ๐‘€ โˆˆ โ„• )
10 zmodfzo โŠข ( ( ๐‘ฅ โˆˆ โ„ค โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ๐‘ฅ mod ๐‘€ ) โˆˆ ( 0 ..^ ๐‘€ ) )
11 7 9 10 syl2anc โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ โ„ค ) โ†’ ( ๐‘ฅ mod ๐‘€ ) โˆˆ ( 0 ..^ ๐‘€ ) )
12 4 simp2d โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ โ„• )
13 12 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ โ„ค ) โ†’ ๐‘ โˆˆ โ„• )
14 zmodfzo โŠข ( ( ๐‘ฅ โˆˆ โ„ค โˆง ๐‘ โˆˆ โ„• ) โ†’ ( ๐‘ฅ mod ๐‘ ) โˆˆ ( 0 ..^ ๐‘ ) )
15 7 13 14 syl2anc โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ โ„ค ) โ†’ ( ๐‘ฅ mod ๐‘ ) โˆˆ ( 0 ..^ ๐‘ ) )
16 11 15 opelxpd โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ โ„ค ) โ†’ โŸจ ( ๐‘ฅ mod ๐‘€ ) , ( ๐‘ฅ mod ๐‘ ) โŸฉ โˆˆ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) )
17 16 2 eleqtrrdi โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ โ„ค ) โ†’ โŸจ ( ๐‘ฅ mod ๐‘€ ) , ( ๐‘ฅ mod ๐‘ ) โŸฉ โˆˆ ๐‘‡ )
18 6 17 sylan2 โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘† ) โ†’ โŸจ ( ๐‘ฅ mod ๐‘€ ) , ( ๐‘ฅ mod ๐‘ ) โŸฉ โˆˆ ๐‘‡ )
19 18 3 fmptd โŠข ( ๐œ‘ โ†’ ๐น : ๐‘† โŸถ ๐‘‡ )
20 oveq1 โŠข ( ๐‘ฅ = ๐‘ฆ โ†’ ( ๐‘ฅ mod ๐‘€ ) = ( ๐‘ฆ mod ๐‘€ ) )
21 oveq1 โŠข ( ๐‘ฅ = ๐‘ฆ โ†’ ( ๐‘ฅ mod ๐‘ ) = ( ๐‘ฆ mod ๐‘ ) )
22 20 21 opeq12d โŠข ( ๐‘ฅ = ๐‘ฆ โ†’ โŸจ ( ๐‘ฅ mod ๐‘€ ) , ( ๐‘ฅ mod ๐‘ ) โŸฉ = โŸจ ( ๐‘ฆ mod ๐‘€ ) , ( ๐‘ฆ mod ๐‘ ) โŸฉ )
23 opex โŠข โŸจ ( ๐‘ฆ mod ๐‘€ ) , ( ๐‘ฆ mod ๐‘ ) โŸฉ โˆˆ V
24 22 3 23 fvmpt โŠข ( ๐‘ฆ โˆˆ ๐‘† โ†’ ( ๐น โ€˜ ๐‘ฆ ) = โŸจ ( ๐‘ฆ mod ๐‘€ ) , ( ๐‘ฆ mod ๐‘ ) โŸฉ )
25 24 ad2antrl โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ๐น โ€˜ ๐‘ฆ ) = โŸจ ( ๐‘ฆ mod ๐‘€ ) , ( ๐‘ฆ mod ๐‘ ) โŸฉ )
26 oveq1 โŠข ( ๐‘ฅ = ๐‘ง โ†’ ( ๐‘ฅ mod ๐‘€ ) = ( ๐‘ง mod ๐‘€ ) )
27 oveq1 โŠข ( ๐‘ฅ = ๐‘ง โ†’ ( ๐‘ฅ mod ๐‘ ) = ( ๐‘ง mod ๐‘ ) )
28 26 27 opeq12d โŠข ( ๐‘ฅ = ๐‘ง โ†’ โŸจ ( ๐‘ฅ mod ๐‘€ ) , ( ๐‘ฅ mod ๐‘ ) โŸฉ = โŸจ ( ๐‘ง mod ๐‘€ ) , ( ๐‘ง mod ๐‘ ) โŸฉ )
29 opex โŠข โŸจ ( ๐‘ง mod ๐‘€ ) , ( ๐‘ง mod ๐‘ ) โŸฉ โˆˆ V
30 28 3 29 fvmpt โŠข ( ๐‘ง โˆˆ ๐‘† โ†’ ( ๐น โ€˜ ๐‘ง ) = โŸจ ( ๐‘ง mod ๐‘€ ) , ( ๐‘ง mod ๐‘ ) โŸฉ )
31 30 ad2antll โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ๐น โ€˜ ๐‘ง ) = โŸจ ( ๐‘ง mod ๐‘€ ) , ( ๐‘ง mod ๐‘ ) โŸฉ )
32 25 31 eqeq12d โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ( ๐น โ€˜ ๐‘ฆ ) = ( ๐น โ€˜ ๐‘ง ) โ†” โŸจ ( ๐‘ฆ mod ๐‘€ ) , ( ๐‘ฆ mod ๐‘ ) โŸฉ = โŸจ ( ๐‘ง mod ๐‘€ ) , ( ๐‘ง mod ๐‘ ) โŸฉ ) )
33 ovex โŠข ( ๐‘ฆ mod ๐‘€ ) โˆˆ V
34 ovex โŠข ( ๐‘ฆ mod ๐‘ ) โˆˆ V
35 33 34 opth โŠข ( โŸจ ( ๐‘ฆ mod ๐‘€ ) , ( ๐‘ฆ mod ๐‘ ) โŸฉ = โŸจ ( ๐‘ง mod ๐‘€ ) , ( ๐‘ง mod ๐‘ ) โŸฉ โ†” ( ( ๐‘ฆ mod ๐‘€ ) = ( ๐‘ง mod ๐‘€ ) โˆง ( ๐‘ฆ mod ๐‘ ) = ( ๐‘ง mod ๐‘ ) ) )
36 32 35 bitrdi โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ( ๐น โ€˜ ๐‘ฆ ) = ( ๐น โ€˜ ๐‘ง ) โ†” ( ( ๐‘ฆ mod ๐‘€ ) = ( ๐‘ง mod ๐‘€ ) โˆง ( ๐‘ฆ mod ๐‘ ) = ( ๐‘ง mod ๐‘ ) ) ) )
37 8 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘€ โˆˆ โ„• )
38 37 nnzd โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘€ โˆˆ โ„ค )
39 12 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ โˆˆ โ„• )
40 39 nnzd โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ โˆˆ โ„ค )
41 simprl โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ฆ โˆˆ ๐‘† )
42 41 1 eleqtrdi โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ฆ โˆˆ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) )
43 elfzoelz โŠข ( ๐‘ฆ โˆˆ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ†’ ๐‘ฆ โˆˆ โ„ค )
44 42 43 syl โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ฆ โˆˆ โ„ค )
45 simprr โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ง โˆˆ ๐‘† )
46 45 1 eleqtrdi โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ง โˆˆ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) )
47 elfzoelz โŠข ( ๐‘ง โˆˆ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ†’ ๐‘ง โˆˆ โ„ค )
48 46 47 syl โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ง โˆˆ โ„ค )
49 44 48 zsubcld โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ๐‘ฆ โˆ’ ๐‘ง ) โˆˆ โ„ค )
50 4 simp3d โŠข ( ๐œ‘ โ†’ ( ๐‘€ gcd ๐‘ ) = 1 )
51 50 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ๐‘€ gcd ๐‘ ) = 1 )
52 coprmdvds2 โŠข ( ( ( ๐‘€ โˆˆ โ„ค โˆง ๐‘ โˆˆ โ„ค โˆง ( ๐‘ฆ โˆ’ ๐‘ง ) โˆˆ โ„ค ) โˆง ( ๐‘€ gcd ๐‘ ) = 1 ) โ†’ ( ( ๐‘€ โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) โˆง ๐‘ โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) โ†’ ( ๐‘€ ยท ๐‘ ) โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) )
53 38 40 49 51 52 syl31anc โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ( ๐‘€ โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) โˆง ๐‘ โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) โ†’ ( ๐‘€ ยท ๐‘ ) โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) )
54 moddvds โŠข ( ( ๐‘€ โˆˆ โ„• โˆง ๐‘ฆ โˆˆ โ„ค โˆง ๐‘ง โˆˆ โ„ค ) โ†’ ( ( ๐‘ฆ mod ๐‘€ ) = ( ๐‘ง mod ๐‘€ ) โ†” ๐‘€ โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) )
55 37 44 48 54 syl3anc โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ( ๐‘ฆ mod ๐‘€ ) = ( ๐‘ง mod ๐‘€ ) โ†” ๐‘€ โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) )
56 moddvds โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐‘ฆ โˆˆ โ„ค โˆง ๐‘ง โˆˆ โ„ค ) โ†’ ( ( ๐‘ฆ mod ๐‘ ) = ( ๐‘ง mod ๐‘ ) โ†” ๐‘ โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) )
57 39 44 48 56 syl3anc โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ( ๐‘ฆ mod ๐‘ ) = ( ๐‘ง mod ๐‘ ) โ†” ๐‘ โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) )
58 55 57 anbi12d โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ( ( ๐‘ฆ mod ๐‘€ ) = ( ๐‘ง mod ๐‘€ ) โˆง ( ๐‘ฆ mod ๐‘ ) = ( ๐‘ง mod ๐‘ ) ) โ†” ( ๐‘€ โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) โˆง ๐‘ โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) ) )
59 44 zred โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ฆ โˆˆ โ„ )
60 37 39 nnmulcld โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ๐‘€ ยท ๐‘ ) โˆˆ โ„• )
61 60 nnrpd โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ๐‘€ ยท ๐‘ ) โˆˆ โ„+ )
62 elfzole1 โŠข ( ๐‘ฆ โˆˆ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ†’ 0 โ‰ค ๐‘ฆ )
63 42 62 syl โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ 0 โ‰ค ๐‘ฆ )
64 elfzolt2 โŠข ( ๐‘ฆ โˆˆ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ†’ ๐‘ฆ < ( ๐‘€ ยท ๐‘ ) )
65 42 64 syl โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ฆ < ( ๐‘€ ยท ๐‘ ) )
66 modid โŠข ( ( ( ๐‘ฆ โˆˆ โ„ โˆง ( ๐‘€ ยท ๐‘ ) โˆˆ โ„+ ) โˆง ( 0 โ‰ค ๐‘ฆ โˆง ๐‘ฆ < ( ๐‘€ ยท ๐‘ ) ) ) โ†’ ( ๐‘ฆ mod ( ๐‘€ ยท ๐‘ ) ) = ๐‘ฆ )
67 59 61 63 65 66 syl22anc โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ๐‘ฆ mod ( ๐‘€ ยท ๐‘ ) ) = ๐‘ฆ )
68 48 zred โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ง โˆˆ โ„ )
69 elfzole1 โŠข ( ๐‘ง โˆˆ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ†’ 0 โ‰ค ๐‘ง )
70 46 69 syl โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ 0 โ‰ค ๐‘ง )
71 elfzolt2 โŠข ( ๐‘ง โˆˆ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ†’ ๐‘ง < ( ๐‘€ ยท ๐‘ ) )
72 46 71 syl โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ๐‘ง < ( ๐‘€ ยท ๐‘ ) )
73 modid โŠข ( ( ( ๐‘ง โˆˆ โ„ โˆง ( ๐‘€ ยท ๐‘ ) โˆˆ โ„+ ) โˆง ( 0 โ‰ค ๐‘ง โˆง ๐‘ง < ( ๐‘€ ยท ๐‘ ) ) ) โ†’ ( ๐‘ง mod ( ๐‘€ ยท ๐‘ ) ) = ๐‘ง )
74 68 61 70 72 73 syl22anc โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ๐‘ง mod ( ๐‘€ ยท ๐‘ ) ) = ๐‘ง )
75 67 74 eqeq12d โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ( ๐‘ฆ mod ( ๐‘€ ยท ๐‘ ) ) = ( ๐‘ง mod ( ๐‘€ ยท ๐‘ ) ) โ†” ๐‘ฆ = ๐‘ง ) )
76 moddvds โŠข ( ( ( ๐‘€ ยท ๐‘ ) โˆˆ โ„• โˆง ๐‘ฆ โˆˆ โ„ค โˆง ๐‘ง โˆˆ โ„ค ) โ†’ ( ( ๐‘ฆ mod ( ๐‘€ ยท ๐‘ ) ) = ( ๐‘ง mod ( ๐‘€ ยท ๐‘ ) ) โ†” ( ๐‘€ ยท ๐‘ ) โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) )
77 60 44 48 76 syl3anc โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ( ๐‘ฆ mod ( ๐‘€ ยท ๐‘ ) ) = ( ๐‘ง mod ( ๐‘€ ยท ๐‘ ) ) โ†” ( ๐‘€ ยท ๐‘ ) โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) )
78 75 77 bitr3d โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ๐‘ฆ = ๐‘ง โ†” ( ๐‘€ ยท ๐‘ ) โˆฅ ( ๐‘ฆ โˆ’ ๐‘ง ) ) )
79 53 58 78 3imtr4d โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ( ( ๐‘ฆ mod ๐‘€ ) = ( ๐‘ง mod ๐‘€ ) โˆง ( ๐‘ฆ mod ๐‘ ) = ( ๐‘ง mod ๐‘ ) ) โ†’ ๐‘ฆ = ๐‘ง ) )
80 36 79 sylbid โŠข ( ( ๐œ‘ โˆง ( ๐‘ฆ โˆˆ ๐‘† โˆง ๐‘ง โˆˆ ๐‘† ) ) โ†’ ( ( ๐น โ€˜ ๐‘ฆ ) = ( ๐น โ€˜ ๐‘ง ) โ†’ ๐‘ฆ = ๐‘ง ) )
81 80 ralrimivva โŠข ( ๐œ‘ โ†’ โˆ€ ๐‘ฆ โˆˆ ๐‘† โˆ€ ๐‘ง โˆˆ ๐‘† ( ( ๐น โ€˜ ๐‘ฆ ) = ( ๐น โ€˜ ๐‘ง ) โ†’ ๐‘ฆ = ๐‘ง ) )
82 dff13 โŠข ( ๐น : ๐‘† โ€“1-1โ†’ ๐‘‡ โ†” ( ๐น : ๐‘† โŸถ ๐‘‡ โˆง โˆ€ ๐‘ฆ โˆˆ ๐‘† โˆ€ ๐‘ง โˆˆ ๐‘† ( ( ๐น โ€˜ ๐‘ฆ ) = ( ๐น โ€˜ ๐‘ง ) โ†’ ๐‘ฆ = ๐‘ง ) ) )
83 19 81 82 sylanbrc โŠข ( ๐œ‘ โ†’ ๐น : ๐‘† โ€“1-1โ†’ ๐‘‡ )
84 nnnn0 โŠข ( ๐‘€ โˆˆ โ„• โ†’ ๐‘€ โˆˆ โ„•0 )
85 nnnn0 โŠข ( ๐‘ โˆˆ โ„• โ†’ ๐‘ โˆˆ โ„•0 )
86 nn0mulcl โŠข ( ( ๐‘€ โˆˆ โ„•0 โˆง ๐‘ โˆˆ โ„•0 ) โ†’ ( ๐‘€ ยท ๐‘ ) โˆˆ โ„•0 )
87 hashfzo0 โŠข ( ( ๐‘€ ยท ๐‘ ) โˆˆ โ„•0 โ†’ ( โ™ฏ โ€˜ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) ) = ( ๐‘€ ยท ๐‘ ) )
88 86 87 syl โŠข ( ( ๐‘€ โˆˆ โ„•0 โˆง ๐‘ โˆˆ โ„•0 ) โ†’ ( โ™ฏ โ€˜ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) ) = ( ๐‘€ ยท ๐‘ ) )
89 fzofi โŠข ( 0 ..^ ๐‘€ ) โˆˆ Fin
90 fzofi โŠข ( 0 ..^ ๐‘ ) โˆˆ Fin
91 hashxp โŠข ( ( ( 0 ..^ ๐‘€ ) โˆˆ Fin โˆง ( 0 ..^ ๐‘ ) โˆˆ Fin ) โ†’ ( โ™ฏ โ€˜ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) ) = ( ( โ™ฏ โ€˜ ( 0 ..^ ๐‘€ ) ) ยท ( โ™ฏ โ€˜ ( 0 ..^ ๐‘ ) ) ) )
92 89 90 91 mp2an โŠข ( โ™ฏ โ€˜ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) ) = ( ( โ™ฏ โ€˜ ( 0 ..^ ๐‘€ ) ) ยท ( โ™ฏ โ€˜ ( 0 ..^ ๐‘ ) ) )
93 hashfzo0 โŠข ( ๐‘€ โˆˆ โ„•0 โ†’ ( โ™ฏ โ€˜ ( 0 ..^ ๐‘€ ) ) = ๐‘€ )
94 hashfzo0 โŠข ( ๐‘ โˆˆ โ„•0 โ†’ ( โ™ฏ โ€˜ ( 0 ..^ ๐‘ ) ) = ๐‘ )
95 93 94 oveqan12d โŠข ( ( ๐‘€ โˆˆ โ„•0 โˆง ๐‘ โˆˆ โ„•0 ) โ†’ ( ( โ™ฏ โ€˜ ( 0 ..^ ๐‘€ ) ) ยท ( โ™ฏ โ€˜ ( 0 ..^ ๐‘ ) ) ) = ( ๐‘€ ยท ๐‘ ) )
96 92 95 eqtrid โŠข ( ( ๐‘€ โˆˆ โ„•0 โˆง ๐‘ โˆˆ โ„•0 ) โ†’ ( โ™ฏ โ€˜ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) ) = ( ๐‘€ ยท ๐‘ ) )
97 88 96 eqtr4d โŠข ( ( ๐‘€ โˆˆ โ„•0 โˆง ๐‘ โˆˆ โ„•0 ) โ†’ ( โ™ฏ โ€˜ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) ) = ( โ™ฏ โ€˜ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) ) )
98 fzofi โŠข ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โˆˆ Fin
99 xpfi โŠข ( ( ( 0 ..^ ๐‘€ ) โˆˆ Fin โˆง ( 0 ..^ ๐‘ ) โˆˆ Fin ) โ†’ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) โˆˆ Fin )
100 89 90 99 mp2an โŠข ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) โˆˆ Fin
101 hashen โŠข ( ( ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โˆˆ Fin โˆง ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) โˆˆ Fin ) โ†’ ( ( โ™ฏ โ€˜ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) ) = ( โ™ฏ โ€˜ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) ) โ†” ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ‰ˆ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) ) )
102 98 100 101 mp2an โŠข ( ( โ™ฏ โ€˜ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) ) = ( โ™ฏ โ€˜ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) ) โ†” ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ‰ˆ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) )
103 97 102 sylib โŠข ( ( ๐‘€ โˆˆ โ„•0 โˆง ๐‘ โˆˆ โ„•0 ) โ†’ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ‰ˆ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) )
104 84 85 103 syl2an โŠข ( ( ๐‘€ โˆˆ โ„• โˆง ๐‘ โˆˆ โ„• ) โ†’ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ‰ˆ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) )
105 8 12 104 syl2anc โŠข ( ๐œ‘ โ†’ ( 0 ..^ ( ๐‘€ ยท ๐‘ ) ) โ‰ˆ ( ( 0 ..^ ๐‘€ ) ร— ( 0 ..^ ๐‘ ) ) )
106 105 1 2 3brtr4g โŠข ( ๐œ‘ โ†’ ๐‘† โ‰ˆ ๐‘‡ )
107 2 100 eqeltri โŠข ๐‘‡ โˆˆ Fin
108 f1finf1o โŠข ( ( ๐‘† โ‰ˆ ๐‘‡ โˆง ๐‘‡ โˆˆ Fin ) โ†’ ( ๐น : ๐‘† โ€“1-1โ†’ ๐‘‡ โ†” ๐น : ๐‘† โ€“1-1-ontoโ†’ ๐‘‡ ) )
109 106 107 108 sylancl โŠข ( ๐œ‘ โ†’ ( ๐น : ๐‘† โ€“1-1โ†’ ๐‘‡ โ†” ๐น : ๐‘† โ€“1-1-ontoโ†’ ๐‘‡ ) )
110 83 109 mpbid โŠข ( ๐œ‘ โ†’ ๐น : ๐‘† โ€“1-1-ontoโ†’ ๐‘‡ )