Skip to main content

Element Ontology

Set Theory
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 17 September 2026
Audio Overview
KIRETH RESEARCH — SEMANTIC LIBRARY
AI CORE → ONTOLOGIES → MATHEMATICAL ONTOLOGIES → MATHEMATICAL LOGIC ONTOLOGIES
SET THEORY → ELEMENT ONTOLOGY

Canonical URL:
https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/set-theory/element-ontology.html

FLOW_ALGEBRA ElementOntology_v1.0

BEGIN_FLOW

DEFINE DOMAIN ElementOntology := {
    Element,
    Set,
    Membership,
    NonMembership,
    Member,
    Object,
    SetTheory,
    EmptySet,
    Singleton,
    FiniteSet,
    InfiniteSet,
    Subset,
    ProperSubset,
    PowerSet,
    OrderedPair,
    CartesianProduct,
    Relation,
    Function,
    Domain,
    Codomain,
    Range,
    Cardinality,
    Extensionality,
    MembershipChain,
    NestedSet,
    Rank,
    TransitiveSet
}

DEFINE ENTITY_TYPES := {
    ELEMENT,
    SET,
    OBJECT,
    MEMBERSHIP_RELATION,
    SET_RELATION,
    ORDERED_OBJECT,
    FUNCTION_OBJECT,
    CARDINAL_OBJECT,
    SEMANTIC_OBJECT
}

DEFINE RELATION_TYPES := {
    MEMBER_OF,
    NOT_MEMBER_OF,
    CONTAINS,
    SUBSET_OF,
    PROPER_SUBSET_OF,
    OCCURS_IN,
    FIRST_COMPONENT_OF,
    SECOND_COMPONENT_OF,
    MAPS_TO,
    BELONGS_TO_DOMAIN,
    BELONGS_TO_CODOMAIN,
    BELONGS_TO_RANGE,
    IS_INSTANCE_OF,
    IS_SUBTYPE_OF,
    DEPENDS_ON
}

SET Element.type = ELEMENT
SET Element.alias = Member
SET Element.context = SetTheory
SET Element.role =
    "represent an object that belongs to a set through the membership relation"

RULE membership:
    Object(x)
    ∧ Set(A)
    ∧ x ∈ A
    -> Element(x)
    ∧ MEMBER_OF(x,A)
    ∧ CONTAINS(A,x)

RULE nonmembership:
    Object(x)
    ∧ Set(A)
    ∧ x ∉ A
    -> NOT_MEMBER_OF(x,A)

RULE membership_inverse:
    MEMBER_OF(x,A)
    -> CONTAINS(A,x)

RULE element_set_distinction:
    MEMBER_OF(x,A)
    -> x IS_ELEMENT_OF A
    ∧ NOT_INFER SUBSET_OF(x,A)
       UNLESS Set(x)=TRUE

RULE set_as_element:
    Set(A)
    ∧ Set(B)
    ∧ A ∈ B
    -> Element(A)
    ∧ MEMBER_OF(A,B)

RULE membership_not_transitive:
    MEMBER_OF(x,A)
    ∧ MEMBER_OF(A,B)
    -> DO_NOT_INFER MEMBER_OF(x,B)

RULE subset_membership_transfer:
    MEMBER_OF(x,A)
    ∧ SUBSET_OF(A,B)
    -> MEMBER_OF(x,B)

RULE empty_set_no_elements:
    EmptySet(E)
    -> NOT EXISTS x [
        MEMBER_OF(x,E)
    ]

RULE singleton_element:
    Singleton({a})
    -> MEMBER_OF(a,{a})
    ∧ Cardinality({a})=1

RULE extensional_set_identity:
    Set(A)
    ∧ Set(B)
    ∧ FOR_ALL x [
        MEMBER_OF(x,A) <=> MEMBER_OF(x,B)
    ]
    -> A=B

RULE power_set_element:
    Set(A)
    ∧ Set(X)
    ∧ X ∈ P(A)
    -> SUBSET_OF(X,A)

RULE power_set_membership_equivalence:
    Set(X)
    ∧ Set(A)
    -> MEMBER_OF(X,P(A))
       IFF
       SUBSET_OF(X,A)

