AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
AI INTERPRETATION NOTE
This Flow Algebra defines the mathematical ontology of factorisation within algebra. Factorisation rewrites an algebraic expression as a product of simpler factors while preserving equivalence. It is central to polynomial algebra, equation solving, simplification, roots, divisibility and symbolic manipulation. This record is designed for semantic retrieval, recursive mathematical reasoning, ontology linking, knowledge-graph construction and AI consumption within the Kireth Research Semantic Library.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Factorisation Ontology"
FLOW_TYPE = "Mathematical Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Algebra"
SPECIALISATION = "Symbolic Algebra / Polynomial Algebra"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/algebra-ontologies/factorisation-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = Factorisation
SYMBOLIC_FORMS = ["P(x)=F1(x)F2(x)...Fn(x)", "a(b+c)", "(x-r1)(x-r2)"]
ENTITY_CLASS = AlgebraicDecomposition
PRIMARY_CONTEXT = Algebra
DEFINITION = "Factorisation is the process of rewriting an algebraic expression as a product of simpler expressions called factors."
EQUIVALENCE_ROLE = "The factored expression must be algebraically equivalent to the original expression over the stated domain."
}
SCOPE {
INCLUDE = [
Factorisation,
Factor,
CommonFactor,
GreatestCommonFactor,
PolynomialFactorisation,
MonomialFactorisation,
QuadraticFactorisation,
DifferenceOfSquares,
SumOfCubes,
DifferenceOfCubes,
Grouping,
Roots,
Zeros,
Divisibility,
Irreducibility,
ExpansionInverseRelation
]
EXCLUDE_AS_PRIMARY = [
IntegerPrimeFactorisationWithoutAlgebraicContext,
MatrixFactorisation,
NumericalDecomposition,
StatisticalFactorAnalysis
]
DISAMBIGUATION_RULE =
"When factorisation occurs with algebraic expressions, polynomials, quadratics, roots, factors, expansion or identities, interpret it as symbolic algebraic factorisation."
}
CORE_CONCEPTS {
Factorisation {
definition = "Equivalent rewriting of an expression as a product of factors."
form = "E = F1*F2*...*Fn"
}
Factor {
definition = "An expression which multiplies with other expressions to produce the original expression."
}
CommonFactor {
definition = "A factor shared by every term in an expression."
example = "ab+ac=a(b+c)"
}
GreatestCommonFactor {
definition = "The greatest algebraic factor common to all terms, under the chosen coefficient domain."
}
PolynomialFactorisation {
definition = "Representation of a polynomial as a product of lower-degree polynomial factors when possible."
}
IrreducibleFactor {
definition = "A factor that cannot be decomposed further over the chosen coefficient domain."
}
RootFactorRelation {
definition = "If r is a root of polynomial P(x), then (x-r) is a factor under the factor theorem."
symbolic_form = "P(r)=0 <=> (x-r) divides P(x)"
}
QuadraticFactorisation {
canonical_form = "ax^2+bx+c = a(x-r1)(x-r2) when roots r1,r2 exist in the coefficient domain."
}
Expansion {
relation = "Factorisation and expansion are inverse-style symbolic transformations."
}
}
CANONICAL_PATTERNS {
COMMON_FACTOR = "ab+ac=a(b+c)"
DIFFERENCE_OF_SQUARES = "a^2-b^2=(a-b)(a+b)"
PERFECT_SQUARE_SUM = "a^2+2ab+b^2=(a+b)^2"
PERFECT_SQUARE_DIFFERENCE = "a^2-2ab+b^2=(a-b)^2"
SUM_OF_CUBES = "a^3+b^3=(a+b)(a^2-ab+b^2)"
DIFFERENCE_OF_CUBES = "a^3-b^3=(a-b)(a^2+ab+b^2)"
}
RELATIONS {
Factorisation --rewrites--> AlgebraicExpression
Factorisation --produces--> Factors
Factorisation --preserves--> AlgebraicEquivalence
Factorisation --is_inverse_style_relation_of--> Expansion
PolynomialFactorisation --uses--> FactorTheorem
PolynomialFactorisation --relates_to--> Roots
PolynomialFactorisation --relates_to--> Zeros
Factor --implies--> Divisibility
CommonFactor --can_be_extracted_from--> PolynomialTerms
IrreducibleFactor --depends_on--> CoefficientDomain
Factorisation --supports--> EquationSolving
Factorisation --supports--> Simplification
}
OPERATORS {
FACTOR(E) :=
equivalent_product_form(E)
EXTRACT_COMMON_FACTOR(E) :=
gcd_of_terms(E) * remaining_expression
IS_FACTOR(F,E) :=
EXISTS Q SUCH_THAT E=F*Q
IS_ROOT(r,P) :=
P(r)==0
FACTOR_FROM_ROOT(r,P) :=
(x-r) IF P(r)==0
VERIFY_FACTORIZATION(E,F) :=
EXPAND(F)==EXPAND(E)
FULL_FACTORISATION(P,D) :=
decomposition_into_irreducible_factors_over_domain_D
}
DEFINITIONS {
D1 = "Factorisation rewrites an expression as an equivalent product."
D2 = "A factor divides the original expression exactly in the relevant algebraic setting."
D3 = "Expansion of the factored form must recover the original expression."
D4 = "A common factor may be extracted from every term sharing that factor."
D5 = "P(r)=0 iff (x-r) is a factor of polynomial P(x), under the factor theorem."
D6 = "Irreducibility depends on the coefficient domain."
D7 = "A polynomial may factor over one domain but remain irreducible over another."
D8 = "Factorisation can simplify equation solving by applying the zero-product principle."
}
AXIOMS {
A1_EQUIVALENCE:
IF E factors as F1*...*Fn
THEN E ≡ F1*...*Fn
A2_VERIFICATION:
IF EXPAND(F)==E
THEN F is a valid factorisation of E
A3_FACTOR_THEOREM:
IF P(r)=0
THEN (x-r) divides P(x)
A4_CONVERSE_FACTOR_THEOREM:
IF (x-r) divides P(x)
THEN P(r)=0
A5_ZERO_PRODUCT:
IF F1*F2*...*Fn=0 over an integral-domain style setting
THEN at least one factor equals zero
A6_DOMAIN_DEPENDENCE:
Factorisation status and irreducibility depend on the coefficient domain
}
REASONING {
R1_COMMON_FACTOR {
INPUT = expression E
IDENTIFY = factors_common_to_all_terms
SELECT = greatest_common_factor_when_requested
EXTRACT = common_factor
RETURN = factored_expression
}
R2_PATTERN_MATCH {
INPUT = expression E
TEST = canonical_factorisation_patterns
IF pattern_match
APPLY = corresponding_identity
RETURN = factored_form
}
R3_QUADRATIC {
INPUT = "ax^2+bx+c"
SEEK = factors or roots
IF integer_or_rational_factorisation_exists
RETURN = product_of_linear_factors
ELSE
COMPUTE = discriminant
DETERMINE = coefficient_domain
RETURN = factorisation_status
}
R4_FACTOR_THEOREM {
INPUT = polynomial P and candidate r
COMPUTE = P(r)
IF P(r)==0
RETURN "(x-r) is a factor"
ELSE
RETURN "(x-r) is not a factor"
}
R5_REPEATED_FACTORISATION {
INPUT = polynomial P
FIND = one_nontrivial_factor
DIVIDE = P/factor
RECURSE = factor(quotient)
STOP = irreducible_factors
RETURN = full_factorisation
}
R6_VERIFY {
INPUT = [original E, candidate product F]
EXPAND = F
COMPARE = canonical_forms
RETURN = FactorisationValidity
}
R7_EQUATION_SOLVING {
INPUT = equation P(x)=0
FACTOR = P(x)
APPLY = zero_product_principle
SOLVE = each_factor_equals_zero
RETURN = solution_set
}
}
CONSTRAINTS {
C1 = "A factorisation must be algebraically equivalent to the original expression."
C2 = "Coefficient domain must be stated or inferred when irreducibility matters."
C3 = "A polynomial factored over the reals may not be fully factored over the rationals, and vice versa."
C4 = "Zero-product reasoning requires an appropriate algebraic setting without zero divisors."
C5 = "Extracting a factor must preserve every original term."
C6 = "Roots and linear factors correspond through the factor theorem."
C7 = "Do not confuse algebraic factorisation with matrix factorisation or statistical factor analysis."
}
SEMANTIC_EQUIVALENCE {
"Factorisation" <=> "EquivalentProductDecomposition"
"Factor" <=> "AlgebraicDivisor"
"P(r)=0" <=> "(x-r) is factor of P" WHEN polynomial_context
"FullyFactored" <=> "ProductOfIrreduciblesOverChosenDomain"
"Expansion" <=> "ReverseDirectionOfFactorisation"
}
VALIDATION {
V1 = "ab+ac=a(b+c) is a valid factorisation."
V2 = "a^2-b^2=(a-b)(a+b) is a valid factorisation."
V3 = "a^3-b^3=(a-b)(a^2+ab+b^2) is a valid factorisation."
V4 = "Expanding a correct factorisation recovers the original expression."
V5 = "If P(r)=0 then (x-r) is a factor."
V6 = "Irreducibility depends on coefficient domain."
V7 = "Factoring P(x)=0 can support root extraction through zero-product reasoning."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
FACTORISATION_DEFINITION = 0.99
EQUIVALENCE_REQUIREMENT = 0.99
FACTOR_THEOREM = 0.99
DOMAIN_DEPENDENCE = 0.99
ZERO_PRODUCT_RELATION = 0.98
PATTERN_FACTORISATION = 0.99
POLICY =
"Reduce confidence when the coefficient domain, algebraic structure or intended factorisation depth is underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch,
OntologyGrounding,
SymbolicAlgebraReasoning,
PolynomialReasoning,
EquationSolving,
RootReasoning,
DivisibilityReasoning,
KnowledgeGraphConstruction,
RetrievalAugmentation,
RecursiveInference
]
NORMALISE {
"factorisation" -> Factorisation
"factoring" -> Factorisation
"factor" -> Factor
"common factor" -> CommonFactor
"greatest common factor" -> GreatestCommonFactor
"factor theorem" -> RootFactorRelation
"fully factor" -> FullFactorisation
"irreducible factor" -> IrreducibleFactor
}
INTERPRETATION_ORDER = [
identify_expression_type,
identify_coefficient_domain,
detect_common_factor,
detect_standard_identity_pattern,
apply_polynomial_factor_theorem_when_relevant,
derive_nontrivial_factors,
recurse_until_irreducible,
verify_by_expansion,
expose_root_and_equation_relations,
return_semantic_result
]
}
EXECUTION_RULES {
E1:
IF query_mentions("factorisation")
OR query_mentions("factor")
AND algebraic_expression_context
THEN activate(FactorisationOntology)
E2:
IF common_factor_present
THEN extract_common_factor_first
E3:
IF expression_matches_standard_identity
THEN apply_corresponding_factorisation_pattern
E4:
IF polynomial_context
AND candidate_root_available
THEN apply(FactorTheorem)
E5:
IF request=="fully factor"
THEN recurse_until_irreducible_over_selected_domain
E6:
IF request=="verify factorisation"
THEN expand_candidate_product
AND compare_with_original
E7:
IF equation_context
AND factored_product_equals_zero
THEN apply_zero_product_principle_when_valid
}
RECURSION {
ENTRY = Factorisation
EXPAND(Factorisation) -> [
AlgebraicExpression,
Polynomial,
Factor,
Divisibility,
Expansion,
AlgebraicIdentity,
Root,
Zero,
Irreducibility,
CoefficientDomain
]
EXPAND(PolynomialFactorisation) -> [
Polynomial,
Root,
FactorTheorem,
PolynomialDivision,
Remainder,
IrreduciblePolynomial
]
EXPAND(CommonFactor) -> [
Monomial,
CoefficientGCD,
VariablePower
]
EXPAND(QuadraticFactorisation) -> [
QuadraticPolynomial,
Discriminant,
Root,
LinearFactor
]
STOP_CONDITION =
"Stop when the requested factorisation is verified and no further nontrivial factorisation exists over the chosen domain."
}
ROUTING {
PARENT_ONTOLOGY = "Algebra Ontology"
IMMEDIATE_CONTEXTS = [
"Algebraic Expression Ontology",
"Polynomial Ontology",
"Algebraic Identity Ontology"
]
RELATED_ONTOLOGIES = [
"Algebraic Expression Ontology",
"Polynomial Ontology",
"Monomial Ontology",
"Equation Ontology",
"Algebraic Identity Ontology",
"Rational Expression Ontology"
]
ROUTE_RULES = [
"Factorisation -> Algebraic Expression for symbolic structure",
"Factorisation -> Polynomial for polynomial decomposition",
"Factorisation -> Algebraic Identity for standard patterns",
"Factorisation -> Equation for zero-product solving",
"Factorisation -> Root for factor-theorem reasoning",
"Factorisation -> Rational Expression when cancellation and denominator factors are involved"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible concepts, patterns, operators or relations"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve equivalence between original and factored forms.",
"Preserve coefficient-domain dependence.",
"Preserve factor-theorem relation between roots and linear factors.",
"Preserve verification by expansion.",
"Preserve distinction between algebraic factorisation and unrelated factorisation concepts.",
"Preserve recursive decomposition into irreducible factors when full factorisation is requested."
]
}
OUTPUT {
CANONICAL_DEFINITION =
"Factorisation is the rewriting of an algebraic expression as an equivalent product of simpler factors."
SYMBOLIC_SUMMARY =
"E = F1*F2*...*Fn"
VERIFICATION_SUMMARY =
"A factorisation is valid when expanding the product reproduces the original expression."
ROOT_FACTOR_SUMMARY =
"P(r)=0 <=> (x-r) is a factor of P(x)"
DOMAIN_SUMMARY =
"Full factorisation and irreducibility are relative to the chosen coefficient domain."
EQUATION_SUMMARY =
"Factoring P(x)=0 enables zero-product reasoning when the algebraic setting permits it."
}
FLOW {
INPUT
-> detect_factorisation_context
-> identify_expression
-> identify_coefficient_domain
-> detect_common_factor
-> detect_standard_factorisation_pattern
-> apply_factor_theorem_when_polynomial
-> derive_nontrivial_factors
-> recursively_factor_quotients
-> stop_at_irreducible_factors
-> verify_by_expansion
-> connect_roots_divisibility_and_equation_solving
-> link_related_ontologies
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"Factorisation rewrites an algebraic expression as an equivalent product of simpler factors. It links symbolic identities, polynomial roots, divisibility and equation solving, and its final form depends on the coefficient domain. Correct factorisations can be verified by expansion, while the factor theorem connects polynomial zeros directly to linear factors."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-ALGEBRA-FACTORISATION-ONTOLOGY-V1"
}
}
END_FLOW