summaryrefslogtreecommitdiff
path: root/docs/content-addressed-phase0.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/content-addressed-phase0.md')
-rw-r--r--docs/content-addressed-phase0.md220
1 files changed, 0 insertions, 220 deletions
diff --git a/docs/content-addressed-phase0.md b/docs/content-addressed-phase0.md
deleted file mode 100644
index 7271674..0000000
--- a/docs/content-addressed-phase0.md
+++ /dev/null
@@ -1,220 +0,0 @@
-# Content-addressed migration inventory
-
-This file records the implementation inventory frozen at Phase 0. The
-normative contracts remain `design.md`, `syntax.md`, `prelude.md`,
-`execution.md`, and `store.md` in the Felix design workspace.
-
-## Revisions and workload
-
-- Implementation anchor:
- `77d892c3a9213acc1be23ef545f316acb87b8c9a` (`Clean lib`).
-- Historical uncached reference:
- `108b963ebe395ec7c75234e5069c31732531fc97`.
-- Active root: `(MigrationLibrary, everything.tex)`.
-- The historical and anchor source closures contain the same 31 modules in
- imported-before-importer order:
-
-```text
-set.tex
-set/cons.tex
-set/symdiff.tex
-set/product.tex
-set/powerset.tex
-set/bipartition.tex
-set/partition.tex
-relation.tex
-relation/uniqueness.tex
-function.tex
-set/cantor.tex
-set/filter.tex
-set/fixpoint.tex
-relation/properties.tex
-order/quasiorder.tex
-relation/equivalence.tex
-relation/closure.tex
-set/regularity.tex
-set/suc.tex
-ordinal.tex
-nat.tex
-cardinal.tex
-algebra/magma.tex
-algebra/semigroup.tex
-algebra/monoid.tex
-order/order.tex
-topology/topological-space.tex
-topology/basis.tex
-topology/disconnection.tex
-topology/separation.tex
-everything.tex
-```
-
-The active source contains 74 abbreviations, 17 axioms, 14 corollaries,
-92 definitions, 19 lemmas, 552 propositions, four signatures, nine structures,
-and four theorems. It contains no active datatype or inductive declaration.
-There are 366 top-level proof environments. These are migration coverage
-counts, not semantic identity inputs.
-
-## Source and path conventions
-
-`ResolvedSource` carries four separate values: selected canonical file,
-invocation-local mount ID, canonical mount root, and validated mount-relative
-path. Durable ownership will use only the canonical root and relative path.
-The mount ID remains routing and presentation data.
-
-The absolute and relative path codecs, `SourceNamespaceId`, `ModuleName`,
-zero-based `LocalDeclarationOrdinal`, zero-based `GeneratedObjectSlot`, and
-the closed declaration-family tags are frozen in `design.md`. Golden path
-inputs are `/`, `/a`, `/a/b`, `a`, and `a/b`. No identity is computed in
-Phase 0.
-
-The transitional `Felix.Migration` manifest contains only closed mount roles
-and safe relative paths. It must be deleted with the legacy driver.
-
-## Prelude reservation
-
-- Reserved source: Cabal/Hpack data file `data/felix-prelude.tex`.
-- Reserved logical owner: `PreludeModuleName` from `prelude.md`.
-- Diagnostic label: `<felix-prelude>`.
-- Bootstrap bytes: the empty byte string.
-- Loading seam: generated `Paths_felix.getDataFileName`.
-
-The checked-in file is a non-authoritative, comment-only skeleton. It exposes
-the required definition, abbreviation, proposition, and proof families and the
-Empty-to-Omega dependency shape without acting as a builtin, checked module, or
-authority source.
-
-The machine-readable expected public roles are Infinity, the transparent
-Omega object and defining equation, the `naturals` alias, and the inductiveness
-and minimality theorems. Helper declaration names are not frozen.
-
-## Literal base syntax and dynamic insertion
-
-`Syntax.Lexicon.builtinMixfixLevels` is the exact ten-row manifest:
-
-| Level | Associativity | Entries |
-| --- | --- | --- |
-| 0 | — | empty |
-| 1 | left | `+`, `\union`, `-`, `\rminus`, `\monus` |
-| 2 | left | `\relcomp` |
-| 3 | left | `\circ` |
-| 4 | left | `\mul`, `\inter`, `\rmul` |
-| 5 | left | `\setminus` |
-| 6 | right | `\times` |
-| 7 | — | empty |
-| 8 | non-associative | `\rfrac`, `\exp`, `\unions`, `\cumul`, `\fst`, `\snd`, `\pow`, `\neg`, `\inv`, `\abs`, `\cons`, ordered pair |
-| 9 | non-associative | `\emptyset`, `\naturals`, `\naturalsPlus`, `\integers`, `\rationals`, `\reals`, `\unit`, `\zero` |
-
-Current dynamic syntax enters through `Syntax.Adapt.scanSyntaxDelta`,
-closure-wide `buildSyntaxWorld`, and `insertScannedItem`. Every scanned
-function/mixfix pattern is currently appended to row 9 as non-associative.
-`Felix.Parse.parseResolvedSourceGraphMeasuredWith` builds one closure-wide
-world before parsing. Phase 1.1 replaces these insertion and composition
-points with complete per-module entries and independent interfaces.
-
-## Legacy publisher and consumer inventory
-
-`Checking.Legacy.LegacyFactProducer` is the closed current publisher
-inventory:
-
-- declared assumptions, distinguished by `AssumptionKind`;
-- direct proof obligations discharged by Vampire or a gap; and
-- declaration rules for ordinary theorem finalization, definition equations,
- datatype introduction/distinctness/injectivity/cases/induction, structure
- introduction/inheritance/assumptions, and inductive
- introduction/domain-subset/cases/induction.
-
-`Checking.checkBlocks` selects the producer at each declaration boundary.
-`finalizeLegacyDeclaration` reserves and appends the complete fact batch.
-`Checking.Legacy` assigns invocation-local module/fact positions, merges
-imported environments and fact registries, and seals modules. The legacy facts
-feed proof lookup, premise selection, TPTP task construction, trust reporting,
-HTML/checker presentation, and the temporary `Checking.Transition` bridge.
-The transition bridge separately publishes the currently typed signatures,
-inductive objects/facts, exact typed Vampire results, and kernel facts.
-
-No publisher outside those inventories may be silently carried into the typed
-driver.
-
-## Checker and builder mutation coverage
-
-The following state affects later checking and therefore requires an explicit
-closed semantic-environment delta or deterministic reconstruction:
-
-| Current state | Phase-1 classification |
-| --- | --- |
-| fact statements, aliases, origins, public authority | explicit fact occurrences and aliases; registry indexes derived |
-| abbreviations | explicit |
-| predicate definitions | explicit |
-| symbol dependencies | explicit |
-| symbol ownership and object markers | explicit ownership rows; marker set derived where exact |
-| frozen symbols | explicit |
-| structure graph | explicit structure-family delta |
-| defined declaration markers | explicit occurrence/alias collision data |
-| typed global bindings and transparent bodies | explicit canonical object records and bindings |
-| local typed fact entries and direct axiom kind | explicit canonical facts and authority |
-| imported environment/interface lists | explicit ordered direct interface IDs |
-| next declaration/fact counters | derived from ordered committed rows |
-| fact/global lookup maps | derived from canonical ordered rows |
-
-The following state is session-local and must not be serialized as semantic
-state: local assumptions and goals, direct/indirect proof mode, structure
-context, local variables, current block labels and locations, hypothesis and
-obligation counters, task preparation callbacks, resolved obligation batches,
-current producer list, current declaration handle, mutable legacy/transition
-builder handles, source locations, routes, diagnostics, and logging or timing
-observations.
-
-The fixed checked foundation is an explicit module-build input. It is not a
-declaration delta. A new declaration family must close this inventory with an
-explicit case or a deterministic derivation before migration; no catch-all
-checker-state payload is permitted.
-
-## Operational seam inventory
-
-- CLI dispatch and options: `CommandLine.run` and `Api.Options`.
-- Source graph and parser callbacks: `Felix.Source.Graph`,
- `Felix.Parse.parseSourceWorkspaceWith`.
-- Cumulative glossing state: `Api.verifyWorkspace`,
- `Meaning.GlossState`, and `Meaning.glossStep`.
-- Declaration dispatch/finalization: `Checking.checkBlocks`,
- `withBlockContext`, and `finalizeLegacyDeclaration`.
-- Typed authority/builders: `Checking.Transition` and
- `Checking.Typed.*`.
-- Task preparation and filter/reconstruction: `Checking.tellTasks`,
- `Filter`, `Checking.Backend.*`, `Encoding`, and `Provers`.
-- Prover supervision: `Provers.runProver`.
-- Separate request dumping: `CommandLine.run`, `Api.prepareDumpTasks`, and
- `Api.dumpTask`.
-- HTML preparation/routing/publication: `Render.Html.Export`,
- `Render.Html.Layout`, and `Render.Html.Output`.
-
-Dump and HTML paths remain separate today. The target dump boundary is frozen
-in `execution.md`: an absent or empty destination is preflighted, then Felix
-owns the complete run directory.
-
-## Measurement protocol
-
-The frozen historical command is:
-
-```text
-NAPROCHE_LIB=<108b963 worktree>/library \
-stack exec zf -- --log library/everything.tex -t 17 --uncached +RTS -s -RTS
-```
-
-Record the exact revision, worktree, source closure, result, task count,
-accumulated logged Vampire time, wall/user/system time, allocation, peak
-residency/RSS, capabilities, compiler/package plan, Vampire revision, OS,
-processor, memory, limits, and RTS flags in `changes.md`.
-
-Later comparison scenarios are:
-
-1. fresh-store cold verification of the same active root;
-2. warm verification without source changes;
-3. a proof-only leaf edit;
-4. a transparent definition edit;
-5. a leaf-module edit; and
-6. an edit to a central syntax or semantic interface.
-
-Each scenario records semantic outcomes and authority first, then wall/CPU
-time, peak RSS, Vampire time, cache-hit counts, and effective parallelism.
-Phase 0 exposes no store or jobs option.