Skip to main content

Fuzzy Logic Ontology

Fuzzy Logic
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 17 September 2026
Audio Overview
FLOW_ALGEBRA FuzzyLogicDetailedOntology v1.0

TARGET_URL := "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/fuzzy-logic/fuzzy-logic-ontology.html"
LANGUAGE := "en-GB"
DOMAIN := MathematicalOntologies > MathematicalLogicOntologies > FuzzyLogic > FuzzyLogicOntology

BEGIN_FLOW

ENTITY FuzzyLogic {
    TYPE := ManyValuedLogicalFramework
    TRUTH_DOMAIN := [0,1]
    DEFINITION := "A formal system for representing and reasoning with graded truth, vague predicates and fuzzy set membership rather than restricting evaluation to binary false and true."
}

ENTITY FuzzyTruthDegree {
    TYPE := RealValue
    DOMAIN := [0,1]
}

ENTITY FuzzySet {
    TYPE := GeneralisedSet
    UNIVERSE := X
    MEMBERSHIP := μ_A:X->[0,1]
}

ENTITY MembershipFunction {
    TYPE := Function
    MAPS := UniverseElement -> MembershipDegree
}

RELATIONSHIP FuzzyLogic --uses--> FuzzyTruthDegree
RELATIONSHIP FuzzyLogic --uses--> FuzzySet
RELATIONSHIP FuzzySet --defined_by--> MembershipFunction
RELATIONSHIP FuzzyLogic --supports--> LinguisticReasoning
RELATIONSHIP FuzzyLogic --supports--> ApproximateReasoning

CRISP_BOUNDARY {
    FALSE := 0
    TRUE := 1
    IF all_values ∈ {0,1}
    THEN selected fuzzy semantics may reduce to corresponding crisp Boolean behaviour
}

FUZZY_PROPOSITION {
    FORM := "x is A"
    TRUTH_DEGREE := μ_A(x)
}

MEMBERSHIP_SEMANTICS {
    μ_A(x)=0 := no_membership
    μ_A(x)=1 := full_membership
    0<μ_A(x)<1 := partial_membership
}

SEMANTIC_WARNING {
    MembershipDegree != Probability
    FuzzyTruthDegree != StatisticalConfidence
    FuzzyTruthDegree != Frequency
}

ENTITY TNorm {
    TYPE := FuzzyConjunction
    SIGNATURE := [0,1]^2 -> [0,1]
    AXIOMS := {Commutativity,Associativity,Monotonicity,Boundary_T(x,1)=x}
}

ENTITY TConorm {
    TYPE := FuzzyDisjunction
    SIGNATURE := [0,1]^2 -> [0,1]
    AXIOMS := {Commutativity,Associativity,Monotonicity,Boundary_S(x,0)=x}
}

STANDARD_NEGATION { N(x) := 1-x }
MINIMUM_TNORM { T_M(x,y) := min(x,y) }
PRODUCT_TNORM { T_P(x,y) := x*y }
LUKASIEWICZ_TNORM { T_L(x,y) := max(0,x+y-1) }
MAXIMUM_TCONORM { S_M(x,y) := max(x,y) }
PROBABILISTIC_SUM { S_P(x,y) := x+y-x*y }
LUKASIEWICZ_TCONORM { S_L(x,y) := min(1,x+y) }

FUZZY_INTERSECTION {
    μ_(A∩B)(x) := T(μ_A(x),μ_B(x))
}

FUZZY_UNION {
    μ_(A∪B)(x) := S(μ_A(x),μ_B(x))
}

FUZZY_COMPLEMENT {
    μ_(¬A)(x) := N(μ_A(x))
}

ALPHA_CUT {
    A_alpha := {x | μ_A(x)>=alpha}
}

STRONG_ALPHA_CUT {
    A_alpha_plus := {x | μ_A(x)>alpha}
}

SUPPORT { support(A) := {x | μ_A(x)>0} }
CORE { core(A) := {x | μ_A(x)=1} }
HEIGHT { height(A) := sup_x μ_A(x) }

NORMALITY {
    A IS normal IFF height(A)=1
}

FUZZY_CONVEXITY {
    A IS fuzzy_convex IFF
        μ_A(λx+(1-λ)y) >= min(μ_A(x),μ_A(y))
        FOR_ALL λ∈[0,1]
}


