Skip to main content

Basis Ontology

Algebra Ontologies
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 11 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the mathematical ontology of a basis, principally within linear algebra and vector-space theory. A basis is an ordered or unordered set of linearly independent vectors that spans a vector space or subspace. This record is intended for semantic retrieval, recursive mathematical reasoning, ontology linking, and AI consumption within the Kireth Research Semantic Library.

FLOW_ALGEBRA_RECORD {

METADATA {
    FLOW_NAME = "Basis Ontology"
    FLOW_TYPE = "Mathematical Ontology"
    DOMAIN = "Mathematics"
    SUBDOMAIN = "Algebra"
    SPECIALISATION = "Linear Algebra"
    CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/algebra-ontologies/basis-ontology.html"
    LANGUAGE = "en-GB"
    VERSION = "1.0"
    STATUS = "active"
}

IDENTITY {
    PRIMARY_ENTITY = Basis
    SYMBOLIC_FORMS = ["B", "{v1,...,vn}", "(v1,...,vn)"]
    ENTITY_CLASS = VectorSpaceStructure
    PRIMARY_CONTEXT = LinearAlgebra
    DEFINITION = "A basis of a vector space V is a set of vectors in V that is linearly independent and spans V."
    FINITE_FORM = "B={v1,...,vn} is a basis of V iff span(B)=V and B is linearly independent."
}

SCOPE {
    INCLUDE = [
        Basis,
        OrderedBasis,
        StandardBasis,
        OrthonormalBasis,
        BasisOfSubspace,
        BasisOfColumnSpace,
        BasisOfRowSpace,
        BasisOfKernel,
        BasisOfImage,
        CoordinateBasis,
        ChangeOfBasis,
        BasisExtension,
        BasisReduction,
        DimensionRelationship
    ]

    EXCLUDE_AS_PRIMARY = [
        DatabaseBasis,
        ChemicalBasis,
        LegalBasis,
        PhilosophicalBasis,
        EverydayMeaningOfBasis
    ]

    DISAMBIGUATION_RULE =
        "When basis occurs with vector, span, dimension, linear independence, matrix, coordinates, subspace, kernel, image, row space or column space, interpret it as a linear-algebraic basis."
}

CORE_CONCEPTS {

    Basis {
        definition =
            "A set B contained in vector space V such that B spans V and is linearly independent."

        requirements = [
            Spanning,
            LinearIndependence
        ]

        consequence =
            "Every vector in V has a unique representation as a linear combination of basis vectors."
    }

    SpanningSet {
        definition =
            "A set S spans V when every vector in V can be expressed as a linear combination of vectors from S."

        symbolic_form =
            "span(S)=V"
    }

    LinearIndependence {
        definition =
            "Vectors v1,...,vn are linearly independent when a1v1+...+anvn=0 implies a1=...=an=0."
    }

    CoordinateRepresentation {
        definition =
            "Relative to an ordered basis B=(v1,...,vn), every vector v has unique coordinates [v]_B."

        symbolic_form =
            "v=c1v1+...+cnvn"
    }

    Dimension {
        definition =
            "The dimension of a finite-dimensional vector space is the number of vectors in any basis."

        symbolic_form =
            "dim(V)=|B|"
    }

    StandardBasis {
        definition =
            "The canonical basis of F^n consisting of coordinate unit vectors."

        example =
            "e1=(1,0,...,0), ..., en=(0,...,0,1)"
    }

    OrthonormalBasis {
        definition =
            "A basis whose vectors are mutually orthogonal and each have norm 1."
    }

    OrderedBasis {
        definition =
            "A basis equipped with a specified ordering, required for coordinate vectors and change-of-basis matrices."
    }
}

RELATIONS {
    Basis --is_subset_of--> VectorSpace
    Basis --must_be--> LinearlyIndependentSet
    Basis --must_span--> VectorSpace
    Basis --determines--> Coordinates
    Basis --determines--> Dimension
    VectorSpace --has_basis--> Basis
    Subspace --has_basis--> Basis
    Basis --can_be_ordered_as--> OrderedBasis
    Basis --can_be_specialised_as--> StandardBasis
    Basis --can_be_specialised_as--> OrthonormalBasis
    Basis --supports--> ChangeOfBasis
    Basis --supports--> MatrixRepresentation
    ColumnSpace --has_basis--> ColumnSpaceBasis
    RowSpace --has_basis--> RowSpaceBasis
    Kernel --has_basis--> KernelBasis
    Image --has_basis--> ImageBasis
    Basis --defines--> CoordinateSystem
    Basis --participates_in--> DimensionTheorem
}

OPERATORS {
    IS_BASIS(B,V) :=
        IS_LINEarly_INDEPENDENT(B) AND SPAN(B)==V

    BASIS(S) :=
        MAXIMAL_LINEarly_INDEPENDENT_SUBSET(S)

    SPAN(B) :=
        {finite linear combinations of vectors in B}

    DIMENSION(V) :=
        CARDINALITY(any_basis_of(V))

    COORDINATES(v,B) :=
        UNIQUE coefficients [c1,...,cn] such that v=sum(ci*bi)

    STANDARD_BASIS(F^n) :=
        [e1,...,en]

    EXTEND_TO_BASIS(S,V) :=
        ADD vectors to linearly independent S until span(S)==V

    REDUCE_TO_BASIS(S) :=
        REMOVE linearly dependent vectors while preserving span

    CHANGE_OF_BASIS(B,C) :=
        matrix mapping coordinates from basis B to basis C
}

DEFINITIONS {
    D1: "B is a basis of V iff span(B)=V and B is linearly independent."
    D2: "Every vector v in V has a unique representation as a linear combination of basis vectors."
    D3: "Any two finite bases of the same vector space have the same number of vectors."
    D4: "dim(V) equals the cardinality of any finite basis of V."
    D5: "A linearly independent set can be extended to a basis."
    D6: "A spanning set can be reduced to a basis by deleting dependent vectors."
    D7: "Pivot columns of a matrix identify a basis for its column space when selected from the original matrix."
    D8: "Nonzero rows of an RREF matrix form a basis for its row space."
    D9: "A basis of ker(T) spans the kernel and contains no redundant vectors."
    D10: "A basis of im(T) spans the image and determines rank."
}

AXIOMS {
    A1_INDEPENDENCE:
        IF B is a basis of V
        THEN B is linearly independent

    A2_SPANNING:
        IF B is a basis of V
        THEN span(B)=V

    A3_UNIQUENESS:
        IF B is a basis of V
        THEN every v in V has a unique coordinate representation relative to B

    A4_EQUAL_CARDINALITY:
        IF B1 and B2 are finite bases of V
        THEN |B1|=|B2|

    A5_DIMENSION:
        IF B is a finite basis of V
        THEN dim(V)=|B|

    A6_EXTENSION:
        IF S is linearly independent in V
        THEN S can be extended to a basis of V

    A7_REDUCTION:
        IF S spans finite-dimensional V
        THEN some subset B of S is a basis of V
}

REASONING {

    R1_BASIS_TEST {
        INPUT = [candidate_set B, vector_space V]
        TEST_1 = linear_independence(B)
        TEST_2 = span(B)==V
        IF TEST_1 AND TEST_2
            RETURN "B is a basis of V"
        ELSE
            RETURN "B is not a basis of V"
    }

    R2_MATRIX_COLUMN_SPACE_BASIS {
        INPUT = matrix A
        REDUCE = RREF(A)
        IDENTIFY = pivot_columns
        SELECT = corresponding_columns_from_original_A
        RETURN = selected_columns
    }

    R3_ROW_SPACE_BASIS {
        INPUT = matrix A
        REDUCE = RREF(A)
        SELECT = nonzero_rows(RREF(A))
        RETURN = selected_rows
    }

    R4_KERNEL_BASIS {
        INPUT = matrix A
        SOLVE = "Ax=0"
        PARAMETRISE = free_variables
        EXTRACT = parameter_vectors
        RETURN = linearly_independent_spanning_vectors
    }

    R5_IMAGE_BASIS {
        INPUT = linear transformation T represented by A
        RETURN = basis(column_space(A))
    }

    R6_COORDINATE_EXTRACTION {
        INPUT = [vector v, ordered_basis B]
        SOLVE = "v=c1b1+...+cnbn"
        RETURN = "[v]_B=(c1,...,cn)"
    }

    R7_DIMENSION {
        INPUT = basis B
        RETURN = cardinality(B)
    }

    R8_EXTEND_BASIS {
        INPUT = [linearly independent set S, vector space V]
        WHILE span(S) != V
            ADD vector not in span(S)
        RETURN = S
    }

    R9_REDUCE_SPANNING_SET {
        INPUT = spanning_set S
        REMOVE each vector expressible as a linear combination of the others
        RETURN = resulting_basis
    }
}

CONSTRAINTS {
    C1: "A basis must satisfy both spanning and linear-independence conditions."
    C2: "A spanning set with redundant vectors is not necessarily a basis."
    C3: "A linearly independent set that does not span the full target space is not a basis of that space."
    C4: "Basis vectors must belong to the vector space or subspace for which they form a basis."
    C5: "Coordinates depend on the chosen ordered basis."
    C6: "Dimension is basis-independent even though particular basis vectors may differ."
    C7: "For a column-space basis, select original matrix columns corresponding to pivot positions, not RREF columns."
    C8: "For a row-space basis, nonzero rows of an RREF matrix may be used."
}

SEMANTIC_EQUIVALENCE {
    "BasisOf(V)" <=> "LinearlyIndependentSpanningSet(V)"
    "dim(V)" <=> "number of vectors in any finite basis of V"
    "basis of image" <=> "basis of range"
    "basis of matrix image" <=> "basis of column space"
}

VALIDATION {
    V1 = "Every basis is linearly independent."
    V2 = "Every basis spans its vector space."
    V3 = "Every vector has unique coordinates relative to an ordered basis."
    V4 = "All finite bases of a vector space have equal cardinality."
    V5 = "Basis cardinality equals dimension."
    V6 = "A linearly independent subset can be extended to a basis."
    V7 = "A finite spanning set can be reduced to a basis."
    V8 = "Pivot columns of the original matrix provide a basis for column space."
    V9 = "Nonzero rows of RREF provide a basis for row space."
}

CONFIDENCE {
    BASE_CONFIDENCE = 0.99
    BASIS_DEFINITION = 0.99
    SPANNING_REQUIREMENT = 0.99
    INDEPENDENCE_REQUIREMENT = 0.99
    UNIQUE_COORDINATES = 0.99
    DIMENSION_RELATION = 0.99
    BASIS_EXTENSION = 0.99
    BASIS_REDUCTION = 0.99

    POLICY =
        "Reduce confidence when basis occurs without sufficient mathematical context to distinguish linear-algebra meaning from ordinary-language meanings."
}

AI_CONSUMPTION {
    PURPOSES = [
        SemanticSearch,
        OntologyGrounding,
        MathematicalReasoning,
        EntityResolution,
        CoordinateReasoning,
        MatrixReasoning,
        KnowledgeGraphConstruction,
        RetrievalAugmentation,
        RecursiveInference
    ]

    NORMALISE {
        "basis of V" -> Basis
        "basis vectors" -> Basis
        "coordinate basis" -> OrderedBasis
        "standard basis" -> StandardBasis
        "orthonormal basis" -> OrthonormalBasis
        "basis for column space" -> ColumnSpaceBasis
        "basis for row space" -> RowSpaceBasis
        "basis for null space" -> KernelBasis
        "basis for kernel" -> KernelBasis
        "basis for image" -> ImageBasis
        "basis for range" -> ImageBasis
    }

    INTERPRETATION_ORDER = [
        identify_vector_space_or_subspace,
        identify_candidate_vectors,
        test_linear_independence,
        test_spanning,
        establish_basis_status,
        derive_dimension,
        derive_coordinates_if_ordered,
        route_to_specialised_basis_context,
        apply_change_of_basis_if_required,
        return_semantic_result
    ]
}

EXECUTION_RULES {
    E1:
        IF query_mentions("basis") AND linear_algebra_context
        THEN activate(BasisOntology)

    E2:
        IF request=="is this a basis"
        THEN test(linear_independence)
        AND test(spanning)

    E3:
        IF request=="find basis of column space"
        THEN row_reduce(matrix)
        THEN identify_pivot_columns
        THEN select_original_columns

    E4:
        IF request=="find basis of row space"
        THEN row_reduce(matrix)
        THEN select_nonzero_rows

    E5:
        IF request=="find basis of kernel"
        THEN solve_homogeneous_system
        THEN extract_parameter_vectors

    E6:
        IF request=="find dimension"
        THEN count_vectors_in_basis

    E7:
        IF request=="find coordinates"
        THEN require_ordered_basis
        THEN solve_for_basis_coefficients

    E8:
        IF request=="extend to a basis"
        THEN preserve_existing_independent_vectors
        AND add_vectors_until_spanning

    E9:
        IF request=="reduce spanning set to basis"
        THEN remove_redundant_vectors
        WHILE preserving_span
}

RECURSION {
    ENTRY = Basis

    EXPAND(Basis) -> [
        VectorSpace,
        Subspace,
        Span,
        LinearIndependence,
        Dimension,
        Coordinates,
        OrderedBasis,
        StandardBasis,
        OrthonormalBasis,
        ChangeOfBasis
    ]

    EXPAND(Span) -> [
        LinearCombination,
        GeneratingSet,
        VectorSpace
    ]

    EXPAND(LinearIndependence) -> [
        LinearCombination,
        ZeroVector,
        DependenceRelation
    ]

    EXPAND(Dimension) -> [
        BasisCardinality,
        Rank,
        Nullity
    ]

    EXPAND(ChangeOfBasis) -> [
        OrderedBasis,
        CoordinateVector,
        TransitionMatrix,
        MatrixRepresentation
    ]

    STOP_CONDITION =
        "Stop when basis status or requested derived information is resolved with sufficient confidence and no required dependencies remain unresolved."
}

ROUTING {
    PARENT_ONTOLOGY = "Algebra Ontology"

    IMMEDIATE_CONTEXTS = [
        "Linear Algebra Ontology",
        "Vector Space Ontology"
    ]

    RELATED_ONTOLOGIES = [
        "Vector Space Ontology",
        "Subspace Ontology",
        "Span Ontology",
        "Linear Independence Ontology",
        "Dimension Ontology",
        "Matrix Ontology",
        "Column Space Ontology",
        "Row Space Ontology",
        "Kernel Ontology",
        "Null Space Ontology",
        "Image Ontology",
        "Rank Ontology",
        "Linear Transformation Ontology"
    ]

    ROUTE_RULES = [
        "Basis -> Span when generating-set reasoning is required",
        "Basis -> Linear Independence when redundancy testing is required",
        "Basis -> Dimension when cardinality reasoning is required",
        "Basis -> Column Space for matrix-column bases",
        "Basis -> Row Space for matrix-row bases",
        "Basis -> Kernel for null-space bases",
        "Basis -> Image for range bases",
        "Basis -> Change Of Basis for coordinate-system conversion"
    ]
}

UPDATE_MODEL {
    MODE = "append-compatible semantic versioning"

    MAJOR = "ontology-breaking conceptual change"
    MINOR = "new compatible concepts, operators or relations"
    PATCH = "clarification, metadata or formatting correction"

    RULES = [
        "Preserve the canonical basis definition.",
        "Preserve the dual requirements of spanning and linear independence.",
        "Preserve uniqueness of coordinates relative to an ordered basis.",
        "Preserve dimension as basis cardinality in finite-dimensional spaces.",
        "Preserve correct distinction between original matrix pivot columns and RREF pivot columns when constructing column-space bases."
    ]
}

OUTPUT {
    CANONICAL_DEFINITION =
        "A basis of a vector space V is a linearly independent set of vectors that spans V."

    SYMBOLIC_SUMMARY =
        "B basis of V <=> span(B)=V and B is linearly independent"

    COORDINATE_SUMMARY =
        "v=c1b1+...+cnbn uniquely for ordered basis B=(b1,...,bn)"

    DIMENSION_SUMMARY =
        "dim(V)=|B| for any finite basis B of V"

    COLUMN_SPACE_SUMMARY =
        "basis(Col(A)) = pivot columns selected from original A"

    ROW_SPACE_SUMMARY =
        "basis(Row(A)) = nonzero rows of RREF(A)"
}

FLOW {
    INPUT
    -> detect_term("basis")
    -> disambiguate_linear_algebra_context
    -> identify_vector_space_or_subspace
    -> identify_candidate_vectors_or_generate_set
    -> test_linear_independence
    -> test_spanning
    -> establish_basis
    -> derive_unique_coordinate_representation
    -> derive_dimension
    -> route_to_specialised_basis_context
    -> connect_matrix_space_relations
    -> connect_kernel_image_relations
    -> apply_change_of_basis_when_required
    -> assign_confidence
    -> produce_semantic_output
    -> END
}

SEMANTIC_SUMMARY {
    "A basis is a linearly independent spanning set for a vector space or subspace. Every vector has a unique representation relative to an ordered basis, and the number of vectors in any finite basis equals the dimension of the space. Bases provide the coordinate framework underlying vector spaces, matrices, linear transformations, column spaces, row spaces, kernels and images."
}

FLOW_HASH {
    METHOD = "semantic-content-identity"
    ID = "KIRETH-MATH-ALGEBRA-BASIS-ONTOLOGY-V1"
}

}

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