Existential second-order logic with value invention

Lax624099.ValueInvention · concepts/Lax624099/ValueInvention.lean · lax-624099

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

    Existential second-order logic with value invention, ∃\existsSO[new], is existential second-order logic whose relation variables range over the universe of the structure extended by finitely many invented values, in the style of the object-creating query languages of Abiteboul, Hull and Vianu (1995), chapter 18. An instance AA and a number mm of invented values give the extended structure on the disjoint union of AA and mm new elements, over the vocabulary of AA together with one unary predicate marking the original elements: the symbols of AA hold on original elements exactly where they hold in AA, and invented values are related to nothing. A decision problem is ∃\existsSO[new]-definable when, for one existential second-order block and one first-order kernel, a nonempty finite structure is a yes-instance exactly when for some number of invented values the block's relation variables can be assigned relations over the extended universe satisfying the kernel in the extended structure. The number of invented values is unbounded, which is what takes the notion beyond existential second-order logic; a witness is still a finite object.

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

    Lean source view on GitHub

    1import Mathlib.Data.Fintype.Lattice
    2import Mathlib.ModelTheory.Order
    3import Mathlib.ModelTheory.Semantics
    4import Mathlib.ModelTheory.Complexity
    5import Mathlib.Tactic.FinCases
    6import Lax904597.Problems
    7import Lax904597.SecondOrder
    8
    9/-!
    10---
    11title: Existential second-order logic with value invention
    12type: definition
    13---
    14Existential second-order logic with value invention, ∃\existsSO[new], is
    15existential second-order logic whose relation variables range over the
    16universe of the structure extended by finitely many invented values, in the
    17style of the object-creating query languages of Abiteboul, Hull and Vianu
    18(1995), chapter 18. An
    19instance AA and a number mm of invented values give the extended structure
    20on the disjoint union of AA and mm new elements, over the vocabulary of AA
    21together with one unary predicate marking the original elements: the symbols
    22of AA hold on original elements exactly where they hold in AA, and invented
    23values are related to nothing. A decision problem is ∃\existsSO[new]-definable
    24when, for one existential second-order block and one first-order kernel, a
    25nonempty finite structure is a yes-instance exactly when for some number of
    26invented values the block's relation variables can be assigned relations over
    27the extended universe satisfying the kernel in the extended structure. The
    28number of invented values is unbounded, which is what takes the notion beyond
    29existential second-order logic; a witness is still a finite object.
    30-/
    31
    32namespace Lax624099.ValueInvention
    33
    34open Lax904597.Problems Lax904597.SecondOrder
    35
    36open FirstOrder
    37
    38open FirstOrder.Language
    39
    40/-- Relation symbols of the language marking the original elements inside an
    41extended universe. -/
    42inductive oldRel : ℕ → Type
    43 /-- `old x`: the element `x` comes from the original structure, i.e., it is
    44 not an invented value. -/
    45 | old : oldRel 1
    46 deriving DecidableEq
    47
    48/-- The one-symbol relational language marking, inside a universe extended
    49with invented values, the elements of the original structure. -/
    50def oldMark : Language :=
    51 ⟨fun _ => Empty, oldRel⟩
    52
    53instance instIsRelationalOldMark : IsRelational oldMark :=
    54 fun _ => ⟨fun f => Empty.elim f⟩
    55
    56open FirstOrder
    57
    58open Language Structure
    59
    60/-- The vocabulary of extended structures: the base vocabulary together with
    61the unary predicate `old` marking the elements of the original structure. -/
    62abbrev newLang (L : Language.{0, 0}) : Language := L.sum oldMark
    63
    64section Extended
    65
    66/-- The original elements of a universe extended by invented values. The
    67invented values are an arbitrary type, so that the same predicate reads an
    68extension by a *set* of them and not only by an initial segment. -/
    69def IsOld {A N : Type} : A ⊕ N → Prop
    70 | Sum.inl _ => True
    71 | Sum.inr _ => False
    72
    73/-- The base structure carried by the extended universe: a relation symbol
    74holds of a tuple exactly when all its entries are original elements and it
    75holds of them in `A`. Invented values are related to nothing. -/
    76@[reducible]
    77def extBase (L : Language.{0, 0}) [L.IsRelational] (A : Type) [L.Structure A] (m : ℕ) :
    78 L.Structure (A ⊕ Fin m) where
    79 funMap f := isEmptyElim f
    80 RelMap {_k} r x := ∃ y, (∀ i, x i = Sum.inl (y i)) ∧ RelMap r y
    81
    82/-- The interpretation of the marking predicate on the extended universe. -/
    83@[reducible]
    84def oldMarkStructure (A : Type) (m : ℕ) : oldMark.Structure (A ⊕ Fin m) where
    85 RelMap | .old => fun x => IsOld (x 0)
    86
    87/-- **The extended structure**: the instance `A` together with `m` invented
    88values, over the vocabulary `DescriptiveComplexity.newLang L`. -/
    89instance extStructure (L : Language.{0, 0}) [L.IsRelational] (A : Type) [L.Structure A]
    90 (m : ℕ) : (newLang L).Structure (A ⊕ Fin m) :=
    91 @sumStructure L oldMark (A ⊕ Fin m) (extBase L A m) (oldMarkStructure A m)
    92
    93end Extended
    94
    95section Definability
    96
    97variable {L : Language.{0, 0}}
    98
    99/-- **Definability in `∃SO[new]`**, existential second-order logic with value
    100invention: on nonempty finite structures, `P A` holds exactly when, for *some*
    101number `m` of invented values, the relation variables of the block `B` can be
    102assigned relations over the extended universe `A ⊕ Fin m` satisfying the
    103first-order kernel `φ` in the extended structure.
    104
    105The number `m` of invented values is unbounded, which is precisely what takes
    106the notion beyond `Σ₁` (`DescriptiveComplexity.SigmaSODefinable`, where the
    107certificate lives over `A` itself): a witness is a finite object, but no
    108function of `|A|` bounds its size. -/
    109def SigmaSONewDefinable [L.IsRelational] (P : DecisionProblem L) : Prop :=
    110 ∃ B : SOBlock, ∃ φ : (soLang (newLang L) [B]).Sentence,
    111 ∀ (A : Type) [L.Structure A] [Finite A] [Nonempty A],
    112 P A ↔ ∃ m : ℕ, SORealize (newLang L) (A ⊕ Fin m) [B] φ true
    113
    114end Definability
    115
    116end Lax624099.ValueInvention
    117

    Discussion

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

    Loading discussion…