LINGUISTIC_VARIABLE {
    COMPONENTS := {Name,UniverseOfDiscourse,LinguisticTerms,MembershipFunctions}
}

LINGUISTIC_TERM {
    TYPE := LabelledFuzzySet
}

MEMBERSHIP_FUNCTION_TYPES {
    TYPES := {Triangular,Trapezoidal,Gaussian,Bell,Sigmoidal,Singleton}
}

TRIANGULAR_MF(x,a,b,c) {
    IF x<=a OR x>=c RETURN 0
    IF a<x<=b RETURN (x-a)/(b-a)
    IF b<x<c RETURN (c-x)/(c-b)
}

TRAPEZOIDAL_MF(x,a,b,c,d) {
    IF x<=a OR x>=d RETURN 0
    IF a<x<b RETURN (x-a)/(b-a)
    IF b<=x<=c RETURN 1
    IF c<x<d RETURN (d-x)/(d-c)
}

GAUSSIAN_MF(x,c,sigma) {
    REQUIRE sigma>0
    RETURN exp(-((x-c)^2)/(2*sigma^2))
}

FUZZY_RULE {
    FORM := IF Antecedent THEN Consequent
}

FUZZY_RULE_BASE {
    TYPE := SetOfFuzzyRules
}

FUZZY_INFERENCE_SYSTEM {
    COMPONENTS := {
        InputVariables,
        MembershipFunctions,
        RuleBase,
        InferenceEngine,
        AggregationMethod,
        OutputMethod
    }
}

FUZZIFICATION(InputVector X) {
    FOR_EACH input_variable xi
    FOR_EACH fuzzy_term Aij:
        degree_ij := μ_Aij(xi)
    RETURN all_input_membership_degrees
}

ANTECEDENT_EVALUATION(Antecedent A) {
    PARSE A
    IF conjunction APPLY selected_t_norm
    IF disjunction APPLY selected_t_conorm
    IF negation APPLY selected_negation
    RETURN firing_strength
}

MAMDANI_INFERENCE {
    RULE := IF x IS A THEN y IS B
    firing_strength := antecedent_degree
    ACTIVATE consequent_using_declared_implication
    AGGREGATE all_rule_outputs
    DEFUZZIFY if crisp_output_required
}

SUGENO_INFERENCE {
    RULE := IF antecedent THEN z=f(inputs)
    OUTPUT :=
        SUM_i(w_i*z_i) / SUM_i(w_i)
    REQUIRE SUM_i(w_i)!=0
}

CENTROID_DEFUZZIFICATION {
    y_star :=
        integral(y*μ(y)dy) /
        integral(μ(y)dy)
    REQUIRE denominator!=0
}

BISECTOR_DEFUZZIFICATION {
    FIND y_star WHERE
        area_left(y_star)=area_right(y_star)
}

MEAN_OF_MAXIMA {
    OUTPUT := mean(points_at_maximum_membership)
}

ENTITY FuzzyImplication {
    TYPE := BinaryFuzzyOperator
    SIGNATURE := [0,1]^2->[0,1]
}

LUKASIEWICZ_IMPLICATION {
    I_L(a,b) := min(1,1-a+b)
}

GODEL_IMPLICATION {
    I_G(a,b) := IF a<=b THEN 1 ELSE b
}

REICHENBACH_IMPLICATION {
    I_R(a,b) := 1-a+a*b
}

RESIDUATED_IMPLICATION {
    GIVEN t_norm T
    I_T(a,b) := sup{c∈[0,1] | T(a,c)<=b}
}

FUZZY_RELATION {
    TYPE := FuzzySetOverCartesianProduct
    MEMBERSHIP := μ_R(x,y)
}

MAX_MIN_COMPOSITION {
    μ_(R∘S)(x,z) :=
        sup_y min(μ_R(x,y),μ_S(y,z))
}

MAX_PRODUCT_COMPOSITION {
    μ_(R∘S)(x,z) :=
        sup_y (μ_R(x,y)*μ_S(y,z))
}

FUZZY_NUMBER {
    TYPE := FuzzySetOverNumericDomain
    COMMON_PROPERTIES := {Normality,Convexity,BoundedSupport}
}

EXTENSION_PRINCIPLE {
    GIVEN f:X->Y
    μ_B(y) :=
        sup{μ_A(x) | f(x)=y}
}

