Metamath Proof Explorer


Theorem mptnn0fsupp

Description: A mapping from the nonnegative integers is finitely supported under certain conditions. (Contributed by AV, 5-Oct-2019) (Revised by AV, 23-Dec-2019)

Ref Expression
Hypotheses mptnn0fsupp.0 ( 𝜑0𝑉 )
mptnn0fsupp.c ( ( 𝜑𝑘 ∈ ℕ0 ) → 𝐶𝐵 )
mptnn0fsupp.s ( 𝜑 → ∃ 𝑠 ∈ ℕ0𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 𝑥 / 𝑘 𝐶 = 0 ) )
Assertion mptnn0fsupp ( 𝜑 → ( 𝑘 ∈ ℕ0𝐶 ) finSupp 0 )

Proof

Step Hyp Ref Expression
1 mptnn0fsupp.0 ( 𝜑0𝑉 )
2 mptnn0fsupp.c ( ( 𝜑𝑘 ∈ ℕ0 ) → 𝐶𝐵 )
3 mptnn0fsupp.s ( 𝜑 → ∃ 𝑠 ∈ ℕ0𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 𝑥 / 𝑘 𝐶 = 0 ) )
4 2 ralrimiva ( 𝜑 → ∀ 𝑘 ∈ ℕ0 𝐶𝐵 )
5 eqid ( 𝑘 ∈ ℕ0𝐶 ) = ( 𝑘 ∈ ℕ0𝐶 )
6 5 fnmpt ( ∀ 𝑘 ∈ ℕ0 𝐶𝐵 → ( 𝑘 ∈ ℕ0𝐶 ) Fn ℕ0 )
7 4 6 syl ( 𝜑 → ( 𝑘 ∈ ℕ0𝐶 ) Fn ℕ0 )
8 nn0ex 0 ∈ V
9 8 a1i ( 𝜑 → ℕ0 ∈ V )
10 1 elexd ( 𝜑0 ∈ V )
11 suppvalfn ( ( ( 𝑘 ∈ ℕ0𝐶 ) Fn ℕ0 ∧ ℕ0 ∈ V ∧ 0 ∈ V ) → ( ( 𝑘 ∈ ℕ0𝐶 ) supp 0 ) = { 𝑥 ∈ ℕ0 ∣ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) ≠ 0 } )
12 7 9 10 11 syl3anc ( 𝜑 → ( ( 𝑘 ∈ ℕ0𝐶 ) supp 0 ) = { 𝑥 ∈ ℕ0 ∣ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) ≠ 0 } )
13 nne ( ¬ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) ≠ 0 ↔ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) = 0 )
14 simpr ( ( ( 𝜑𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) → 𝑥 ∈ ℕ0 )
15 4 ad2antrr ( ( ( 𝜑𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) → ∀ 𝑘 ∈ ℕ0 𝐶𝐵 )
16 rspcsbela ( ( 𝑥 ∈ ℕ0 ∧ ∀ 𝑘 ∈ ℕ0 𝐶𝐵 ) → 𝑥 / 𝑘 𝐶𝐵 )
17 14 15 16 syl2anc ( ( ( 𝜑𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) → 𝑥 / 𝑘 𝐶𝐵 )
18 5 fvmpts ( ( 𝑥 ∈ ℕ0 𝑥 / 𝑘 𝐶𝐵 ) → ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) = 𝑥 / 𝑘 𝐶 )
19 14 17 18 syl2anc ( ( ( 𝜑𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) → ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) = 𝑥 / 𝑘 𝐶 )
20 19 eqeq1d ( ( ( 𝜑𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) → ( ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) = 0 𝑥 / 𝑘 𝐶 = 0 ) )
21 13 20 syl5bb ( ( ( 𝜑𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) → ( ¬ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) ≠ 0 𝑥 / 𝑘 𝐶 = 0 ) )
22 21 imbi2d ( ( ( 𝜑𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) → ( ( 𝑠 < 𝑥 → ¬ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) ≠ 0 ) ↔ ( 𝑠 < 𝑥 𝑥 / 𝑘 𝐶 = 0 ) ) )
23 22 ralbidva ( ( 𝜑𝑠 ∈ ℕ0 ) → ( ∀ 𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 → ¬ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) ≠ 0 ) ↔ ∀ 𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 𝑥 / 𝑘 𝐶 = 0 ) ) )
24 23 rexbidva ( 𝜑 → ( ∃ 𝑠 ∈ ℕ0𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 → ¬ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) ≠ 0 ) ↔ ∃ 𝑠 ∈ ℕ0𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 𝑥 / 𝑘 𝐶 = 0 ) ) )
25 3 24 mpbird ( 𝜑 → ∃ 𝑠 ∈ ℕ0𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 → ¬ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) ≠ 0 ) )
26 rabssnn0fi ( { 𝑥 ∈ ℕ0 ∣ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) ≠ 0 } ∈ Fin ↔ ∃ 𝑠 ∈ ℕ0𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 → ¬ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) ≠ 0 ) )
27 25 26 sylibr ( 𝜑 → { 𝑥 ∈ ℕ0 ∣ ( ( 𝑘 ∈ ℕ0𝐶 ) ‘ 𝑥 ) ≠ 0 } ∈ Fin )
28 12 27 eqeltrd ( 𝜑 → ( ( 𝑘 ∈ ℕ0𝐶 ) supp 0 ) ∈ Fin )
29 funmpt Fun ( 𝑘 ∈ ℕ0𝐶 )
30 8 mptex ( 𝑘 ∈ ℕ0𝐶 ) ∈ V
31 funisfsupp ( ( Fun ( 𝑘 ∈ ℕ0𝐶 ) ∧ ( 𝑘 ∈ ℕ0𝐶 ) ∈ V ∧ 0 ∈ V ) → ( ( 𝑘 ∈ ℕ0𝐶 ) finSupp 0 ↔ ( ( 𝑘 ∈ ℕ0𝐶 ) supp 0 ) ∈ Fin ) )
32 29 30 10 31 mp3an12i ( 𝜑 → ( ( 𝑘 ∈ ℕ0𝐶 ) finSupp 0 ↔ ( ( 𝑘 ∈ ℕ0𝐶 ) supp 0 ) ∈ Fin ) )
33 28 32 mpbird ( 𝜑 → ( 𝑘 ∈ ℕ0𝐶 ) finSupp 0 )