Skip to main content

Fuzzy Inference 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 FuzzyInferenceOntology v1.0

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

BEGIN_FLOW

ENTITY FuzzyInference {
    TYPE := GradedReasoningProcess
    DEFINITION := "A process that derives fuzzy or crisp conclusions from fuzzy facts, membership functions and fuzzy rules using explicitly selected fuzzy operators, implication, aggregation and output semantics."
}

ENTITY FuzzyInferenceSystem {
    TYPE := RuleBasedReasoningSystem
    COMPONENTS := {Fuzzification,RuleBase,InferenceEngine,Aggregation,OutputProcessing}
}

RELATIONSHIP FuzzyInference --uses--> FuzzyRule
RELATIONSHIP FuzzyInference --uses--> MembershipFunction
RELATIONSHIP FuzzyInference --uses--> DegreeOfTruth
RELATIONSHIP FuzzyInference --uses--> FuzzyOperators
RELATIONSHIP FuzzyInferenceSystem --contains--> FuzzyRuleBase
RELATIONSHIP FuzzyInference --supports--> ApproximateReasoning

INFERENCE_PIPELINE {
    CrispInputs
        -> Fuzzification
        -> AntecedentEvaluation
        -> RuleActivation
        -> ConsequentInference
        -> Aggregation
        -> OutputProcessing
}

FUZZIFICATION(InputVector X) {
    FOR_EACH crisp_input x_i
    FOR_EACH relevant fuzzy_set A_ij:
        degree_ij := μ_Aij(x_i)
    RETURN membership_degrees
}

ANTECEDENT_EVALUATION {
    ATOM(x IS A) := μ_A(x)
    AND(P,Q) := T(degree(P),degree(Q))
    OR(P,Q) := S(degree(P),degree(Q))
    NOT(P) := N(degree(P))

    REQUIRE selected operators T,S,N
}

RULE_FIRING {
    FOR rule R_i:
        w_i := degree(Antecedent_i)
}

RULE_WEIGHTING {
    adjusted_w_i :=
        declared_combination(w_i,rule_weight_i)

    REQUIRE explicit weighting semantics
}

ENTITY MamdaniInference {
    TYPE := FuzzyInferenceMethod
}

MAMDANI_RULE {
    IF Antecedent_i
    THEN output IS B_i
}

MAMDANI_MIN_IMPLICATION {
    μ_i(y) :=
        min(w_i,μ_Bi(y))
}

MAMDANI_PRODUCT_IMPLICATION {
    μ_i(y) :=
        w_i*μ_Bi(y)
}

MAMDANI_AGGREGATION_MAX {
    μ_out(y) :=
        max_i μ_i(y)
}

MAMDANI_PROCESS {
    FUZZIFY inputs
    COMPUTE firing_strengths
    ACTIVATE fuzzy_consequents
    AGGREGATE consequent_fuzzy_sets
    DEFUZZIFY if crisp_output_required
}

CENTROID_DEFUZZIFICATION {
    y_star :=
        integral(y*μ_out(y)dy)
        /
        integral(μ_out(y)dy)

    REQUIRE denominator!=0
}

BISECTOR_DEFUZZIFICATION {
    FIND y_star WHERE
        integral_left(y_star)
        =
        integral_right(y_star)
}

MEAN_OF_MAXIMA {
    RETURN mean(
        y values where μ_out(y)=max_membership
    )
}

ENTITY SugenoInference {
    TYPE := FuzzyInferenceMethod
}

ZERO_ORDER_SUGENO_RULE {
    IF Antecedent_i
    THEN z_i := c_i
}

FIRST_ORDER_SUGENO_RULE {
    IF Antecedent_i
    THEN
        z_i :=
            a_i0 + SUM_j(a_ij*x_j)
}

SUGENO_OUTPUT {
    z :=
        SUM_i(w_i*z_i)
        /
        SUM_i(w_i)

    REQUIRE SUM_i(w_i)!=0
}