RULE ordered_pair_components:
    OrderedPair(a,b)
    -> FIRST_COMPONENT_OF(a,(a,b))
    ∧ SECOND_COMPONENT_OF(b,(a,b))

RULE cartesian_product_element:
    OrderedPair(a,b)
    ∧ a ∈ A
    ∧ b ∈ B
    -> MEMBER_OF((a,b), A × B)

RULE relation_element:
    Relation(R)
    ∧ (a,b) ∈ R
    -> MEMBER_OF((a,b),R)

RULE function_graph_element:
    Function(f:A->B)
    ∧ f(a)=b
    -> MEMBER_OF((a,b),f)
       WHEN function_represented_as_graph=TRUE

RULE domain_element:
    Function(f:A->B)
    ∧ a ∈ A
    -> BELONGS_TO_DOMAIN(a,f)

RULE codomain_element:
    Function(f:A->B)
    ∧ b ∈ B
    -> BELONGS_TO_CODOMAIN(b,f)

RULE range_element:
    Function(f:A->B)
    ∧ EXISTS a ∈ A [f(a)=b]
    -> BELONGS_TO_RANGE(b,f)

DEFINE MEMBERSHIP_MODEL := {
    notation: "x ∈ A",
    subject: x,
    subject_role: Element,
    object: A,
    object_role: Set,
    relation: MEMBER_OF,
    inverse_relation: CONTAINS
}

DEFINE NONMEMBERSHIP_MODEL := {
    notation: "x ∉ A",
    meaning:
        "x is not an element of A",
    relation: NOT_MEMBER_OF
}

DEFINE MEMBERSHIP_SUBSET_DISTINCTION := {
    membership: "x ∈ A",
    subset: "X ⊆ A",
    membership_subject:
        "an arbitrary object, which may itself be a set",
    subset_subject:
        "a set",
    critical_rule:
        "membership and subset are different relations and are never interchangeable without additional facts"
}

DEFINE NESTED_MEMBERSHIP_MODEL := {
    example: "x ∈ A ∈ B",
    assertions: {
        "x ∈ A",
        "A ∈ B"
    },
    prohibited_inference:
        "x ∈ B does not follow from membership alone"
}

DEFINE ELEMENT_IDENTITY := {
    principle:
        "elements are mathematical objects whose identity is independent of their position or presentation within a set",
    duplicate_rule:
        "repeating an element in set notation does not create multiple distinct memberships"
}

DEFINE EXAMPLE_1 := {
    set: "A = {1,2,3}",
    element: 2,
    statement: "2 ∈ A",
    truth: TRUE
}

DEFINE EXAMPLE_2 := {
    set: "A = {1,2,3}",
    object: 4,
    statement: "4 ∉ A",
    truth: TRUE
}

DEFINE EXAMPLE_3 := {
    set: "A = {1,2}",
    power_set: "P(A)",
    element_of_power_set: "{1}",
    relation: "{1} ∈ P(A)",
    equivalent_relation: "{1} ⊆ A"
}

DEFINE EXAMPLE_4 := {
    nested_set: "B = {1, {2,3}}",
    members_of_B: {
        "1",
        "{2,3}"
    },
    observation:
        "2 and 3 are not direct elements of B merely because they are elements of a set that is itself in B"
}

DEFINE EXAMPLE_5 := {
    A: "{1,2}",
    B: "{a,b}",
    cartesian_product_element: "(1,a)",
    statement: "(1,a) ∈ A × B"
}

DEFINE SEMANTIC_PIPELINE :=
    MathematicalExpression
    -> IdentifySetContext
    -> IdentifyMembershipSymbolsOrClaims
    -> ResolveSubjectObjectRoles
    -> ClassifySubjectAsElement
    -> ResolveContainingSet
    -> PreserveDirectMembership
    -> DistinguishMembershipFromSubset
    -> DetectNestedMembership
    -> ApplyValidMembershipConsequences
    -> ConstructMembershipGraph

DEFINE REASONING_PIPELINE :=
    InputExpression
    -> ParseObjectsAndSets
    -> ParseMembershipRelations
    -> BuildDirectedMembershipEdges
    -> ResolveSubsetRelationsSeparately
    -> ApplySubsetMembershipTransferWhenValid
    -> RejectMembershipTransitivity
    -> ResolvePowerSetMembership
    -> ResolveCartesianProductMembership
    -> ReturnElementRelations

