MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  isinf Structured version   Visualization version   GIF version

Theorem isinf 8461
Description: Any set that is not finite is literally infinite, in the sense that it contains subsets of arbitrarily large finite cardinality. (It cannot be proven that the set has countably infinite subsets unless AC is invoked.) The proof does not require the Axiom of Infinity. (Contributed by Mario Carneiro, 15-Jan-2013.)
Assertion
Ref Expression
isinf 𝐴 ∈ Fin → ∀𝑛 ∈ ω ∃𝑥(𝑥𝐴𝑥𝑛))
Distinct variable group:   𝑥,𝐴,𝑛

Proof of Theorem isinf
Dummy variables 𝑓 𝑚 𝑦 𝑧 𝑔 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 breq2 4890 . . . . . 6 (𝑛 = ∅ → (𝑥𝑛𝑥 ≈ ∅))
21anbi2d 622 . . . . 5 (𝑛 = ∅ → ((𝑥𝐴𝑥𝑛) ↔ (𝑥𝐴𝑥 ≈ ∅)))
32exbidv 1964 . . . 4 (𝑛 = ∅ → (∃𝑥(𝑥𝐴𝑥𝑛) ↔ ∃𝑥(𝑥𝐴𝑥 ≈ ∅)))
4 breq2 4890 . . . . . 6 (𝑛 = 𝑚 → (𝑥𝑛𝑥𝑚))
54anbi2d 622 . . . . 5 (𝑛 = 𝑚 → ((𝑥𝐴𝑥𝑛) ↔ (𝑥𝐴𝑥𝑚)))
65exbidv 1964 . . . 4 (𝑛 = 𝑚 → (∃𝑥(𝑥𝐴𝑥𝑛) ↔ ∃𝑥(𝑥𝐴𝑥𝑚)))
7 sseq1 3845 . . . . . . 7 (𝑥 = 𝑦 → (𝑥𝐴𝑦𝐴))
87adantl 475 . . . . . 6 ((𝑛 = suc 𝑚𝑥 = 𝑦) → (𝑥𝐴𝑦𝐴))
9 breq1 4889 . . . . . . 7 (𝑥 = 𝑦 → (𝑥𝑛𝑦𝑛))
10 breq2 4890 . . . . . . 7 (𝑛 = suc 𝑚 → (𝑦𝑛𝑦 ≈ suc 𝑚))
119, 10sylan9bbr 506 . . . . . 6 ((𝑛 = suc 𝑚𝑥 = 𝑦) → (𝑥𝑛𝑦 ≈ suc 𝑚))
128, 11anbi12d 624 . . . . 5 ((𝑛 = suc 𝑚𝑥 = 𝑦) → ((𝑥𝐴𝑥𝑛) ↔ (𝑦𝐴𝑦 ≈ suc 𝑚)))
1312cbvexdva 2377 . . . 4 (𝑛 = suc 𝑚 → (∃𝑥(𝑥𝐴𝑥𝑛) ↔ ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚)))
14 0ss 4198 . . . . . 6 ∅ ⊆ 𝐴
15 0ex 5026 . . . . . . 7 ∅ ∈ V
1615enref 8274 . . . . . 6 ∅ ≈ ∅
17 sseq1 3845 . . . . . . . 8 (𝑥 = ∅ → (𝑥𝐴 ↔ ∅ ⊆ 𝐴))
18 breq1 4889 . . . . . . . 8 (𝑥 = ∅ → (𝑥 ≈ ∅ ↔ ∅ ≈ ∅))
1917, 18anbi12d 624 . . . . . . 7 (𝑥 = ∅ → ((𝑥𝐴𝑥 ≈ ∅) ↔ (∅ ⊆ 𝐴 ∧ ∅ ≈ ∅)))
2015, 19spcev 3502 . . . . . 6 ((∅ ⊆ 𝐴 ∧ ∅ ≈ ∅) → ∃𝑥(𝑥𝐴𝑥 ≈ ∅))
2114, 16, 20mp2an 682 . . . . 5 𝑥(𝑥𝐴𝑥 ≈ ∅)
2221a1i 11 . . . 4 𝐴 ∈ Fin → ∃𝑥(𝑥𝐴𝑥 ≈ ∅))
23 ssdif0 4172 . . . . . . . . . . . . 13 (𝐴𝑥 ↔ (𝐴𝑥) = ∅)
24 eqss 3836 . . . . . . . . . . . . . . 15 (𝑥 = 𝐴 ↔ (𝑥𝐴𝐴𝑥))
25 breq1 4889 . . . . . . . . . . . . . . . . . . 19 (𝑥 = 𝐴 → (𝑥𝑚𝐴𝑚))
2625biimpa 470 . . . . . . . . . . . . . . . . . 18 ((𝑥 = 𝐴𝑥𝑚) → 𝐴𝑚)
27 rspe 3184 . . . . . . . . . . . . . . . . . 18 ((𝑚 ∈ ω ∧ 𝐴𝑚) → ∃𝑚 ∈ ω 𝐴𝑚)
2826, 27sylan2 586 . . . . . . . . . . . . . . . . 17 ((𝑚 ∈ ω ∧ (𝑥 = 𝐴𝑥𝑚)) → ∃𝑚 ∈ ω 𝐴𝑚)
29 isfi 8265 . . . . . . . . . . . . . . . . 17 (𝐴 ∈ Fin ↔ ∃𝑚 ∈ ω 𝐴𝑚)
3028, 29sylibr 226 . . . . . . . . . . . . . . . 16 ((𝑚 ∈ ω ∧ (𝑥 = 𝐴𝑥𝑚)) → 𝐴 ∈ Fin)
3130expcom 404 . . . . . . . . . . . . . . 15 ((𝑥 = 𝐴𝑥𝑚) → (𝑚 ∈ ω → 𝐴 ∈ Fin))
3224, 31sylanbr 577 . . . . . . . . . . . . . 14 (((𝑥𝐴𝐴𝑥) ∧ 𝑥𝑚) → (𝑚 ∈ ω → 𝐴 ∈ Fin))
3332ex 403 . . . . . . . . . . . . 13 ((𝑥𝐴𝐴𝑥) → (𝑥𝑚 → (𝑚 ∈ ω → 𝐴 ∈ Fin)))
3423, 33sylan2br 588 . . . . . . . . . . . 12 ((𝑥𝐴 ∧ (𝐴𝑥) = ∅) → (𝑥𝑚 → (𝑚 ∈ ω → 𝐴 ∈ Fin)))
3534expcom 404 . . . . . . . . . . 11 ((𝐴𝑥) = ∅ → (𝑥𝐴 → (𝑥𝑚 → (𝑚 ∈ ω → 𝐴 ∈ Fin))))
36353impd 1410 . . . . . . . . . 10 ((𝐴𝑥) = ∅ → ((𝑥𝐴𝑥𝑚𝑚 ∈ ω) → 𝐴 ∈ Fin))
3736com12 32 . . . . . . . . 9 ((𝑥𝐴𝑥𝑚𝑚 ∈ ω) → ((𝐴𝑥) = ∅ → 𝐴 ∈ Fin))
3837con3d 150 . . . . . . . 8 ((𝑥𝐴𝑥𝑚𝑚 ∈ ω) → (¬ 𝐴 ∈ Fin → ¬ (𝐴𝑥) = ∅))
39 bren 8250 . . . . . . . . . 10 (𝑥𝑚 ↔ ∃𝑓 𝑓:𝑥1-1-onto𝑚)
40 neq0 4158 . . . . . . . . . . . . . 14 (¬ (𝐴𝑥) = ∅ ↔ ∃𝑧 𝑧 ∈ (𝐴𝑥))
41 eldifi 3955 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ (𝐴𝑥) → 𝑧𝐴)
4241snssd 4571 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (𝐴𝑥) → {𝑧} ⊆ 𝐴)
43 unss 4010 . . . . . . . . . . . . . . . . . . . . 21 ((𝑥𝐴 ∧ {𝑧} ⊆ 𝐴) ↔ (𝑥 ∪ {𝑧}) ⊆ 𝐴)
4443biimpi 208 . . . . . . . . . . . . . . . . . . . 20 ((𝑥𝐴 ∧ {𝑧} ⊆ 𝐴) → (𝑥 ∪ {𝑧}) ⊆ 𝐴)
4542, 44sylan2 586 . . . . . . . . . . . . . . . . . . 19 ((𝑥𝐴𝑧 ∈ (𝐴𝑥)) → (𝑥 ∪ {𝑧}) ⊆ 𝐴)
4645ad2ant2r 737 . . . . . . . . . . . . . . . . . 18 (((𝑥𝐴𝑓:𝑥1-1-onto𝑚) ∧ (𝑧 ∈ (𝐴𝑥) ∧ 𝑚 ∈ ω)) → (𝑥 ∪ {𝑧}) ⊆ 𝐴)
47 vex 3401 . . . . . . . . . . . . . . . . . . . . . . 23 𝑧 ∈ V
48 vex 3401 . . . . . . . . . . . . . . . . . . . . . . 23 𝑚 ∈ V
4947, 48f1osn 6430 . . . . . . . . . . . . . . . . . . . . . 22 {⟨𝑧, 𝑚⟩}:{𝑧}–1-1-onto→{𝑚}
5049jctr 520 . . . . . . . . . . . . . . . . . . . . 21 (𝑓:𝑥1-1-onto𝑚 → (𝑓:𝑥1-1-onto𝑚 ∧ {⟨𝑧, 𝑚⟩}:{𝑧}–1-1-onto→{𝑚}))
51 eldifn 3956 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑧 ∈ (𝐴𝑥) → ¬ 𝑧𝑥)
52 disjsn 4478 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝑥 ∩ {𝑧}) = ∅ ↔ ¬ 𝑧𝑥)
5351, 52sylibr 226 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ (𝐴𝑥) → (𝑥 ∩ {𝑧}) = ∅)
54 nnord 7351 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑚 ∈ ω → Ord 𝑚)
55 orddisj 6014 . . . . . . . . . . . . . . . . . . . . . . 23 (Ord 𝑚 → (𝑚 ∩ {𝑚}) = ∅)
5654, 55syl 17 . . . . . . . . . . . . . . . . . . . . . 22 (𝑚 ∈ ω → (𝑚 ∩ {𝑚}) = ∅)
5753, 56anim12i 606 . . . . . . . . . . . . . . . . . . . . 21 ((𝑧 ∈ (𝐴𝑥) ∧ 𝑚 ∈ ω) → ((𝑥 ∩ {𝑧}) = ∅ ∧ (𝑚 ∩ {𝑚}) = ∅))
58 f1oun 6410 . . . . . . . . . . . . . . . . . . . . 21 (((𝑓:𝑥1-1-onto𝑚 ∧ {⟨𝑧, 𝑚⟩}:{𝑧}–1-1-onto→{𝑚}) ∧ ((𝑥 ∩ {𝑧}) = ∅ ∧ (𝑚 ∩ {𝑚}) = ∅)) → (𝑓 ∪ {⟨𝑧, 𝑚⟩}):(𝑥 ∪ {𝑧})–1-1-onto→(𝑚 ∪ {𝑚}))
5950, 57, 58syl2an 589 . . . . . . . . . . . . . . . . . . . 20 ((𝑓:𝑥1-1-onto𝑚 ∧ (𝑧 ∈ (𝐴𝑥) ∧ 𝑚 ∈ ω)) → (𝑓 ∪ {⟨𝑧, 𝑚⟩}):(𝑥 ∪ {𝑧})–1-1-onto→(𝑚 ∪ {𝑚}))
60 df-suc 5982 . . . . . . . . . . . . . . . . . . . . . 22 suc 𝑚 = (𝑚 ∪ {𝑚})
61 f1oeq3 6382 . . . . . . . . . . . . . . . . . . . . . 22 (suc 𝑚 = (𝑚 ∪ {𝑚}) → ((𝑓 ∪ {⟨𝑧, 𝑚⟩}):(𝑥 ∪ {𝑧})–1-1-onto→suc 𝑚 ↔ (𝑓 ∪ {⟨𝑧, 𝑚⟩}):(𝑥 ∪ {𝑧})–1-1-onto→(𝑚 ∪ {𝑚})))
6260, 61ax-mp 5 . . . . . . . . . . . . . . . . . . . . 21 ((𝑓 ∪ {⟨𝑧, 𝑚⟩}):(𝑥 ∪ {𝑧})–1-1-onto→suc 𝑚 ↔ (𝑓 ∪ {⟨𝑧, 𝑚⟩}):(𝑥 ∪ {𝑧})–1-1-onto→(𝑚 ∪ {𝑚}))
63 vex 3401 . . . . . . . . . . . . . . . . . . . . . . . 24 𝑓 ∈ V
64 snex 5140 . . . . . . . . . . . . . . . . . . . . . . . 24 {⟨𝑧, 𝑚⟩} ∈ V
6563, 64unex 7233 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑓 ∪ {⟨𝑧, 𝑚⟩}) ∈ V
66 f1oeq1 6380 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑔 = (𝑓 ∪ {⟨𝑧, 𝑚⟩}) → (𝑔:(𝑥 ∪ {𝑧})–1-1-onto→suc 𝑚 ↔ (𝑓 ∪ {⟨𝑧, 𝑚⟩}):(𝑥 ∪ {𝑧})–1-1-onto→suc 𝑚))
6765, 66spcev 3502 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑓 ∪ {⟨𝑧, 𝑚⟩}):(𝑥 ∪ {𝑧})–1-1-onto→suc 𝑚 → ∃𝑔 𝑔:(𝑥 ∪ {𝑧})–1-1-onto→suc 𝑚)
68 bren 8250 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑥 ∪ {𝑧}) ≈ suc 𝑚 ↔ ∃𝑔 𝑔:(𝑥 ∪ {𝑧})–1-1-onto→suc 𝑚)
6967, 68sylibr 226 . . . . . . . . . . . . . . . . . . . . 21 ((𝑓 ∪ {⟨𝑧, 𝑚⟩}):(𝑥 ∪ {𝑧})–1-1-onto→suc 𝑚 → (𝑥 ∪ {𝑧}) ≈ suc 𝑚)
7062, 69sylbir 227 . . . . . . . . . . . . . . . . . . . 20 ((𝑓 ∪ {⟨𝑧, 𝑚⟩}):(𝑥 ∪ {𝑧})–1-1-onto→(𝑚 ∪ {𝑚}) → (𝑥 ∪ {𝑧}) ≈ suc 𝑚)
7159, 70syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝑓:𝑥1-1-onto𝑚 ∧ (𝑧 ∈ (𝐴𝑥) ∧ 𝑚 ∈ ω)) → (𝑥 ∪ {𝑧}) ≈ suc 𝑚)
7271adantll 704 . . . . . . . . . . . . . . . . . 18 (((𝑥𝐴𝑓:𝑥1-1-onto𝑚) ∧ (𝑧 ∈ (𝐴𝑥) ∧ 𝑚 ∈ ω)) → (𝑥 ∪ {𝑧}) ≈ suc 𝑚)
73 vex 3401 . . . . . . . . . . . . . . . . . . . 20 𝑥 ∈ V
74 snex 5140 . . . . . . . . . . . . . . . . . . . 20 {𝑧} ∈ V
7573, 74unex 7233 . . . . . . . . . . . . . . . . . . 19 (𝑥 ∪ {𝑧}) ∈ V
76 sseq1 3845 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝑥 ∪ {𝑧}) → (𝑦𝐴 ↔ (𝑥 ∪ {𝑧}) ⊆ 𝐴))
77 breq1 4889 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝑥 ∪ {𝑧}) → (𝑦 ≈ suc 𝑚 ↔ (𝑥 ∪ {𝑧}) ≈ suc 𝑚))
7876, 77anbi12d 624 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝑥 ∪ {𝑧}) → ((𝑦𝐴𝑦 ≈ suc 𝑚) ↔ ((𝑥 ∪ {𝑧}) ⊆ 𝐴 ∧ (𝑥 ∪ {𝑧}) ≈ suc 𝑚)))
7975, 78spcev 3502 . . . . . . . . . . . . . . . . . 18 (((𝑥 ∪ {𝑧}) ⊆ 𝐴 ∧ (𝑥 ∪ {𝑧}) ≈ suc 𝑚) → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚))
8046, 72, 79syl2anc 579 . . . . . . . . . . . . . . . . 17 (((𝑥𝐴𝑓:𝑥1-1-onto𝑚) ∧ (𝑧 ∈ (𝐴𝑥) ∧ 𝑚 ∈ ω)) → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚))
8180expcom 404 . . . . . . . . . . . . . . . 16 ((𝑧 ∈ (𝐴𝑥) ∧ 𝑚 ∈ ω) → ((𝑥𝐴𝑓:𝑥1-1-onto𝑚) → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚)))
8281ex 403 . . . . . . . . . . . . . . 15 (𝑧 ∈ (𝐴𝑥) → (𝑚 ∈ ω → ((𝑥𝐴𝑓:𝑥1-1-onto𝑚) → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚))))
8382exlimiv 1973 . . . . . . . . . . . . . 14 (∃𝑧 𝑧 ∈ (𝐴𝑥) → (𝑚 ∈ ω → ((𝑥𝐴𝑓:𝑥1-1-onto𝑚) → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚))))
8440, 83sylbi 209 . . . . . . . . . . . . 13 (¬ (𝐴𝑥) = ∅ → (𝑚 ∈ ω → ((𝑥𝐴𝑓:𝑥1-1-onto𝑚) → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚))))
8584com13 88 . . . . . . . . . . . 12 ((𝑥𝐴𝑓:𝑥1-1-onto𝑚) → (𝑚 ∈ ω → (¬ (𝐴𝑥) = ∅ → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚))))
8685expcom 404 . . . . . . . . . . 11 (𝑓:𝑥1-1-onto𝑚 → (𝑥𝐴 → (𝑚 ∈ ω → (¬ (𝐴𝑥) = ∅ → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚)))))
8786exlimiv 1973 . . . . . . . . . 10 (∃𝑓 𝑓:𝑥1-1-onto𝑚 → (𝑥𝐴 → (𝑚 ∈ ω → (¬ (𝐴𝑥) = ∅ → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚)))))
8839, 87sylbi 209 . . . . . . . . 9 (𝑥𝑚 → (𝑥𝐴 → (𝑚 ∈ ω → (¬ (𝐴𝑥) = ∅ → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚)))))
89883imp21 1102 . . . . . . . 8 ((𝑥𝐴𝑥𝑚𝑚 ∈ ω) → (¬ (𝐴𝑥) = ∅ → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚)))
9038, 89syld 47 . . . . . . 7 ((𝑥𝐴𝑥𝑚𝑚 ∈ ω) → (¬ 𝐴 ∈ Fin → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚)))
91903expia 1111 . . . . . 6 ((𝑥𝐴𝑥𝑚) → (𝑚 ∈ ω → (¬ 𝐴 ∈ Fin → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚))))
9291exlimiv 1973 . . . . 5 (∃𝑥(𝑥𝐴𝑥𝑚) → (𝑚 ∈ ω → (¬ 𝐴 ∈ Fin → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚))))
9392com3l 89 . . . 4 (𝑚 ∈ ω → (¬ 𝐴 ∈ Fin → (∃𝑥(𝑥𝐴𝑥𝑚) → ∃𝑦(𝑦𝐴𝑦 ≈ suc 𝑚))))
943, 6, 13, 22, 93finds2 7372 . . 3 (𝑛 ∈ ω → (¬ 𝐴 ∈ Fin → ∃𝑥(𝑥𝐴𝑥𝑛)))
9594com12 32 . 2 𝐴 ∈ Fin → (𝑛 ∈ ω → ∃𝑥(𝑥𝐴𝑥𝑛)))
9695ralrimiv 3147 1 𝐴 ∈ Fin → ∀𝑛 ∈ ω ∃𝑥(𝑥𝐴𝑥𝑛))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 198  wa 386  w3a 1071   = wceq 1601  wex 1823  wcel 2107  wral 3090  wrex 3091  cdif 3789  cun 3790  cin 3791  wss 3792  c0 4141  {csn 4398  cop 4404   class class class wbr 4886  Ord word 5975  suc csuc 5978  1-1-ontowf1o 6134  ωcom 7343  cen 8238  Fincfn 8241
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1839  ax-4 1853  ax-5 1953  ax-6 2021  ax-7 2055  ax-8 2109  ax-9 2116  ax-10 2135  ax-11 2150  ax-12 2163  ax-13 2334  ax-ext 2754  ax-sep 5017  ax-nul 5025  ax-pow 5077  ax-pr 5138  ax-un 7226
This theorem depends on definitions:  df-bi 199  df-an 387  df-or 837  df-3or 1072  df-3an 1073  df-tru 1605  df-ex 1824  df-nf 1828  df-sb 2012  df-mo 2551  df-eu 2587  df-clab 2764  df-cleq 2770  df-clel 2774  df-nfc 2921  df-ne 2970  df-ral 3095  df-rex 3096  df-rab 3099  df-v 3400  df-sbc 3653  df-dif 3795  df-un 3797  df-in 3799  df-ss 3806  df-pss 3808  df-nul 4142  df-if 4308  df-pw 4381  df-sn 4399  df-pr 4401  df-tp 4403  df-op 4405  df-uni 4672  df-br 4887  df-opab 4949  df-tr 4988  df-id 5261  df-eprel 5266  df-po 5274  df-so 5275  df-fr 5314  df-we 5316  df-xp 5361  df-rel 5362  df-cnv 5363  df-co 5364  df-dm 5365  df-rn 5366  df-res 5367  df-ima 5368  df-ord 5979  df-on 5980  df-lim 5981  df-suc 5982  df-fun 6137  df-fn 6138  df-f 6139  df-f1 6140  df-fo 6141  df-f1o 6142  df-om 7344  df-en 8242  df-fin 8245
This theorem is referenced by:  fineqvlem  8462  isinffi  9151  domtriomlem  9599  ishashinf  13561
  Copyright terms: Public domain W3C validator