MAMDANI_VS_SUGENO {
    MamdaniConsequent := FuzzySet
    SugenoConsequent := CrispFunctionOrConstant
    MamdaniOutputProcessing := AggregationThenDefuzzification
    SugenoOutputProcessing := WeightedCombination
}

ENTITY TsukamotoInference {
    TYPE := FuzzyInferenceMethod
}

TSUKAMOTO_RULE {
    consequent_membership_function :=
        monotonic

    firing_strength w_i
        -> inverse_membership
        -> crisp z_i
}

TSUKAMOTO_OUTPUT {
    z :=
        SUM_i(w_i*z_i)
        /
        SUM_i(w_i)
}

FUZZY_IMPLICATION {
    TYPE := BinaryOperator
    SIGNATURE := [0,1]^2->[0,1]
    REQUIRE selected implication semantics
}

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

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

MAMDANI_STYLE_IMPLICATION {
    I_M(a,b) := min(a,b)
    WHEN clipping semantics selected
}

COMPOSITIONAL_RULE_OF_INFERENCE {
    FuzzyInput
        + FuzzyRelation
        -> RelationComposition
        -> FuzzyOutput
}

MAX_MIN_COMPOSITION {
    μ_B(y) :=
        sup_x min(
            μ_A(x),
            μ_R(x,y)
        )
}

MAX_PRODUCT_COMPOSITION {
    μ_B(y) :=
        sup_x (
            μ_A(x)*μ_R(x,y)
        )
}

GENERALIZED_MODUS_PONENS {
    GIVEN:
        IF x IS A THEN y IS B
        x IS A'

    DERIVE:
        y IS B'

    B' :=
        composition_of_A'_with_rule_relation

    REQUIRE selected implication_and_composition
}

RULE_AGGREGATION {
    INPUT :=
        activated_rule_outputs

    OUTPUT :=
        combined_output

    REQUIRE :=
        aggregation_operator declared
}

MAX_AGGREGATION {
    μ_out(y) := max_i μ_i(y)
}

SUM_STYLE_AGGREGATION {
    REQUIRE bounded_or_normalised_method
    WARNING :=
        arithmetic summation may exceed [0,1] unless controlled
}

NO_RULE_FIRES {
    CONDITION :=
        FOR_ALL i: w_i=0

    REQUIRE :=
        declared fallback_policy

    POSSIBLE_POLICIES := {
        DefaultOutput,
        PreviousOutput,
        NeutralValue,
        UndefinedOrError
    }
}

RULE_COVERAGE {
    INPUT_DOMAIN
        -> evaluate rule activation
        -> identify regions where all rules have zero firing strength
}

INFERENCE_CONSISTENCY {
    CHECK {
        MembershipDomains,
        OperatorDomains,
        RuleTypes,
        ConsequentTypes,
        AggregationMethod,
        OutputMethod
    }
}

INFERENCE_TRACE {
    RECORD {
        InputValues,
        MembershipDegrees,
        AntecedentDegrees,
        FiringStrengths,
        ActivatedConsequents,
        AggregatedOutput,
        FinalOutput
    }
}

EXPLAINABLE_INFERENCE {
    OUTPUT :=
        conclusion + inference_trace
}

MONOTONICITY_ANALYSIS {
    DETERMINE whether system output preserves expected ordering
    REQUIRE complete membership/rule/operator specification
}

SENSITIVITY_ANALYSIS {
    PERTURB input_or_parameters
    RECOMPUTE inference
    MEASURE output_change
}

PARAMETER_DEPENDENCE {
    MembershipFunctionParameters
        -> MembershipDegrees
        -> FiringStrengths
        -> Output

    RuleWeights
        -> AdjustedFiringStrengths
        -> Output
}

FUZZY_INFERENCE_VS_CLASSICAL {
    CLASSICAL :=
        rules typically fire under binary truth conditions

    FUZZY :=
        multiple rules may activate simultaneously to different degrees
}

