Metamath Proof Explorer


Theorem mapfien2

Description: Equinumerousity relation for sets of finitely supported functions. (Contributed by Stefan O'Rear, 9-Jul-2015) (Revised by AV, 7-Jul-2019)

Ref Expression
Hypotheses mapfien2.s 𝑆 = { 𝑥 ∈ ( 𝐵m 𝐴 ) ∣ 𝑥 finSupp 0 }
mapfien2.t 𝑇 = { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp 𝑊 }
mapfien2.ac ( 𝜑𝐴𝐶 )
mapfien2.bd ( 𝜑𝐵𝐷 )
mapfien2.z ( 𝜑0𝐵 )
mapfien2.w ( 𝜑𝑊𝐷 )
Assertion mapfien2 ( 𝜑𝑆𝑇 )

Proof

Step Hyp Ref Expression
1 mapfien2.s 𝑆 = { 𝑥 ∈ ( 𝐵m 𝐴 ) ∣ 𝑥 finSupp 0 }
2 mapfien2.t 𝑇 = { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp 𝑊 }
3 mapfien2.ac ( 𝜑𝐴𝐶 )
4 mapfien2.bd ( 𝜑𝐵𝐷 )
5 mapfien2.z ( 𝜑0𝐵 )
6 mapfien2.w ( 𝜑𝑊𝐷 )
7 enfixsn ( ( 0𝐵𝑊𝐷𝐵𝐷 ) → ∃ 𝑦 ( 𝑦 : 𝐵1-1-onto𝐷 ∧ ( 𝑦0 ) = 𝑊 ) )
8 5 6 4 7 syl3anc ( 𝜑 → ∃ 𝑦 ( 𝑦 : 𝐵1-1-onto𝐷 ∧ ( 𝑦0 ) = 𝑊 ) )
9 bren ( 𝐴𝐶 ↔ ∃ 𝑧 𝑧 : 𝐴1-1-onto𝐶 )
10 3 9 sylib ( 𝜑 → ∃ 𝑧 𝑧 : 𝐴1-1-onto𝐶 )
11 eqid { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp ( 𝑦0 ) } = { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp ( 𝑦0 ) }
12 eqid ( 𝑦0 ) = ( 𝑦0 )
13 f1ocnv ( 𝑧 : 𝐴1-1-onto𝐶 𝑧 : 𝐶1-1-onto𝐴 )
14 13 3ad2ant2 ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶𝑦 : 𝐵1-1-onto𝐷 ) → 𝑧 : 𝐶1-1-onto𝐴 )
15 simp3 ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶𝑦 : 𝐵1-1-onto𝐷 ) → 𝑦 : 𝐵1-1-onto𝐷 )
16 3 3ad2ant1 ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶𝑦 : 𝐵1-1-onto𝐷 ) → 𝐴𝐶 )
17 relen Rel ≈
18 17 brrelex1i ( 𝐴𝐶𝐴 ∈ V )
19 16 18 syl ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶𝑦 : 𝐵1-1-onto𝐷 ) → 𝐴 ∈ V )
20 4 3ad2ant1 ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶𝑦 : 𝐵1-1-onto𝐷 ) → 𝐵𝐷 )
21 17 brrelex1i ( 𝐵𝐷𝐵 ∈ V )
22 20 21 syl ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶𝑦 : 𝐵1-1-onto𝐷 ) → 𝐵 ∈ V )
23 17 brrelex2i ( 𝐴𝐶𝐶 ∈ V )
24 16 23 syl ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶𝑦 : 𝐵1-1-onto𝐷 ) → 𝐶 ∈ V )
25 17 brrelex2i ( 𝐵𝐷𝐷 ∈ V )
26 20 25 syl ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶𝑦 : 𝐵1-1-onto𝐷 ) → 𝐷 ∈ V )
27 5 3ad2ant1 ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶𝑦 : 𝐵1-1-onto𝐷 ) → 0𝐵 )
28 1 11 12 14 15 19 22 24 26 27 mapfien ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶𝑦 : 𝐵1-1-onto𝐷 ) → ( 𝑤𝑆 ↦ ( 𝑦 ∘ ( 𝑤 𝑧 ) ) ) : 𝑆1-1-onto→ { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp ( 𝑦0 ) } )
29 ovex ( 𝐵m 𝐴 ) ∈ V
30 1 29 rabex2 𝑆 ∈ V
31 30 f1oen ( ( 𝑤𝑆 ↦ ( 𝑦 ∘ ( 𝑤 𝑧 ) ) ) : 𝑆1-1-onto→ { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp ( 𝑦0 ) } → 𝑆 ≈ { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp ( 𝑦0 ) } )
32 28 31 syl ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶𝑦 : 𝐵1-1-onto𝐷 ) → 𝑆 ≈ { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp ( 𝑦0 ) } )
33 32 3adant3r ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶 ∧ ( 𝑦 : 𝐵1-1-onto𝐷 ∧ ( 𝑦0 ) = 𝑊 ) ) → 𝑆 ≈ { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp ( 𝑦0 ) } )
34 breq2 ( ( 𝑦0 ) = 𝑊 → ( 𝑥 finSupp ( 𝑦0 ) ↔ 𝑥 finSupp 𝑊 ) )
35 34 rabbidv ( ( 𝑦0 ) = 𝑊 → { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp ( 𝑦0 ) } = { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp 𝑊 } )
36 35 2 eqtr4di ( ( 𝑦0 ) = 𝑊 → { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp ( 𝑦0 ) } = 𝑇 )
37 36 adantl ( ( 𝑦 : 𝐵1-1-onto𝐷 ∧ ( 𝑦0 ) = 𝑊 ) → { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp ( 𝑦0 ) } = 𝑇 )
38 37 3ad2ant3 ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶 ∧ ( 𝑦 : 𝐵1-1-onto𝐷 ∧ ( 𝑦0 ) = 𝑊 ) ) → { 𝑥 ∈ ( 𝐷m 𝐶 ) ∣ 𝑥 finSupp ( 𝑦0 ) } = 𝑇 )
39 33 38 breqtrd ( ( 𝜑𝑧 : 𝐴1-1-onto𝐶 ∧ ( 𝑦 : 𝐵1-1-onto𝐷 ∧ ( 𝑦0 ) = 𝑊 ) ) → 𝑆𝑇 )
40 39 3exp ( 𝜑 → ( 𝑧 : 𝐴1-1-onto𝐶 → ( ( 𝑦 : 𝐵1-1-onto𝐷 ∧ ( 𝑦0 ) = 𝑊 ) → 𝑆𝑇 ) ) )
41 40 exlimdv ( 𝜑 → ( ∃ 𝑧 𝑧 : 𝐴1-1-onto𝐶 → ( ( 𝑦 : 𝐵1-1-onto𝐷 ∧ ( 𝑦0 ) = 𝑊 ) → 𝑆𝑇 ) ) )
42 10 41 mpd ( 𝜑 → ( ( 𝑦 : 𝐵1-1-onto𝐷 ∧ ( 𝑦0 ) = 𝑊 ) → 𝑆𝑇 ) )
43 42 exlimdv ( 𝜑 → ( ∃ 𝑦 ( 𝑦 : 𝐵1-1-onto𝐷 ∧ ( 𝑦0 ) = 𝑊 ) → 𝑆𝑇 ) )
44 8 43 mpd ( 𝜑𝑆𝑇 )