Skip to main content

Algebraic Number Ontology

Number Entities
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 October 2026
Audio Overview
FLOW ALGEBRA
ALGEBRAIC NUMBER ONTOLOGY
Kireth Semantic Library | Mathematical Entities | Number Entities
Source: https://kirethresearch.org/booksai-core/entity-graph/mathematical-entities/number-entities/algebraic-number-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)
Version: 1.0 | Date: 2026-10-12 | Locale: en-GB

01. PURPOSE
flow "AlgebraicNumberOntology" v1.0
  intent: represent, classify, validate and reason over algebraic numbers
  domain: mathematics.number_theory.algebra
  canonical_entity: AlgebraicNumber
  representation: exact-first

02. TYPE SYSTEM
  type Integer = Z
  type Rational = Q
  type Real = R
  type Complex = C
  type PolynomialZ = nonzero univariate polynomial in Z[x]
  type AlgebraicNumber = { alpha in C | exists f in PolynomialZ: f(alpha)=0 }
  type AlgebraicInteger = { alpha in C | exists monic f in Z[x]: f(alpha)=0 }
  type TranscendentalNumber = C \ AlgebraicNumber
  type MinimalPolynomial = monic irreducible polynomial in Q[x]
  type Degree = positive integer

03. CORE DEFINITIONS
  algebraic(alpha) <=> exists n>=1, a_0,...,a_n in Z:
                         a_n != 0 and sum(k=0..n, a_k*alpha^k)=0
  minimal_polynomial(alpha) = unique monic irreducible f in Q[x]
                                satisfying f(alpha)=0
  degree(alpha) = deg(minimal_polynomial(alpha))
  conjugates(alpha) = distinct complex roots of minimal_polynomial(alpha)
  algebraic_integer(alpha) <=> minimal_polynomial(alpha) in Z[x]
  rational(alpha) <=> algebraic(alpha) and degree(alpha)=1

04. CANONICAL EXAMPLES
  3/4: minimal_polynomial = x - 3/4; degree = 1; algebraic_integer = false
  sqrt(2): minimal_polynomial = x^2 - 2; degree = 2; algebraic_integer = true
  i: minimal_polynomial = x^2 + 1; degree = 2; algebraic_integer = true
  golden_ratio=(1+sqrt(5))/2: minimal_polynomial = x^2-x-1; degree = 2
  real_cuberoot(2): minimal_polynomial = x^3-2; degree = 3
  pi: transcendental (not algebraic)
  e: transcendental (not algebraic)

05. STRUCTURAL RELATIONSHIPS
  Integer subset Rational subset AlgebraicNumber subset Complex
  AlgebraicInteger subset AlgebraicNumber
  AlgebraicNumber intersect Real = RealAlgebraicNumber
  AlgebraicNumber intersect (Complex \ Real) = NonRealAlgebraicNumber
  AlgebraicNumber disjoint TranscendentalNumber
  AlgebraicNumber union TranscendentalNumber = Complex
  all_rational_numbers_are_algebraic: true
  not_all_irrational_numbers_are_transcendental: true

06. FIELD OPERATIONS
  for algebraic alpha,beta:
    add(alpha,beta) -> AlgebraicNumber
    subtract(alpha,beta) -> AlgebraicNumber
    multiply(alpha,beta) -> AlgebraicNumber
    divide(alpha,beta) -> AlgebraicNumber provided beta != 0
    negate(alpha) -> AlgebraicNumber
    inverse(alpha) -> AlgebraicNumber provided alpha != 0
    integer_power(alpha,n) -> AlgebraicNumber if n>=0 or alpha!=0
  closure: algebraic numbers form a field (algebraic closure of Q inside C)
  root_property: every complex root of a nonzero polynomial over AlgebraicNumber
                 is algebraic

07. MINIMAL POLYNOMIAL INVARIANTS
  unique_over_Q: true
  monic: true
  irreducible_over_Q: true
  degree >= 1
  zero_at_alpha: true
  divides_every_Q_polynomial_vanishing_at_alpha: true
  separable_in_characteristic_zero: true
  distinct_conjugate_count = degree(alpha)
  warning: integer-coefficient defining polynomial need not be minimal

08. ALGEBRAIC INTEGER RULES
  alpha algebraic_integer iff minimal_polynomial(alpha) has integer coefficients
  integer + integer -> algebraic_integer
  integer * integer -> algebraic_integer
  rational_algebraic_integer iff ordinary_integer
  caution: quotient of algebraic integers need not be an algebraic integer

09. FIELD EXTENSIONS
  Q(alpha) = smallest subfield of C containing Q and alpha
  [Q(alpha):Q] = degree(alpha)
  finite_extension(Q(alpha),Q): true
  tower_law: [L:K]*[K:F]=[L:F] for finite field towers F subset K subset L
  degree_bound_sum: degree(alpha+beta) <= degree(alpha)*degree(beta)
  degree_bound_product: degree(alpha*beta) <= degree(alpha)*degree(beta)

