Skip to main content

Whole 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
WHOLE NUMBER ONTOLOGY
Kireth Semantic Library | Entity Graph > Mathematical Entities > Number Entities
Source: https://kirethresearch.org/booksai-core/entity-graph/mathematical-entities/number-entities/whole-number-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)
Version: 1.0 | Date: 2026-10-12
Status: Subject-based formalisation; source page content not independently verified.

01. PURPOSE
flow WholeNumberOntology v1.0:
  domain: mathematics.number_theory
  entity: WholeNumber
  convention: W = {0, 1, 2, 3, ...}
  note: NaturalNumber may use {1,2,...} or {0,1,...}; convention must be declared.

02. TYPED ENTITIES
  WholeNumber := Integer where value >= 0
  Zero := WholeNumber(0)
  PositiveWholeNumber := WholeNumber where value > 0
  Successor := function(WholeNumber) -> WholeNumber
  FiniteSequence := sequence[WholeNumber]
  ArithmeticExpression := syntax_tree[WholeNumber, Operator]
  Proposition := predicate over WholeNumber
  Proof := derivation[Proposition]
  Observation := record[value, method, provenance]

03. IDENTITY AND MEMBERSHIP
  isWhole(n) := isInteger(n) AND n >= 0
  equal(a,b) := numeric_value(a) = numeric_value(b)
  canonical(leading_zero_numeral) := standard_decimal_numeral
  distinguish: numeric identity != textual representation

04. CLASSIFICATION
  zero(0) := true
  positive(n) := n > 0
  even(n) := exists k in W: n = 2*k
  odd(n) := exists k in W: n = 2*k + 1
  prime(n) := n > 1 AND divisors(n) = {1,n}
  composite(n) := n > 1 AND NOT prime(n)
  note: 0 and 1 are neither prime nor composite.

05. SUCCESSOR AND ORDER
  succ(n) := n + 1
  predecessor(n) := n - 1, defined only for n > 0
  lessThan(a,b) := a < b
  lessOrEqual(a,b) := a <= b
  trichotomy(a,b): exactly one of a < b, a = b, a > b
  wellOrdering: every nonempty subset of W has a least element

06. ADDITION
  add(a,0) := a
  add(a,succ(b)) := succ(add(a,b))
  closure: a,b in W => add(a,b) in W
  associative: (a+b)+c = a+(b+c)
  commutative: a+b = b+a
  identity: a+0 = a

07. MULTIPLICATION
  multiply(a,0) := 0
  multiply(a,succ(b)) := multiply(a,b)+a
  closure: a,b in W => a*b in W
  associative: (a*b)*c = a*(b*c)
  commutative: a*b = b*a
  identity: a*1 = a
  distributive: a*(b+c) = a*b+a*c

08. PARTIAL OPERATIONS
  subtract(a,b) := a-b if a >= b; otherwise undefined in W
  exactDivide(a,b) := a/b if b > 0 AND b divides a; otherwise undefined in W
  floorDivide(a,b) := quotient q if b > 0 AND a=b*q+r with 0<=r<b
  modulo(a,b) := remainder r if b > 0 AND a=b*q+r with 0<=r<b
  prohibit: division_by_zero

09. EXPONENTIATION
  power(a,0) := 1 (including 0^0 as a combinatorial convention only)
  power(a,succ(b)) := power(a,b)*a
  note: 0^0 is context-dependent; flag ambiguity outside declared convention.

10. DIVISIBILITY
  divides(a,b) := exists k in W: b=a*k
  gcd(a,b) := greatest common divisor, with gcd(0,0)=0 by convention
  lcm(a,b) := least common multiple, with lcm(0,b)=0
  factorisation(n) := prime factorisation for n > 1
  uniqueness: prime factorisation unique up to factor ordering

11. SET RELATIONSHIPS
  W subset_of Z
  W intersection NegativeIntegers = empty_set
  W includes 0
  W embeds_into Q, R, C
  cardinality(W) := countably_infinite

12. INDUCTION AND RECURSION
  induction(P):
    require P(0)
    require forall n in W: P(n) => P(succ(n))
    infer forall n in W: P(n)
  primitive_recursion:
    f(0) := base
    f(succ(n)) := step(n,f(n))

