Metamath Proof Explorer


Theorem fclscf

Description: Characterization of fineness of topologies in terms of cluster points. (Contributed by Jeff Hankins, 12-Nov-2009) (Revised by Stefan O'Rear, 8-Aug-2015)

Ref Expression
Assertion fclscf ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X → J ⊆ K ↔ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f

Proof

Step Hyp Ref Expression
1 simpll ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ J ⊆ K ∧ x ∈ K fClus f → J ∈ TopOn ⁡ X
2 simplr ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ J ⊆ K ∧ x ∈ K fClus f → K ∈ TopOn ⁡ X
3 fclstopon ⊢ x ∈ K fClus f → K ∈ TopOn ⁡ X ↔ f ∈ Fil ⁡ X
4 3 ad2antll ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ J ⊆ K ∧ x ∈ K fClus f → K ∈ TopOn ⁡ X ↔ f ∈ Fil ⁡ X
5 2 4 mpbid ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ J ⊆ K ∧ x ∈ K fClus f → f ∈ Fil ⁡ X
6 simprl ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ J ⊆ K ∧ x ∈ K fClus f → J ⊆ K
7 fclsss1 ⊢ J ∈ TopOn ⁡ X ∧ f ∈ Fil ⁡ X ∧ J ⊆ K → K fClus f ⊆ J fClus f
8 1 5 6 7 syl3anc ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ J ⊆ K ∧ x ∈ K fClus f → K fClus f ⊆ J fClus f
9 simprr ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ J ⊆ K ∧ x ∈ K fClus f → x ∈ K fClus f
10 8 9 sseldd ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ J ⊆ K ∧ x ∈ K fClus f → x ∈ J fClus f
11 10 expr ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ J ⊆ K → x ∈ K fClus f → x ∈ J fClus f
12 11 ssrdv ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ J ⊆ K → K fClus f ⊆ J fClus f
13 12 ralrimivw ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ J ⊆ K → ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f
14 simpllr ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J → K ∈ TopOn ⁡ X
15 toponmax ⊢ K ∈ TopOn ⁡ X → X ∈ K
16 ssid ⊢ X ⊆ X
17 eleq2 ⊢ u = X → y ∈ u ↔ y ∈ X
18 sseq1 ⊢ u = X → u ⊆ X ↔ X ⊆ X
19 17 18 anbi12d ⊢ u = X → y ∈ u ∧ u ⊆ X ↔ y ∈ X ∧ X ⊆ X
20 19 rspcev ⊢ X ∈ K ∧ y ∈ X ∧ X ⊆ X → ∃ u ∈ K y ∈ u ∧ u ⊆ X
21 16 20 mpanr2 ⊢ X ∈ K ∧ y ∈ X → ∃ u ∈ K y ∈ u ∧ u ⊆ X
22 21 ex ⊢ X ∈ K → y ∈ X → ∃ u ∈ K y ∈ u ∧ u ⊆ X
23 14 15 22 3syl ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J → y ∈ X → ∃ u ∈ K y ∈ u ∧ u ⊆ X
24 eleq2 ⊢ x = X → y ∈ x ↔ y ∈ X
25 sseq2 ⊢ x = X → u ⊆ x ↔ u ⊆ X
26 25 anbi2d ⊢ x = X → y ∈ u ∧ u ⊆ x ↔ y ∈ u ∧ u ⊆ X
27 26 rexbidv ⊢ x = X → ∃ u ∈ K y ∈ u ∧ u ⊆ x ↔ ∃ u ∈ K y ∈ u ∧ u ⊆ X
28 24 27 imbi12d ⊢ x = X → y ∈ x → ∃ u ∈ K y ∈ u ∧ u ⊆ x ↔ y ∈ X → ∃ u ∈ K y ∈ u ∧ u ⊆ X
29 23 28 syl5ibrcom ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J → x = X → y ∈ x → ∃ u ∈ K y ∈ u ∧ u ⊆ x
30 simplll ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → J ∈ TopOn ⁡ X
31 simprl ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → x ∈ J
32 simprrr ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → y ∈ x
33 supnfcls ⊢ J ∈ TopOn ⁡ X ∧ x ∈ J ∧ y ∈ x → ¬ y ∈ J fClus y ∈ 𝒫 X | X ∖ x ⊆ y
34 30 31 32 33 syl3anc ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → ¬ y ∈ J fClus y ∈ 𝒫 X | X ∖ x ⊆ y
35 toponss ⊢ J ∈ TopOn ⁡ X ∧ x ∈ J → x ⊆ X
36 30 31 35 syl2anc ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → x ⊆ X
37 36 32 sseldd ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → y ∈ X
38 simpllr ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → K ∈ TopOn ⁡ X
39 toponmax ⊢ J ∈ TopOn ⁡ X → X ∈ J
40 30 39 syl ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → X ∈ J
41 difssd ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → X ∖ x ⊆ X
42 simprrl ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → x ≠ X
43 pssdifn0 ⊢ x ⊆ X ∧ x ≠ X → X ∖ x ≠ ∅
44 36 42 43 syl2anc ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → X ∖ x ≠ ∅
45 supfil ⊢ X ∈ J ∧ X ∖ x ⊆ X ∧ X ∖ x ≠ ∅ → y ∈ 𝒫 X | X ∖ x ⊆ y ∈ Fil ⁡ X
46 40 41 44 45 syl3anc ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → y ∈ 𝒫 X | X ∖ x ⊆ y ∈ Fil ⁡ X
47 fclsopn ⊢ K ∈ TopOn ⁡ X ∧ y ∈ 𝒫 X | X ∖ x ⊆ y ∈ Fil ⁡ X → y ∈ K fClus y ∈ 𝒫 X | X ∖ x ⊆ y ↔ y ∈ X ∧ ∀ u ∈ K y ∈ u → ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅
48 38 46 47 syl2anc ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → y ∈ K fClus y ∈ 𝒫 X | X ∖ x ⊆ y ↔ y ∈ X ∧ ∀ u ∈ K y ∈ u → ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅
49 37 48 mpbirand ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → y ∈ K fClus y ∈ 𝒫 X | X ∖ x ⊆ y ↔ ∀ u ∈ K y ∈ u → ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅
50 oveq2 ⊢ f = y ∈ 𝒫 X | X ∖ x ⊆ y → K fClus f = K fClus y ∈ 𝒫 X | X ∖ x ⊆ y
51 oveq2 ⊢ f = y ∈ 𝒫 X | X ∖ x ⊆ y → J fClus f = J fClus y ∈ 𝒫 X | X ∖ x ⊆ y
52 50 51 sseq12d ⊢ f = y ∈ 𝒫 X | X ∖ x ⊆ y → K fClus f ⊆ J fClus f ↔ K fClus y ∈ 𝒫 X | X ∖ x ⊆ y ⊆ J fClus y ∈ 𝒫 X | X ∖ x ⊆ y
53 simplr ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f
54 52 53 46 rspcdva ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → K fClus y ∈ 𝒫 X | X ∖ x ⊆ y ⊆ J fClus y ∈ 𝒫 X | X ∖ x ⊆ y
55 54 sseld ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → y ∈ K fClus y ∈ 𝒫 X | X ∖ x ⊆ y → y ∈ J fClus y ∈ 𝒫 X | X ∖ x ⊆ y
56 49 55 sylbird ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → ∀ u ∈ K y ∈ u → ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅ → y ∈ J fClus y ∈ 𝒫 X | X ∖ x ⊆ y
57 34 56 mtod ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → ¬ ∀ u ∈ K y ∈ u → ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅
58 rexanali ⊢ ∃ u ∈ K y ∈ u ∧ ¬ ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅ ↔ ¬ ∀ u ∈ K y ∈ u → ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅
59 rexnal ⊢ ∃ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y ¬ u ∩ n ≠ ∅ ↔ ¬ ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅
60 sseq2 ⊢ y = n → X ∖ x ⊆ y ↔ X ∖ x ⊆ n
61 60 elrab ⊢ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y ↔ n ∈ 𝒫 X ∧ X ∖ x ⊆ n
62 sslin ⊢ X ∖ x ⊆ n → u ∩ X ∖ x ⊆ u ∩ n
63 61 62 simplbiim ⊢ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y → u ∩ X ∖ x ⊆ u ∩ n
64 ssn0 ⊢ u ∩ X ∖ x ⊆ u ∩ n ∧ u ∩ X ∖ x ≠ ∅ → u ∩ n ≠ ∅
65 64 ex ⊢ u ∩ X ∖ x ⊆ u ∩ n → u ∩ X ∖ x ≠ ∅ → u ∩ n ≠ ∅
66 65 necon1bd ⊢ u ∩ X ∖ x ⊆ u ∩ n → ¬ u ∩ n ≠ ∅ → u ∩ X ∖ x = ∅
67 inssdif0 ⊢ u ∩ X ⊆ x ↔ u ∩ X ∖ x = ∅
68 66 67 imbitrrdi ⊢ u ∩ X ∖ x ⊆ u ∩ n → ¬ u ∩ n ≠ ∅ → u ∩ X ⊆ x
69 toponss ⊢ K ∈ TopOn ⁡ X ∧ u ∈ K → u ⊆ X
70 38 69 sylan ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x ∧ u ∈ K → u ⊆ X
71 dfss2 ⊢ u ⊆ X ↔ u ∩ X = u
72 70 71 sylib ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x ∧ u ∈ K → u ∩ X = u
73 72 sseq1d ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x ∧ u ∈ K → u ∩ X ⊆ x ↔ u ⊆ x
74 73 biimpd ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x ∧ u ∈ K → u ∩ X ⊆ x → u ⊆ x
75 68 74 syl9r ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x ∧ u ∈ K → u ∩ X ∖ x ⊆ u ∩ n → ¬ u ∩ n ≠ ∅ → u ⊆ x
76 63 75 syl5 ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x ∧ u ∈ K → n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y → ¬ u ∩ n ≠ ∅ → u ⊆ x
77 76 rexlimdv ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x ∧ u ∈ K → ∃ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y ¬ u ∩ n ≠ ∅ → u ⊆ x
78 59 77 biimtrrid ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x ∧ u ∈ K → ¬ ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅ → u ⊆ x
79 78 anim2d ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x ∧ u ∈ K → y ∈ u ∧ ¬ ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅ → y ∈ u ∧ u ⊆ x
80 79 reximdva ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → ∃ u ∈ K y ∈ u ∧ ¬ ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅ → ∃ u ∈ K y ∈ u ∧ u ⊆ x
81 58 80 biimtrrid ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → ¬ ∀ u ∈ K y ∈ u → ∀ n ∈ y ∈ 𝒫 X | X ∖ x ⊆ y u ∩ n ≠ ∅ → ∃ u ∈ K y ∈ u ∧ u ⊆ x
82 57 81 mpd ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → ∃ u ∈ K y ∈ u ∧ u ⊆ x
83 82 anassrs ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J ∧ x ≠ X ∧ y ∈ x → ∃ u ∈ K y ∈ u ∧ u ⊆ x
84 83 exp32 ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J → x ≠ X → y ∈ x → ∃ u ∈ K y ∈ u ∧ u ⊆ x
85 29 84 pm2.61dne ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J → y ∈ x → ∃ u ∈ K y ∈ u ∧ u ⊆ x
86 85 ralrimiv ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J → ∀ y ∈ x ∃ u ∈ K y ∈ u ∧ u ⊆ x
87 topontop ⊢ K ∈ TopOn ⁡ X → K ∈ Top
88 eltop2 ⊢ K ∈ Top → x ∈ K ↔ ∀ y ∈ x ∃ u ∈ K y ∈ u ∧ u ⊆ x
89 14 87 88 3syl ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J → x ∈ K ↔ ∀ y ∈ x ∃ u ∈ K y ∈ u ∧ u ⊆ x
90 86 89 mpbird ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f ∧ x ∈ J → x ∈ K
91 90 ex ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f → x ∈ J → x ∈ K
92 91 ssrdv ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X ∧ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f → J ⊆ K
93 13 92 impbida ⊢ J ∈ TopOn ⁡ X ∧ K ∈ TopOn ⁡ X → J ⊆ K ↔ ∀ f ∈ Fil ⁡ X K fClus f ⊆ J fClus f