Metamath Proof Explorer


Theorem psrbaglefi

Description: There are finitely many bags dominated by a given bag. (Contributed by Mario Carneiro, 29-Dec-2014) (Revised by Mario Carneiro, 25-Jan-2015) Remove a sethood antecedent. (Revised by SN, 5-Aug-2024)

Ref Expression
Hypothesis psrbag.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
Assertion psrbaglefi ( 𝐹𝐷 → { 𝑦𝐷𝑦r𝐹 } ∈ Fin )

Proof

Step Hyp Ref Expression
1 psrbag.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
2 df-rab { 𝑦𝐷𝑦r𝐹 } = { 𝑦 ∣ ( 𝑦𝐷𝑦r𝐹 ) }
3 1 psrbagf ( 𝑦𝐷𝑦 : 𝐼 ⟶ ℕ0 )
4 3 a1i ( 𝐹𝐷 → ( 𝑦𝐷𝑦 : 𝐼 ⟶ ℕ0 ) )
5 4 adantrd ( 𝐹𝐷 → ( ( 𝑦𝐷𝑦r𝐹 ) → 𝑦 : 𝐼 ⟶ ℕ0 ) )
6 ss2ixp ( ∀ 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) ⊆ ℕ0X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) ⊆ X 𝑥𝐼0 )
7 fz0ssnn0 ( 0 ... ( 𝐹𝑥 ) ) ⊆ ℕ0
8 7 a1i ( 𝑥𝐼 → ( 0 ... ( 𝐹𝑥 ) ) ⊆ ℕ0 )
9 6 8 mprg X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) ⊆ X 𝑥𝐼0
10 9 sseli ( 𝑦X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) → 𝑦X 𝑥𝐼0 )
11 vex 𝑦 ∈ V
12 11 elixpconst ( 𝑦X 𝑥𝐼0𝑦 : 𝐼 ⟶ ℕ0 )
13 10 12 sylib ( 𝑦X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) → 𝑦 : 𝐼 ⟶ ℕ0 )
14 13 a1i ( 𝐹𝐷 → ( 𝑦X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) → 𝑦 : 𝐼 ⟶ ℕ0 ) )
15 ffn ( 𝑦 : 𝐼 ⟶ ℕ0𝑦 Fn 𝐼 )
16 15 adantl ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → 𝑦 Fn 𝐼 )
17 11 elixp ( 𝑦X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) ↔ ( 𝑦 Fn 𝐼 ∧ ∀ 𝑥𝐼 ( 𝑦𝑥 ) ∈ ( 0 ... ( 𝐹𝑥 ) ) ) )
18 17 baib ( 𝑦 Fn 𝐼 → ( 𝑦X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) ↔ ∀ 𝑥𝐼 ( 𝑦𝑥 ) ∈ ( 0 ... ( 𝐹𝑥 ) ) ) )
19 16 18 syl ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → ( 𝑦X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) ↔ ∀ 𝑥𝐼 ( 𝑦𝑥 ) ∈ ( 0 ... ( 𝐹𝑥 ) ) ) )
20 ffvelrn ( ( 𝑦 : 𝐼 ⟶ ℕ0𝑥𝐼 ) → ( 𝑦𝑥 ) ∈ ℕ0 )
21 20 adantll ( ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) ∧ 𝑥𝐼 ) → ( 𝑦𝑥 ) ∈ ℕ0 )
22 nn0uz 0 = ( ℤ ‘ 0 )
23 21 22 eleqtrdi ( ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) ∧ 𝑥𝐼 ) → ( 𝑦𝑥 ) ∈ ( ℤ ‘ 0 ) )
24 1 psrbagf ( 𝐹𝐷𝐹 : 𝐼 ⟶ ℕ0 )
25 24 adantr ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → 𝐹 : 𝐼 ⟶ ℕ0 )
26 25 ffvelrnda ( ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) ∧ 𝑥𝐼 ) → ( 𝐹𝑥 ) ∈ ℕ0 )
27 26 nn0zd ( ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) ∧ 𝑥𝐼 ) → ( 𝐹𝑥 ) ∈ ℤ )
28 elfz5 ( ( ( 𝑦𝑥 ) ∈ ( ℤ ‘ 0 ) ∧ ( 𝐹𝑥 ) ∈ ℤ ) → ( ( 𝑦𝑥 ) ∈ ( 0 ... ( 𝐹𝑥 ) ) ↔ ( 𝑦𝑥 ) ≤ ( 𝐹𝑥 ) ) )
29 23 27 28 syl2anc ( ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) ∧ 𝑥𝐼 ) → ( ( 𝑦𝑥 ) ∈ ( 0 ... ( 𝐹𝑥 ) ) ↔ ( 𝑦𝑥 ) ≤ ( 𝐹𝑥 ) ) )
30 29 ralbidva ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → ( ∀ 𝑥𝐼 ( 𝑦𝑥 ) ∈ ( 0 ... ( 𝐹𝑥 ) ) ↔ ∀ 𝑥𝐼 ( 𝑦𝑥 ) ≤ ( 𝐹𝑥 ) ) )
31 24 ffnd ( 𝐹𝐷𝐹 Fn 𝐼 )
32 31 adantr ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → 𝐹 Fn 𝐼 )
33 11 a1i ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → 𝑦 ∈ V )
34 simpl ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → 𝐹𝐷 )
35 inidm ( 𝐼𝐼 ) = 𝐼
36 eqidd ( ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) ∧ 𝑥𝐼 ) → ( 𝑦𝑥 ) = ( 𝑦𝑥 ) )
37 eqidd ( ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) ∧ 𝑥𝐼 ) → ( 𝐹𝑥 ) = ( 𝐹𝑥 ) )
38 16 32 33 34 35 36 37 ofrfvalg ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → ( 𝑦r𝐹 ↔ ∀ 𝑥𝐼 ( 𝑦𝑥 ) ≤ ( 𝐹𝑥 ) ) )
39 30 38 bitr4d ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → ( ∀ 𝑥𝐼 ( 𝑦𝑥 ) ∈ ( 0 ... ( 𝐹𝑥 ) ) ↔ 𝑦r𝐹 ) )
40 1 psrbaglecl ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0𝑦r𝐹 ) → 𝑦𝐷 )
41 40 3expia ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → ( 𝑦r𝐹𝑦𝐷 ) )
42 41 pm4.71rd ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → ( 𝑦r𝐹 ↔ ( 𝑦𝐷𝑦r𝐹 ) ) )
43 19 39 42 3bitrrd ( ( 𝐹𝐷𝑦 : 𝐼 ⟶ ℕ0 ) → ( ( 𝑦𝐷𝑦r𝐹 ) ↔ 𝑦X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) ) )
44 43 ex ( 𝐹𝐷 → ( 𝑦 : 𝐼 ⟶ ℕ0 → ( ( 𝑦𝐷𝑦r𝐹 ) ↔ 𝑦X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) ) ) )
45 5 14 44 pm5.21ndd ( 𝐹𝐷 → ( ( 𝑦𝐷𝑦r𝐹 ) ↔ 𝑦X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) ) )
46 45 abbi1dv ( 𝐹𝐷 → { 𝑦 ∣ ( 𝑦𝐷𝑦r𝐹 ) } = X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) )
47 2 46 eqtrid ( 𝐹𝐷 → { 𝑦𝐷𝑦r𝐹 } = X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) )
48 cnveq ( 𝑓 = 𝐹 𝑓 = 𝐹 )
49 48 imaeq1d ( 𝑓 = 𝐹 → ( 𝑓 “ ℕ ) = ( 𝐹 “ ℕ ) )
50 49 eleq1d ( 𝑓 = 𝐹 → ( ( 𝑓 “ ℕ ) ∈ Fin ↔ ( 𝐹 “ ℕ ) ∈ Fin ) )
51 50 1 elrab2 ( 𝐹𝐷 ↔ ( 𝐹 ∈ ( ℕ0m 𝐼 ) ∧ ( 𝐹 “ ℕ ) ∈ Fin ) )
52 51 simprbi ( 𝐹𝐷 → ( 𝐹 “ ℕ ) ∈ Fin )
53 fzfid ( ( 𝐹𝐷𝑥𝐼 ) → ( 0 ... ( 𝐹𝑥 ) ) ∈ Fin )
54 frnnn0suppg ( ( 𝐹𝐷𝐹 : 𝐼 ⟶ ℕ0 ) → ( 𝐹 supp 0 ) = ( 𝐹 “ ℕ ) )
55 24 54 mpdan ( 𝐹𝐷 → ( 𝐹 supp 0 ) = ( 𝐹 “ ℕ ) )
56 eqimss ( ( 𝐹 supp 0 ) = ( 𝐹 “ ℕ ) → ( 𝐹 supp 0 ) ⊆ ( 𝐹 “ ℕ ) )
57 55 56 syl ( 𝐹𝐷 → ( 𝐹 supp 0 ) ⊆ ( 𝐹 “ ℕ ) )
58 id ( 𝐹𝐷𝐹𝐷 )
59 c0ex 0 ∈ V
60 59 a1i ( 𝐹𝐷 → 0 ∈ V )
61 24 57 58 60 suppssrg ( ( 𝐹𝐷𝑥 ∈ ( 𝐼 ∖ ( 𝐹 “ ℕ ) ) ) → ( 𝐹𝑥 ) = 0 )
62 61 oveq2d ( ( 𝐹𝐷𝑥 ∈ ( 𝐼 ∖ ( 𝐹 “ ℕ ) ) ) → ( 0 ... ( 𝐹𝑥 ) ) = ( 0 ... 0 ) )
63 fz0sn ( 0 ... 0 ) = { 0 }
64 62 63 eqtrdi ( ( 𝐹𝐷𝑥 ∈ ( 𝐼 ∖ ( 𝐹 “ ℕ ) ) ) → ( 0 ... ( 𝐹𝑥 ) ) = { 0 } )
65 eqimss ( ( 0 ... ( 𝐹𝑥 ) ) = { 0 } → ( 0 ... ( 𝐹𝑥 ) ) ⊆ { 0 } )
66 64 65 syl ( ( 𝐹𝐷𝑥 ∈ ( 𝐼 ∖ ( 𝐹 “ ℕ ) ) ) → ( 0 ... ( 𝐹𝑥 ) ) ⊆ { 0 } )
67 52 53 66 ixpfi2 ( 𝐹𝐷X 𝑥𝐼 ( 0 ... ( 𝐹𝑥 ) ) ∈ Fin )
68 47 67 eqeltrd ( 𝐹𝐷 → { 𝑦𝐷𝑦r𝐹 } ∈ Fin )