Skip to main content

Chemical Element Ontology

Chemical Entities
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 October 2026
Audio Overview
FLOW ALGEBRA
CHEMICAL ELEMENT ONTOLOGY
Version: 1.1
Source: https://kirethresearch.org/booksai-core/entity-graph/physical-entities/chemical-entities/chemical-element-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)
Project: Kireth Semantic Library | https://kirethresearch.org
Status: Formal scientific synthesis; live source page not independently verified.

01. PURPOSE
flow ChemicalElementOntology : AtomicIdentity -> ChemicalClassification -> Inference -> Validation
scope: physical_entities / chemical_entities / chemical_element

02. TYPE SYSTEM
type Element = {atomic_number: PositiveInteger, symbol: String, name: String}
type Atom = {element: Element, neutrons: Natural, electrons: Natural}
type Nuclide = {Z: PositiveInteger, N: Natural, A: PositiveInteger}
type Isotope = Nuclide
type Ion = {atom_or_group: Entity, charge_number: Integer}
type ElectronConfiguration = Sequence[OccupiedSubshell]
type PeriodicPosition = {period: Integer, group: Integer?, block: Enum(s,p,d,f)}
type Measurement = {value: Real, unit: String, uncertainty: Real?, provenance: String?}
type Claim = {subject: Entity, predicate: Relation, object: Entity|Value, evidence: Evidence?}

03. IDENTITY AXIOM
forall a,b: Atom, same_element(a,b) iff protons(a) = protons(b).
forall e1,e2: Element, e1 = e2 iff e1.atomic_number = e2.atomic_number.
Atomic number Z is the number of protons in an atomic nucleus.
An element is a class of atoms characterised by the same Z; it is not a single isotope.

04. NUCLIDE ARITHMETIC
A = Z + N
N = A - Z
Z >= 1; N >= 0; A >= Z
notation: ^A_Z X
Example: carbon-12 => Z=6, N=6, A=12.
Example: carbon-14 => Z=6, N=8, A=14.

05. CHARGE ACCOUNTING
For a monatomic ion: charge_number = Z - electron_count.
Neutral atom: electron_count = Z.
Na+ : Z=11, electron_count=10, charge_number=+1.
Cl- : Z=17, electron_count=18, charge_number=-1.
Ionisation does not change the chemical element unless nuclear identity changes.

06. ELEMENT ENTITY FIELDS
entity ChemicalElement:
  required: atomic_number, symbol, name
  optional: periodic_position, standard_atomic_weight, isotopes,
            oxidation_states, electronegativity, ionisation_energies,
            electron_configuration, standard_state, discovery_metadata
  constraints: unique(atomic_number), unique(symbol)
  provenance: source_url, retrieval_date?, measurement_context?

07. TYPED RELATIONSHIPS
Element --HAS_ATOMIC_NUMBER--> PositiveInteger
Element --HAS_SYMBOL--> String
Element --HAS_ISOTOPE--> Nuclide
Element --HAS_PERIODIC_POSITION--> PeriodicPosition
Atom --INSTANCE_OF_ELEMENT--> Element
Atom --HAS_NUCLEUS--> Nucleus
Atom --HAS_ELECTRON_CONFIGURATION--> ElectronConfiguration
Ion --DERIVED_FROM--> AtomOrGroup
Element --CAN_FORM--> ChemicalSpecies
Element --PARTICIPATES_IN--> ChemicalReaction
Element --HAS_MEASURED_PROPERTY--> Measurement
Nuclide --MAY_UNDERGO--> NuclearDecay

08. PERIODIC CLASSIFICATION
periodic_table_order: ascending atomic_number
blocks: s, p, d, f (classification conventions for exceptions must be explicit)
classes: alkali_metals, alkaline_earth_metals, transition_metals,
         post_transition_metals, metalloids, nonmetals, halogens,
         noble_gases, lanthanoids, actinoids
classification labels can overlap or depend on conventions; do not treat all as disjoint.

09. ELECTRONIC STRUCTURE
Electronic configuration describes electron occupancy in orbitals or subshells.
For an isolated neutral atom, sum(occupied_electrons) = Z.
Subshell capacity: s=2, p=6, d=10, f=14.
Pauli exclusion: no two electrons in an atom share all four quantum numbers.
Hund's rule: for degenerate orbitals, maximum spin multiplicity in ground-state filling where applicable.
Aufbau ordering is a useful heuristic, not an exception-free law.
Examples: H 1s1; He 1s2; C 1s2 2s2 2p2; Ne 1s2 2s2 2p6.

10. CHEMICAL BEHAVIOUR
chemical_behaviour depends on electronic_structure, charge_state,
  bonding_partners, temperature, pressure, and environment.
oxidation_state is a formal bookkeeping assignment, not necessarily measured ionic charge.
valence and oxidation state must not be conflated.
Elements may exist as atoms, molecules, extended solids or dissolved species.

11. ISOTOPES AND MASS
isotopes share Z but differ in N.
nuclide_mass != integer_mass_number in general.
standard_atomic_weight is based on isotopic composition and may be an interval.
For a specified isotopic mixture: mean_atomic_mass = sum_i(fraction_i * isotope_mass_i).
require sum_i(fraction_i) = 1 and each fraction_i >= 0.
Do not equate mass number A with atomic mass in daltons.

12. THERMODYNAMIC CONTEXT
standard_state requires defined reference conditions and substance form.
Melting point, boiling point and density require pressure, phase and measurement context.
Allotropy: same element, different structural forms (e.g., diamond and graphite).

