Metamath Proof Explorer


Theorem numacn

Description: A well-orderable set has choice sequences of every length. (Contributed by Mario Carneiro, 31-Aug-2015)

Ref Expression
Assertion numacn ( 𝐴𝑉 → ( 𝑋 ∈ dom card → 𝑋AC 𝐴 ) )

Proof

Step Hyp Ref Expression
1 elex ( 𝐴𝑉𝐴 ∈ V )
2 simpll ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → 𝑋 ∈ dom card )
3 elmapi ( 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) → 𝑓 : 𝐴 ⟶ ( 𝒫 𝑋 ∖ { ∅ } ) )
4 3 adantl ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → 𝑓 : 𝐴 ⟶ ( 𝒫 𝑋 ∖ { ∅ } ) )
5 4 frnd ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → ran 𝑓 ⊆ ( 𝒫 𝑋 ∖ { ∅ } ) )
6 5 difss2d ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → ran 𝑓 ⊆ 𝒫 𝑋 )
7 sspwuni ( ran 𝑓 ⊆ 𝒫 𝑋 ran 𝑓𝑋 )
8 6 7 sylib ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → ran 𝑓𝑋 )
9 ssnum ( ( 𝑋 ∈ dom card ∧ ran 𝑓𝑋 ) → ran 𝑓 ∈ dom card )
10 2 8 9 syl2anc ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → ran 𝑓 ∈ dom card )
11 ssdifin0 ( ran 𝑓 ⊆ ( 𝒫 𝑋 ∖ { ∅ } ) → ( ran 𝑓 ∩ { ∅ } ) = ∅ )
12 5 11 syl ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → ( ran 𝑓 ∩ { ∅ } ) = ∅ )
13 disjsn ( ( ran 𝑓 ∩ { ∅ } ) = ∅ ↔ ¬ ∅ ∈ ran 𝑓 )
14 12 13 sylib ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → ¬ ∅ ∈ ran 𝑓 )
15 ac5num ( ( ran 𝑓 ∈ dom card ∧ ¬ ∅ ∈ ran 𝑓 ) → ∃ ( : ran 𝑓 ran 𝑓 ∧ ∀ 𝑦 ∈ ran 𝑓 ( 𝑦 ) ∈ 𝑦 ) )
16 10 14 15 syl2anc ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → ∃ ( : ran 𝑓 ran 𝑓 ∧ ∀ 𝑦 ∈ ran 𝑓 ( 𝑦 ) ∈ 𝑦 ) )
17 simpllr ( ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) ∧ ( : ran 𝑓 ran 𝑓 ∧ ∀ 𝑦 ∈ ran 𝑓 ( 𝑦 ) ∈ 𝑦 ) ) → 𝐴 ∈ V )
18 4 ffnd ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → 𝑓 Fn 𝐴 )
19 fveq2 ( 𝑦 = ( 𝑓𝑥 ) → ( 𝑦 ) = ( ‘ ( 𝑓𝑥 ) ) )
20 id ( 𝑦 = ( 𝑓𝑥 ) → 𝑦 = ( 𝑓𝑥 ) )
21 19 20 eleq12d ( 𝑦 = ( 𝑓𝑥 ) → ( ( 𝑦 ) ∈ 𝑦 ↔ ( ‘ ( 𝑓𝑥 ) ) ∈ ( 𝑓𝑥 ) ) )
22 21 ralrn ( 𝑓 Fn 𝐴 → ( ∀ 𝑦 ∈ ran 𝑓 ( 𝑦 ) ∈ 𝑦 ↔ ∀ 𝑥𝐴 ( ‘ ( 𝑓𝑥 ) ) ∈ ( 𝑓𝑥 ) ) )
23 18 22 syl ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → ( ∀ 𝑦 ∈ ran 𝑓 ( 𝑦 ) ∈ 𝑦 ↔ ∀ 𝑥𝐴 ( ‘ ( 𝑓𝑥 ) ) ∈ ( 𝑓𝑥 ) ) )
24 23 biimpa ( ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) ∧ ∀ 𝑦 ∈ ran 𝑓 ( 𝑦 ) ∈ 𝑦 ) → ∀ 𝑥𝐴 ( ‘ ( 𝑓𝑥 ) ) ∈ ( 𝑓𝑥 ) )
25 24 adantrl ( ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) ∧ ( : ran 𝑓 ran 𝑓 ∧ ∀ 𝑦 ∈ ran 𝑓 ( 𝑦 ) ∈ 𝑦 ) ) → ∀ 𝑥𝐴 ( ‘ ( 𝑓𝑥 ) ) ∈ ( 𝑓𝑥 ) )
26 acnlem ( ( 𝐴 ∈ V ∧ ∀ 𝑥𝐴 ( ‘ ( 𝑓𝑥 ) ) ∈ ( 𝑓𝑥 ) ) → ∃ 𝑔𝑥𝐴 ( 𝑔𝑥 ) ∈ ( 𝑓𝑥 ) )
27 17 25 26 syl2anc ( ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) ∧ ( : ran 𝑓 ran 𝑓 ∧ ∀ 𝑦 ∈ ran 𝑓 ( 𝑦 ) ∈ 𝑦 ) ) → ∃ 𝑔𝑥𝐴 ( 𝑔𝑥 ) ∈ ( 𝑓𝑥 ) )
28 16 27 exlimddv ( ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) ∧ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ) → ∃ 𝑔𝑥𝐴 ( 𝑔𝑥 ) ∈ ( 𝑓𝑥 ) )
29 28 ralrimiva ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) → ∀ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ∃ 𝑔𝑥𝐴 ( 𝑔𝑥 ) ∈ ( 𝑓𝑥 ) )
30 isacn ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) → ( 𝑋AC 𝐴 ↔ ∀ 𝑓 ∈ ( ( 𝒫 𝑋 ∖ { ∅ } ) ↑m 𝐴 ) ∃ 𝑔𝑥𝐴 ( 𝑔𝑥 ) ∈ ( 𝑓𝑥 ) ) )
31 29 30 mpbird ( ( 𝑋 ∈ dom card ∧ 𝐴 ∈ V ) → 𝑋AC 𝐴 )
32 31 expcom ( 𝐴 ∈ V → ( 𝑋 ∈ dom card → 𝑋AC 𝐴 ) )
33 1 32 syl ( 𝐴𝑉 → ( 𝑋 ∈ dom card → 𝑋AC 𝐴 ) )