Metamath Proof Explorer


Theorem dcomex

Description: The Axiom of Dependent Choice implies Infinity, the way we have stated it. Thus, we haveInf+AC impliesDC andDC impliesInf, but AC does not implyInf. (Contributed by Mario Carneiro, 25-Jan-2013)

Ref Expression
Assertion dcomex ω ∈ V

Proof

Step Hyp Ref Expression
1 1n0 1o ≠ ∅
2 df-br ( ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 ) ↔ ⟨ ( 𝑓𝑛 ) , ( 𝑓 ‘ suc 𝑛 ) ⟩ ∈ { ⟨ 1o , 1o ⟩ } )
3 elsni ( ⟨ ( 𝑓𝑛 ) , ( 𝑓 ‘ suc 𝑛 ) ⟩ ∈ { ⟨ 1o , 1o ⟩ } → ⟨ ( 𝑓𝑛 ) , ( 𝑓 ‘ suc 𝑛 ) ⟩ = ⟨ 1o , 1o ⟩ )
4 fvex ( 𝑓𝑛 ) ∈ V
5 fvex ( 𝑓 ‘ suc 𝑛 ) ∈ V
6 4 5 opth1 ( ⟨ ( 𝑓𝑛 ) , ( 𝑓 ‘ suc 𝑛 ) ⟩ = ⟨ 1o , 1o ⟩ → ( 𝑓𝑛 ) = 1o )
7 3 6 syl ( ⟨ ( 𝑓𝑛 ) , ( 𝑓 ‘ suc 𝑛 ) ⟩ ∈ { ⟨ 1o , 1o ⟩ } → ( 𝑓𝑛 ) = 1o )
8 2 7 sylbi ( ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 ) → ( 𝑓𝑛 ) = 1o )
9 tz6.12i ( 1o ≠ ∅ → ( ( 𝑓𝑛 ) = 1o𝑛 𝑓 1o ) )
10 1 8 9 mpsyl ( ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 ) → 𝑛 𝑓 1o )
11 vex 𝑛 ∈ V
12 1oex 1o ∈ V
13 11 12 breldm ( 𝑛 𝑓 1o𝑛 ∈ dom 𝑓 )
14 10 13 syl ( ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 ) → 𝑛 ∈ dom 𝑓 )
15 14 ralimi ( ∀ 𝑛 ∈ ω ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 ) → ∀ 𝑛 ∈ ω 𝑛 ∈ dom 𝑓 )
16 dfss3 ( ω ⊆ dom 𝑓 ↔ ∀ 𝑛 ∈ ω 𝑛 ∈ dom 𝑓 )
17 15 16 sylibr ( ∀ 𝑛 ∈ ω ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 ) → ω ⊆ dom 𝑓 )
18 vex 𝑓 ∈ V
19 18 dmex dom 𝑓 ∈ V
20 19 ssex ( ω ⊆ dom 𝑓 → ω ∈ V )
21 17 20 syl ( ∀ 𝑛 ∈ ω ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 ) → ω ∈ V )
22 snex { ⟨ 1o , 1o ⟩ } ∈ V
23 12 12 fvsn ( { ⟨ 1o , 1o ⟩ } ‘ 1o ) = 1o
24 12 12 funsn Fun { ⟨ 1o , 1o ⟩ }
25 12 snid 1o ∈ { 1o }
26 12 dmsnop dom { ⟨ 1o , 1o ⟩ } = { 1o }
27 25 26 eleqtrri 1o ∈ dom { ⟨ 1o , 1o ⟩ }
28 funbrfvb ( ( Fun { ⟨ 1o , 1o ⟩ } ∧ 1o ∈ dom { ⟨ 1o , 1o ⟩ } ) → ( ( { ⟨ 1o , 1o ⟩ } ‘ 1o ) = 1o ↔ 1o { ⟨ 1o , 1o ⟩ } 1o ) )
29 24 27 28 mp2an ( ( { ⟨ 1o , 1o ⟩ } ‘ 1o ) = 1o ↔ 1o { ⟨ 1o , 1o ⟩ } 1o )
30 23 29 mpbi 1o { ⟨ 1o , 1o ⟩ } 1o
31 breq12 ( ( 𝑠 = 1o𝑡 = 1o ) → ( 𝑠 { ⟨ 1o , 1o ⟩ } 𝑡 ↔ 1o { ⟨ 1o , 1o ⟩ } 1o ) )
32 12 12 31 spc2ev ( 1o { ⟨ 1o , 1o ⟩ } 1o → ∃ 𝑠𝑡 𝑠 { ⟨ 1o , 1o ⟩ } 𝑡 )
33 30 32 ax-mp 𝑠𝑡 𝑠 { ⟨ 1o , 1o ⟩ } 𝑡
34 breq ( 𝑥 = { ⟨ 1o , 1o ⟩ } → ( 𝑠 𝑥 𝑡𝑠 { ⟨ 1o , 1o ⟩ } 𝑡 ) )
35 34 2exbidv ( 𝑥 = { ⟨ 1o , 1o ⟩ } → ( ∃ 𝑠𝑡 𝑠 𝑥 𝑡 ↔ ∃ 𝑠𝑡 𝑠 { ⟨ 1o , 1o ⟩ } 𝑡 ) )
36 33 35 mpbiri ( 𝑥 = { ⟨ 1o , 1o ⟩ } → ∃ 𝑠𝑡 𝑠 𝑥 𝑡 )
37 ssid { 1o } ⊆ { 1o }
38 12 rnsnop ran { ⟨ 1o , 1o ⟩ } = { 1o }
39 37 38 26 3sstr4i ran { ⟨ 1o , 1o ⟩ } ⊆ dom { ⟨ 1o , 1o ⟩ }
40 rneq ( 𝑥 = { ⟨ 1o , 1o ⟩ } → ran 𝑥 = ran { ⟨ 1o , 1o ⟩ } )
41 dmeq ( 𝑥 = { ⟨ 1o , 1o ⟩ } → dom 𝑥 = dom { ⟨ 1o , 1o ⟩ } )
42 40 41 sseq12d ( 𝑥 = { ⟨ 1o , 1o ⟩ } → ( ran 𝑥 ⊆ dom 𝑥 ↔ ran { ⟨ 1o , 1o ⟩ } ⊆ dom { ⟨ 1o , 1o ⟩ } ) )
43 39 42 mpbiri ( 𝑥 = { ⟨ 1o , 1o ⟩ } → ran 𝑥 ⊆ dom 𝑥 )
44 pm5.5 ( ( ∃ 𝑠𝑡 𝑠 𝑥 𝑡 ∧ ran 𝑥 ⊆ dom 𝑥 ) → ( ( ( ∃ 𝑠𝑡 𝑠 𝑥 𝑡 ∧ ran 𝑥 ⊆ dom 𝑥 ) → ∃ 𝑓𝑛 ∈ ω ( 𝑓𝑛 ) 𝑥 ( 𝑓 ‘ suc 𝑛 ) ) ↔ ∃ 𝑓𝑛 ∈ ω ( 𝑓𝑛 ) 𝑥 ( 𝑓 ‘ suc 𝑛 ) ) )
45 36 43 44 syl2anc ( 𝑥 = { ⟨ 1o , 1o ⟩ } → ( ( ( ∃ 𝑠𝑡 𝑠 𝑥 𝑡 ∧ ran 𝑥 ⊆ dom 𝑥 ) → ∃ 𝑓𝑛 ∈ ω ( 𝑓𝑛 ) 𝑥 ( 𝑓 ‘ suc 𝑛 ) ) ↔ ∃ 𝑓𝑛 ∈ ω ( 𝑓𝑛 ) 𝑥 ( 𝑓 ‘ suc 𝑛 ) ) )
46 breq ( 𝑥 = { ⟨ 1o , 1o ⟩ } → ( ( 𝑓𝑛 ) 𝑥 ( 𝑓 ‘ suc 𝑛 ) ↔ ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 ) ) )
47 46 ralbidv ( 𝑥 = { ⟨ 1o , 1o ⟩ } → ( ∀ 𝑛 ∈ ω ( 𝑓𝑛 ) 𝑥 ( 𝑓 ‘ suc 𝑛 ) ↔ ∀ 𝑛 ∈ ω ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 ) ) )
48 47 exbidv ( 𝑥 = { ⟨ 1o , 1o ⟩ } → ( ∃ 𝑓𝑛 ∈ ω ( 𝑓𝑛 ) 𝑥 ( 𝑓 ‘ suc 𝑛 ) ↔ ∃ 𝑓𝑛 ∈ ω ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 ) ) )
49 45 48 bitrd ( 𝑥 = { ⟨ 1o , 1o ⟩ } → ( ( ( ∃ 𝑠𝑡 𝑠 𝑥 𝑡 ∧ ran 𝑥 ⊆ dom 𝑥 ) → ∃ 𝑓𝑛 ∈ ω ( 𝑓𝑛 ) 𝑥 ( 𝑓 ‘ suc 𝑛 ) ) ↔ ∃ 𝑓𝑛 ∈ ω ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 ) ) )
50 ax-dc ( ( ∃ 𝑠𝑡 𝑠 𝑥 𝑡 ∧ ran 𝑥 ⊆ dom 𝑥 ) → ∃ 𝑓𝑛 ∈ ω ( 𝑓𝑛 ) 𝑥 ( 𝑓 ‘ suc 𝑛 ) )
51 22 49 50 vtocl 𝑓𝑛 ∈ ω ( 𝑓𝑛 ) { ⟨ 1o , 1o ⟩ } ( 𝑓 ‘ suc 𝑛 )
52 21 51 exlimiiv ω ∈ V