Metamath Proof Explorer


Theorem 1arith

Description: Fundamental theorem of arithmetic, where a prime factorization is represented as a sequence of prime exponents, for which only finitely many primes have nonzero exponent. The function M maps the set of positive integers one-to-one onto the set of prime factorizations R . (Contributed by Paul Chapman, 17-Nov-2012) (Proof shortened by Mario Carneiro, 30-May-2014)

Ref Expression
Hypotheses 1arith.1 ⊢ M = n ∈ ℕ ⟼ p ∈ ℙ ⟼ p pCnt n
1arith.2 ⊢ R = e ∈ ℕ 0 ℙ | e -1 ℕ ∈ Fin
Assertion 1arith ⊢ M : ℕ ⟶ 1-1 onto R

Proof

Step Hyp Ref Expression
1 1arith.1 ⊢ M = n ∈ ℕ ⟼ p ∈ ℙ ⟼ p pCnt n
2 1arith.2 ⊢ R = e ∈ ℕ 0 ℙ | e -1 ℕ ∈ Fin
3 prmex ⊢ ℙ ∈ V
4 3 mptex ⊢ p ∈ ℙ ⟼ p pCnt n ∈ V
5 4 1 fnmpti ⊢ M Fn ℕ
6 1 1arithlem3 ⊢ x ∈ ℕ → M ⁡ x : ℙ ⟶ ℕ 0
7 nn0ex ⊢ ℕ 0 ∈ V
8 7 3 elmap ⊢ M ⁡ x ∈ ℕ 0 ℙ ↔ M ⁡ x : ℙ ⟶ ℕ 0
9 6 8 sylibr ⊢ x ∈ ℕ → M ⁡ x ∈ ℕ 0 ℙ
10 fzfi ⊢ 1 … x ∈ Fin
11 ffn ⊢ M ⁡ x : ℙ ⟶ ℕ 0 → M ⁡ x Fn ℙ
12 elpreima ⊢ M ⁡ x Fn ℙ → q ∈ M ⁡ x -1 ℕ ↔ q ∈ ℙ ∧ M ⁡ x ⁡ q ∈ ℕ
13 6 11 12 3syl ⊢ x ∈ ℕ → q ∈ M ⁡ x -1 ℕ ↔ q ∈ ℙ ∧ M ⁡ x ⁡ q ∈ ℕ
14 1 1arithlem2 ⊢ x ∈ ℕ ∧ q ∈ ℙ → M ⁡ x ⁡ q = q pCnt x
15 14 eleq1d ⊢ x ∈ ℕ ∧ q ∈ ℙ → M ⁡ x ⁡ q ∈ ℕ ↔ q pCnt x ∈ ℕ
16 prmz ⊢ q ∈ ℙ → q ∈ ℤ
17 id ⊢ x ∈ ℕ → x ∈ ℕ
18 dvdsle ⊢ q ∈ ℤ ∧ x ∈ ℕ → q ∥ x → q ≤ x
19 16 17 18 syl2anr ⊢ x ∈ ℕ ∧ q ∈ ℙ → q ∥ x → q ≤ x
20 pcelnn ⊢ q ∈ ℙ ∧ x ∈ ℕ → q pCnt x ∈ ℕ ↔ q ∥ x
21 20 ancoms ⊢ x ∈ ℕ ∧ q ∈ ℙ → q pCnt x ∈ ℕ ↔ q ∥ x
22 prmnn ⊢ q ∈ ℙ → q ∈ ℕ
23 nnuz ⊢ ℕ = ℤ ≥ 1
24 22 23 eleqtrdi ⊢ q ∈ ℙ → q ∈ ℤ ≥ 1
25 nnz ⊢ x ∈ ℕ → x ∈ ℤ
26 elfz5 ⊢ q ∈ ℤ ≥ 1 ∧ x ∈ ℤ → q ∈ 1 … x ↔ q ≤ x
27 24 25 26 syl2anr ⊢ x ∈ ℕ ∧ q ∈ ℙ → q ∈ 1 … x ↔ q ≤ x
28 19 21 27 3imtr4d ⊢ x ∈ ℕ ∧ q ∈ ℙ → q pCnt x ∈ ℕ → q ∈ 1 … x
29 15 28 sylbid ⊢ x ∈ ℕ ∧ q ∈ ℙ → M ⁡ x ⁡ q ∈ ℕ → q ∈ 1 … x
30 29 expimpd ⊢ x ∈ ℕ → q ∈ ℙ ∧ M ⁡ x ⁡ q ∈ ℕ → q ∈ 1 … x
31 13 30 sylbid ⊢ x ∈ ℕ → q ∈ M ⁡ x -1 ℕ → q ∈ 1 … x
32 31 ssrdv ⊢ x ∈ ℕ → M ⁡ x -1 ℕ ⊆ 1 … x
33 ssfi ⊢ 1 … x ∈ Fin ∧ M ⁡ x -1 ℕ ⊆ 1 … x → M ⁡ x -1 ℕ ∈ Fin
34 10 32 33 sylancr ⊢ x ∈ ℕ → M ⁡ x -1 ℕ ∈ Fin
35 cnveq ⊢ e = M ⁡ x → e -1 = M ⁡ x -1
36 35 imaeq1d ⊢ e = M ⁡ x → e -1 ℕ = M ⁡ x -1 ℕ
37 36 eleq1d ⊢ e = M ⁡ x → e -1 ℕ ∈ Fin ↔ M ⁡ x -1 ℕ ∈ Fin
38 37 2 elrab2 ⊢ M ⁡ x ∈ R ↔ M ⁡ x ∈ ℕ 0 ℙ ∧ M ⁡ x -1 ℕ ∈ Fin
39 9 34 38 sylanbrc ⊢ x ∈ ℕ → M ⁡ x ∈ R
40 39 rgen ⊢ ∀ x ∈ ℕ M ⁡ x ∈ R
41 ffnfv ⊢ M : ℕ ⟶ R ↔ M Fn ℕ ∧ ∀ x ∈ ℕ M ⁡ x ∈ R
42 5 40 41 mpbir2an ⊢ M : ℕ ⟶ R
43 14 adantlr ⊢ x ∈ ℕ ∧ y ∈ ℕ ∧ q ∈ ℙ → M ⁡ x ⁡ q = q pCnt x
44 1 1arithlem2 ⊢ y ∈ ℕ ∧ q ∈ ℙ → M ⁡ y ⁡ q = q pCnt y
45 44 adantll ⊢ x ∈ ℕ ∧ y ∈ ℕ ∧ q ∈ ℙ → M ⁡ y ⁡ q = q pCnt y
46 43 45 eqeq12d ⊢ x ∈ ℕ ∧ y ∈ ℕ ∧ q ∈ ℙ → M ⁡ x ⁡ q = M ⁡ y ⁡ q ↔ q pCnt x = q pCnt y
47 46 ralbidva ⊢ x ∈ ℕ ∧ y ∈ ℕ → ∀ q ∈ ℙ M ⁡ x ⁡ q = M ⁡ y ⁡ q ↔ ∀ q ∈ ℙ q pCnt x = q pCnt y
48 1 1arithlem3 ⊢ y ∈ ℕ → M ⁡ y : ℙ ⟶ ℕ 0
49 ffn ⊢ M ⁡ y : ℙ ⟶ ℕ 0 → M ⁡ y Fn ℙ
50 eqfnfv ⊢ M ⁡ x Fn ℙ ∧ M ⁡ y Fn ℙ → M ⁡ x = M ⁡ y ↔ ∀ q ∈ ℙ M ⁡ x ⁡ q = M ⁡ y ⁡ q
51 11 49 50 syl2an ⊢ M ⁡ x : ℙ ⟶ ℕ 0 ∧ M ⁡ y : ℙ ⟶ ℕ 0 → M ⁡ x = M ⁡ y ↔ ∀ q ∈ ℙ M ⁡ x ⁡ q = M ⁡ y ⁡ q
52 6 48 51 syl2an ⊢ x ∈ ℕ ∧ y ∈ ℕ → M ⁡ x = M ⁡ y ↔ ∀ q ∈ ℙ M ⁡ x ⁡ q = M ⁡ y ⁡ q
53 nnnn0 ⊢ x ∈ ℕ → x ∈ ℕ 0
54 nnnn0 ⊢ y ∈ ℕ → y ∈ ℕ 0
55 pc11 ⊢ x ∈ ℕ 0 ∧ y ∈ ℕ 0 → x = y ↔ ∀ q ∈ ℙ q pCnt x = q pCnt y
56 53 54 55 syl2an ⊢ x ∈ ℕ ∧ y ∈ ℕ → x = y ↔ ∀ q ∈ ℙ q pCnt x = q pCnt y
57 47 52 56 3bitr4d ⊢ x ∈ ℕ ∧ y ∈ ℕ → M ⁡ x = M ⁡ y ↔ x = y
58 57 biimpd ⊢ x ∈ ℕ ∧ y ∈ ℕ → M ⁡ x = M ⁡ y → x = y
59 58 rgen2 ⊢ ∀ x ∈ ℕ ∀ y ∈ ℕ M ⁡ x = M ⁡ y → x = y
60 dff13 ⊢ M : ℕ ⟶ 1-1 R ↔ M : ℕ ⟶ R ∧ ∀ x ∈ ℕ ∀ y ∈ ℕ M ⁡ x = M ⁡ y → x = y
61 42 59 60 mpbir2an ⊢ M : ℕ ⟶ 1-1 R
62 eqid ⊢ g ∈ ℕ ⟼ if g ∈ ℙ g f ⁡ g 1 = g ∈ ℕ ⟼ if g ∈ ℙ g f ⁡ g 1
63 cnveq ⊢ e = f → e -1 = f -1
64 63 imaeq1d ⊢ e = f → e -1 ℕ = f -1 ℕ
65 64 eleq1d ⊢ e = f → e -1 ℕ ∈ Fin ↔ f -1 ℕ ∈ Fin
66 65 2 elrab2 ⊢ f ∈ R ↔ f ∈ ℕ 0 ℙ ∧ f -1 ℕ ∈ Fin
67 66 simplbi ⊢ f ∈ R → f ∈ ℕ 0 ℙ
68 7 3 elmap ⊢ f ∈ ℕ 0 ℙ ↔ f : ℙ ⟶ ℕ 0
69 67 68 sylib ⊢ f ∈ R → f : ℙ ⟶ ℕ 0
70 69 ad2antrr ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y → f : ℙ ⟶ ℕ 0
71 simplr ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y → y ∈ ℝ
72 0re ⊢ 0 ∈ ℝ
73 ifcl ⊢ y ∈ ℝ ∧ 0 ∈ ℝ → if 0 ≤ y y 0 ∈ ℝ
74 71 72 73 sylancl ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y → if 0 ≤ y y 0 ∈ ℝ
75 max1 ⊢ 0 ∈ ℝ ∧ y ∈ ℝ → 0 ≤ if 0 ≤ y y 0
76 72 71 75 sylancr ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y → 0 ≤ if 0 ≤ y y 0
77 flge0nn0 ⊢ if 0 ≤ y y 0 ∈ ℝ ∧ 0 ≤ if 0 ≤ y y 0 → if 0 ≤ y y 0 ∈ ℕ 0
78 74 76 77 syl2anc ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y → if 0 ≤ y y 0 ∈ ℕ 0
79 nn0p1nn ⊢ if 0 ≤ y y 0 ∈ ℕ 0 → if 0 ≤ y y 0 + 1 ∈ ℕ
80 78 79 syl ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y → if 0 ≤ y y 0 + 1 ∈ ℕ
81 71 adantr ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → y ∈ ℝ
82 80 adantr ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → if 0 ≤ y y 0 + 1 ∈ ℕ
83 82 nnred ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → if 0 ≤ y y 0 + 1 ∈ ℝ
84 16 ssriv ⊢ ℙ ⊆ ℤ
85 zssre ⊢ ℤ ⊆ ℝ
86 84 85 sstri ⊢ ℙ ⊆ ℝ
87 simprl ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → q ∈ ℙ
88 86 87 sselid ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → q ∈ ℝ
89 74 adantr ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → if 0 ≤ y y 0 ∈ ℝ
90 max2 ⊢ 0 ∈ ℝ ∧ y ∈ ℝ → y ≤ if 0 ≤ y y 0
91 72 81 90 sylancr ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → y ≤ if 0 ≤ y y 0
92 flltp1 ⊢ if 0 ≤ y y 0 ∈ ℝ → if 0 ≤ y y 0 < if 0 ≤ y y 0 + 1
93 89 92 syl ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → if 0 ≤ y y 0 < if 0 ≤ y y 0 + 1
94 81 89 83 91 93 lelttrd ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → y < if 0 ≤ y y 0 + 1
95 simprr ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → if 0 ≤ y y 0 + 1 ≤ q
96 81 83 88 94 95 ltletrd ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → y < q
97 81 88 ltnled ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → y < q ↔ ¬ q ≤ y
98 96 97 mpbid ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → ¬ q ≤ y
99 87 biantrurd ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → f ⁡ q ∈ ℕ ↔ q ∈ ℙ ∧ f ⁡ q ∈ ℕ
100 70 adantr ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → f : ℙ ⟶ ℕ 0
101 ffn ⊢ f : ℙ ⟶ ℕ 0 → f Fn ℙ
102 elpreima ⊢ f Fn ℙ → q ∈ f -1 ℕ ↔ q ∈ ℙ ∧ f ⁡ q ∈ ℕ
103 100 101 102 3syl ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → q ∈ f -1 ℕ ↔ q ∈ ℙ ∧ f ⁡ q ∈ ℕ
104 99 103 bitr4d ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → f ⁡ q ∈ ℕ ↔ q ∈ f -1 ℕ
105 simplr ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → ∀ k ∈ f -1 ℕ k ≤ y
106 breq1 ⊢ k = q → k ≤ y ↔ q ≤ y
107 106 rspccv ⊢ ∀ k ∈ f -1 ℕ k ≤ y → q ∈ f -1 ℕ → q ≤ y
108 105 107 syl ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → q ∈ f -1 ℕ → q ≤ y
109 104 108 sylbid ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → f ⁡ q ∈ ℕ → q ≤ y
110 98 109 mtod ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → ¬ f ⁡ q ∈ ℕ
111 100 87 ffvelcdmd ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → f ⁡ q ∈ ℕ 0
112 elnn0 ⊢ f ⁡ q ∈ ℕ 0 ↔ f ⁡ q ∈ ℕ ∨ f ⁡ q = 0
113 111 112 sylib ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → f ⁡ q ∈ ℕ ∨ f ⁡ q = 0
114 113 ord ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → ¬ f ⁡ q ∈ ℕ → f ⁡ q = 0
115 110 114 mpd ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y ∧ q ∈ ℙ ∧ if 0 ≤ y y 0 + 1 ≤ q → f ⁡ q = 0
116 1 62 70 80 115 1arithlem4 ⊢ f ∈ R ∧ y ∈ ℝ ∧ ∀ k ∈ f -1 ℕ k ≤ y → ∃ x ∈ ℕ f = M ⁡ x
117 cnvimass ⊢ f -1 ℕ ⊆ dom ⁡ f
118 69 fdmd ⊢ f ∈ R → dom ⁡ f = ℙ
119 118 86 eqsstrdi ⊢ f ∈ R → dom ⁡ f ⊆ ℝ
120 117 119 sstrid ⊢ f ∈ R → f -1 ℕ ⊆ ℝ
121 66 simprbi ⊢ f ∈ R → f -1 ℕ ∈ Fin
122 fimaxre2 ⊢ f -1 ℕ ⊆ ℝ ∧ f -1 ℕ ∈ Fin → ∃ y ∈ ℝ ∀ k ∈ f -1 ℕ k ≤ y
123 120 121 122 syl2anc ⊢ f ∈ R → ∃ y ∈ ℝ ∀ k ∈ f -1 ℕ k ≤ y
124 116 123 r19.29a ⊢ f ∈ R → ∃ x ∈ ℕ f = M ⁡ x
125 124 rgen ⊢ ∀ f ∈ R ∃ x ∈ ℕ f = M ⁡ x
126 dffo3 ⊢ M : ℕ ⟶ onto R ↔ M : ℕ ⟶ R ∧ ∀ f ∈ R ∃ x ∈ ℕ f = M ⁡ x
127 42 125 126 mpbir2an ⊢ M : ℕ ⟶ onto R
128 df-f1o ⊢ M : ℕ ⟶ 1-1 onto R ↔ M : ℕ ⟶ 1-1 R ∧ M : ℕ ⟶ onto R
129 61 127 128 mpbir2an ⊢ M : ℕ ⟶ 1-1 onto R