FUZZY_INFERENCE_VS_PROBABILITY {
    FiringStrength != Probability
    MembershipDegree != Probability

    REQUIRE hybrid semantics if probabilistic interpretation intended
}

TYPE_2_FUZZY_INFERENCE {
    INPUT :=
        Type2MembershipFunctions

    PROCESS :=
        Type2RuleEvaluation
        -> TypeReduction
        -> Defuzzification
}

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

INTERVAL_TYPE_2_INFERENCE {
    MEMBERSHIP :=
        interval-valued primary membership

    OUTPUT :=
        type_reduced_interval_or_set
        before crisp conversion
}

HIERARCHICAL_FUZZY_INFERENCE {
    MULTIPLE fuzzy_subsystems
        -> intermediate_outputs
        -> higher_level_inference

    REQUIRE explicit dependency structure
}

ADAPTIVE_FUZZY_INFERENCE {
    PARAMETERS :=
        learned_or_adjusted_from_data

    REQUIRE :=
        training objective,
        constraints,
        validation
}

NEURO_FUZZY_RELATIONSHIP {
    FuzzyInference --may_combine_with--> NeuralLearning
    PURPOSE :=
        learn membership or rule parameters while retaining fuzzy inference structure
}

CONTROL_APPLICATION {
    Sensors
        -> FuzzyInferenceSystem
        -> ControlDecision
        -> ActuatorCommand
}

CLASSIFICATION_APPLICATION {
    Features
        -> Fuzzification
        -> RuleInference
        -> ClassDegreesOrDecision
}

DECISION_SUPPORT_APPLICATION {
    Criteria
        -> FuzzyEvaluation
        -> RuleAggregation
        -> DecisionOutput
}

APPLICATION_RELATIONSHIPS {
    FuzzyInference --supports--> FuzzyControl
    FuzzyInference --supports--> ExpertSystems
    FuzzyInference --supports--> DecisionSupport
    FuzzyInference --supports--> Classification
    FuzzyInference --supports--> Robotics
    FuzzyInference --supports--> ArtificialIntelligence
    FuzzyInference --supports--> ApproximateReasoning
    FuzzyInference --supports--> PatternRecognition
    FuzzyInference --supports--> DataFusion
}

ONTOLOGY_LINKS {
    PARENT := FuzzyLogicOntology

    RELATED := {
        FuzzyLogicOntology,
        FuzzyRuleOntology,
        FuzzySetOntology,
        MembershipFunctionOntology,
        DegreeOfTruthOntology,
        TNormOntology,
        TConormOntology,
        FuzzyImplicationOntology,
        DefuzzificationOntology,
        ApproximateReasoningOntology,
        Type2FuzzySetOntology
    }
}

SEMANTIC_EQUIVALENCE {
    FuzzyInference ≈ FuzzyReasoning
    FuzzyInferenceSystem ≈ FIS
    RuleFiringStrength ≈ AntecedentActivationDegree
        WHEN no additional weighting applied
    MamdaniInference ≈ FuzzyConsequentInference
        WHEN standard Mamdani architecture selected
}

CONSTRAINTS {
    C1 := all membership and firing degrees MUST remain in declared domains
    C2 := selected t-norm/t-conorm/negation MUST be declared where results depend on them
    C3 := implication semantics MUST be declared
    C4 := aggregation method MUST be declared
    C5 := Mamdani, Sugeno and Tsukamoto semantics MUST remain distinct
    C6 := defuzzification MUST be specified for crisp Mamdani output
    C7 := no-rule-fire behaviour MUST be explicitly handled
    C8 := firing strengths MUST NOT automatically be interpreted as probabilities
    C9 := Type-2 inference MUST perform appropriate type reduction before crisp defuzzification
    C10 := learned parameters MUST preserve membership and inference constraints
    C11 := inference traces MUST reflect actual operator sequence
    C12 := transformations MUST preserve selected fuzzy inference semantics
}