10. EXACT REPRESENTATION
  record AlgebraicNumberRecord:
    canonical_id: string
    minimal_polynomial: rational_coefficient_list
    root_selector: isolating_interval_or_complex_region_or_embedding
    approximate_value: optional_complex
    degree: integer
    is_real: boolean
    is_algebraic_integer: boolean
    provenance: source_reference
    confidence: verified|derived|unverified
  invariant: minimal_polynomial plus root_selector identifies a unique root
  caution: decimal approximation alone is not an exact identity

11. SEMANTIC GRAPH
  nodes: AlgebraicNumber, Polynomial, RationalNumber, ComplexNumber,
         AlgebraicInteger, FieldExtension, Conjugate, Degree, RootSelector
  edges:
    AlgebraicNumber --is_a--> ComplexNumber
    AlgebraicNumber --is_root_of--> Polynomial
    AlgebraicNumber --has_minimal_polynomial--> Polynomial
    AlgebraicNumber --has_degree--> Degree
    AlgebraicNumber --has_conjugate--> AlgebraicNumber
    AlgebraicNumber --generates--> FieldExtension
    AlgebraicInteger --subclass_of--> AlgebraicNumber
    RationalNumber --subclass_of--> AlgebraicNumber
  cardinality:
    minimal_polynomial: exactly_one
    degree: exactly_one
    conjugates: degree(alpha) distinct roots over C

12. INFERENCE RULES
  IF nonzero f in Z[x] AND f(alpha)=0 THEN algebraic(alpha)
  IF f in Q[x] monic irreducible AND f(alpha)=0 THEN minimal_polynomial(alpha)=f
  IF minimal_polynomial(alpha)=f THEN degree(alpha)=deg(f)
  IF algebraic(alpha) AND algebraic(beta) THEN algebraic(alpha+beta)
  IF algebraic(alpha) AND algebraic(beta) THEN algebraic(alpha*beta)
  IF algebraic(alpha) AND alpha!=0 THEN algebraic(1/alpha)
  IF minimal_polynomial(alpha) in Z[x] THEN algebraic_integer(alpha)
  IF degree(alpha)=1 THEN rational(alpha)
  IF proven_transcendental(alpha) THEN NOT algebraic(alpha)
  IMPORTANT: failure to find a polynomial does not prove transcendence

13. SEMANTIC EQUIVALENCE AND IDENTITY
  exact_equality(alpha,beta): compare certified exact representations
  symbolic_equivalence: normalise polynomials and certified root embeddings
  numeric_closeness: approximate evidence only, never proof of equality
  alias_examples:
    sqrt(4) equivalent_to 2
    (1+sqrt(5))/2 equivalent_to golden_ratio
  conjugates are not generally equal even when minimal polynomials match

14. VALIDATION
  require nonzero defining polynomial
  require integer or rational coefficients as declared
  require certified root membership
  require minimal polynomial irreducibility before claiming minimality
  require root selector distinguishing conjugates
  reject undefined inverse of zero
  reject inference that every irrational is transcendental
  reject inference that all algebraic numbers are real
  reject assertion that algebraic numbers are closed under arbitrary exponentiation

15. CONFIDENCE
  verified: formal proof or exact certified algebraic computation
  derived: logically inferred from verified inputs and sound rules
  unverified: plausible symbolic or numerical candidate
  no_automatic_promotion_from_approximation: true

16. FLOW HASH AND UPDATE MODEL
  flow_hash: SHA256(canonical_utf8(ontology_id, version, definitions,
             types, rules, relations, invariants))
  update_model:
    versioning: semantic
    preserve_previous_versions: true
    on_definition_change: invalidate_dependent_inferences
    on_polynomial_change: recertify_root_selection_and_degree
    provenance_required: true

17. AI CONSUMPTION
  parse_as: typed_semantic_flow
  reasoning_mode: exact_symbolic_first
  infer_only_from_certified_premises: true
  preserve_distinction: algebraic_vs_transcendental
  preserve_distinction: algebraic_integer_vs_algebraic_number
  preserve_distinction: polynomial_root_vs_selected_root
  emit: entity_graph, proofs, confidence, provenance, flow_hash
  avoid: unsupported transcendence claims, floating_point_identity

18. TEST CASES
  assert algebraic(7/5) and degree(7/5)=1
  assert algebraic(sqrt(2)) and degree(sqrt(2))=2
  assert algebraic(i) and degree(i)=2
  assert algebraic_integer(sqrt(2))
  assert not algebraic_integer(1/2)
  assert algebraic(sqrt(2)+sqrt(3))
  assert transcendental(pi)
  assert transcendental(e)
  assert not algebraic(pi)
  assert minimal_polynomial(sqrt(2))=x^2-2

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