Encyclopedia Chemistry Chemistry Oxidation States Derived
ARTICLE 3 claims 2 theorems 1 model
Chemistry Oxidation States Derived
A machine-checked library now fixes the accessible oxidation states of iron and manganese, a first step toward deriving chemistry's oxidation numbers from a single cost law.
The target table
An oxidation state is the charge an atom would have if all its bonds were ionic, counting shared electrons as belonging to the more electronegative partner. Iron's common states are +2 and +3, manganese's reach +7 in permanganate, and both metals show a spread of others. A new module in the Recognition Science framework's machine-checked library of formal theorems installs a target table for these accessible states, beginning with iron and manganese as the acceptance cases of a longer closure plan.
The module, called OxidationStatesDerived, defines a function that returns a list of integers for a given atomic number. For iron (Z = 26) the list is [0, 2, 3, 6]; for manganese (Z = 25) it is [-1, 0, 2, 3, 4, 6, 7]. These are target-level definitions, meaning the framework has not yet derived them from first principles. What the module proves, with kernel-checked theorems, is that the target lists have the intended properties: iron's list has no duplicates, manganese's has exactly seven entries, and +7 is among them. A certificate structure bundles these facts into a single theorem, oxidation_states_derived_certified, that records the whole target layer as installed.
The larger plan is that these lists will eventually be derived from valence electron configuration plus the framework's forced cost of recognition, the quantity J that any cost function satisfying five plain conditions must equal. That derivation is the next theorem to be written; the current module only fixes the targets. The count-law spine that would support such a derivation remains available, as a separate module proves that an oxidation-state certificate exists.
What this establishes in plain language is modest but concrete: the framework has chosen a precise set of accessible oxidation states for two representative transition metals and has machine-checked that the set is internally consistent. The choice itself is a model, a definitional commitment, not yet a proved consequence of the cost law. The payoff for a reader is a clear statement of where the derivation stands: the targets are set, the consistency is proved, and the forcing step that would make chemistry fall out of the ledger is the declared next move.
MODEL accessibleOxidationStates · IndisputableMonolith/Chemistry/OxidationStatesDerived.lean
/-- Target accessible oxidation states for selected elements. -/
def accessibleOxidationStates (Z : Nat) : List Int :=
if Z = 26 then [0, 2, 3, 6]
else if Z = 25 then [-1, 0, 2, 3, 4, 6, 7]
else []
THEOREM oxidation_states_derived_certified · IndisputableMonolith/Chemistry/OxidationStatesDerived.lean
/-- The Phase 8B oxidation-state target layer is certified. -/
theorem oxidation_states_derived_certified :
OxidationStatesDerivedCert where
iron_exact := iron_oxidation_states
manganese_reaches_seven := manganese_max_seven
manganese_count := manganese_state_count
iron_nodup := iron_oxidation_states_nodup
manganese_nodup := manganese_oxidation_states_nodup
count_law := oxidation_count_law_available
THEOREM oxidation_count_law_available · IndisputableMonolith/Chemistry/OxidationStatesDerived.lean
/-- The count-law oxidation certificate remains available. -/
theorem oxidation_count_law_available :
Nonempty OxidationStateFromConfigDim.OxidationStateCert :=
OxidationStateFromConfigDim.cert_inhabited
What this page does not claim
The oxidation-state lists are not derived from the cost law; they are installed as targets. The module does not prove that the lists match measured chemical behavior for all elements. No claim is made that the framework derives the full periodic table's oxidation states.
Verify this page
Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:
$ lake env lean IndisputableMonolith/Chemistry/OxidationStatesDerived.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)
A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.
Derived articles
This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:
- What valence configuration plus J-cost removal rule would derive the iron list [0, 2, 3, 6]?
- Why do the target lists include zero and negative states such as -1 for manganese?
- How does the count-law spine from OxidationStateFromConfigDim connect to these target lists?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
MODEL accessibleOxidationStates · IndisputableMonolith/Chemistry/OxidationStatesDerived.lean
/-- Target accessible oxidation states for selected elements. -/ def accessibleOxidationStates (Z : Nat) : List Int := if Z = 26 then [0, 2, 3, 6] else if Z = 25 then [-1, 0, 2, 3, 4, 6, 7] else []For iron (Z = 26) the list is [0, 2, 3, 6]; for manganese (Z = 25) it is [-1, 0, 2, 3, 4, 6, 7]. accessibleOxidationStates · IndisputableMonolith/Chemistry/OxidationStatesDerived.leanTHEOREM oxidation_states_derived_certified · IndisputableMonolith/Chemistry/OxidationStatesDerived.lean
/-- The Phase 8B oxidation-state target layer is certified. -/ theorem oxidation_states_derived_certified : OxidationStatesDerivedCert where iron_exact := iron_oxidation_states manganese_reaches_seven := manganese_max_seven manganese_count := manganese_state_count iron_nodup := iron_oxidation_states_nodup manganese_nodup := manganese_oxidation_states_nodup count_law := oxidation_count_law_availableA certificate structure bundles these facts into a single theorem, oxidation_states_derived_certified, that records the whole target layer as installed. oxidation_states_derived_certified · IndisputableMonolith/Chemistry/OxidationStatesDerived.leanTHEOREM oxidation_count_law_available · IndisputableMonolith/Chemistry/OxidationStatesDerived.lean
/-- The count-law oxidation certificate remains available. -/ theorem oxidation_count_law_available : Nonempty OxidationStateFromConfigDim.OxidationStateCert := OxidationStateFromConfigDim.cert_inhabitedThe count-law spine that would support such a derivation remains available, as a separate module proves that an oxidation-state certificate exists. oxidation_count_law_available · IndisputableMonolith/Chemistry/OxidationStatesDerived.lean