REASONING_CHAIN Query Q {
    IDENTIFY inference_method
    IDENTIFY crisp_or_fuzzy_inputs
    IDENTIFY membership_functions
    IDENTIFY fuzzy_rule_base
    IDENTIFY logical_operators
    IDENTIFY implication_method
    IDENTIFY aggregation_method
    IDENTIFY output_method

    IF crisp_inputs
        THEN FUZZIFICATION

    FOR_EACH rule {
        EVALUATE antecedent
        COMPUTE firing_strength
        APPLY optional rule_weight
    }

    IF Mamdani {
        ACTIVATE fuzzy_consequents
        AGGREGATE fuzzy_outputs
        IF crisp_output_requested
            THEN DEFUZZIFY
    }

    IF Sugeno {
        EVALUATE consequent_functions
        COMPUTE weighted_output
    }

    IF Tsukamoto {
        INVERT monotonic_consequents
        COMPUTE weighted_output
    }

    IF Type2 {
        EVALUATE type2_rules
        APPLY type_reduction
        IF crisp_output_requested
            THEN DEFUZZIFY
    }

    IF no_rule_fires
        THEN APPLY declared_fallback

    BUILD inference_trace
    VALIDATE constraints
    RETURN output WITH derivation
}

CONFIDENCE {
    CORE_FUZZY_INFERENCE_DEFINITION := 1.00
    MAMDANI_ARCHITECTURE := 1.00
    SUGENO_ARCHITECTURE := 1.00
    TSUKAMOTO_CORE := 0.99
    COMPOSITIONAL_INFERENCE := 0.99
    TYPE2_PIPELINE := 0.99

    COMPUTED_OUTPUT :=
        IF complete_rules_memberships_operators_and_output_method THEN 1.00
        ELSE REQUIRE missing_information
}

UPDATE_MODEL {
    IMMUTABLE_CORE := {
        Fuzzification,
        GradedRuleActivation,
        ConsequentInference,
        Aggregation,
        OutputProcessing
    }

    EXTENSIBLE := {
        InferenceArchitectures,
        ImplicationOperators,
        AggregationMethods,
        DefuzzificationMethods,
        Type2Inference,
        AdaptiveInference,
        NeuroFuzzyMethods,
        ApplicationDomains,
        RelatedOntologies
    }

    ON_NEW_KNOWLEDGE {
        IDENTIFY inference_architecture
        VALIDATE membership_domains
        VALIDATE operators
        VALIDATE rule_semantics
        VALIDATE aggregation
        VALIDATE output_processing
        CHECK semantic_consistency
        ADD relationship IF non_contradictory
        UPDATE confidence
    }
}

AI_CONSUMPTION {
    MACHINE_READABLE := TRUE
    HUMAN_INTERPRETABLE := TRUE
    RECURSIVE_REASONING := TRUE
    ENTITY_RESOLUTION := TRUE
    RULE_RESOLUTION := TRUE
    SYMBOL_RESOLUTION := TRUE
    RELATIONSHIP_TRAVERSAL := TRUE
    FUZZIFICATION_REASONING := TRUE
    RULE_FIRING_REASONING := TRUE
    MAMDANI_REASONING := TRUE
    SUGENO_REASONING := TRUE
    TSUKAMOTO_REASONING := TRUE
    TYPE2_REASONING := TRUE
    DEFUZZIFICATION_REASONING := TRUE
    INFERENCE_TRACE_GENERATION := TRUE
    VALIDATION_REQUIRED := TRUE
}

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

OUTPUT {
    PRIMARY_ENTITY := FuzzyInference
    INTERPRETATION :=
        "Fuzzy inference transforms crisp or fuzzy inputs into graded or crisp conclusions by fuzzifying inputs, evaluating fuzzy rule antecedents, activating consequents and combining rule outputs according to an explicitly selected inference architecture. Mamdani, Sugeno, Tsukamoto and Type-2 systems use distinct consequent and output-processing semantics that must remain explicit throughout reasoning."
}

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