Metamath Proof Explorer


Theorem evlselvlem

Description: Lemma for evlselv . Used to re-index to and from bags of variables in I and bags of variables in the subsets J and I \ J . (Contributed by SN, 10-Mar-2025)

Ref Expression
Hypotheses evlselvlem.d 𝐷 = { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin }
evlselvlem.e 𝐸 = { 𝑔 ∈ ( ℕ0m 𝐽 ) ∣ ( 𝑔 “ ℕ ) ∈ Fin }
evlselvlem.c 𝐶 = { 𝑓 ∈ ( ℕ0m ( 𝐼𝐽 ) ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
evlselvlem.h 𝐻 = ( 𝑐𝐶 , 𝑒𝐸 ↦ ( 𝑐𝑒 ) )
evlselvlem.i ( 𝜑𝐼𝑉 )
evlselvlem.j ( 𝜑𝐽𝐼 )
Assertion evlselvlem ( 𝜑𝐻 : ( 𝐶 × 𝐸 ) –1-1-onto𝐷 )

Proof

Step Hyp Ref Expression
1 evlselvlem.d 𝐷 = { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin }
2 evlselvlem.e 𝐸 = { 𝑔 ∈ ( ℕ0m 𝐽 ) ∣ ( 𝑔 “ ℕ ) ∈ Fin }
3 evlselvlem.c 𝐶 = { 𝑓 ∈ ( ℕ0m ( 𝐼𝐽 ) ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
4 evlselvlem.h 𝐻 = ( 𝑐𝐶 , 𝑒𝐸 ↦ ( 𝑐𝑒 ) )
5 evlselvlem.i ( 𝜑𝐼𝑉 )
6 evlselvlem.j ( 𝜑𝐽𝐼 )
7 3 psrbagf ( 𝑐𝐶𝑐 : ( 𝐼𝐽 ) ⟶ ℕ0 )
8 7 ad2antrl ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → 𝑐 : ( 𝐼𝐽 ) ⟶ ℕ0 )
9 2 psrbagf ( 𝑒𝐸𝑒 : 𝐽 ⟶ ℕ0 )
10 9 ad2antll ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → 𝑒 : 𝐽 ⟶ ℕ0 )
11 disjdifr ( ( 𝐼𝐽 ) ∩ 𝐽 ) = ∅
12 11 a1i ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( ( 𝐼𝐽 ) ∩ 𝐽 ) = ∅ )
13 8 10 12 fun2d ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( 𝑐𝑒 ) : ( ( 𝐼𝐽 ) ∪ 𝐽 ) ⟶ ℕ0 )
14 undifr ( 𝐽𝐼 ↔ ( ( 𝐼𝐽 ) ∪ 𝐽 ) = 𝐼 )
15 6 14 sylib ( 𝜑 → ( ( 𝐼𝐽 ) ∪ 𝐽 ) = 𝐼 )
16 15 adantr ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( ( 𝐼𝐽 ) ∪ 𝐽 ) = 𝐼 )
17 16 feq2d ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( ( 𝑐𝑒 ) : ( ( 𝐼𝐽 ) ∪ 𝐽 ) ⟶ ℕ0 ↔ ( 𝑐𝑒 ) : 𝐼 ⟶ ℕ0 ) )
18 13 17 mpbid ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( 𝑐𝑒 ) : 𝐼 ⟶ ℕ0 )
19 unexg ( ( 𝑐𝐶𝑒𝐸 ) → ( 𝑐𝑒 ) ∈ V )
20 19 adantl ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( 𝑐𝑒 ) ∈ V )
21 0zd ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → 0 ∈ ℤ )
22 13 ffund ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → Fun ( 𝑐𝑒 ) )
23 3 psrbagfsupp ( 𝑐𝐶𝑐 finSupp 0 )
24 23 ad2antrl ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → 𝑐 finSupp 0 )
25 2 psrbagfsupp ( 𝑒𝐸𝑒 finSupp 0 )
26 25 ad2antll ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → 𝑒 finSupp 0 )
27 24 26 fsuppun ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( ( 𝑐𝑒 ) supp 0 ) ∈ Fin )
28 20 21 22 27 isfsuppd ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( 𝑐𝑒 ) finSupp 0 )
29 fcdmnn0fsuppg ( ( ( 𝑐𝑒 ) ∈ V ∧ ( 𝑐𝑒 ) : ( ( 𝐼𝐽 ) ∪ 𝐽 ) ⟶ ℕ0 ) → ( ( 𝑐𝑒 ) finSupp 0 ↔ ( ( 𝑐𝑒 ) “ ℕ ) ∈ Fin ) )
30 20 13 29 syl2anc ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( ( 𝑐𝑒 ) finSupp 0 ↔ ( ( 𝑐𝑒 ) “ ℕ ) ∈ Fin ) )
31 28 30 mpbid ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( ( 𝑐𝑒 ) “ ℕ ) ∈ Fin )
32 5 adantr ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → 𝐼𝑉 )
33 1 psrbag ( 𝐼𝑉 → ( ( 𝑐𝑒 ) ∈ 𝐷 ↔ ( ( 𝑐𝑒 ) : 𝐼 ⟶ ℕ0 ∧ ( ( 𝑐𝑒 ) “ ℕ ) ∈ Fin ) ) )
34 32 33 syl ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( ( 𝑐𝑒 ) ∈ 𝐷 ↔ ( ( 𝑐𝑒 ) : 𝐼 ⟶ ℕ0 ∧ ( ( 𝑐𝑒 ) “ ℕ ) ∈ Fin ) ) )
35 18 31 34 mpbir2and ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( 𝑐𝑒 ) ∈ 𝐷 )
36 5 adantr ( ( 𝜑𝑑𝐷 ) → 𝐼𝑉 )
37 difssd ( ( 𝜑𝑑𝐷 ) → ( 𝐼𝐽 ) ⊆ 𝐼 )
38 simpr ( ( 𝜑𝑑𝐷 ) → 𝑑𝐷 )
39 1 3 36 37 38 psrbagres ( ( 𝜑𝑑𝐷 ) → ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∈ 𝐶 )
40 6 adantr ( ( 𝜑𝑑𝐷 ) → 𝐽𝐼 )
41 1 2 36 40 38 psrbagres ( ( 𝜑𝑑𝐷 ) → ( 𝑑𝐽 ) ∈ 𝐸 )
42 1 psrbagf ( 𝑑𝐷𝑑 : 𝐼 ⟶ ℕ0 )
43 42 adantl ( ( 𝜑𝑑𝐷 ) → 𝑑 : 𝐼 ⟶ ℕ0 )
44 43 freld ( ( 𝜑𝑑𝐷 ) → Rel 𝑑 )
45 43 fdmd ( ( 𝜑𝑑𝐷 ) → dom 𝑑 = 𝐼 )
46 40 14 sylib ( ( 𝜑𝑑𝐷 ) → ( ( 𝐼𝐽 ) ∪ 𝐽 ) = 𝐼 )
47 45 46 eqtr4d ( ( 𝜑𝑑𝐷 ) → dom 𝑑 = ( ( 𝐼𝐽 ) ∪ 𝐽 ) )
48 11 a1i ( ( 𝜑𝑑𝐷 ) → ( ( 𝐼𝐽 ) ∩ 𝐽 ) = ∅ )
49 reldisjun ( ( Rel 𝑑 ∧ dom 𝑑 = ( ( 𝐼𝐽 ) ∪ 𝐽 ) ∧ ( ( 𝐼𝐽 ) ∩ 𝐽 ) = ∅ ) → 𝑑 = ( ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∪ ( 𝑑𝐽 ) ) )
50 44 47 48 49 syl3anc ( ( 𝜑𝑑𝐷 ) → 𝑑 = ( ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∪ ( 𝑑𝐽 ) ) )
51 50 adantrl ( ( 𝜑 ∧ ( ( 𝑐𝐶𝑒𝐸 ) ∧ 𝑑𝐷 ) ) → 𝑑 = ( ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∪ ( 𝑑𝐽 ) ) )
52 uneq12 ( ( 𝑐 = ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∧ 𝑒 = ( 𝑑𝐽 ) ) → ( 𝑐𝑒 ) = ( ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∪ ( 𝑑𝐽 ) ) )
53 52 eqeq2d ( ( 𝑐 = ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∧ 𝑒 = ( 𝑑𝐽 ) ) → ( 𝑑 = ( 𝑐𝑒 ) ↔ 𝑑 = ( ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∪ ( 𝑑𝐽 ) ) ) )
54 51 53 syl5ibrcom ( ( 𝜑 ∧ ( ( 𝑐𝐶𝑒𝐸 ) ∧ 𝑑𝐷 ) ) → ( ( 𝑐 = ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∧ 𝑒 = ( 𝑑𝐽 ) ) → 𝑑 = ( 𝑐𝑒 ) ) )
55 8 ffnd ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → 𝑐 Fn ( 𝐼𝐽 ) )
56 10 ffnd ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → 𝑒 Fn 𝐽 )
57 fnunres1 ( ( 𝑐 Fn ( 𝐼𝐽 ) ∧ 𝑒 Fn 𝐽 ∧ ( ( 𝐼𝐽 ) ∩ 𝐽 ) = ∅ ) → ( ( 𝑐𝑒 ) ↾ ( 𝐼𝐽 ) ) = 𝑐 )
58 55 56 12 57 syl3anc ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( ( 𝑐𝑒 ) ↾ ( 𝐼𝐽 ) ) = 𝑐 )
59 58 eqcomd ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → 𝑐 = ( ( 𝑐𝑒 ) ↾ ( 𝐼𝐽 ) ) )
60 fnunres2 ( ( 𝑐 Fn ( 𝐼𝐽 ) ∧ 𝑒 Fn 𝐽 ∧ ( ( 𝐼𝐽 ) ∩ 𝐽 ) = ∅ ) → ( ( 𝑐𝑒 ) ↾ 𝐽 ) = 𝑒 )
61 55 56 12 60 syl3anc ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( ( 𝑐𝑒 ) ↾ 𝐽 ) = 𝑒 )
62 61 eqcomd ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → 𝑒 = ( ( 𝑐𝑒 ) ↾ 𝐽 ) )
63 59 62 jca ( ( 𝜑 ∧ ( 𝑐𝐶𝑒𝐸 ) ) → ( 𝑐 = ( ( 𝑐𝑒 ) ↾ ( 𝐼𝐽 ) ) ∧ 𝑒 = ( ( 𝑐𝑒 ) ↾ 𝐽 ) ) )
64 63 adantrr ( ( 𝜑 ∧ ( ( 𝑐𝐶𝑒𝐸 ) ∧ 𝑑𝐷 ) ) → ( 𝑐 = ( ( 𝑐𝑒 ) ↾ ( 𝐼𝐽 ) ) ∧ 𝑒 = ( ( 𝑐𝑒 ) ↾ 𝐽 ) ) )
65 reseq1 ( 𝑑 = ( 𝑐𝑒 ) → ( 𝑑 ↾ ( 𝐼𝐽 ) ) = ( ( 𝑐𝑒 ) ↾ ( 𝐼𝐽 ) ) )
66 65 eqeq2d ( 𝑑 = ( 𝑐𝑒 ) → ( 𝑐 = ( 𝑑 ↾ ( 𝐼𝐽 ) ) ↔ 𝑐 = ( ( 𝑐𝑒 ) ↾ ( 𝐼𝐽 ) ) ) )
67 reseq1 ( 𝑑 = ( 𝑐𝑒 ) → ( 𝑑𝐽 ) = ( ( 𝑐𝑒 ) ↾ 𝐽 ) )
68 67 eqeq2d ( 𝑑 = ( 𝑐𝑒 ) → ( 𝑒 = ( 𝑑𝐽 ) ↔ 𝑒 = ( ( 𝑐𝑒 ) ↾ 𝐽 ) ) )
69 66 68 anbi12d ( 𝑑 = ( 𝑐𝑒 ) → ( ( 𝑐 = ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∧ 𝑒 = ( 𝑑𝐽 ) ) ↔ ( 𝑐 = ( ( 𝑐𝑒 ) ↾ ( 𝐼𝐽 ) ) ∧ 𝑒 = ( ( 𝑐𝑒 ) ↾ 𝐽 ) ) ) )
70 64 69 syl5ibrcom ( ( 𝜑 ∧ ( ( 𝑐𝐶𝑒𝐸 ) ∧ 𝑑𝐷 ) ) → ( 𝑑 = ( 𝑐𝑒 ) → ( 𝑐 = ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∧ 𝑒 = ( 𝑑𝐽 ) ) ) )
71 54 70 impbid ( ( 𝜑 ∧ ( ( 𝑐𝐶𝑒𝐸 ) ∧ 𝑑𝐷 ) ) → ( ( 𝑐 = ( 𝑑 ↾ ( 𝐼𝐽 ) ) ∧ 𝑒 = ( 𝑑𝐽 ) ) ↔ 𝑑 = ( 𝑐𝑒 ) ) )
72 4 35 39 41 71 f1o2d2 ( 𝜑𝐻 : ( 𝐶 × 𝐸 ) –1-1-onto𝐷 )