FUZZY_ARITHMETIC {
    INPUT := FuzzyNumbers
    METHOD := ExtensionPrinciple OR AlphaCutArithmetic
}


TYPE_1_FUZZY_SET {
    μ_A(x) ∈ [0,1]
}

TYPE_2_FUZZY_SET {
    SECONDARY_MEMBERSHIP := μ_A(x,u) ∈ [0,1]
}

INTERVAL_TYPE_2_FUZZY_SET {
    SECONDARY_MEMBERSHIP :=
        1 across interval-valued footprint_of_uncertainty
}

FOOTPRINT_OF_UNCERTAINTY {
    ABBREVIATION := FOU
    TYPE := RegionOfPossiblePrimaryMembershipValues
}

TYPE_REDUCTION {
    INPUT := Type2FuzzyOutput
    OUTPUT := Type1FuzzySetOrInterval
    PRECEDES := Defuzzification
}

FUZZY_LOGIC_VS_BOOLEAN {
    BooleanTruthDomain := {0,1}
    FuzzyTruthDomain := [0,1]
    BooleanLogic --is_boundary_case_of--> selected_fuzzy_semantics
}

FUZZY_LOGIC_VS_PROBABILITY {
    FuzzyDegree := degree_of_truth_or_membership
    Probability := uncertainty_measure_over_events
    MUST_REMAIN_SEMANTICALLY_DISTINCT := TRUE
}

APPROXIMATE_REASONING {
    FuzzyFacts + FuzzyRules
        -> GradedInference
        -> FuzzyConclusion
}

FUZZY_CONTROL {
    SensorValues
        -> Fuzzification
        -> RuleEvaluation
        -> Aggregation
        -> Defuzzification
        -> ControlAction
}

APPLICATION_RELATIONSHIPS {
    FuzzyLogic --supports--> ControlEngineering
    FuzzyLogic --supports--> ExpertSystems
    FuzzyLogic --supports--> DecisionSupport
    FuzzyLogic --supports--> PatternRecognition
    FuzzyLogic --supports--> Classification
    FuzzyLogic --supports--> Robotics
    FuzzyLogic --supports--> ArtificialIntelligence
    FuzzyLogic --supports--> ImageProcessing
    FuzzyLogic --supports--> DataFusion
    FuzzyLogic --supports--> ApproximateReasoning
}

ONTOLOGY_LINKS {
    PARENT := FuzzyLogicOntology
    RELATED := {
        BooleanLogicOntology,
        ManyValuedLogicOntology,
        FuzzySetOntology,
        MembershipFunctionOntology,
        TNormOntology,
        TConormOntology,
        FuzzyRelationOntology,
        FuzzyNumberOntology,
        ApproximateReasoningOntology,
        ProbabilityOntology,
        DecisionTheoryOntology
    }
}

SEMANTIC_EQUIVALENCE {
    FuzzyTruthDegree ≈ DegreeOfTruth
    MembershipDegree ≈ FuzzyMembershipValue
    FuzzyConjunction ≈ TNorm
        WHEN conjunction_is_defined_by_selected_t_norm
    FuzzyDisjunction ≈ TConorm
        WHEN disjunction_is_defined_by_selected_t_conorm
    StandardNegation(x) ≈ 1-x
        WHEN standard_fuzzy_negation_selected
}

CONSTRAINTS {
    C1 := all fuzzy truth and membership values MUST remain within declared domain
    C2 := fuzzy membership MUST NOT be interpreted as probability by default
    C3 := fuzzy truth MUST NOT be interpreted as statistical confidence by default
    C4 := operator families MUST be explicitly selected where numerical results depend on them
    C5 := Mamdani and Sugeno inference semantics MUST remain distinct
    C6 := defuzzification method MUST be identified before deriving a crisp output
    C7 := Type-1 and Type-2 fuzzy representations MUST remain distinct
    C8 := fuzzy relation composition MUST declare its aggregation operators
    C9 := linguistic variables MUST be grounded in explicit fuzzy sets
    C10 := crisp Boolean identities MUST NOT transfer to arbitrary fuzzy operators unless valid
    C11 := fuzzy arithmetic MUST preserve selected extension semantics
    C12 := transformations MUST preserve numerical and conceptual meaning
}

