úÎTNN–@      !"#$%&'()*+,-./0123456789:;<=>?  Safe-Inferred2468=K£Specifically for fuzzy sets, as opposed to fuzzy values. Support is all elements of domain for which membership is non-zero. Hedge is a modifier of fuzzy sets. . is for application of a value to a fuzzy set.A single value of the domain.BA list of values from the domain for which membership is non-zero.BDegree of membership from applying a value to membership function.§Standard operations on fuzzy sets. Instantiated for each kind of fuzzy set. If you want to overload with a t-norm, instantiate against a newtype or instantiated set.Union over fuzzy values. Intersection over fuzzy values. Fuzzy complement.@DFuzOp is used to denote functions expecting operators on fuzzy sets.A|Used internally to represent type-1 membership functions. Not exported for safety reasons. Library users, use the newtype. .Type representing type-1 membership functions. (Produces the dual t-conorm from a t-norm&Standard t-norm used for intersection.»Ensure that input list is correctly ordered for desired performance. I.e. if desired property is that for a u with 2 values of z, max is chosen, order descending on right value of tuple. Used for type-2 defuzzification.B9Instance for tuple needed for interval type-2 fuzzy sets.C)Fuzzy operators for membership functions.D>Standard definitions for operations as defined by Zadeh (1965)3 @A E FGHIJKLMNOPQRSTBUCD    ) @A  E FGHIJKLMNOPQRSTBUCD Safe-Inferred2468=K%Overloaded defuzzification functions. 8Allows overloading of functions used in rule definition.!Firing strength"Scaling implication.#Truncate implication.$ Weight a rule  !"#$VWX !"#$ !"#$ !"#$VWX Safe-Inferred2468=K%dType-1 fuzzy sets, with associated membership function and domain. Use smart constructors to create.(ySmart constructor for continuous membership functions. Warning, fine resolutions will make this a very slow construction.)TSmart constructor for discrete continuous membership functions. Avoid large domains.*XOnly use this if you're sure your membership functions are safe, or your domain is huge.+8Cuts a type-1 fuzzy set at a given degree of membership.,HPerforms a cut and then finds the x values on the curve at point of cut.Y/Type-1 fuzzy sets are the most basic fuzzy set.ZeFuzzy operators are supported on T1Sets. Applies operator to membership functions inside T1Set type. %[&'()*+,YZ %&'()*+,%&' ()*+,%[&'()*+,YZ Safe-Inferred2468=K\!Simple type-1 fuzzy rule systems.]\ !"#$ !"#$]\ Safe-Inferred2468=K-xInterval Type-2 Fuzzy sets. Defined entirely by the footprint of uncertainty, lmf and umf are the bounds of this area.1\Smart constructor for continuos interval type-2 membership functions. Watch that resolution!2\Smart constructor for discrete interval type-2 membership functions. Be wary of domain size.3DOnly use this if you trust your functions or have no other recourse.4&Used in zSlices type-2 defuzzification^"Enables use of support, hedge and  on interval type-2 fuzzy sets._“Interval Type-2 fuzzy sets allow us to work in type-1 concepts. Operators are defined through application to lower and upper membership functions. -`./01234^_ -./01234-./0 1234-`./01234^_ Safe-Inferred2468=K5RA zSlices based type-2 set requires the number of z levels, and a list of zslices.:ŒSmart constructor for continuous type-2 fuzzy membership functions. Works only on the base interval set, make sure you trust your zSlices.;ŠSmart constructor for discrete type-2 fuzzy membership functions. Works only on the base interval set, make sure you trust your zSlices.<\Unsafe constructor, only use if you trust your membership functions or domain is very large.=Used in defuzzification.>ÿeConstructor for triangular type-2 fuzzy set. Arguements are pairs of points for defining a base Interval type-2 fuzzy set. The left element of each pair is for the lower membership function, The right element is for the upper membership function, Order is: left corner, peak, right corner. Int is number of zSlices desired, the level of discretisation.a/Currently the most complex supported fuzzy set.bgOperations on zSlices fuzzy sets are simply defined as higher order funcitons over the list of zSlices. 5c6789:;<=>ab 56789:;<=>5678 :;<=>9 5c6789:;<=>ab Safe-Inferred2468=K?9Karnik-Mendel algorithm. Currently needs a big overhaul. ?defghijklm  !"#$? !"#$? ?defghijklm Safe-Inferred2468=Kn<In zSlices type-2 fuzzy sets, both implicators are the same.on !"#$ !"#$on  Safe-Inferred2468=Kp     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy huzzy-0.1.5.0Huzzy.Base.SetsHuzzy.Base.SystemsHuzzy.TypeOne.SetsHuzzy.TypeTwo.Interval.SetsHuzzy.TypeTwo.ZSlices.SetsHuzzy.TypeTwo.Interval.SystemsHuzzy.TypeOne.SystemsHuzzy.TypeTwo.ZSlices.SystemsHuzzy.Analysis.GraphFSetValueSupportReturnedsupporthedgeisFuzzy?&&?||fnotMFtCotGodeltProdtLuktDrastNilMintHamdiscrete singletonupdowntritrapgausbellsig DefuzzifierResultcentroidFRule Antecedent=*>=|>weightT1SetmfdomcontT1discT1 unsafeMkT1alphafindCutsIT2SetlmfumfidomcontIT2discIT2 unsafeMkIT2cylExtT2ZSetzLevelszSliceszdom zLevelAxiscontZT2discZT2 unsafeZT2cylExtT2mkT2TrikmFuzOpMF' $fFuzzy(,) $fFuzzy(->) $fFuzzyDoubletNosupport'hedge'very' extremely' somewhat' slightly' discrete' singleton'up'down'tri'trap'gaus'bell'sig' $fFuzzyMF $fFRuleMF $fFRule(->) $fFRuleDouble $fFSetT1Set $fFuzzyT1SetT1S $fFRuleT1Set$fDefuzzifierT1Set $fFSetIT2Set $fFuzzyIT2SetIT2S $fFSetT2ZSet $fFuzzyT2ZSetT2ZSkmrgetXSgetWS getWeights weightedSumfindKlWeightsrWeights$fDefuzzifierIT2Set $fFRuleIT2Set $fFRuleT2ZSet$fDefuzzifierT2ZSet