Metamath Proof Explorer


Theorem fmf

Description: Pushing-forward via a function induces a mapping on filters. (Contributed by Stefan O'Rear, 8-Aug-2015)

Ref Expression
Assertion fmf ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) → ( 𝑋 FilMap 𝐹 ) : ( fBas ‘ 𝑌 ) ⟶ ( Fil ‘ 𝑋 ) )

Proof

Step Hyp Ref Expression
1 ovex ( 𝑋 filGen ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) ) ∈ V
2 eqid ( 𝑏 ∈ ( fBas ‘ 𝑌 ) ↦ ( 𝑋 filGen ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) ) ) = ( 𝑏 ∈ ( fBas ‘ 𝑌 ) ↦ ( 𝑋 filGen ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) ) )
3 1 2 fnmpti ( 𝑏 ∈ ( fBas ‘ 𝑌 ) ↦ ( 𝑋 filGen ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) ) ) Fn ( fBas ‘ 𝑌 )
4 df-fm FilMap = ( 𝑥 ∈ V , 𝑓 ∈ V ↦ ( 𝑏 ∈ ( fBas ‘ dom 𝑓 ) ↦ ( 𝑥 filGen ran ( 𝑦𝑏 ↦ ( 𝑓𝑦 ) ) ) ) )
5 4 a1i ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) → FilMap = ( 𝑥 ∈ V , 𝑓 ∈ V ↦ ( 𝑏 ∈ ( fBas ‘ dom 𝑓 ) ↦ ( 𝑥 filGen ran ( 𝑦𝑏 ↦ ( 𝑓𝑦 ) ) ) ) ) )
6 dmeq ( 𝑓 = 𝐹 → dom 𝑓 = dom 𝐹 )
7 6 adantl ( ( 𝑥 = 𝑋𝑓 = 𝐹 ) → dom 𝑓 = dom 𝐹 )
8 fdm ( 𝐹 : 𝑌𝑋 → dom 𝐹 = 𝑌 )
9 8 3ad2ant3 ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) → dom 𝐹 = 𝑌 )
10 7 9 sylan9eqr ( ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) ∧ ( 𝑥 = 𝑋𝑓 = 𝐹 ) ) → dom 𝑓 = 𝑌 )
11 10 fveq2d ( ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) ∧ ( 𝑥 = 𝑋𝑓 = 𝐹 ) ) → ( fBas ‘ dom 𝑓 ) = ( fBas ‘ 𝑌 ) )
12 id ( 𝑥 = 𝑋𝑥 = 𝑋 )
13 imaeq1 ( 𝑓 = 𝐹 → ( 𝑓𝑦 ) = ( 𝐹𝑦 ) )
14 13 mpteq2dv ( 𝑓 = 𝐹 → ( 𝑦𝑏 ↦ ( 𝑓𝑦 ) ) = ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) )
15 14 rneqd ( 𝑓 = 𝐹 → ran ( 𝑦𝑏 ↦ ( 𝑓𝑦 ) ) = ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) )
16 12 15 oveqan12d ( ( 𝑥 = 𝑋𝑓 = 𝐹 ) → ( 𝑥 filGen ran ( 𝑦𝑏 ↦ ( 𝑓𝑦 ) ) ) = ( 𝑋 filGen ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) ) )
17 16 adantl ( ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) ∧ ( 𝑥 = 𝑋𝑓 = 𝐹 ) ) → ( 𝑥 filGen ran ( 𝑦𝑏 ↦ ( 𝑓𝑦 ) ) ) = ( 𝑋 filGen ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) ) )
18 11 17 mpteq12dv ( ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) ∧ ( 𝑥 = 𝑋𝑓 = 𝐹 ) ) → ( 𝑏 ∈ ( fBas ‘ dom 𝑓 ) ↦ ( 𝑥 filGen ran ( 𝑦𝑏 ↦ ( 𝑓𝑦 ) ) ) ) = ( 𝑏 ∈ ( fBas ‘ 𝑌 ) ↦ ( 𝑋 filGen ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) ) ) )
19 elex ( 𝑋𝐴𝑋 ∈ V )
20 19 3ad2ant1 ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) → 𝑋 ∈ V )
21 fex2 ( ( 𝐹 : 𝑌𝑋𝑌𝐵𝑋𝐴 ) → 𝐹 ∈ V )
22 21 3com13 ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) → 𝐹 ∈ V )
23 fvex ( fBas ‘ 𝑌 ) ∈ V
24 23 mptex ( 𝑏 ∈ ( fBas ‘ 𝑌 ) ↦ ( 𝑋 filGen ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) ) ) ∈ V
25 24 a1i ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) → ( 𝑏 ∈ ( fBas ‘ 𝑌 ) ↦ ( 𝑋 filGen ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) ) ) ∈ V )
26 5 18 20 22 25 ovmpod ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) → ( 𝑋 FilMap 𝐹 ) = ( 𝑏 ∈ ( fBas ‘ 𝑌 ) ↦ ( 𝑋 filGen ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) ) ) )
27 26 fneq1d ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) → ( ( 𝑋 FilMap 𝐹 ) Fn ( fBas ‘ 𝑌 ) ↔ ( 𝑏 ∈ ( fBas ‘ 𝑌 ) ↦ ( 𝑋 filGen ran ( 𝑦𝑏 ↦ ( 𝐹𝑦 ) ) ) ) Fn ( fBas ‘ 𝑌 ) ) )
28 3 27 mpbiri ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) → ( 𝑋 FilMap 𝐹 ) Fn ( fBas ‘ 𝑌 ) )
29 simpl1 ( ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) ∧ 𝑏 ∈ ( fBas ‘ 𝑌 ) ) → 𝑋𝐴 )
30 simpr ( ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) ∧ 𝑏 ∈ ( fBas ‘ 𝑌 ) ) → 𝑏 ∈ ( fBas ‘ 𝑌 ) )
31 simpl3 ( ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) ∧ 𝑏 ∈ ( fBas ‘ 𝑌 ) ) → 𝐹 : 𝑌𝑋 )
32 fmfil ( ( 𝑋𝐴𝑏 ∈ ( fBas ‘ 𝑌 ) ∧ 𝐹 : 𝑌𝑋 ) → ( ( 𝑋 FilMap 𝐹 ) ‘ 𝑏 ) ∈ ( Fil ‘ 𝑋 ) )
33 29 30 31 32 syl3anc ( ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) ∧ 𝑏 ∈ ( fBas ‘ 𝑌 ) ) → ( ( 𝑋 FilMap 𝐹 ) ‘ 𝑏 ) ∈ ( Fil ‘ 𝑋 ) )
34 33 ralrimiva ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) → ∀ 𝑏 ∈ ( fBas ‘ 𝑌 ) ( ( 𝑋 FilMap 𝐹 ) ‘ 𝑏 ) ∈ ( Fil ‘ 𝑋 ) )
35 ffnfv ( ( 𝑋 FilMap 𝐹 ) : ( fBas ‘ 𝑌 ) ⟶ ( Fil ‘ 𝑋 ) ↔ ( ( 𝑋 FilMap 𝐹 ) Fn ( fBas ‘ 𝑌 ) ∧ ∀ 𝑏 ∈ ( fBas ‘ 𝑌 ) ( ( 𝑋 FilMap 𝐹 ) ‘ 𝑏 ) ∈ ( Fil ‘ 𝑋 ) ) )
36 28 34 35 sylanbrc ( ( 𝑋𝐴𝑌𝐵𝐹 : 𝑌𝑋 ) → ( 𝑋 FilMap 𝐹 ) : ( fBas ‘ 𝑌 ) ⟶ ( Fil ‘ 𝑋 ) )