While this submission is a draft, it cannot be used by other submissions.

First-order logic with partial fixed points

Lax134656.PartialFixedPoint · concepts/Lax134656/PartialFixedPoint.lean · lax-134656

definition

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.

    Natural Language Statement

    Definition

    A simultaneous induction, a block of relation variables with a first-order step formula per variable and an output sentence, is read partially as follows. The partial iteration starts from the empty relations and at each stage replaces every relation by the set of tuples satisfying its step formula at the current stage: Ri0=∅R_i^0 = \emptyset and Rin+1={aˉ∣φi(aˉ) holds at stage n}R_i^{n+1} = \{\bar a \mid \varphi_i(\bar a) \text{ holds at stage } n\}. Nothing is accumulated, so the stages need not converge. The induction holds on a structure, read partially, when some stage is a fixed point of the step and the output sentence is true at it; a diverging iteration holds nowhere.

    A decision problem PP over a vocabulary LL is FO(≤\le, PFP) definable when some simultaneous induction over L∪{≤}L \cup \{\le\} holds partially, for every nonempty finite LL-structure AA and every linear order on AA, exactly when AA is a yes-instance of PP. It is order-free FO(PFP) definable, respectively order-free FO(IFP) definable, when some simultaneous induction over LL alone holds partially, respectively inflationarily, on every nonempty finite LL-structure exactly when it is a yes-instance: the notions the Abiteboul–Vianu theorem compares.

    Concept map
    5 concepts; 15 descendants hidden
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    Lean source view on GitHub

    1import Mathlib.ModelTheory.Order
    2import Mathlib.ModelTheory.Semantics
    3import Mathlib.Logic.Relation
    4import Mathlib.Dynamics.FixedPoints.Basic
    5import Lax904597.Problems
    6import Lax904597.Interpretations
    7import Lax904597.SecondOrder
    8import Lax535992.InflationaryFixedPoint
    9
    10/-!
    11---
    12title: First-order logic with partial fixed points
    13type: definition
    14---
    15A simultaneous induction, a block of relation variables with a first-order
    16step formula per variable and an output sentence, is read partially as
    17follows. The partial iteration starts from the empty relations and at each
    18stage replaces every relation by the set of tuples satisfying its step
    19formula at the current stage: Ri0=∅R_i^0 = \emptyset and
    20Rin+1={aˉ∣φi(aˉ) holds at stage n}R_i^{n+1} = \{\bar a \mid \varphi_i(\bar a) \text{ holds at stage } n\}.
    21Nothing is accumulated, so the stages need not converge. The induction holds
    22on a structure, read partially, when some stage is a fixed point of the
    23step and the output sentence is true at it; a diverging iteration holds
    24nowhere.
    25
    26A decision problem PP over a vocabulary LL is FO(≤\le, PFP) definable
    27when some simultaneous induction over L∪{≤}L \cup \{\le\} holds partially,
    28for every nonempty finite LL-structure AA and every linear order on AA,
    29exactly when AA is a yes-instance of PP. It is order-free FO(PFP)
    30definable, respectively order-free FO(IFP) definable, when some
    31simultaneous induction over LL alone holds partially, respectively
    32inflationarily, on every nonempty finite LL-structure exactly when it is a
    33yes-instance: the notions the Abiteboul–Vianu theorem compares.
    34-/
    35
    36namespace Lax134656.PartialFixedPoint
    37
    38open Lax535992.InflationaryFixedPoint Lax904597.Problems
    39
    40open FirstOrder
    41
    42open Language Structure
    43
    44open Function (IsFixedPt)
    45
    46namespace StepDef
    47
    48section Semantics
    49
    50variable {L : Language.{0, 0}} (d : StepDef L) {A : Type} [L.Structure A]
    51
    52variable (A) in
    53/-- The stages of the partial iteration. -/
    54def partStage (n : ℕ) : d.B.Assignment A :=
    55 (d.next)^[n] (SOBlock.botAssign d.B A)
    56
    57end Semantics
    58
    59end StepDef
    60
    61/-- A decision problem is *order-free FO(IFP) definable* if, on nonempty
    62finite structures, it is the value of a simultaneous induction over its own
    63vocabulary, read inflationarily. This is the unordered notion the
    64Abiteboul–Vianu theorem is about. -/
    65def IFPDefinableFree {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L) : Prop :=
    66 ∃ d : StepDef L, ∀ (A : Type) [L.Structure A] [Finite A] [Nonempty A],
    67 P A ↔ d.IFPHolds A
    68
    69namespace StepDef
    70
    71/-- The value of a simultaneous induction read partially: some stage is a
    72fixed point of the step and satisfies the output sentence. All stable stages
    73are equal, so this says exactly «the iteration converges and its limit
    74satisfies the output». -/
    75def PFPHolds {L : Language.{0, 0}} (d : StepDef L) (A : Type) [L.Structure A] : Prop :=
    76 ∃ n, IsFixedPt d.next (partStage d A n) ∧
    77 @Sentence.Realize _ A (SOBlock.structure₁ (L := L) d.B (partStage d A n)) d.out
    78
    79end StepDef
    80
    81/-- A decision problem is *order-free FO(PFP) definable* if, on nonempty
    82finite structures, it is the value of a simultaneous induction over its own
    83vocabulary, read partially. This is the unordered notion on the fixed-point
    84side of the Abiteboul–Vianu theorem. -/
    85def PFPDefinableFree {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L) : Prop :=
    86 ∃ d : StepDef L, ∀ (A : Type) [L.Structure A] [Finite A] [Nonempty A],
    87 P A ↔ StepDef.PFPHolds d A
    88
    89/-- A decision problem is *FO(≤, PFP) definable* if, on nonempty finite
    90ordered structures, it is the value of a simultaneous induction over the
    91ordered expansion of its vocabulary, read partially – for every linear order,
    92the problem itself never seeing it. -/
    93def PFPDefinable {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L) : Prop :=
    94 ∃ d : StepDef (L.sum Language.order),
    95 ∀ (A : Type) [L.Structure A] [LinearOrder A] [Finite A] [Nonempty A],
    96 P A ↔ StepDef.PFPHolds d A
    97
    98end Lax134656.PartialFixedPoint
    99

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above.

    Loading discussion…