If X is a collection of objects denoted generically by x, then a fuzzy set F(A) in X is a set of ordered pairs. Each of them consists of an element x and a membership function which maps x to the membership space M. The current implementation is inspired by the work of J.A. Goguen L-Fuzzy Sets [1].
This library could be easily compiled using cabal issuing the command cabal build
in the root directory.
Using this library you can easily apply the Extension Principle [2] in the following way:
let fuzzy_set = fromList [(-1, Godel 0.5), (0, Godel 0.8), (1, Godel 1.0), (2, Godel 0.4)]
fmap (^2) fuzzy_set
> FuzzySet {(0, Godel 0.8), (1, Godel 1.0), (4, Godel 0.4)}
All the following authors have equally contributed to this project (listed in alphabetical order by surname):
[1]: Goguen, Joseph A. "L-fuzzy sets." Journal of mathematical analysis and applications (1967)
[2]: Zadeh, Lotfi A. "Fuzzy sets." Information and control (1965)