Commit 82613b5
committed
proof(L1): reduce step_pop's 11 eliminator admits to 1 via step_R_change_shape (§6 experiment)
Runs the L1-ELIMINATOR-FORK.md §6 deciding experiment in Coq. Driving
step_pop_disjoint_from_type_l1 by step_R_change_shape (Semantics.v, Qed —
every step leaves R fixed, prepends a fresh region, or removes exactly one)
makes all ten eliminator/erasing congruences trivial: a region free in the
result type survives unless the step exits THAT region. The 255-line
induction with 11 admits becomes ~15 lines with 1.
The single residual obligation is exactly:
step exits r0 /\ r0 in free_regions(T) ==> cnt r0 R >= 2.
Its direct-exit sub-case is vacuous (a head ERegion r0 v is typed by
T_Region_Active_L1, whose ~In r0 (free_regions T) contradicts the premise);
the residue is the congruence-exit case (r0 from a sibling's type, a
distinct occurrence). Establishing that distinctness is the temporal/segment
coherence the snapshot env + result type cannot express; every route
collapses to connecting the dynamic exit to the static output = preservation
itself. Verdict: RELOCATES (the §2 wall), now to ONE minimal obligation.
Diagnosis corrected in-source: the obstruction is NOT §4.8 lambda-rigidity
(the witness EDrop (EVar j : TString rv) has no lambda) but region-count
coherence at a region exit.
Verified: coqc 8.18.0 builds clean; Print Assumptions unchanged
(preservation_l3 still axiom-free; step_pop + preservation_l1 surface
themselves). Outer Admitted count UNCHANGED (3); this is clarity + isolation,
not an axiom-count reduction. L1-ELIMINATOR-FORK.md §8 + PROOF-NEEDS.md §5.2
updated with the verdict.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGFqWzByua4dKbA7W7oVsL1 parent 5498306 commit 82613b5
3 files changed
Lines changed: 104 additions & 290 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
385 | 385 | | |
386 | 386 | | |
387 | 387 | | |
388 | | - | |
| 388 | + | |
389 | 389 | | |
390 | 390 | | |
391 | 391 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
153 | 153 | | |
154 | 154 | | |
155 | 155 | | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
0 commit comments