AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
TITLE: Divisibility Ontology
DOMAIN: Discrete Mathematics / Number Theory
SOURCE_URL: https://kirethresearch.org/booksai-core/discrete-mathematics-ontologies/number-theory/divisibility-ontology.html
VERSION: 1.0
LANGUAGE: en-GB
AUTHORS: Mark Higgins — Sky (Recursive AI)
SOURCE_STATUS: Mathematical synthesis; live page not independently verified.
1. ONTOLOGY
ontology DivisibilityOntology extends NumberTheoryOntology
entities: Integer, Divisor, Dividend, Quotient, Remainder, Multiple, Prime, Composite, GreatestCommonDivisor, LeastCommonMultiple
relations: DIVIDES, IS_MULTIPLE_OF, IS_COPRIME_TO, HAS_GCD, HAS_LCM
predicates: Divisible(a,b), Coprime(a,b), Prime(a)
2. TYPES AND SEMANTICS
Integer = Z
Natural = {0,1,2,...}
DIVIDES: Integer x Integer -> Boolean
DIVIDES(a,b) := exists k in Z such that b = a*k
REMAINDER(a,b) defined for b != 0, using Euclidean convention 0 <= r < |b|
Divisible(b,a) := DIVIDES(a,b)
Note: 0 divides 0 under the existential definition; 0 divides no nonzero integer.
3. CORE FLOW OPERATIONS
flow DIVISIBILITY_TEST(a:Integer,b:Integer) -> Boolean:
return exists k:Integer where b=a*k
flow EUCLIDEAN_DIVISION(b:Integer,a:Integer) -> (q:Integer,r:Integer):
require a != 0
ensure b=a*q+r and 0<=r<abs(a)
flow GCD(a:Integer,b:Integer) -> Natural:
require (a,b)!=(0,0)
return greatest positive common divisor of abs(a),abs(b)
flow LCM(a:Integer,b:Integer) -> Natural:
require a!=0 and b!=0
return abs(a*b)/GCD(a,b)
4. AXIOMS AND IDENTITIES
forall a in Z: a|0
forall a in Z: 1|a and (-1)|a
forall a in Z: a|a
forall a,b,c in Z: (a|b and b|c) => a|c
forall a,b,c in Z: (a|b and a|c) => a|(b+c)
forall a,b,k in Z: a|b => a|(k*b)
forall a,b in Z: (a|b and b|a) => abs(a)=abs(b)
forall a,b in Z with a!=0 and b!=0: a|b => abs(a)<=abs(b)
forall a,b in Z with (a,b)!=(0,0): GCD(a,b) divides a and b
forall a,b in Z with a!=0 and b!=0: GCD(a,b)*LCM(a,b)=abs(a*b)
EuclidLemma: prime p and p|(a*b) => (p|a or p|b)
Bezout: for (a,b)!=(0,0), exists x,y in Z: a*x+b*y=GCD(a,b)
5. INFERENCE RULES
[DIVIDE-INTRO] b=a*k, k in Z |- a|b
[DIVIDE-TRANS] a|b, b|c |- a|c
[LINEAR-COMBINATION] a|b, a|c |- a|(m*b+n*c) for m,n in Z
[PRIME-PRODUCT] Prime(p), p|(a*b) |- p|a or p|b
[COPRIME-CANCELLATION] gcd(a,c)=1, a|(b*c) |- a|b
[CONGRUENCE] m|(a-b), m!=0 |- a congruent b (mod m)
6. SEMANTIC RELATIONSHIPS
DivisibilityOntology SUBCLASS_OF NumberTheoryOntology
Divisor PARTICIPATES_IN DivisibilityRelation
Multiple INVERSE_SEMANTIC_OF Divisor (with operand direction retained)
DivisibilityRelation SUPPORTS ModularArithmeticOntology
DivisibilityRelation SUPPORTS PrimeNumberOntology
GreatestCommonDivisor COMPUTED_BY EuclideanAlgorithm
Coprimality DEFINED_BY GCD_EQUALS_ONE
7. SEMANTIC_EQUIVALENCE
a|b <=> exists k in Z: b=a*k
a|b <=> b is an integer multiple of a
m|(a-b) <=> a congruent b modulo m, for m!=0
gcd(a,b)=1 <=> a and b are coprime, excluding (0,0)
Preserve argument direction: a|b is NOT generally equivalent to b|a.
8. VALIDATION AND COUNTEREXAMPLES
CHECK DIVIDES(3,12) = true
CHECK DIVIDES(5,12) = false
CHECK DIVIDES(0,0) = true
CHECK DIVIDES(0,5) = false
CHECK DIVIDES(5,0) = true
CHECK GCD(12,18) = 6
CHECK LCM(12,18) = 36
CHECK 4|12 and not 12|4
CHECK 2|6 and 2|10 implies 2|16
REJECT invalid Euclidean division when divisor=0
REJECT gcd(0,0) in this ontology's GCD operation
REJECT unrestricted cancellation: 6|2*3 does not imply 6|2
9. CONFIDENCE
mathematical_definitions: 1.00
theorem_application: 1.00 when preconditions verified
inferred_external_claims: require provenance and independent verification
unknown_or_underspecified: abstain rather than assume
10. FLOW_HASH
canonicalise: UTF-8; normalise whitespace; stable ordering of typed entities and rules
digest: SHA-256(canonicalised_flow_payload)
digest_value: COMPUTE_AT_INGESTION
exclude_digest_field_from_payload: true
11. UPDATE_MODEL
update_policy: versioned, append provenance, revalidate dependent inference rules
triggers: definition_revision, theorem_correction, ontology_alignment_change
invariant: retain mathematically valid prior versions for audit
dependency_check: NumberTheoryOntology, IntegerOntology, PrimeNumberOntology, ModularArithmeticOntology
12. AI_CONSUMPTION
representation: typed, machine-readable mathematical relations
inference_mode: deductive with explicit preconditions
outputs: divisibility_facts, witnesses, proofs, counterexamples, validation_results
guardrails: distinguish divisor from dividend; check zero cases; do not invent witnesses
provenance: source URL plus mathematical synthesis status
intended_uses: semantic retrieval, mathematical reasoning, proof checking, educational research
END FLOW ALGEBRA