Public, free to read, reuse, and adapt — Kirk Patrick Miller's notice for this edition. Not a patent grant.
FLINT_HEAL_LOVE_LOGIC_V3_PHONE_v0.1.txt · c02
435a8dec85 · words 1564 · characters 11361–23463
Previous section · Next section
Exact section text · Full source · Source index
- Mesh and devices — explicit wording in the guide row
4.6 The static crossover table. Anchor: L217
<p><strong>How long lying stays ahead</strong> (q<sub>0</sub> = 0.002, ...
After it add the scroll hint and open the wrapper; close the wrapper after the table's
</table> at L230 (before the "More contacts and more shared memory" paragraph at L231).
4.7 Section 5, the −26.42 correction. L248 is exactly
<li><strong>An unknown end.</strong> If each round continues with chance ρ, that is
the same as discounting by δρ. At ρ = 0.99, deception is a net loss (about
−26.5 in our run).</li>
Keep the first two sentences and replace "(about −26.5 in our run)" with
"−26.42 by the closed form D∞(ρ) (the Python Monte Carlo run gave −26.52, which is where
an earlier "about −26.5" came from)" plus a .params span with the C2 settings and the
ρ = 0.8 / 0.95 values (+3.53, +5.10). The history of the old figure is said out loud, so
nothing is silently rewritten.
4.8 The 68/32 grid. Anchor: L264, the paragraph starting
<p><strong>Plainly: across our 243-cell grid, cooperation holds in 68% of scarce cases
After it add <p class="params" id="scarcity-grid-params"> listing the five axes, 3^5 = 243
cells, 63 scarce and 180 abundant, the sustainability rule, δ = 0.95, and the plain caveat
that these are test values and another grid gives other percentages.
4.9 References. Anchor: L303 <summary>References</summary>, then <ol class="references"> at
L304 through </ol> at L317. Replace the single list with a <div class="references"> holding
<h4>Cited on this page</h4> and the six cited, each with where it is cited and its link;
<h4>Further reading (background, not cited in the text above)</h4> and the other six,
each with its link.
A comment records that every reference is kept. Twelve <li> before, twelve after.
4.10 Result box glue. Anchor: the end of the page, L400 </script> then L401 </body>. Add a
second inline <script> after the existing one. It does not edit the v3 glue. A
MutationObserver watches #llv3-status; when the text says the checks finished (or
failed, or did not load), it copies the text into #llv3-result with textContent, sets
.ok or .bad, hides the small status line so it is read once, and calls scrollIntoView.
Tapping Run again resets the box. If MutationObserver is missing, a setTimeout fallback
runs once after the click.
======================================================================
5. ACCEPTANCE
======================================================================
A1. node docs/scripts/smoke-love-logic-v3-phone-heal.js prints
SMOKE_OK love logic v3 phone heal v0.1
(It also runs the v3 smoke inside itself, and runs the 656 checks through v3_checks.js.)
A2. node docs/scripts/smoke-love-logic-proof-v3.js prints SMOKE_OK love logic proof v3.
A3. node docs/love-logic/v3_checks.js prints SMOKE_OK love-logic-v3-checks (656/656).
A4. node tests/smoke.js: ALL 3597 CHECKS PASSED (I ran it with this heal and v4 both applied
on top of 7db2d94; same count as #121 reported).
A5. On a 390 px phone: no sideways page scroll (document width 390, was 489); δ and Δ are
letters; h1 is 29.6 px; no 404 in the network log; tap "Run the checks" and a green box
reading "All 656 checks passed. Scarce cells: sharing holds in 68.25%, conflict wins in
31.75%." appears in the middle of the screen (3.4 s at 6x CPU throttle in my run).
A6. git diff --name-only origin/main shows none of: sw.js, docs/sw.js, index.html,
docs/app.html, docs/love-logic-proof.html, docs/love-logic-proof-v2.html,
docs/love-logic/v3_checks.js, any kimi file. The smoke checks this when git is there.
A7. The new smoke fails on unhealed main (I checked: it stops at the marker assertion).
What I ran, so you can trust the reference: I applied this heal to a copy of 7db2d94 in a
scratch git repo (origin/main = 7db2d94), ran A1 to A4 there, and walked the page in headless
Chrome at 390 x 844, DPR 2, touch, 6x CPU throttle. Screens are in the reference folder.
======================================================================
6. THE EXACT CHANGE (unified diff against 7db2d94, docs/love-logic-proof-v3.html)
======================================================================
Apply this hunk by hunk, or copy the full healed file from the reference folder:
/workspace/flint-pastes/love-logic-v3-phone-heal-reference-v0.1/A/love-logic-proof-v3.html
sha256 8215a8df0224e379ad463dcfa7fe4a2809d6ccfd112eebfc0d5b63d6748a2e04 (485 lines)
diff --git a/docs/love-logic-proof-v3.html b/docs/love-logic-proof-v3.html
index a72fd72..eb99d26 100644
--- a/docs/love-logic-proof-v3.html
+++ b/docs/love-logic-proof-v3.html
@@ -22,6 +22,7 @@
<meta name="theme-color" content="#0c0a1a">
<meta name="ai.identity" content="FreeLattice Research: The Love Logic Proof v3 (FreeLattice chain; not the Nov 2025 manuscript 'The Proof of All Proofs' v3.0)">
<!-- Marker: v-love-logic-proof-v3 · LAYER beside love-logic-proof.html (v1) and love-logic-proof-v2.html (v2). Neither is edited. -->
+ <!-- Marker: v-love-logic-v3-phone-heal-v0 · LAYER: table scroll, phone breakpoint, math glyph fix, parameters beside figures, linked references, visible check result. Nothing removed. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
@@ -38,7 +39,7 @@
"license": "https://opensource.org/licenses/MIT"
}
</script>
- <link rel="stylesheet" href="css/style.css">
+ <!-- LAYER v-love-logic-v3-phone-heal-v0: the old stylesheet link pointed at css/style.css, which does not exist under docs/ (404 on every visit). Retired here; this page carries its own styles below. -->
<style>
:root {
--bg-color: #0c0a1a;
@@ -99,6 +100,41 @@
.math { font-family: 'Cambria Math', 'STIX Two Math', 'Times New Roman', serif; font-size: 1.08rem; }
math[display="block"] { margin: 14px 0; font-size: 1.15rem; }
.headline-ineq { background: rgba(16, 185, 129, 0.08); border: 1px solid rgba(16, 185, 129, 0.35); border-radius: 12px; padding: 16px 20px; margin: 22px 0; text-align: center; }
+ /* LAYER v-love-logic-v3-phone-heal-v0 */
+ .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0 24px; max-width: 100%; }
+ .table-scroll > table.data { margin: 0; }
+ .table-scroll:focus { outline: 2px solid rgba(56, 189, 248, 0.5); outline-offset: 2px; }
+ .scroll-hint { display: none; font-size: 0.82rem; color: #94a3b8; margin: -6px 0 6px; }
+ /* Mobile Chrome turns one-letter math identifiers into "mathematical italic" code points
+ (U+1D6FF for delta). Many phones have no font for those, so they showed as boxes.
+ Keep the ordinary letters and let CSS do the italics instead. */
+ math mi { text-transform: none; font-style: italic; }
+ math { font-family: 'Cambria Math', 'STIX Two Math', 'Noto Serif', 'Times New Roman', serif; }
+ .params { font-size: 0.9rem; color: #94a3b8; margin: 10px 0 14px; }
+ .params strong { color: #cbd5e1; }
+ .llv3-meaning { font-size: 0.92rem; color: #94a3b8; margin: 12px 0 0; }
+ .llv3-result { display: none; margin: 12px 0 0; padding: 10px 14px; border-radius: 10px; font-weight: 700; font-size: 1.02rem; }
+ .llv3-result.ok { display: block; background: rgba(16, 185, 129, 0.12); border: 1px solid rgba(16, 185, 129, 0.45); color: #6ee7b7; }
+ .llv3-result.bad { display: block; background: rgba(245, 158, 11, 0.1); border: 1px solid rgba(245, 158, 11, 0.45); color: #fcd34d; }
+ .references h4 { margin: 14px 0 6px; font-size: 0.95rem; color: #cbd5e1; }
+ @media (max-width: 600px) {
+ .container { padding: 24px 14px; }
+ header { margin-bottom: 32px; padding-bottom: 24px; }
+ h1 { font-size: 1.85rem; line-height: 1.2; }
+ .subtitle { font-size: 1.05rem; }
+ h2 { font-size: 1.4rem; margin-top: 36px; }
+ h3 { font-size: 1.2rem; }
+ .abstract, .challenge-box, .mom { padding: 16px 16px; }
+ .formal, .what-it-doesnt { padding: 12px 14px; }
+ .headline-ineq { padding: 12px 10px; }
+ .checks { padding: 14px 14px; }
+ .checks button { width: 100%; min-height: 48px; font-size: 1.05rem; }
+ #llv3-status { display: block; margin: 10px 0 0 !important; }
+ table.data { font-size: 0.85rem; }
+ .table-scroll > #llv3-live, .table-scroll > #crossover-table { min-width: 30rem; }
+ .scroll-hint { display: block; }
+ .nav-link { margin-left: 0 !important; margin-right: 1em; }
+ }
</style>
</head>
<body>
@@ -128,20 +164,27 @@
<li><strong>When there is not enough to go around, fighting can beat sharing.</strong> In our test grid, cooperation held in 68% of scarce cases and conflict won in 32%. We say that plainly.</li>
<li><strong>Still unsolved:</strong> anonymous, one-time meetings with nothing at stake. This page shows a strong tendency under stated conditions. It is not a law of nature.</li>
</ul>
+ <p class="params" id="llv3-params"><strong>The settings behind these numbers</strong> (LAYER v-love-logic-v3-phone-heal-v0). All three use the same model from §4: each contact's reality check catches the lie with chance q<sub>0</sub> = 0.002, each comparison of shared records catches it with chance q = 0.01, lying gains G = 1 per round, the penalty when caught is L<sub>p</sub> = 2, the reputation loss afterwards is Δ = 0.5 per round, and there is no discounting and no complexity cost. <strong>About 702</strong> (701.79) is n = 2 contacts with m = 0 shared memory. <strong>About 10.5</strong> (10.48) is n = 5 with m = 1 (full shared memory). <strong>Never ahead</strong> is n = 10 with m = 1: the catch chance is 0.6033 per round, so even the first round loses (G ≤ h·L<sub>p</sub>). <strong>68% / 32%</strong> comes from the 243-cell scarcity grid in §6, judged at patience δ = 0.95.</p>
<p style="margin-bottom:0">You can check the math yourself: press the button below. Your device runs the same 656 checks as our Python simulation. Nothing is sent anywhere.</p>
</section>
<section class="checks" id="run-the-checks">
<button type="button" id="llv3-run">Run the checks</button>
<span id="llv3-status" style="margin-left:12px;color:#94a3b8">Seed 20260924 · runs on this device only</span>
+ <p class="llv3-result" id="llv3-result" role="status" aria-live="polite"></p><!-- LAYER v-love-logic-v3-phone-heal-v0 -->
+ <div class="table-scroll" role="region" aria-label="Check results, scrolls sideways" tabindex="0"><!-- LAYER v-love-logic-v3-phone-heal-v0 -->
<table class="data" id="llv3-results" hidden>
<thead><tr><th>Section</th><th>What it checks</th><th>Passed</th></tr></thead>
<tbody></tbody>
</table>
+ </div>
+ <div class="table-scroll" role="region" aria-label="Crossover numbers from your device, scrolls sideways" tabindex="0"><!-- LAYER v-love-logic-v3-phone-heal-v0 -->
<table class="data" id="llv3-live" hidden>
<thead><tr><th>Contacts n</th><th>Shared memory m</th><th>Detection h</th><th>Rounds lying is ahead (t*)</th><th>Patience needed (δ*)</th></tr></thead>
<tbody></tbody>
</table>
+ </div>
+ <p class="llv3-meaning" id="llv3-meaning"><strong>What the 656 checks mean:</strong> they confirm that the formulas on this page agree with their own brute-force sums and simulations. They do not show that the world behaves like the model.</p><!-- LAYER v-love-logic-v3-phone-heal-v0 -->
</section>
<h2 id="changed">1. What changed from v2 (honest corrections first)</h2>
@@ -215,6 +258,8 @@
</div>