Metamath Proof Explorer


Theorem fmco

Description: Composition of image filters. (Contributed by Mario Carneiro, 27-Aug-2015)

Ref Expression
Assertion fmco ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( ( 𝑋 FilMap ( 𝐹𝐺 ) ) ‘ 𝐵 ) = ( ( 𝑋 FilMap 𝐹 ) ‘ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ) )

Proof

Step Hyp Ref Expression
1 simpl3 ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → 𝐵 ∈ ( fBas ‘ 𝑍 ) )
2 ssfg ( 𝐵 ∈ ( fBas ‘ 𝑍 ) → 𝐵 ⊆ ( 𝑍 filGen 𝐵 ) )
3 1 2 syl ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → 𝐵 ⊆ ( 𝑍 filGen 𝐵 ) )
4 3 sseld ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( 𝑢𝐵𝑢 ∈ ( 𝑍 filGen 𝐵 ) ) )
5 simpl2 ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → 𝑌𝑊 )
6 simprr ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → 𝐺 : 𝑍𝑌 )
7 eqid ( 𝑍 filGen 𝐵 ) = ( 𝑍 filGen 𝐵 )
8 7 imaelfm ( ( ( 𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ∧ 𝐺 : 𝑍𝑌 ) ∧ 𝑢 ∈ ( 𝑍 filGen 𝐵 ) ) → ( 𝐺𝑢 ) ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) )
9 8 ex ( ( 𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ∧ 𝐺 : 𝑍𝑌 ) → ( 𝑢 ∈ ( 𝑍 filGen 𝐵 ) → ( 𝐺𝑢 ) ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ) )
10 5 1 6 9 syl3anc ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( 𝑢 ∈ ( 𝑍 filGen 𝐵 ) → ( 𝐺𝑢 ) ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ) )
11 4 10 syld ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( 𝑢𝐵 → ( 𝐺𝑢 ) ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ) )
12 11 imp ( ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) ∧ 𝑢𝐵 ) → ( 𝐺𝑢 ) ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) )
13 imaeq2 ( 𝑡 = ( 𝐺𝑢 ) → ( 𝐹𝑡 ) = ( 𝐹 “ ( 𝐺𝑢 ) ) )
14 imaco ( ( 𝐹𝐺 ) “ 𝑢 ) = ( 𝐹 “ ( 𝐺𝑢 ) )
15 13 14 eqtr4di ( 𝑡 = ( 𝐺𝑢 ) → ( 𝐹𝑡 ) = ( ( 𝐹𝐺 ) “ 𝑢 ) )
16 15 sseq1d ( 𝑡 = ( 𝐺𝑢 ) → ( ( 𝐹𝑡 ) ⊆ 𝑠 ↔ ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) )
17 16 rspcev ( ( ( 𝐺𝑢 ) ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ∧ ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) → ∃ 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ( 𝐹𝑡 ) ⊆ 𝑠 )
18 17 ex ( ( 𝐺𝑢 ) ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) → ( ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 → ∃ 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ( 𝐹𝑡 ) ⊆ 𝑠 ) )
19 12 18 syl ( ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) ∧ 𝑢𝐵 ) → ( ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 → ∃ 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ( 𝐹𝑡 ) ⊆ 𝑠 ) )
20 19 rexlimdva ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( ∃ 𝑢𝐵 ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 → ∃ 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ( 𝐹𝑡 ) ⊆ 𝑠 ) )
21 elfm ( ( 𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ∧ 𝐺 : 𝑍𝑌 ) → ( 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ↔ ( 𝑡𝑌 ∧ ∃ 𝑢𝐵 ( 𝐺𝑢 ) ⊆ 𝑡 ) ) )
22 5 1 6 21 syl3anc ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ↔ ( 𝑡𝑌 ∧ ∃ 𝑢𝐵 ( 𝐺𝑢 ) ⊆ 𝑡 ) ) )
23 sstr2 ( ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ ( 𝐹𝑡 ) → ( ( 𝐹𝑡 ) ⊆ 𝑠 → ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) )
24 imass2 ( ( 𝐺𝑢 ) ⊆ 𝑡 → ( 𝐹 “ ( 𝐺𝑢 ) ) ⊆ ( 𝐹𝑡 ) )
25 14 24 eqsstrid ( ( 𝐺𝑢 ) ⊆ 𝑡 → ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ ( 𝐹𝑡 ) )
26 23 25 syl11 ( ( 𝐹𝑡 ) ⊆ 𝑠 → ( ( 𝐺𝑢 ) ⊆ 𝑡 → ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) )
27 26 reximdv ( ( 𝐹𝑡 ) ⊆ 𝑠 → ( ∃ 𝑢𝐵 ( 𝐺𝑢 ) ⊆ 𝑡 → ∃ 𝑢𝐵 ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) )
28 27 com12 ( ∃ 𝑢𝐵 ( 𝐺𝑢 ) ⊆ 𝑡 → ( ( 𝐹𝑡 ) ⊆ 𝑠 → ∃ 𝑢𝐵 ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) )
29 28 adantl ( ( 𝑡𝑌 ∧ ∃ 𝑢𝐵 ( 𝐺𝑢 ) ⊆ 𝑡 ) → ( ( 𝐹𝑡 ) ⊆ 𝑠 → ∃ 𝑢𝐵 ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) )
30 22 29 syl6bi ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) → ( ( 𝐹𝑡 ) ⊆ 𝑠 → ∃ 𝑢𝐵 ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) ) )
31 30 rexlimdv ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( ∃ 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ( 𝐹𝑡 ) ⊆ 𝑠 → ∃ 𝑢𝐵 ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) )
32 20 31 impbid ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( ∃ 𝑢𝐵 ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ↔ ∃ 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ( 𝐹𝑡 ) ⊆ 𝑠 ) )
33 32 anbi2d ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( ( 𝑠𝑋 ∧ ∃ 𝑢𝐵 ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) ↔ ( 𝑠𝑋 ∧ ∃ 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ( 𝐹𝑡 ) ⊆ 𝑠 ) ) )
34 simpl1 ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → 𝑋𝑉 )
35 fco ( ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) → ( 𝐹𝐺 ) : 𝑍𝑋 )
36 35 adantl ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( 𝐹𝐺 ) : 𝑍𝑋 )
37 elfm ( ( 𝑋𝑉𝐵 ∈ ( fBas ‘ 𝑍 ) ∧ ( 𝐹𝐺 ) : 𝑍𝑋 ) → ( 𝑠 ∈ ( ( 𝑋 FilMap ( 𝐹𝐺 ) ) ‘ 𝐵 ) ↔ ( 𝑠𝑋 ∧ ∃ 𝑢𝐵 ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) ) )
38 34 1 36 37 syl3anc ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( 𝑠 ∈ ( ( 𝑋 FilMap ( 𝐹𝐺 ) ) ‘ 𝐵 ) ↔ ( 𝑠𝑋 ∧ ∃ 𝑢𝐵 ( ( 𝐹𝐺 ) “ 𝑢 ) ⊆ 𝑠 ) ) )
39 fmfil ( ( 𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ∧ 𝐺 : 𝑍𝑌 ) → ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ∈ ( Fil ‘ 𝑌 ) )
40 5 1 6 39 syl3anc ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ∈ ( Fil ‘ 𝑌 ) )
41 filfbas ( ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ∈ ( Fil ‘ 𝑌 ) → ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ∈ ( fBas ‘ 𝑌 ) )
42 40 41 syl ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ∈ ( fBas ‘ 𝑌 ) )
43 simprl ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → 𝐹 : 𝑌𝑋 )
44 elfm ( ( 𝑋𝑉 ∧ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ∈ ( fBas ‘ 𝑌 ) ∧ 𝐹 : 𝑌𝑋 ) → ( 𝑠 ∈ ( ( 𝑋 FilMap 𝐹 ) ‘ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ) ↔ ( 𝑠𝑋 ∧ ∃ 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ( 𝐹𝑡 ) ⊆ 𝑠 ) ) )
45 34 42 43 44 syl3anc ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( 𝑠 ∈ ( ( 𝑋 FilMap 𝐹 ) ‘ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ) ↔ ( 𝑠𝑋 ∧ ∃ 𝑡 ∈ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ( 𝐹𝑡 ) ⊆ 𝑠 ) ) )
46 33 38 45 3bitr4d ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( 𝑠 ∈ ( ( 𝑋 FilMap ( 𝐹𝐺 ) ) ‘ 𝐵 ) ↔ 𝑠 ∈ ( ( 𝑋 FilMap 𝐹 ) ‘ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ) ) )
47 46 eqrdv ( ( ( 𝑋𝑉𝑌𝑊𝐵 ∈ ( fBas ‘ 𝑍 ) ) ∧ ( 𝐹 : 𝑌𝑋𝐺 : 𝑍𝑌 ) ) → ( ( 𝑋 FilMap ( 𝐹𝐺 ) ) ‘ 𝐵 ) = ( ( 𝑋 FilMap 𝐹 ) ‘ ( ( 𝑌 FilMap 𝐺 ) ‘ 𝐵 ) ) )