MatchingLogic.EntryIII.WitnessedCollapse #
Every pointed model theory is a maximal locally consistent set.
A surjective valuation gives the pointed theory a name for every semantic existential witness.
The countermodel needs no symbols: variables and existential quantification already separate ordinary witnesses from fresh witnesses.
Instances For
The two-point empty-signature model used for the witness-collapse example.
Equations
- MatchingLogic.witnessCollapseModel = { carrier := Bool, nonempty := ⋯, interp := fun (e : MatchingLogic.WitnessCollapseSig.Sym) => Empty.elim e }
Instances For
Variable 0 names true; every other variable names false.
Equations
- MatchingLogic.witnessCollapseRho n = decide (n = 0)
Instances For
The complete pointed theory at true.
Equations
Instances For
The pointed theory is a genuine maximal locally consistent set.
Surjectivity of the valuation supplies an ordinary name for every semantic existential witness.
The existential ∃ 0. var 0 belongs to the pointed theory, but every
fresh name denotes false, so no fresh Henkin implication belongs to it.
A concrete counterexample to the proposed collapse theorem, including the maximality obligation.
Direct negation of the proposed implication at the counterexample signature.
The failure is not stable under α-renaming.
∃0. var 0 has no fresh witness above: the only variable naming the witnessing
element is 0, and 0 occurs in the body, so freshness over allVars rules it
out. Its α-variant ∃1. var 1 is a different raw pattern with the same
meaning, and for it the name 0 is fresh — so a fresh witness exists.
This locates ONE cause of the phenomenon: on raw named syntax the choice of bound name can exhaust the supply of usable witnesses, and choosing another representative of the same α-class restores it.
It does NOT show that α is the whole story, and an earlier version of this
docstring said it was. AlphaFreshWitnessed.lean refutes that: there is an MCS
that is Witnessed and fails the α-RELAXED condition too, so quotienting by α
would not remove the need for the stronger invariant. What does remove it is an
infinite supply of usable witnesses — see WitnessSupply.lean.