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
Download Code
Copy to Clipboard