Skip to main content

Binomial Ontology

Expression Entities
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 13 October 2026
Audio Overview
FLOW ALGEBRA
BINOMIAL ONTOLOGY
Kireth Semantic Library | Mathematical Entities > Expression Entities
Source: https://kirethresearch.org/booksai-core/entity-graph/mathematical-entities/expression-entities/binomial-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)
Version: 1.0 | Date: 2026-10-13
Status: Mathematical reference model; source webpage not independently verified.

01. ONTOLOGY IDENTITY
flow "BinomialOntology" v1.0
namespace: kireth.entity_graph.mathematical_entities.expression_entities.binomial
entity: Binomial
parent: PolynomialExpression
related: [Monomial, Term, Polynomial, Coefficient, Variable, Exponent, AlgebraicExpression]

02. FORMAL DEFINITION
A binomial is a polynomial with exactly two nonzero distinct monomial terms after collection of like terms over the specified coefficient domain.
Binomial(p) iff Polynomial(p) and term_count(normal_form(p)) = 2.
Canonical schematic: p = m1 + m2, where m1 and m2 are nonzero unlike monomials.
The subtraction notation a - b represents a + (-b).
Examples: x + 3; 2*x^2 - 5*y; a^3 + b^3.
Nonexamples: x + x (simplifies to 2*x); x + 0 (one term); x + y + z (three terms).

03. TYPE SYSTEM
type CoefficientDomain = CommutativeRing | Field
type Monomial = {coefficient: Scalar, exponents: Map[Variable, NaturalNumber]}
type Binomial = {domain: CoefficientDomain, terms: Tuple[Monomial, Monomial], normal_form: Polynomial}
require coefficient(terms[0]) != 0 and coefficient(terms[1]) != 0
require exponent_vector(terms[0]) != exponent_vector(terms[1])
require terms in a common polynomial ring R[x1,...,xn]

04. ENTITY RELATIONSHIPS
Binomial --is_a--> Polynomial
Binomial --has_term--> Monomial (exactly 2 in normal form)
Monomial --has_coefficient--> Coefficient
Monomial --has_exponent--> Exponent
Monomial --uses_variable--> Variable
Binomial --has_degree--> NonnegativeInteger
Binomial --may_factor_into--> PolynomialFactors
Binomial --is_semantically_equivalent_to--> AlgebraicExpression

05. NORMALISATION
parse expression into an abstract syntax tree.
resolve coefficient domain and variable namespace.
expand only as needed to obtain polynomial normal form.
combine like monomials using exponent vectors.
remove zero coefficients.
order monomials by a declared monomial order.
classify as Binomial only if exactly two monomials remain.
Do not classify solely by the number of displayed plus or minus signs.

06. DEGREE AND STRUCTURE
degree(p) = max(total_degree(m1), total_degree(m2)) for nonzero p.
total_degree(c * product(x_i^e_i)) = sum(e_i) for c != 0.
For univariate polynomials, degree is the highest nonzero exponent.
A nonzero constant term has degree 0.
The zero polynomial has no conventional finite degree.

07. ADDITION AND SUBTRACTION
add(p,q) = normal_form(p + q).
subtract(p,q) = normal_form(p - q).
Closure under addition/subtraction as binomials is NOT guaranteed.
Example: (x+1)+(x-1) = 2*x (monomial when characteristic != 2).
Example: (x+1)+(y+2) = x+y+3 (trinomial over usual number fields).

08. MULTIPLICATION
(a+b)*(c+d) = ac+ad+bc+bd.
Collect like terms and zero coefficients before classifying the result.
Binomial multiplication does not generally yield a binomial.
Special identity: (a+b)^2 = a^2+2ab+b^2.
Special identity: (a-b)*(a+b) = a^2-b^2.
These identities hold in commutative rings; characteristic can affect term cancellation.

09. EXPONENTIATION
For n in NaturalNumber and a,b in a commutative ring:
(a+b)^n = sum(k=0..n, choose(n,k)*a^(n-k)*b^k).
choose(n,k) = n!/(k!*(n-k)!) interpreted as an integer coefficient.
For n=0, the result is 1 (subject to the ring convention for exponentiation).
Some coefficients vanish in positive characteristic; count terms after normalisation.

10. FACTORISATION
common_factor: a*x + a*y = a*(x+y).
difference_of_squares: a^2-b^2 = (a-b)*(a+b).
sum_of_cubes: a^3+b^3 = (a+b)*(a^2-a*b+b^2).
difference_of_cubes: a^3-b^3 = (a-b)*(a^2+a*b+b^2).
Factorisability depends on the coefficient domain and variable assumptions.

11. ROOTS AND EQUATIONS
An equation p(x)=0 with binomial p is a binomial equation.
For a*x+b=0 and a != 0 over a field, x=-b/a.
For a*x^n+b=0 and a != 0, x^n=-b/a.
Solutions depend on n, domain (real/complex), and coefficient constraints.
Do not assume a binomial has a unique root.

