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