Metamath Proof Explorer


Theorem psrbagleadd1

Description: The analogue of " X <_ F implies X + G <_ F + G " (compare leadd1d ) for bags. (Contributed by SN, 2-May-2025)

Ref Expression
Hypotheses psrbag.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
psrbagconf1o.s 𝑆 = { 𝑦𝐷𝑦r𝐹 }
psrbagleadd1.t 𝑇 = { 𝑧𝐷𝑧r ≤ ( 𝐹f + 𝐺 ) }
Assertion psrbagleadd1 ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → ( 𝑋f + 𝐺 ) ∈ 𝑇 )

Proof

Step Hyp Ref Expression
1 psrbag.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
2 psrbagconf1o.s 𝑆 = { 𝑦𝐷𝑦r𝐹 }
3 psrbagleadd1.t 𝑇 = { 𝑧𝐷𝑧r ≤ ( 𝐹f + 𝐺 ) }
4 elrabi ( 𝑋 ∈ { 𝑦𝐷𝑦r𝐹 } → 𝑋𝐷 )
5 4 2 eleq2s ( 𝑋𝑆𝑋𝐷 )
6 5 3ad2ant3 ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → 𝑋𝐷 )
7 simp2 ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → 𝐺𝐷 )
8 1 psrbagaddcl ( ( 𝑋𝐷𝐺𝐷 ) → ( 𝑋f + 𝐺 ) ∈ 𝐷 )
9 6 7 8 syl2anc ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → ( 𝑋f + 𝐺 ) ∈ 𝐷 )
10 1 psrbagf ( 𝑋𝐷𝑋 : 𝐼 ⟶ ℕ0 )
11 6 10 syl ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → 𝑋 : 𝐼 ⟶ ℕ0 )
12 11 ffvelcdmda ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( 𝑋𝑥 ) ∈ ℕ0 )
13 12 nn0red ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( 𝑋𝑥 ) ∈ ℝ )
14 1 psrbagf ( 𝐹𝐷𝐹 : 𝐼 ⟶ ℕ0 )
15 14 3ad2ant1 ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → 𝐹 : 𝐼 ⟶ ℕ0 )
16 15 ffvelcdmda ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( 𝐹𝑥 ) ∈ ℕ0 )
17 16 nn0red ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( 𝐹𝑥 ) ∈ ℝ )
18 1 psrbagf ( 𝐺𝐷𝐺 : 𝐼 ⟶ ℕ0 )
19 18 3ad2ant2 ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → 𝐺 : 𝐼 ⟶ ℕ0 )
20 19 ffvelcdmda ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( 𝐺𝑥 ) ∈ ℕ0 )
21 20 nn0red ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( 𝐺𝑥 ) ∈ ℝ )
22 breq1 ( 𝑦 = 𝑋 → ( 𝑦r𝐹𝑋r𝐹 ) )
23 22 2 elrab2 ( 𝑋𝑆 ↔ ( 𝑋𝐷𝑋r𝐹 ) )
24 23 simprbi ( 𝑋𝑆𝑋r𝐹 )
25 24 3ad2ant3 ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → 𝑋r𝐹 )
26 10 ffnd ( 𝑋𝐷𝑋 Fn 𝐼 )
27 5 26 syl ( 𝑋𝑆𝑋 Fn 𝐼 )
28 27 3ad2ant3 ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → 𝑋 Fn 𝐼 )
29 14 ffnd ( 𝐹𝐷𝐹 Fn 𝐼 )
30 29 3ad2ant1 ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → 𝐹 Fn 𝐼 )
31 id ( 𝐹𝐷𝐹𝐷 )
32 31 29 fndmexd ( 𝐹𝐷𝐼 ∈ V )
33 32 3ad2ant1 ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → 𝐼 ∈ V )
34 inidm ( 𝐼𝐼 ) = 𝐼
35 eqidd ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( 𝑋𝑥 ) = ( 𝑋𝑥 ) )
36 eqidd ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( 𝐹𝑥 ) = ( 𝐹𝑥 ) )
37 28 30 33 33 34 35 36 ofrfval ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → ( 𝑋r𝐹 ↔ ∀ 𝑥𝐼 ( 𝑋𝑥 ) ≤ ( 𝐹𝑥 ) ) )
38 25 37 mpbid ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → ∀ 𝑥𝐼 ( 𝑋𝑥 ) ≤ ( 𝐹𝑥 ) )
39 38 r19.21bi ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( 𝑋𝑥 ) ≤ ( 𝐹𝑥 ) )
40 13 17 21 39 leadd1dd ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( ( 𝑋𝑥 ) + ( 𝐺𝑥 ) ) ≤ ( ( 𝐹𝑥 ) + ( 𝐺𝑥 ) ) )
41 40 ralrimiva ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → ∀ 𝑥𝐼 ( ( 𝑋𝑥 ) + ( 𝐺𝑥 ) ) ≤ ( ( 𝐹𝑥 ) + ( 𝐺𝑥 ) ) )
42 1 psrbagf ( ( 𝑋f + 𝐺 ) ∈ 𝐷 → ( 𝑋f + 𝐺 ) : 𝐼 ⟶ ℕ0 )
43 42 ffnd ( ( 𝑋f + 𝐺 ) ∈ 𝐷 → ( 𝑋f + 𝐺 ) Fn 𝐼 )
44 9 43 syl ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → ( 𝑋f + 𝐺 ) Fn 𝐼 )
45 1 psrbagaddcl ( ( 𝐹𝐷𝐺𝐷 ) → ( 𝐹f + 𝐺 ) ∈ 𝐷 )
46 45 3adant3 ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → ( 𝐹f + 𝐺 ) ∈ 𝐷 )
47 1 psrbagf ( ( 𝐹f + 𝐺 ) ∈ 𝐷 → ( 𝐹f + 𝐺 ) : 𝐼 ⟶ ℕ0 )
48 47 ffnd ( ( 𝐹f + 𝐺 ) ∈ 𝐷 → ( 𝐹f + 𝐺 ) Fn 𝐼 )
49 46 48 syl ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → ( 𝐹f + 𝐺 ) Fn 𝐼 )
50 18 ffnd ( 𝐺𝐷𝐺 Fn 𝐼 )
51 50 3ad2ant2 ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → 𝐺 Fn 𝐼 )
52 eqidd ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( 𝐺𝑥 ) = ( 𝐺𝑥 ) )
53 28 51 33 33 34 35 52 ofval ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( ( 𝑋f + 𝐺 ) ‘ 𝑥 ) = ( ( 𝑋𝑥 ) + ( 𝐺𝑥 ) ) )
54 30 51 33 33 34 36 52 ofval ( ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) ∧ 𝑥𝐼 ) → ( ( 𝐹f + 𝐺 ) ‘ 𝑥 ) = ( ( 𝐹𝑥 ) + ( 𝐺𝑥 ) ) )
55 44 49 33 33 34 53 54 ofrfval ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → ( ( 𝑋f + 𝐺 ) ∘r ≤ ( 𝐹f + 𝐺 ) ↔ ∀ 𝑥𝐼 ( ( 𝑋𝑥 ) + ( 𝐺𝑥 ) ) ≤ ( ( 𝐹𝑥 ) + ( 𝐺𝑥 ) ) ) )
56 41 55 mpbird ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → ( 𝑋f + 𝐺 ) ∘r ≤ ( 𝐹f + 𝐺 ) )
57 breq1 ( 𝑧 = ( 𝑋f + 𝐺 ) → ( 𝑧r ≤ ( 𝐹f + 𝐺 ) ↔ ( 𝑋f + 𝐺 ) ∘r ≤ ( 𝐹f + 𝐺 ) ) )
58 57 3 elrab2 ( ( 𝑋f + 𝐺 ) ∈ 𝑇 ↔ ( ( 𝑋f + 𝐺 ) ∈ 𝐷 ∧ ( 𝑋f + 𝐺 ) ∘r ≤ ( 𝐹f + 𝐺 ) ) )
59 9 56 58 sylanbrc ( ( 𝐹𝐷𝐺𝐷𝑋𝑆 ) → ( 𝑋f + 𝐺 ) ∈ 𝑇 )