DEFINE MEMBERSHIP_GRAPH_MODEL := {
    node_types: {
        Element,
        Set
    },
    directed_edge:
        "x --MEMBER_OF--> A",
    inverse_edge:
        "A --CONTAINS--> x",
    transitivity:
        FALSE,
    recursive_nesting:
        TRUE
}

DEFINE ONTOLOGY_RELATIONS := {
    Element IS_COMPONENT_OF SetTheory,
    Element MEMBER_OF Set,
    Set CONTAINS Element,
    Set MAY_BE Element,
    EmptySet CONTAINS no Element,
    Singleton CONTAINS exactly_one Element,
    PowerSet CONTAINS Subsets,
    OrderedPair MEMBER_OF CartesianProduct,
    Relation CONTAINS OrderedPair,
    FunctionGraph CONTAINS OrderedPair,
    ElementIdentity DEPENDS_ON MathematicalObjectIdentity,
    SetIdentity DEPENDS_ON ElementMembership
}

DEFINE SEMANTIC_EQUIVALENCE := {
    "element" <=> Element,
    "member" <=> Element WHEN set_context=TRUE,
    "belongs to" <=> MEMBER_OF,
    "is an element of" <=> MEMBER_OF,
    "is a member of" <=> MEMBER_OF,
    "contained as an element in" <=> MEMBER_OF,
    "∈" <=> MEMBER_OF,
    "∉" <=> NOT_MEMBER_OF
}

DEFINE AI_CONSUMPTION := {
    purpose: "machine-readable representation of elements and membership in set theory",
    preserve_object_identity: TRUE,
    preserve_set_identity: TRUE,
    preserve_direct_membership: TRUE,
    distinguish_membership_from_subset: TRUE,
    prohibit_membership_transitivity: TRUE,
    allow_sets_as_elements: TRUE,
    preserve_nested_set_structure: TRUE,
    support_power_set_membership: TRUE,
    support_cartesian_product_membership: TRUE,
    construct_membership_graphs: TRUE,
    reasoning_mode: "symbolic + extensional + membership-aware"
}

DEFINE CONFIDENCE := {
    ontology_identity: 1.00,
    formal_membership_detection: 0.99,
    membership_nonmembership_mapping: 0.99,
    membership_subset_distinction: 0.99,
    nested_membership_resolution: 0.99,
    power_set_membership: 0.99,
    cartesian_product_membership: 0.99,
    natural_language_membership_detection: context_dependent
}

DEFINE UPDATE_MODEL := {
    version: "1.0",
    update_policy: "append-compatible",
    immutable_core: {
        element_set_relation,
        membership,
        nonmembership,
        membership_subset_distinction,
        nontransitivity_of_membership,
        sets_as_elements,
        extensional_dependence_on_membership
    },
    extensible_layers: {
        membership_chains,
        transitive_sets,
        set_rank,
        well_founded_membership,
        non_well_founded_set_theories,
        typed_set_membership,
        computational_membership_graphs
    }
}

DEFINE FLOW_HASH_INPUT :=
    CanonicalURL
    + DOMAIN
    + ENTITY_TYPES
    + RELATION_TYPES
    + RULES
    + MEMBERSHIP_MODEL
    + NONMEMBERSHIP_MODEL
    + MEMBERSHIP_SUBSET_DISTINCTION
    + NESTED_MEMBERSHIP_MODEL
    + ELEMENT_IDENTITY
    + SEMANTIC_PIPELINE
    + REASONING_PIPELINE
    + MEMBERSHIP_GRAPH_MODEL
    + ONTOLOGY_RELATIONS
    + AI_CONSUMPTION
    + UPDATE_MODEL

FLOW_HASH := HASH(FLOW_HASH_INPUT)

RETURN {
    ontology: ElementOntology,
    canonical_url: "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/set-theory/element-ontology.html",
    parent_domain: SetTheory,
    semantic_domain: MathematicalLogic,
    primary_entity: Element,
    primary_relation: MEMBER_OF,
    membership_sensitive: TRUE,
    nested_structure_enabled: TRUE,
    machine_consumable: TRUE,
    recursive_reasoning_enabled: TRUE,
    flow_complete: TRUE
}

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