|
| 1 | +# Draft note for the TYPES mailing list |
| 2 | + |
| 3 | +**Status:** draft, not sent. Written to satisfy gate G2 of the |
| 4 | +`types-list` readiness system (a self-contained, honestly sized |
| 5 | +framing note linking a type-checked artifact). Reviewed against the |
| 6 | +list's cardinal rule: *do not present a known notion as a new one.* |
| 7 | + |
| 8 | +Target list: `types-list@lists.seas.upenn.edu` |
| 9 | +(https://lists.seas.upenn.edu/mailman/listinfo/types-list). |
| 10 | + |
| 11 | +--- |
| 12 | + |
| 13 | +## Subject |
| 14 | + |
| 15 | +Prior art: fibers studied systematically as the *residue* of |
| 16 | +information-losing maps (mechanised, `--safe --without-K` Agda) |
| 17 | + |
| 18 | +## Body |
| 19 | + |
| 20 | +Dear all, |
| 21 | + |
| 22 | +I have a small mechanised Agda development and a prior-art / |
| 23 | +related-work question. I want to be explicit up front about what is |
| 24 | +**not** new, because the honest framing is the question. |
| 25 | + |
| 26 | +### What the object is (and is not) |
| 27 | + |
| 28 | +The central object is, definitionally, the fiber: |
| 29 | + |
| 30 | +``` |
| 31 | +Echo : (f : A → B) → B → Set |
| 32 | +Echo f y = Σ A (λ x → f x ≡ y) |
| 33 | +``` |
| 34 | + |
| 35 | +This is `hfiber` / the homotopy fiber. I am **not** claiming a new |
| 36 | +type former. The development (`--safe --without-K`, no postulates, |
| 37 | +no holes, CI-checked; ~13k LOC) is an *editorial* programme: it |
| 38 | +studies fibers **systematically as the structured remainder of |
| 39 | +information-losing computation**, with |
| 40 | + |
| 41 | +1. an 8-axis taxonomy of how such remainders differ (extensional vs |
| 42 | + intensional, exact vs approximate, local vs global, canonical vs |
| 43 | + presentation-dependent, compositional vs not, static vs dynamic, |
| 44 | + proof-relevant vs irrelevant, information-theoretic vs |
| 45 | + computational access), each axis carrying a distinguishing |
| 46 | + formalised example; and |
| 47 | +2. a falsifiable identity claim with an explicit retraction |
| 48 | + protocol, audited per neighbouring framework (refinement types, |
| 49 | + setoid quotients, Galois/abstract interpretation, provenance |
| 50 | + semirings, IFC, QTT-style modal calculi, HoTT fibers). |
| 51 | + |
| 52 | +### The two structural distinctness arguments |
| 53 | + |
| 54 | +Against the neighbours, distinctness rests on two arguments, both |
| 55 | +with formal exhibits: |
| 56 | + |
| 57 | +- **Truncation.** For non-injective `f`, `Echo f y` is *not* a mere |
| 58 | + proposition. General form now proved |
| 59 | + (`characteristic.NonTruncatable`): a bare non-injectivity witness |
| 60 | + on `f` *constructs* an output whose echo fibre is non-propositional |
| 61 | + — the witnessing value is produced, not assumed. (The |
| 62 | + *received-`y`* form is, honestly, just the generic Σ fact "a Σ |
| 63 | + with two first-component-distinct elements is not `isProp`"; only |
| 64 | + the *constructed-`y`* form is more than that.) |
| 65 | +- **2-cell.** The natural 2-cell in the quotient and Galois |
| 66 | + encodings is itself Σ-over-preimages-shaped (equalizer; lattice |
| 67 | + meet) — formal exhibits `EchoVsQuotient.Sophisticated`, |
| 68 | + `EchoVsGalois.Sophisticated`. |
| 69 | + |
| 70 | +A negative result is also recorded rather than hidden: a |
| 71 | +cross-axis "integration recipe" over the five named decoration |
| 72 | +axes does **not** produce substantive simultaneous interaction |
| 73 | +(the EI-2 investigation); the distinctness load is carried only by |
| 74 | +the two arguments above. |
| 75 | + |
| 76 | +### The questions |
| 77 | + |
| 78 | +1. **Prior art for the framing.** Is the *systematic* treatment of |
| 79 | + fibers-as-information-residue, with an axis taxonomy of this |
| 80 | + shape, named anywhere I should cite? I know the obvious |
| 81 | + neighbours (HoTT fibers; container/polynomial functors; |
| 82 | + lens/optic theory; provenance semirings; QTT). What I am asking |
| 83 | + is whether the *organising programme* — not the object — has a |
| 84 | + name in the literature. |
| 85 | +2. **Characteristic-theorem status.** Is the constructed-`y` |
| 86 | + non-truncatability ("ordinary non-injectivity *forces* a |
| 87 | + non-propositional fibre", with the bad output produced from the |
| 88 | + non-injectivity witness) a recognised lemma with a standard |
| 89 | + citation, or genuinely folklore? I want to attribute it |
| 90 | + correctly rather than claim it. |
| 91 | + |
| 92 | +Artifact (type-checked, gated, with the honest self-assessment): |
| 93 | +<repo URL>. The relevant module is |
| 94 | +`proofs/agda/characteristic/NonTruncatable.agda`; the taxonomy is |
| 95 | +`docs/echo-types/taxonomy.md`; the falsifiable-claim protocol is |
| 96 | +`roadmap-gates.adoc`. |
| 97 | + |
| 98 | +Grateful for pointers, corrections, or "this is just X under |
| 99 | +another name" — the latter is a useful answer, not a bad one. |
| 100 | + |
| 101 | +Best regards, |
| 102 | +Jonathan Jewell |
| 103 | + |
| 104 | +--- |
| 105 | + |
| 106 | +## Pre-send checklist (the readiness gates) |
| 107 | + |
| 108 | +- [x] **G2 — artifact exists.** Q2.1 proved and CI-checked; this |
| 109 | + note is self-contained and links the repo. |
| 110 | +- [ ] **G1 — prior-art saturation.** Before sending, do one more |
| 111 | + literature pass on: container/polynomial functors as fiber |
| 112 | + bookkeeping; "fibre-wise" / display-map framings; Spivak-style |
| 113 | + data-migration / provenance; any "information residue" usage in |
| 114 | + PL. The note must survive "isn't this just a polynomial functor / |
| 115 | + display map?" — pre-empt it in body §1 with one sentence each if a |
| 116 | + near-hit is found. |
| 117 | +- [x] **G3 — claim correctly sized.** Body opens by conceding the |
| 118 | + object is the fiber; asks prior-art and attribution questions, not |
| 119 | + "I invented a notion". |
| 120 | +- [ ] Replace `<repo URL>` with the public URL at send time. |
| 121 | +- [ ] Trim to ≤ ~400 words of body before sending; list readers |
| 122 | + reward brevity. The taxonomy enumeration can become "(8 axes; |
| 123 | + see `taxonomy.md`)". |
| 124 | + |
| 125 | +## Why this is postable now (vs. earlier) |
| 126 | + |
| 127 | +The trigger named in the readiness system was *closing Q2.1*. It is |
| 128 | +closed and CI-checked, so there is now a checkable result behind the |
| 129 | +prior-art question rather than a framework pitch. The one remaining |
| 130 | +gate is G1 (a literature pass), which is a desk task, not a |
| 131 | +formalisation blocker. |
0 commit comments