Metamath Proof Explorer


Theorem fgabs

Description: Absorption law for filter generation. (Contributed by Mario Carneiro, 15-Oct-2015)

Ref Expression
Assertion fgabs ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) → ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) = ( 𝑋 filGen 𝐹 ) )

Proof

Step Hyp Ref Expression
1 simpll ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → 𝐹 ∈ ( fBas ‘ 𝑌 ) )
2 fgcl ( 𝐹 ∈ ( fBas ‘ 𝑌 ) → ( 𝑌 filGen 𝐹 ) ∈ ( Fil ‘ 𝑌 ) )
3 filfbas ( ( 𝑌 filGen 𝐹 ) ∈ ( Fil ‘ 𝑌 ) → ( 𝑌 filGen 𝐹 ) ∈ ( fBas ‘ 𝑌 ) )
4 1 2 3 3syl ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → ( 𝑌 filGen 𝐹 ) ∈ ( fBas ‘ 𝑌 ) )
5 fbsspw ( ( 𝑌 filGen 𝐹 ) ∈ ( fBas ‘ 𝑌 ) → ( 𝑌 filGen 𝐹 ) ⊆ 𝒫 𝑌 )
6 4 5 syl ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → ( 𝑌 filGen 𝐹 ) ⊆ 𝒫 𝑌 )
7 simplr ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → 𝑌𝑋 )
8 7 sspwd ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → 𝒫 𝑌 ⊆ 𝒫 𝑋 )
9 6 8 sstrd ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → ( 𝑌 filGen 𝐹 ) ⊆ 𝒫 𝑋 )
10 simpr ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → 𝑋 ∈ V )
11 fbasweak ( ( ( 𝑌 filGen 𝐹 ) ∈ ( fBas ‘ 𝑌 ) ∧ ( 𝑌 filGen 𝐹 ) ⊆ 𝒫 𝑋𝑋 ∈ V ) → ( 𝑌 filGen 𝐹 ) ∈ ( fBas ‘ 𝑋 ) )
12 4 9 10 11 syl3anc ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → ( 𝑌 filGen 𝐹 ) ∈ ( fBas ‘ 𝑋 ) )
13 elfg ( ( 𝑌 filGen 𝐹 ) ∈ ( fBas ‘ 𝑋 ) → ( 𝑥 ∈ ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) ↔ ( 𝑥𝑋 ∧ ∃ 𝑦 ∈ ( 𝑌 filGen 𝐹 ) 𝑦𝑥 ) ) )
14 12 13 syl ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → ( 𝑥 ∈ ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) ↔ ( 𝑥𝑋 ∧ ∃ 𝑦 ∈ ( 𝑌 filGen 𝐹 ) 𝑦𝑥 ) ) )
15 1 adantr ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ 𝑥𝑋 ) → 𝐹 ∈ ( fBas ‘ 𝑌 ) )
16 elfg ( 𝐹 ∈ ( fBas ‘ 𝑌 ) → ( 𝑦 ∈ ( 𝑌 filGen 𝐹 ) ↔ ( 𝑦𝑌 ∧ ∃ 𝑧𝐹 𝑧𝑦 ) ) )
17 15 16 syl ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ 𝑥𝑋 ) → ( 𝑦 ∈ ( 𝑌 filGen 𝐹 ) ↔ ( 𝑦𝑌 ∧ ∃ 𝑧𝐹 𝑧𝑦 ) ) )
18 fbsspw ( 𝐹 ∈ ( fBas ‘ 𝑌 ) → 𝐹 ⊆ 𝒫 𝑌 )
19 1 18 syl ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → 𝐹 ⊆ 𝒫 𝑌 )
20 19 8 sstrd ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → 𝐹 ⊆ 𝒫 𝑋 )
21 fbasweak ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝐹 ⊆ 𝒫 𝑋𝑋 ∈ V ) → 𝐹 ∈ ( fBas ‘ 𝑋 ) )
22 1 20 10 21 syl3anc ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → 𝐹 ∈ ( fBas ‘ 𝑋 ) )
23 fgcl ( 𝐹 ∈ ( fBas ‘ 𝑋 ) → ( 𝑋 filGen 𝐹 ) ∈ ( Fil ‘ 𝑋 ) )
24 22 23 syl ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → ( 𝑋 filGen 𝐹 ) ∈ ( Fil ‘ 𝑋 ) )
25 24 ad2antrr ( ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) ∧ ( ( 𝑧𝐹𝑧𝑦 ) ∧ 𝑦𝑥 ) ) → ( 𝑋 filGen 𝐹 ) ∈ ( Fil ‘ 𝑋 ) )
26 ssfg ( 𝐹 ∈ ( fBas ‘ 𝑋 ) → 𝐹 ⊆ ( 𝑋 filGen 𝐹 ) )
27 22 26 syl ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → 𝐹 ⊆ ( 𝑋 filGen 𝐹 ) )
28 27 adantr ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) → 𝐹 ⊆ ( 𝑋 filGen 𝐹 ) )
29 28 sselda ( ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) ∧ 𝑧𝐹 ) → 𝑧 ∈ ( 𝑋 filGen 𝐹 ) )
30 29 adantrr ( ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) ∧ ( 𝑧𝐹𝑧𝑦 ) ) → 𝑧 ∈ ( 𝑋 filGen 𝐹 ) )
31 30 adantrr ( ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) ∧ ( ( 𝑧𝐹𝑧𝑦 ) ∧ 𝑦𝑥 ) ) → 𝑧 ∈ ( 𝑋 filGen 𝐹 ) )
32 simplrl ( ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) ∧ ( ( 𝑧𝐹𝑧𝑦 ) ∧ 𝑦𝑥 ) ) → 𝑥𝑋 )
33 simprlr ( ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) ∧ ( ( 𝑧𝐹𝑧𝑦 ) ∧ 𝑦𝑥 ) ) → 𝑧𝑦 )
34 simprr ( ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) ∧ ( ( 𝑧𝐹𝑧𝑦 ) ∧ 𝑦𝑥 ) ) → 𝑦𝑥 )
35 33 34 sstrd ( ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) ∧ ( ( 𝑧𝐹𝑧𝑦 ) ∧ 𝑦𝑥 ) ) → 𝑧𝑥 )
36 filss ( ( ( 𝑋 filGen 𝐹 ) ∈ ( Fil ‘ 𝑋 ) ∧ ( 𝑧 ∈ ( 𝑋 filGen 𝐹 ) ∧ 𝑥𝑋𝑧𝑥 ) ) → 𝑥 ∈ ( 𝑋 filGen 𝐹 ) )
37 25 31 32 35 36 syl13anc ( ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) ∧ ( ( 𝑧𝐹𝑧𝑦 ) ∧ 𝑦𝑥 ) ) → 𝑥 ∈ ( 𝑋 filGen 𝐹 ) )
38 37 expr ( ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) ∧ ( 𝑧𝐹𝑧𝑦 ) ) → ( 𝑦𝑥𝑥 ∈ ( 𝑋 filGen 𝐹 ) ) )
39 38 rexlimdvaa ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ ( 𝑥𝑋𝑦𝑌 ) ) → ( ∃ 𝑧𝐹 𝑧𝑦 → ( 𝑦𝑥𝑥 ∈ ( 𝑋 filGen 𝐹 ) ) ) )
40 39 anassrs ( ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ 𝑥𝑋 ) ∧ 𝑦𝑌 ) → ( ∃ 𝑧𝐹 𝑧𝑦 → ( 𝑦𝑥𝑥 ∈ ( 𝑋 filGen 𝐹 ) ) ) )
41 40 expimpd ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ 𝑥𝑋 ) → ( ( 𝑦𝑌 ∧ ∃ 𝑧𝐹 𝑧𝑦 ) → ( 𝑦𝑥𝑥 ∈ ( 𝑋 filGen 𝐹 ) ) ) )
42 17 41 sylbid ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ 𝑥𝑋 ) → ( 𝑦 ∈ ( 𝑌 filGen 𝐹 ) → ( 𝑦𝑥𝑥 ∈ ( 𝑋 filGen 𝐹 ) ) ) )
43 42 rexlimdv ( ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) ∧ 𝑥𝑋 ) → ( ∃ 𝑦 ∈ ( 𝑌 filGen 𝐹 ) 𝑦𝑥𝑥 ∈ ( 𝑋 filGen 𝐹 ) ) )
44 43 expimpd ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → ( ( 𝑥𝑋 ∧ ∃ 𝑦 ∈ ( 𝑌 filGen 𝐹 ) 𝑦𝑥 ) → 𝑥 ∈ ( 𝑋 filGen 𝐹 ) ) )
45 14 44 sylbid ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → ( 𝑥 ∈ ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) → 𝑥 ∈ ( 𝑋 filGen 𝐹 ) ) )
46 45 ssrdv ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) ⊆ ( 𝑋 filGen 𝐹 ) )
47 ssfg ( 𝐹 ∈ ( fBas ‘ 𝑌 ) → 𝐹 ⊆ ( 𝑌 filGen 𝐹 ) )
48 47 ad2antrr ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → 𝐹 ⊆ ( 𝑌 filGen 𝐹 ) )
49 fgss ( ( 𝐹 ∈ ( fBas ‘ 𝑋 ) ∧ ( 𝑌 filGen 𝐹 ) ∈ ( fBas ‘ 𝑋 ) ∧ 𝐹 ⊆ ( 𝑌 filGen 𝐹 ) ) → ( 𝑋 filGen 𝐹 ) ⊆ ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) )
50 22 12 48 49 syl3anc ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → ( 𝑋 filGen 𝐹 ) ⊆ ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) )
51 46 50 eqssd ( ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) ∧ 𝑋 ∈ V ) → ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) = ( 𝑋 filGen 𝐹 ) )
52 51 ex ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) → ( 𝑋 ∈ V → ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) = ( 𝑋 filGen 𝐹 ) ) )
53 df-fg filGen = ( 𝑤 ∈ V , 𝑥 ∈ ( fBas ‘ 𝑤 ) ↦ { 𝑦 ∈ 𝒫 𝑤 ∣ ( 𝑥 ∩ 𝒫 𝑦 ) ≠ ∅ } )
54 53 reldmmpo Rel dom filGen
55 54 ovprc1 ( ¬ 𝑋 ∈ V → ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) = ∅ )
56 54 ovprc1 ( ¬ 𝑋 ∈ V → ( 𝑋 filGen 𝐹 ) = ∅ )
57 55 56 eqtr4d ( ¬ 𝑋 ∈ V → ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) = ( 𝑋 filGen 𝐹 ) )
58 52 57 pm2.61d1 ( ( 𝐹 ∈ ( fBas ‘ 𝑌 ) ∧ 𝑌𝑋 ) → ( 𝑋 filGen ( 𝑌 filGen 𝐹 ) ) = ( 𝑋 filGen 𝐹 ) )