Encyclopedia Chemistry Chemistry Polymer Solubility From Jcost
ARTICLE 2 claims 1 theorem 1 model
Chemistry Polymer Solubility From Jcost
A rule of thumb for when a polymer dissolves, and what a machine-checked library can and cannot prove about it.
A framework threshold for solubility
Polymer solubility in plain chemistry comes down to a simple comparison. A polymer dissolves in a solvent when the two substances are chemically similar, and the standard way to measure that similarity is the Hildebrand solubility parameter, usually written δ. It is a number, in units of MPa^(1/2), that describes how much energy it takes to separate the molecules of a substance. Two substances mix well when their δ values are close. The rule of thumb: if |δ_poly - δ_solvent| is small, the polymer dissolves; if it is large, it does not.
For a typical polymer, δ is about 20 MPa^(1/2). The classic empirical guide says good solvation happens when the difference between polymer and solvent is roughly 2 to 4 MPa^(1/2). That is a practical window, learned from decades of lab work, not a law of nature.
In Recognition Science, the framework models this tolerance as a consequence of its central cost function. The framework's cost, a measure of how hard a recognition event is, takes the ratio of two quantities. Here it takes the ratio m/e, where m and e stand for two properties of the polymer and solvent. The framework defines a domain cost as J(m/e), and it proves three general facts about that cost: it is zero when m equals e, it is never negative for positive inputs, and a certain threshold, φ - 3/2, is positive. That threshold, about 0.118, multiplies δ_poly to give a tolerance of about 2.4 MPa^(1/2) for a typical polymer, which lands inside the empirical 2 to 4 MPa^(1/2) window.
What the machine-checked library of formal results actually establishes is narrower than the chemistry. The Lean code proves the three general facts about the cost function, but it does not prove that m and e are the Hildebrand parameters, nor that the threshold applies to real polymers. The definition of domainCost is just J(m/e), with no connection to δ built in. The chemical claim is a research note, a direction the idea was meant to go, not a proven result. The library proves the mathematics of the cost function; the chemistry remains a proposal.
The useful takeaway is the match itself. A framework built from abstract axioms about recognition produces a number, 0.118, that sits inside the empirical solubility window. That is a hint that the cost function might be capturing something real about how materials interact. But it is a hint, not a proof. The formal result guarantees the cost behaves well; it does not guarantee the cost describes solubility.
THEOREM domainCost_at_eq · domainCost_nonneg · canonicalThreshold_pos · IndisputableMonolith/Chemistry/PolymerSolubilityFromJCost.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]
MODEL domainCost · IndisputableMonolith/Chemistry/PolymerSolubilityFromJCost.lean
def domainCost (m e : ℝ) : ℝ := Jcost (m / e)
What this page does not claim
The module does not prove that any real polymer dissolves in any real solvent. The framework does not derive the Hildebrand solubility parameter from first principles.
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/PolymerSolubilityFromJCost.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 definition of m and e in terms of polymer and solvent properties would make the domain cost a theorem about solubility?
- Does the 0.118 threshold hold for polymers outside the typical δ ≈ 20 MPa^(1/2) range?
- How does the J-cost tolerance compare to other solubility rules such as the Hansen parameters?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM domainCost_at_eq · domainCost_nonneg · canonicalThreshold_pos · IndisputableMonolith/Chemistry/PolymerSolubilityFromJCost.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]The framework defines a domain cost as J(m/e), and it proves three general facts about that cost: it is zero when m equals e, it is never negative for positive inputs, and a certain threshold, φ - 3/2, is positive. domainCost_at_eq · domainCost_nonneg · canonicalThreshold_pos · IndisputableMonolith/Chemistry/PolymerSolubilityFromJCost.leanMODEL domainCost · IndisputableMonolith/Chemistry/PolymerSolubilityFromJCost.lean
def domainCost (m e : ℝ) : ℝ := Jcost (m / e)The chemical claim is a research note, a direction the idea was meant to go, not a proven result. domainCost · IndisputableMonolith/Chemistry/PolymerSolubilityFromJCost.lean