... This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
... If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

(.require
 [library
  [lux (.except)
   ["$" documentation]]]
 [\\library
  ["[0]" /]])

(the .public documentation
  (.List $.Documentation)
  (list ($.module /._
                  "Fuzzy logic, implemented on top of the Revolution type.")

        ($.definition /.functor)
        ($.definition /.empty)
        ($.definition /.full)
        ($.definition /.union)
        ($.definition /.intersection)
        ($.definition /.complement)
        ($.definition /.of_set)

        ($.definition (/.Fuzzy it)
          "A fuzzy set.")

        ($.definition /.membership
          ""
          ($.example (' (membership set elem))))

        ($.definition /.difference
          ""
          ($.example (' (difference sub base))))

        ($.definition /.of_predicate
          ""
          ($.example (' (of_predicate predicate))))

        ($.definition /.predicate
          ""
          ($.example (' (predicate treshold set))))

        ($.definition /.gradient
          ""
          ($.example (' (gradient from to))))

        ($.definition /.triangle
          ""
          ($.example (' (triangle bottom middle top))))

        ($.definition /.trapezoid
          ""
          ($.example (' (trapezoid bottom middle_bottom middle_top top))))

        ($.definition /.cut
          ""
          ($.example (' (cut treshold set))))
        ))