REASONING_CHAIN Query Q {
    IDENTIFY fuzzy_logic_variant
    IDENTIFY truth_domain
    IDENTIFY universe_of_discourse
    IDENTIFY variables
    IDENTIFY fuzzy_sets
    IDENTIFY membership_functions
    IDENTIFY operator_family

    IF crisp_inputs
        THEN FUZZIFICATION

    IF fuzzy_expression {
        PARSE expression
        APPLY selected_t_norm
        APPLY selected_t_conorm
        APPLY selected_negation
        APPLY selected_implication
    }

    IF fuzzy_rules {
        COMPUTE firing_strengths
        COMPUTE consequents
        AGGREGATE rule_outputs
    }

    IF Mamdani_context
        THEN apply Mamdani_inference

    IF Sugeno_context
        THEN apply weighted_functional_output

    IF crisp_output_requested
        THEN apply declared_defuzzification

    IF alpha_cut_requested
        THEN derive alpha_cut

    IF fuzzy_relation_requested
        THEN apply declared_composition

    IF Type2_context {
        IDENTIFY footprint_of_uncertainty
        APPLY type_reduction_before_defuzzification
    }

    IF probability_comparison
        THEN enforce semantic_distinction

    VALIDATE domains
    VALIDATE operator_axioms
    VALIDATE inference_consistency
    RETURN result WITH derivation
}

CONFIDENCE {
    CORE_FUZZY_LOGIC_DEFINITION := 1.00
    FUZZY_SET_MEMBERSHIP := 1.00
    TNORM_TCONORM_AXIOMS := 1.00
    STANDARD_OPERATOR_EXAMPLES := 1.00
    MAMDANI_SUGENO_FRAMEWORKS := 0.99
    TYPE2_CORE_DISTINCTION := 0.99

    COMPUTED_RESULT :=
        IF all_required_functions_and_operators_given THEN 1.00
        ELSE REQUIRE missing_information
}

UPDATE_MODEL {
    IMMUTABLE_CORE := {
        GradedTruth,
        FuzzyMembership,
        MembershipFunctions,
        OperatorDomainConstraints
    }

    EXTENSIBLE := {
        TNormFamilies,
        TConormFamilies,
        Negations,
        Implications,
        MembershipFunctions,
        InferenceArchitectures,
        Type2Systems,
        FuzzyRelations,
        FuzzyArithmetic,
        ApplicationDomains,
        RelatedOntologies
    }

    ON_NEW_KNOWLEDGE {
        IDENTIFY fuzzy_semantic_framework
        VALIDATE degree_domain
        VALIDATE membership_function
        VALIDATE operator_axioms
        VALIDATE inference_pipeline
        CHECK semantic_consistency
        ADD relationship IF non_contradictory
        UPDATE confidence
    }
}

AI_CONSUMPTION {
    MACHINE_READABLE := TRUE
    HUMAN_INTERPRETABLE := TRUE
    RECURSIVE_REASONING := TRUE
    ENTITY_RESOLUTION := TRUE
    SYMBOL_RESOLUTION := TRUE
    RELATIONSHIP_TRAVERSAL := TRUE
    GRADED_TRUTH_REASONING := TRUE
    FUZZY_SET_REASONING := TRUE
    MEMBERSHIP_EVALUATION := TRUE
    FUZZY_OPERATOR_REASONING := TRUE
    RULE_BASE_REASONING := TRUE
    DEFUZZIFICATION_REASONING := TRUE
    TYPE2_REASONING := TRUE
    FUZZY_RELATION_REASONING := TRUE
    VALIDATION_REQUIRED := TRUE
}

FLOW_HASH {
    TARGET := TARGET_URL
    SUBJECT := "Fuzzy Logic Ontology"
    VERSION := "1.0"
    CANONICAL_SIGNATURE :=
        HASH(TARGET + SUBJECT + DOMAIN + VERSION)
}

OUTPUT {
    PRIMARY_ENTITY := FuzzyLogic
    INTERPRETATION :=
        "Fuzzy logic formalises graded truth and membership, commonly over [0,1]. It combines fuzzy sets, membership functions, configurable logical operators and rule-based inference systems to represent vague concepts, derive graded conclusions and produce crisp decisions when an explicit defuzzification method is applied."
}

END_FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