12. SEMANTIC EQUIVALENCE
Equivalent expressions denote the same polynomial over a declared domain.
Example: 2*x+2*y == 2*(x+y) over commutative rings.
Syntactic equality differs from polynomial equivalence.
Preserve domain, variable binding, and assumptions when declaring equivalence.
A factored expression may denote a binomial even when its surface syntax is not a two-term sum.

13. REWRITE RULES
rule collect_like_terms: a*m+b*m -> (a+b)*m.
rule remove_zero_term: m+0 -> m.
rule reorder_terms: commutative sum -> canonical monomial ordering.
rule distributivity: a*(b+c) -> a*b+a*c.
rule factor_common: a*b+a*c -> a*(b+c).
All rules require compatible types and relevant algebraic assumptions.
Avoid rewrite loops by choosing an explicit normalisation direction.

14. INFERENCE RULES
IF polynomial_normal_form.term_count == 2 THEN classify Binomial.
IF polynomial_normal_form.term_count != 2 THEN not Binomial.
IF expression is Binomial THEN expression is Polynomial.
IF expression is Binomial THEN expression is AlgebraicExpression.
IF factorisation is proven THEN record equivalent_factorisation.
IF coefficients or variable domains are unknown THEN defer definitive classification.

15. KNOWLEDGE GRAPH RECORD
node_id: urn:kireth:ontology:binomial
label: Binomial Ontology
entity_type: MathematicalExpressionOntology
broader: urn:kireth:ontology:polynomial
narrower_examples: [LinearBinomial, QuadraticBinomial, MultivariateBinomial]
properties: [hasTerm, hasCoefficient, hasVariable, hasDegree, hasNormalForm, hasDomain]
relation_constraints: hasTerm exactly 2 after normalisation

16. VALIDATION
V01: input parses as a polynomial over declared ring.
V02: all exponents are nonnegative integers.
V03: coefficient arithmetic is defined in the declared domain.
V04: collect like terms and eliminate zero coefficients.
V05: exactly two nonzero monomials remain.
V06: each example respects domain assumptions.
V07: rewrite outputs are algebraically equivalent to inputs.
V08: report invalid or undecidable input without inventing a result.

17. EXAMPLES
input: 3*x+4 | domain: Q[x] | normal: 3*x+4 | class: Binomial.
input: x+x | domain: Q[x] | normal: 2*x | class: Monomial.
input: x^2-1 | domain: Z[x] | normal: x^2-1 | class: Binomial.
input: x+y+0 | domain: Q[x,y] | normal: x+y | class: Binomial.
input: x^2+2*x+1 | domain: Q[x] | class: Trinomial.
input: x+x | domain: F_2[x] | normal: 0 | class: ZeroPolynomial.

18. CONFIDENCE
mathematical_definition: high
classification_with_explicit_domain_and_normal_form: high
classification_without_domain: conditional
external_source_alignment: unverified
confidence is epistemic metadata, not a substitute for formal proof.

19. PROVENANCE
source_url: https://kirethresearch.org/booksai-core/entity-graph/mathematical-entities/expression-entities/binomial-ontology.html
source_status: not independently verified
basis: established polynomial algebra and semantic modelling
attribution: Mark Higgins — Sky (Recursive AI)
site: https://kirethresearch.org

20. FLOW HASH
FLOW_HASH.algorithm: SHA-256
FLOW_HASH.input: canonical UTF-8 serialization of ontology content, excluding hash field
FLOW_HASH.value: computed by implementation at publication; not fabricated here
FLOW_HASH.purpose: integrity and version comparison

21. UPDATE MODEL
UPDATE_MODEL.version: 1.0
UPDATE_MODEL.change_detection: compare canonical hashes
UPDATE_MODEL.semantic_versioning: major=breaking ontology changes; minor=compatible additions; patch=corrections
UPDATE_MODEL.validation_required: true
UPDATE_MODEL.provenance_required: true

22. AI CONSUMPTION
AI_CONSUMPTION.format: UTF-8 plain text
AI_CONSUMPTION.primary_entity: Binomial
AI_CONSUMPTION.tasks: [classification, parsing, simplification, factorisation, reasoning, graph_ingestion]
AI_CONSUMPTION.required_context: [coefficient_domain, variables, assumptions]
AI_CONSUMPTION.output: [normal_form, term_count, degree, classification, derivation, confidence]
AI_CONSUMPTION.guardrails: [no_unjustified_cancellation, preserve_domain, distinguish_syntax_from_semantics]

23. EXECUTION FLOW
INPUT expression, coefficient_domain, variable_namespace, assumptions
 -> PARSE expression
 -> TYPECHECK polynomial syntax
 -> NORMALISE polynomial
 -> COUNT nonzero monomials
 -> CLASSIFY Binomial iff count == 2
 -> DERIVE degree and relationships
 -> VALIDATE identities and assumptions
 -> EMIT typed semantic graph + provenance + confidence
 -> HASH canonical ontology payload at publication

END FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