Encyclopedia Chemistry Chemistry Micelle Cmc From Jcost Cmcqc
ARTICLE 4 claims 2 theorems 2 models
Chemistry Micelle Cmc From Jcost Cmcqc
A machine-checked certificate named CMCQC proves three general facts about a cost function, but says nothing specific about micelles or critical micelle concentration.
What CMCQC actually proves
The critical micelle concentration (CMC) is the narrow range of surfactant concentration at which molecules suddenly assemble into clusters called micelles. A common empirical rule, known since the mid-twentieth century, is that the logarithm of the CMC falls linearly as the surfactant's alkyl chain grows: log(CMC) = A - B×n, where n is the number of carbon atoms and B is a positive constant. For alkyl sulfates, measured values give B around 0.3 per carbon atom. The rule is a correlation, not a derivation; it says nothing about why B takes that value.
In Recognition Science, the framework's cost function J(x) = (x + 1/x)/2 - 1 measures the forced expense of a recognition event. The machine-checked library of formal theorems contains a module named CMCQC, whose name suggests a connection to the CMC rule. The module defines a quantity called domainCost as J(m/e), the cost evaluated at a ratio of two real numbers m and e. It then proves three general facts: domainCost is zero when m equals e, it is never negative for positive inputs, and the number phi - 3/2 is positive, where phi is the golden ratio. These three facts are assembled into a structure called CMCQC, and the library shows that this structure is inhabited, meaning the certificate exists.
The three facts are true and machine-checked, but they are general properties of the cost function, not results about chemistry. The definition of domainCost as J(m/e) never specifies what m and e mean in chemical terms. Nothing in the module defines m as a chain length, e as an energy, or links either to a micelle. The docstring itself records this plainly: the Lean code contains nothing specific to the subject, because domainCost is defined without reference to one. The paragraph mentioning log(CMC) = A - B×n and B ≈ J(phi)/2 ≈ 0.059 per carbon is a research note, a statement of where the idea was meant to go, not a result.
What the declaration does establish is a template. It shows that the cost function has the right shape for a threshold: zero at equality, nonnegative elsewhere, and a positive canonical threshold at phi - 3/2. A future theorem about the CMC would need a definition of m and e in the surfactant's own terms, for example chain length and thermal energy. Until that definition exists, CMCQC remains a certificate about the cost function, not about chemistry. The gap between the research note and the proved facts is the whole story.
MODEL domainCost · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.lean
def domainCost (m e : ℝ) : ℝ := Jcost (m / e)
THEOREM domainCost_at_eq · domainCost_nonneg · canonicalThreshold_pos · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.lean
theorem domainCost_at_eq (r : ℝ) (h : r ≠ 0) : domainCost r r = 0 := by
unfold domainCost; rw [div_self h]; exact Jcost_unit0
theorem domainCost_nonneg (m e : ℝ) (hm : 0 < m) (he : 0 < e) : 0 ≤ domainCost m e := by
unfold domainCost; exact Jcost_nonneg (div_pos hm he)
theorem canonicalThreshold_pos : 0 < canonicalThreshold := by
unfold canonicalThreshold; linarith [phi_gt_onePointFive]
THEOREM cert_inhabited · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.lean
theorem cert_inhabited : Nonempty CMCQC := ⟨cert⟩
MODEL domainCost · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.lean
def domainCost (m e : ℝ) : ℝ := Jcost (m / e)
What this page does not claim
CMCQC does not prove that the critical micelle concentration follows the stated logarithmic rule. CMCQC does not define what m and e mean in chemical terms. The research note about alkyl sulfate slopes is not a proved result.
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/MicelleCMC_FromJCost.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 chemical definitions of m and e would turn the CMCQC template into a theorem about micelles?
- Does the empirical slope B ≈ 0.3 for alkyl sulfates have a derivation from the cost function, or only a stated order-of-magnitude agreement?
- What is the status of the research note's claim that B ≈ J(phi)/2 ≈ 0.059 per carbon?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
MODEL domainCost · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.lean
def domainCost (m e : ℝ) : ℝ := Jcost (m / e)The module defines domainCost as J(m/e), the cost evaluated at a ratio of two real numbers m and e. domainCost · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.leanTHEOREM domainCost_at_eq · domainCost_nonneg · canonicalThreshold_pos · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.lean
theorem domainCost_at_eq (r : ℝ) (h : r ≠ 0) : domainCost r r = 0 := by unfold domainCost; rw [div_self h]; exact Jcost_unit0theorem domainCost_nonneg (m e : ℝ) (hm : 0 < m) (he : 0 < e) : 0 ≤ domainCost m e := by unfold domainCost; exact Jcost_nonneg (div_pos hm he)theorem canonicalThreshold_pos : 0 < canonicalThreshold := by unfold canonicalThreshold; linarith [phi_gt_onePointFive]It then proves three general facts: domainCost is zero when m equals e, it is never negative for positive inputs, and the number phi - 3/2 is positive. domainCost_at_eq · domainCost_nonneg · canonicalThreshold_pos · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.leanTHEOREM cert_inhabited · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.lean
theorem cert_inhabited : Nonempty CMCQC := ⟨cert⟩The three facts are assembled into a structure called CMCQC, and the library shows that this structure is inhabited. cert_inhabited · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.leanMODEL domainCost · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.lean
def domainCost (m e : ℝ) : ℝ := Jcost (m / e)The docstring itself records this plainly: the Lean code contains nothing specific to the subject, because domainCost is defined without reference to one. domainCost · IndisputableMonolith/Chemistry/MicelleCMC_FromJCost.lean