13. SEMANTIC RELATIONSHIPS
  WholeNumber --is_a--> NonNegativeInteger
  WholeNumber --member_of--> Integers
  Zero --is_a--> WholeNumber
  PositiveWholeNumber --subclass_of--> WholeNumber
  Successor --maps--> WholeNumber
  Addition --closed_over--> WholeNumber
  Multiplication --closed_over--> WholeNumber
  Subtraction --partially_closed_over--> WholeNumber
  WholeNumber --represented_by--> Numeral
  WholeNumber --ordered_by--> LessThan

14. INFERENCE RULES
  R1: isInteger(n) AND n>=0 => isWhole(n)
  R2: isWhole(a) AND isWhole(b) => isWhole(a+b)
  R3: isWhole(a) AND isWhole(b) => isWhole(a*b)
  R4: isWhole(a) AND isWhole(b) AND a>=b => isWhole(a-b)
  R5: isWhole(a) AND a>0 => isWhole(a-1)
  R6: isWhole(n) AND n>1 AND prime(n) => NOT composite(n)
  R7: a divides b AND b divides c AND a>0 AND b>0 => a divides c
  R8: isWhole(n) => succ(n)>n

15. VALIDATION AND CONSTRAINTS
  reject: negative values as WholeNumber
  reject: nonintegral fractions as WholeNumber
  reject: floating-point rounding as proof of integer membership
  reject: undefined subtraction or division in W
  require: exact arithmetic for symbolic assertions
  require: declared 0^0 convention where used
  require: proof certificates for universal mathematical claims

16. REPRESENTATION
  decimal(n) := base10 numeral
  binary(n) := base2 numeral
  hexadecimal(n) := base16 numeral
  parse(numeral,base) -> WholeNumber if valid
  semantic_equivalence: representations equivalent iff parsed values equal
  preserve: value independent of radix and leading zeros

17. PROOF AND CONFIDENCE
  proof_status := {proved, refuted, unverified, undecidable_in_system}
  CONFIDENCE(assertion):
    proved_with_valid_certificate -> 1.0
    refuted_with_valid_counterexample -> 0.0
    unverified -> null (not a numerical guess)
  note: confidence is evidence status, not a substitute for proof.

18. SEMANTIC_EQUIVALENCE
  SEMANTIC_EQUIVALENCE(x,y,context):
    require same declared mathematical domain
    require canonical_value(x) = canonical_value(y)
    output true iff conditions hold
  examples: 8(base10) equivalent 1000(base2)
  nonexample: numeral string "08" is not lexically identical to "8"

19. FLOW_HASH
  FLOW_HASH(record):
    payload := canonical_serialisation(ontology_id, version, axioms, rules, inputs)
    output := SHA256(UTF8(payload))
  require: stable field order, normalised Unicode, explicit numeric encoding
  warning: hash identity does not prove mathematical truth.

20. UPDATE_MODEL
  UPDATE_MODEL(change):
    validate schema and consistency
    detect convention changes (especially inclusion of zero)
    re-evaluate affected inferences and proof dependencies
    increment semantic version for breaking changes
    recompute FLOW_HASH
    preserve provenance and previous versions

21. AI_CONSUMPTION
  AI_CONSUMPTION(query):
    parse -> normalise -> type_check -> infer -> verify -> explain
    return: canonical_value, membership, rules_used, proof_status,
            assumptions, provenance, FLOW_HASH
    prohibit: claiming proof from pattern matching alone
    flag: convention ambiguity and undefined operations

22. EXECUTION EXAMPLES
  input: add(4,7)
  output: WholeNumber(11); proof_status=proved
  input: subtract(3,9)
  output: undefined_in_W; may evaluate to -6 in Z
  input: isWhole(0)
  output: true
  input: exactDivide(7,2)
  output: undefined_in_W
  input: parse("1010",2)
  output: WholeNumber(10)

23. INTEROPERABILITY
  maps_to: NumberOntology, NaturalNumberOntology, IntegerOntology
  maps_to: SetTheoryOntology, ArithmeticOntology, MathematicalOperationOntology
  maps_to: MathematicalProofOntology, MathematicalRepresentationOntology
  context_required: natural_number_zero_convention

24. PROVENANCE AND ATTRIBUTION
  source_url: https://kirethresearch.org/booksai-core/entity-graph/mathematical-entities/number-entities/whole-number-ontology.html
  author_credit: Mark Higgins — Sky (Recursive AI)
  project: Kireth Research | https://kirethresearch.org
  generation_note: Expanded subject-based formalisation; not a verbatim page extraction.

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