Metamath Proof Explorer


Theorem fnct

Description: If the domain of a function is countable, the function is countable. The proof uses fnrndomnum rather than fnrndomg , and so does not require ax-ac . (Contributed by Thierry Arnoux, 29-Dec-2016) (Revised by Vincent Gonzalez, 24-Aug-2026)

Ref Expression
Assertion fnct ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → 𝐹 ≼ ω )

Proof

Step Hyp Ref Expression
1 ctex ( 𝐴 ≼ ω → 𝐴 ∈ V )
2 1 adantl ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → 𝐴 ∈ V )
3 fndm ( 𝐹 Fn 𝐴 → dom 𝐹 = 𝐴 )
4 3 eleq1d ( 𝐹 Fn 𝐴 → ( dom 𝐹 ∈ V ↔ 𝐴 ∈ V ) )
5 4 adantr ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → ( dom 𝐹 ∈ V ↔ 𝐴 ∈ V ) )
6 2 5 mpbird ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → dom 𝐹 ∈ V )
7 fnfun ( 𝐹 Fn 𝐴 → Fun 𝐹 )
8 7 adantr ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → Fun 𝐹 )
9 funrnex ( dom 𝐹 ∈ V → ( Fun 𝐹 → ran 𝐹 ∈ V ) )
10 6 8 9 sylc ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → ran 𝐹 ∈ V )
11 2 10 xpexd ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → ( 𝐴 × ran 𝐹 ) ∈ V )
12 dffn3 ( 𝐹 Fn 𝐴𝐹 : 𝐴 ⟶ ran 𝐹 )
13 12 birani ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → 𝐹 : 𝐴 ⟶ ran 𝐹 )
14 fssxp ( 𝐹 : 𝐴 ⟶ ran 𝐹𝐹 ⊆ ( 𝐴 × ran 𝐹 ) )
15 13 14 syl ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → 𝐹 ⊆ ( 𝐴 × ran 𝐹 ) )
16 ssdomg ( ( 𝐴 × ran 𝐹 ) ∈ V → ( 𝐹 ⊆ ( 𝐴 × ran 𝐹 ) → 𝐹 ≼ ( 𝐴 × ran 𝐹 ) ) )
17 11 15 16 sylc ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → 𝐹 ≼ ( 𝐴 × ran 𝐹 ) )
18 xpdom1g ( ( ran 𝐹 ∈ V ∧ 𝐴 ≼ ω ) → ( 𝐴 × ran 𝐹 ) ≼ ( ω × ran 𝐹 ) )
19 10 18 sylancom ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → ( 𝐴 × ran 𝐹 ) ≼ ( ω × ran 𝐹 ) )
20 omex ω ∈ V
21 omelon ω ∈ On
22 21 a1i ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → ω ∈ On )
23 simpr ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → 𝐴 ≼ ω )
24 ondomen ( ( ω ∈ On ∧ 𝐴 ≼ ω ) → 𝐴 ∈ dom card )
25 22 23 24 syl2anc ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → 𝐴 ∈ dom card )
26 simpl ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → 𝐹 Fn 𝐴 )
27 fnrndomnum ( 𝐴 ∈ dom card → ( 𝐹 Fn 𝐴 → ran 𝐹𝐴 ) )
28 25 26 27 sylc ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → ran 𝐹𝐴 )
29 domtr ( ( ran 𝐹𝐴𝐴 ≼ ω ) → ran 𝐹 ≼ ω )
30 28 29 sylancom ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → ran 𝐹 ≼ ω )
31 xpdom2g ( ( ω ∈ V ∧ ran 𝐹 ≼ ω ) → ( ω × ran 𝐹 ) ≼ ( ω × ω ) )
32 20 30 31 sylancr ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → ( ω × ran 𝐹 ) ≼ ( ω × ω ) )
33 domtr ( ( ( 𝐴 × ran 𝐹 ) ≼ ( ω × ran 𝐹 ) ∧ ( ω × ran 𝐹 ) ≼ ( ω × ω ) ) → ( 𝐴 × ran 𝐹 ) ≼ ( ω × ω ) )
34 19 32 33 syl2anc ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → ( 𝐴 × ran 𝐹 ) ≼ ( ω × ω ) )
35 xpomen ( ω × ω ) ≈ ω
36 domentr ( ( ( 𝐴 × ran 𝐹 ) ≼ ( ω × ω ) ∧ ( ω × ω ) ≈ ω ) → ( 𝐴 × ran 𝐹 ) ≼ ω )
37 34 35 36 sylancl ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → ( 𝐴 × ran 𝐹 ) ≼ ω )
38 domtr ( ( 𝐹 ≼ ( 𝐴 × ran 𝐹 ) ∧ ( 𝐴 × ran 𝐹 ) ≼ ω ) → 𝐹 ≼ ω )
39 17 37 38 syl2anc ( ( 𝐹 Fn 𝐴𝐴 ≼ ω ) → 𝐹 ≼ ω )