docs/hypothesis-space.md
The hypothesis space
H(O) attacked directly. Includes a partial retraction of "authority is
evidence" — the pushback was right, and testing it splits a regime I had left
whole.
1. Attacking "authority is evidence"
The discriminator
The two claims are separable by a sharp test:
Evidence removes members of
H(O). A selector picks a member without removing any.
So: does the authority's act change what is possible, or choose among things that remain equally possible?
Applying it
GitHub renames org/repo → org/repo2, keeping the numeric id. There is a
fact here: the object continued, with continuity and lineage. GitHub reports
it, and can be wrong — id reuse after deletion, or a delete-and-recreate its
id logic conflates. Hypotheses are removed. Evidence.
GitHub forks org/repo. Both copies have complete lineage. Is either "the
continuation"? No observation, actual or possible, distinguishes them. GitHub
assigns the fork a new id — that act is constitutive, not reportive. Nothing is
removed; one branch is chosen. Selector.
A legal registry names a merger successor. There may be causal and economic continuity facts, and the legal answer can diverge from them — which is precisely the mark of a decision rather than a report. Selector.
Pluto. The committee did two separable things: it chose a definition (a convention — and note what it chose: the value space of a dimension, which is the object dimension-algebra.md derived), and then applied it (a derivation). The selection happened at the definition layer, not among hypotheses about Pluto. Membership followed.
The result: the underdetermined regime splits
co-reference.md gave three regimes and left the middle one whole. It has two halves, and they behave oppositely:
Why |H| > 1 |
Can any observation resolve it? | What authority is |
|---|---|---|
| incomplete observation — a sensor gap, an unobserved interval | yes | evidence — an observer with better access |
| underdetermination in principle — fission, an unobservable swap | no | a selection policy — convention |
Partial retraction. "Authority is evidence" is correct for the epistemic half and wrong for the constitutive half. I had one regime where there are two, so the claim was right about the cases I checked and wrong as stated.
The distinction is testable, not stipulative: ask whether a better-placed observer could in principle settle it. If yes, the authority is a witness. If no, it is a legislator. And a legislator's ruling can diverge from every fact without being false — which is exactly what the merger case shows.
Where it belongs. Selection is downstream of inference, as the pushback said.
Evidence is inside it. The two must not share a field, and in SubjectRef they
currently do.
2. What is a hypothesis?
Derived, not stipulated. H(O) is the set of things consistent with O:
H(O) = { w : w ⊨ O }
A hypothesis is a complete assignment of truths entailing every observation. For co-reference specifically, it is a partition of the observations into co-reference classes — which is why the count is combinatorial and why crossing objects are the hard case.
Ontology does not disappear under this architecture. It specifies the shape of a hypothesis — what an assignment must assign. The inference layer sits above it, not in place of it.
3. Which observations remove members, and which do not
An observation is informative exactly when it is inconsistent with some member:
o is informative ⟺ H(O ∪ {o}) ⊊ H(O)
That recovers information-as-elimination, and it is derived here rather than imported.
Observations that leave H unchanged:
- entailed ones (redundant);
- ones on dimensions orthogonal to the question;
- repeated equal observations of a state.
The third is a consistency check that could have failed and did not. Coincident agreeing observations were found in identity-axes.md to be one fact with two evidence entries. Here they are found to be zero information. The episode law and the information law agree — two independent derivations, same answer.
4. Can |H| increase?
Yes — three ways. A naive reading of the architecture would say no, so this is the load-bearing negative result.
- New subjects appear. Observing a previously unknown entity enlarges the universe of discourse, and the space of partitions grows with it.
- Contradiction. If two observations conflict, requiring consistency empties
H. Recovering means admitting hypotheses in which an observer is wrong — which expandsHwith faulty-sensor worlds. - Retraction. Withdrawing an erroneous observation restores what it removed.
Route 2 is the important one: it is the contested quantity from
identity-axes.md, arrived at again. Fact cannot hold a
disputed value because it presumes |H| = 1.
5. Can H(O) be represented canonically?
Not extensionally — it is a set of models, generally infinite.
But it has an exact implicit representation:
The observations are the canonical representation of
H(O). StoreO;His its model set; canonical truth is the projection ofHwhen|H| = 1.
This retroactively justifies the system's existing shape — store facts, derive views — on grounds it did not previously have. And it condemns one function precisely:
collapse() is an undeclared hypothesis-selection policy. Its order-dependence
— the first finding of this entire investigation — is now explained rather than
merely observed. When two facts share an identity and differ in value, |H| > 1;
collapse picks by array order, which is selection wearing the costume of
canonicalization, applied in the epistemic regime where selection is not even
licensed.
6. The four states — a correction to the proposed diagram
The proposed architecture is right, and its state table needs a fourth row:
| State | Meaning |
|---|---|
|H| = 0 |
contradiction — no assignment satisfies O |
|H| = 1 |
canonical truth exists |
|H| > 1 |
truth is not yet canonical |
H undefined |
the question is ill-posed |
Empty is not meaningless. An empty H is a strong, informative state: the
observations are jointly unsatisfiable, so at least one observer is wrong. That
is the most actionable state in the table, and it is where provenance earns its
place.
Meaninglessness is different — for indistinguishable particles the co-reference
question is not unsatisfiable, it is not well-formed, so H is undefined
rather than empty. Collapsing the two would file a detected sensor fault and a
category error as the same condition.
7. Domain ledger
| Domain | Case | Regime |
|---|---|---|
| tracking | crossing objects, distinguishable | epistemic |
| tracking | crossing objects, identical | constitutive |
| aliasing | two identifiers, one thing | epistemic — a linking observation resolves it |
| packet routing | fragmentation and reassembly | constitutive — "same packet" is convention |
| git forks | which is the continuation | constitutive |
| astronomy | a lost asteroid recovered by orbit computation | epistemic |
| astronomy | Pluto | definitional — selection at the value space |
| biology | species identification by genetics | epistemic |
| biology | amoeba division | constitutive |
| chemistry | two identical molecules | void — H undefined |
| chemistry | dissociation | constitutive |
| transportation | parcel scan gaps | epistemic |
| organizations | merger successor | constitutive |
| organizations | rehire — one employment episode or two | definitional |
All four states occur, and the split is not domain-aligned: chemistry supplies both a void and a constitutive case, astronomy both an epistemic and a definitional one. The regime is a property of the question, not of the field.
8. Provenance
Three candidates:
"Connector X reported this at time T" is a claim whose subject is a report, whose dimension is source, and whose value is X. That is a truth in the same system, one level up.
Provenance is an observation over observations. Second-order, not metadata.
Not metadata, because metadata is inert annotation and this is truth-bearing and
falsifiable. And it is load-bearing exactly at |H| = 0: contradiction expands
H with faulty-observer worlds, and provenance observations are what narrow it
back. Provenance is the mechanism that makes contradiction tractable rather than
fatal.
This separates two things the code fuses. Evidence = { observer, citation, at }
serves as both:
| Order | Role | |
|---|---|---|
| evidence | first-order | attached to a claim; removes hypotheses about the world |
| provenance | second-order | a claim about a claim; removes hypotheses about observers |
9. Standing
| Question | Answer |
|---|---|
| What is a hypothesis? | a complete assignment entailing O; for co-reference, a partition |
How is H(O) constructed? |
not enumerated — defined as a model set, represented by O |
| What removes members? | inconsistency; that is informativeness |
| What leaves it unchanged? | entailed, orthogonal, or repeated-equal observations |
Is |H| monotone? |
no — new subjects, contradiction, and retraction all increase it |
| Canonical representation? | the observations themselves |
| Authority? | evidence in the epistemic regime, a selection policy in the constitutive one |
| Provenance? | an observation over observations |
What is still not established
- The epistemic/constitutive test — "could a better-placed observer settle it?" — is applied here, not derived. It may itself be undecidable in some cases, and I have not shown it is not.
|H|remains defined and uncounted, unchanged from co-reference.md.capability— eight rounds untouched.
Nothing implemented.