Metamath Proof Explorer


Theorem axcc2

Description: A possibly more useful version of ax-cc using sequences instead of countable sets. The Axiom of Infinity is needed to prove this, and indeed this implies the Axiom of Infinity. (Contributed by Mario Carneiro, 8-Feb-2013)

Ref Expression
Assertion axcc2 𝑔 ( 𝑔 Fn ω ∧ ∀ 𝑛 ∈ ω ( ( 𝐹𝑛 ) ≠ ∅ → ( 𝑔𝑛 ) ∈ ( 𝐹𝑛 ) ) )

Proof

Step Hyp Ref Expression
1 nfcv 𝑛 if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) )
2 nfcv 𝑚 if ( ( 𝐹𝑛 ) = ∅ , { ∅ } , ( 𝐹𝑛 ) )
3 fveqeq2 ( 𝑚 = 𝑛 → ( ( 𝐹𝑚 ) = ∅ ↔ ( 𝐹𝑛 ) = ∅ ) )
4 fveq2 ( 𝑚 = 𝑛 → ( 𝐹𝑚 ) = ( 𝐹𝑛 ) )
5 3 4 ifbieq2d ( 𝑚 = 𝑛 → if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) = if ( ( 𝐹𝑛 ) = ∅ , { ∅ } , ( 𝐹𝑛 ) ) )
6 1 2 5 cbvmpt ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) = ( 𝑛 ∈ ω ↦ if ( ( 𝐹𝑛 ) = ∅ , { ∅ } , ( 𝐹𝑛 ) ) )
7 nfcv 𝑛 ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) )
8 nfcv 𝑚 { 𝑛 }
9 nffvmpt1 𝑚 ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑛 )
10 8 9 nfxp 𝑚 ( { 𝑛 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑛 ) )
11 sneq ( 𝑚 = 𝑛 → { 𝑚 } = { 𝑛 } )
12 fveq2 ( 𝑚 = 𝑛 → ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) = ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑛 ) )
13 11 12 xpeq12d ( 𝑚 = 𝑛 → ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) = ( { 𝑛 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑛 ) ) )
14 7 10 13 cbvmpt ( 𝑚 ∈ ω ↦ ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) ) = ( 𝑛 ∈ ω ↦ ( { 𝑛 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑛 ) ) )
15 nfcv 𝑛 ( 2nd ‘ ( 𝑓 ‘ ( ( 𝑚 ∈ ω ↦ ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) ) ‘ 𝑚 ) ) )
16 nfcv 𝑚 2nd
17 nfcv 𝑚 𝑓
18 nffvmpt1 𝑚 ( ( 𝑚 ∈ ω ↦ ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) ) ‘ 𝑛 )
19 17 18 nffv 𝑚 ( 𝑓 ‘ ( ( 𝑚 ∈ ω ↦ ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) ) ‘ 𝑛 ) )
20 16 19 nffv 𝑚 ( 2nd ‘ ( 𝑓 ‘ ( ( 𝑚 ∈ ω ↦ ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) ) ‘ 𝑛 ) ) )
21 2fveq3 ( 𝑚 = 𝑛 → ( 𝑓 ‘ ( ( 𝑚 ∈ ω ↦ ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) ) ‘ 𝑚 ) ) = ( 𝑓 ‘ ( ( 𝑚 ∈ ω ↦ ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) ) ‘ 𝑛 ) ) )
22 21 fveq2d ( 𝑚 = 𝑛 → ( 2nd ‘ ( 𝑓 ‘ ( ( 𝑚 ∈ ω ↦ ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) ) ‘ 𝑚 ) ) ) = ( 2nd ‘ ( 𝑓 ‘ ( ( 𝑚 ∈ ω ↦ ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) ) ‘ 𝑛 ) ) ) )
23 15 20 22 cbvmpt ( 𝑚 ∈ ω ↦ ( 2nd ‘ ( 𝑓 ‘ ( ( 𝑚 ∈ ω ↦ ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) ) ‘ 𝑚 ) ) ) ) = ( 𝑛 ∈ ω ↦ ( 2nd ‘ ( 𝑓 ‘ ( ( 𝑚 ∈ ω ↦ ( { 𝑚 } × ( ( 𝑚 ∈ ω ↦ if ( ( 𝐹𝑚 ) = ∅ , { ∅ } , ( 𝐹𝑚 ) ) ) ‘ 𝑚 ) ) ) ‘ 𝑛 ) ) ) )
24 6 14 23 axcc2lem 𝑔 ( 𝑔 Fn ω ∧ ∀ 𝑛 ∈ ω ( ( 𝐹𝑛 ) ≠ ∅ → ( 𝑔𝑛 ) ∈ ( 𝐹𝑛 ) ) )