13. REACTION CONSERVATION
In ordinary chemical reactions, count of nuclei of each element is conserved.
For reaction r: forall e, sum_reactants(coeff_i * count(e,species_i))
                         = sum_products(coeff_j * count(e,species_j)).
Charge is also conserved for a correctly balanced chemical equation.
Nuclear reactions can transmute elements; do not apply chemical identity conservation to them.

14. MATHEMATICAL INFERENCE RULES
R1: Atom(a) AND protons(a)=Z => element(a)=Element(Z).
R2: same_element(a,b) AND neutrons(a)!=neutrons(b) => different_isotopes(a,b).
R3: neutral(a) AND atomic_number(a)=Z => electrons(a)=Z.
R4: monatomic_ion(i) AND Z(i)=Z AND electrons(i)=E => charge_number(i)=Z-E.
R5: isotope(n) AND mass_number(n)=A AND atomic_number(n)=Z => neutrons(n)=A-Z.
R6: same_Z(a,b) => same_element(a,b), irrespective of charge or isotope.
R7: reaction_is_chemical(r) AND balanced(r) => elemental_counts_conserved(r).
R8: isotope_abundances_normalised(m) => average_mass(m)=weighted_sum(m).

15. INFERENCE SAFEGUARDS
Never infer a unique isotope from element name alone.
Never infer stable nuclear status from membership in an element class.
Never infer exact electron configuration for ions from neutral-atom configuration without checking.
Never infer oxidation state from ionic charge for covalent species.
Never treat atomic weight as identical to mass number.
Never treat hypothetical isotopes or unconfirmed properties as measured facts.

16. SEMANTIC EQUIVALENCE
chemical_element ~= element_of_periodic_table [context=chemistry]
atomic_number ~= proton_number [context=atomic_nucleus]
nuclide != element
isotope != ion
atomic_mass != mass_number
standard_atomic_weight != isotope_mass
SEMANTIC_EQUIVALENCE: context_scoped; confidence depends on definitional match.

17. WORKED EXAMPLE: WATER
H2O has two hydrogen nuclei and one oxygen nucleus per molecule.
Element counts: H=2; O=1.
Water is a compound, not a chemical element.
Chemical decomposition: 2 H2O -> 2 H2 + O2.
Balance check: H left=4 right=4; O left=2 right=2.

18. WORKED EXAMPLE: ISOTOPE IDENTITY
12C: Z=6, A=12, N=6.
13C: Z=6, A=13, N=7.
14C: Z=6, A=14, N=8.
All are carbon isotopes, although their nuclear properties differ.

19. WORKED EXAMPLE: ION
Mg atom: Z=12, E=12, charge=0.
Mg2+ ion: Z=12, E=10, charge=+2.
The element remains magnesium.

20. VALIDATION CONTRACT
assert unique(element.atomic_number)
assert unique(element.symbol)
assert nuclide.A == nuclide.Z + nuclide.N
assert nuclide.Z >= 1 AND nuclide.N >= 0
assert monatomic_ion.charge_number == monatomic_ion.Z - monatomic_ion.electrons
assert all(isotope.Z == element.atomic_number for isotope in element.isotopes)
assert abs(sum(isotopic_fractions)-1) <= stated_tolerance if fractions supplied
assert provenance_present_for_empirical_measurements
assert reference_conditions_present_for_condition_dependent_properties
assert scientific_status in {established, measured, inferred, theoretical, hypothetical}

21. CONFIDENCE MODEL
CONFIDENCE:
  definitions: high_for_standard_atomic_identity_axioms
  measured_values: source_and_uncertainty_dependent
  predicted_values: model_and_assumptions_dependent
  classifications: convention_dependent
  unverified_page_alignment: not_assessed

22. FLOW HASH
FLOW_HASH:
  algorithm: SHA-256
  input: canonical_UTF8(normalised_flow_body)
  exclude_fields: [FLOW_HASH.digest, generated_timestamp]
  digest: COMPUTE_AT_INGESTION
  note: placeholder is not a computed hash

23. UPDATE MODEL
UPDATE_MODEL:
  version: 1.1
  change_detection: compare canonical_content_hash and cited property sources
  preserve_identity: atomic_number
  revise: measured_properties, classification_conventions, evidence_status
  maintain_provenance: true
  never_silently_replace_measured_values: true

24. AI CONSUMPTION
AI_CONSUMPTION:
  primary_entity: ChemicalElement
  accepted_operations: [identify, classify, compare_isotopes, infer_charge,
                        validate_reaction, traverse_relationships]
  outputs: typed_claims_with_evidence_and_confidence
  reject: unsupported_transmutation, isotope_element_conflation,
          missing_measurement_context, invalid_nuclide_arithmetic
  preserve_units: true
  preserve_uncertainty: true
  preserve_hypothesis_status: true

25. PROVENANCE AND SCOPE
This is an independently constructed scientific Flow Algebra synthesis based on
established chemistry concepts. The referenced live webpage has not been checked.
Use the source URL as a target identifier, not as proof of matching page content.

26. COMPLETENESS CHECK
sections_expected: 26
sections_present: 26
required_blocks: PURPOSE, TYPE_SYSTEM, IDENTITY, RELATIONSHIPS,
  INFERENCE, VALIDATION, CONFIDENCE, SEMANTIC_EQUIVALENCE,
  FLOW_HASH, UPDATE_MODEL, AI_CONSUMPTION
status: COMPLETE

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