Draft — mutable and not usable as a dependency; its citation marks the draft state.

Lax3.Locality

Locality theorem for distance logic

concepts/Lax3/Locality.lean · lax-3

proven

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Concept map

    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    Evidence

    Each proof establishes this claim relative to its assumptions.

    Theorem

    Every formula of distance logic of distance rank (k, q) is equivalent to a boolean combination of local formulas and scatter sentences, all of distance rank (k, q). This is the locality theorem of the source note (arXiv:2606.23180, Theorem 1), in the spirit of Gaifman's locality theorem and of the locality theorem of Grohe, Kreutzer and Siebertz: unrestricted quantification is eliminated in favour of quantification inside a bounded neighborhood of the free variables, plus finitely many global assertions of the form "there are t pairwise far apart vertices satisfying β". What distinguishes this version, and what makes it usable, is that the rewriting does not increase the rank — and the rank it preserves, distance rank, controls the radii of everything the resulting formulas mention.

    The theorem holds for every scatter choice; which one is fixed is invisible to the statement and decisive for the algorithm, which evaluates scatter sentences by running the greedy process. The companion statement Lax3.NormalFormLax3.NormalForm — the analogue of Gaifman's normal form — instantiates the maximum-size choice and writes the scatter sentences out in the logic itself.

    Lean source view on GitHub

    1import Lax3.ScatterSentences
    2
    3/-!
    4---
    5title: Locality theorem for distance logic
    6type: theorem
    7---
    8Every formula of distance logic of distance rank (*k*, *q*) is
    9equivalent to a boolean combination of *local* formulas and scatter
    10sentences, all of distance rank (*k*, *q*). This is the locality
    11theorem of the source note (arXiv:2606.23180, Theorem 1), in the spirit
    12of Gaifman's locality theorem and of the locality theorem of Grohe,
    13Kreutzer and Siebertz: unrestricted quantification is eliminated in
    14favour of quantification inside a bounded neighborhood of the free
    15variables, plus finitely many global assertions of the form "there are
    16*t* pairwise far apart vertices satisfying β". What distinguishes this
    17version, and what makes it usable, is that the rewriting does not
    18increase the rank — and the rank it preserves, distance rank, controls
    19the radii of everything the resulting formulas mention.
    20
    21The theorem holds for every scatter choice; which one is fixed is
    22invisible to the statement and decisive for the algorithm, which
    23evaluates scatter sentences by running the greedy process. The
    24companion statement `Lax3.NormalForm` — the analogue of Gaifman's
    25normal form — instantiates the maximum-size choice and writes the
    26scatter sentences out in the logic itself.
    27
    28# Formalization notes
    29
    30The boolean combination is reified: `BC α` is the type of boolean
    31combinations of atoms drawn from `α`, with an evaluation map and a list
    32of the atoms occurring in it. That list is what carries the side
    33conditions of the theorem — "all of distance rank (*k*, *q*)" is a
    34statement about the atoms of the combination, and a bare `Prop`-level
    35equivalence could not express it. Atoms are the sum type of formulas
    36and scatter sentences, so one boolean combination mixes the two kinds
    37and `Sum.elim` supplies their two evaluations.
    38
    39Effectiveness is not part of this claim: it asserts that the boolean
    40combination exists. `Lax3Proofs.LocalityFun.localityBC` consumes this
    41existential using `Classical.choose`, fixing one decomposition for the
    42scatter choice, formula and ranks before the input graph or environment
    43is supplied. Proof irrelevance makes that choice independent of the
    44rank witness. The model-checking schedule uses this fixed decomposition.
    45The headline theorem quantifies over the graph class, formula and
    46positive exponent, then asserts the existence of a word-RAM program and
    47time bounds that work for every input graph. This quantifier order lets
    48the decomposition be fixed with those parameters; it does not assert a
    49procedure that computes the program uniformly from them.
    50
    51The statement is an `axiom` on this concept surface, discharged by
    52`Lax3Proofs.Assembly.locality` in the proofs package. The normal-form
    53corollary and the model-checking decomposition consume this concept
    54interface, whose proof is tracked as a separate dependency. The proofs
    55package also provides the chosen decomposition and its specifications
    56in `Lax3Proofs.LocalityFun` for consumers needing a fixed function.
    57-/
    58
    59namespace Lax3.Locality
    60
    61open Lax3.ColoredGraphs Lax3.DistFO Lax3.ScatterSentences
    62
    63universe u
    64
    65/-- Boolean combinations of atoms drawn from `α`. Disjunction and
    66implication are the usual abbreviations; the empty combination is
    67`tru`. -/
    68inductive BC (α : Type u) : Type u
    69 /-- An atom. -/
    70 | atom (a : α) : BC α
    71 /-- The empty combination, always true. -/
    72 | tru : BC α
    73 /-- Negation. -/
    74 | not (b : BC α) : BC α
    75 /-- Conjunction. -/
    76 | and (b c : BC α) : BC α
    77
    78/-- The truth value of a boolean combination, given a truth value for
    79each atom. -/
    80def BC.eval {α : Type u} (v : α → Prop) : BC α → Prop
    81 | .atom a => v a
    82 | .tru => True
    83 | .not b => ¬ BC.eval v b
    84 | .and b c => BC.eval v b ∧ BC.eval v c
    85
    86/-- The atoms occurring in a boolean combination, with multiplicity. -/
    87def BC.atoms {α : Type u} : BC α → List α
    88 | .atom a => [a]
    89 | .tru => []
    90 | .not b => BC.atoms b
    91 | .and b c => BC.atoms b ++ BC.atoms c
    92
    93variable {L : ℕ}
    94
    95/-- **Locality theorem** (Theorem 1 of arXiv:2606.23180). Fix a scatter
    96choice. Every formula of distance rank `(k, q)` is equivalent to a
    97boolean combination of local formulas of distance rank `(k, q)` and
    98scatter sentences of distance rank `(k, q)`: there is a boolean
    99combination whose formula atoms are all local of distance rank `(k, q)`,
    100whose scatter-sentence atoms all have distance rank `(k, q)`, and which
    101has the same truth value as the formula in every finite colored graph
    102under every environment. -/
    103axiom locality (choice : ScatterChoice) {k q : ℕ} (φ : DistFO L k)
    104 (hφ : DistFO.DRank k q φ) :
    105 ∃ b : BC (DistFO L k ⊕ ScatterSentence L),
    106 (∀ ψ : DistFO L k, Sum.inl ψ ∈ b.atomsDistFO.IsLocal ψ ∧ DistFO.DRank k q ψ) ∧
    107 (∀ σ : ScatterSentence L, Sum.inr σ ∈ b.atoms → σ.DRank k q) ∧
    108 ∀ (n : ℕ) (G : SimpleGraph (Fin n)) (col : Coloring n L) (m : Fin k → Fin n),
    109 DistFO.Sat G col m φ ↔
    110 b.eval (Sum.elim (DistFO.Sat G col m) (ScatterSentence.Sat choice G col))
    111
    112end Lax3.Locality
    113
    Show Proof

    Formalization notes

    The boolean combination is reified: BCαBC α is the type of boolean combinations of atoms drawn from αα, with an evaluation map and a list of the atoms occurring in it. That list is what carries the side conditions of the theorem — "all of distance rank (k, q)" is a statement about the atoms of the combination, and a bare PropProp-level equivalence could not express it. Atoms are the sum type of formulas and scatter sentences, so one boolean combination mixes the two kinds and Sum.elimSum.elim supplies their two evaluations.

    Effectiveness is not part of this claim: it asserts that the boolean combination exists. Lax3Proofs.LocalityFun.localityBCLax3Proofs.LocalityFun.localityBC consumes this existential using Classical.chooseClassical.choose, fixing one decomposition for the scatter choice, formula and ranks before the input graph or environment is supplied. Proof irrelevance makes that choice independent of the rank witness. The model-checking schedule uses this fixed decomposition. The headline theorem quantifies over the graph class, formula and positive exponent, then asserts the existence of a word-RAM program and time bounds that work for every input graph. This quantifier order lets the decomposition be fixed with those parameters; it does not assert a procedure that computes the program uniformly from them.

    The statement is an axiomaxiom on this concept surface, discharged by Lax3Proofs.Assembly.localityLax3Proofs.Assembly.locality in the proofs package. The normal-form corollary and the model-checking decomposition consume this concept interface, whose proof is tracked as a separate dependency. The proofs package also provides the chosen decomposition and its specifications in Lax3Proofs.LocalityFunLax3Proofs.LocalityFun for consumers needing a fixed function.

    From Mathlib

    none

    Community review

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above; your ORCID profile must share a public name.

    0 comments

    Loading discussion…