Documentation

Complexity.Logics.FirstOrder.Ordered.Query

Arbitrary canonically ordered queries #

An ordered query may depend on the fixed numbering of its input relations. Its source-only encoding serializes no numeric tables: the canonical numeric vocabulary is supplied by Ordered.Basic. Malformed relation tables and universes of size zero or one are rejected.

Main definitions #

Main results #

References #

A finite structure on the canonical universe {0, …, n - 1}, with distinct 0 and 1.

  • size : ℕ

    The size of the universe.

  • size_ge_two : 2 ≤ self.size

    Immerman's Boolean-constant proviso.

  • input : L.Structure (Fin self.size)

    The interpretation of the input symbols. Numeric symbols are supplied separately.

Instances For

    Ordered structures over a relational language are equal when their sizes are and the size cast preserves every relation.

    @[reducible, inline]

    An ordered query is an arbitrary class of canonically ordered structures. Input relations need not be invariant under permutations that change the fixed order.

    Instances For

      An ordered query is first-order definable if a sentence defines it on every canonical ordered structure.

      Instances For

        Decode a source-only input with a universe of size at least two.

        Instances For

          The language of an ordered query. Only original relation tables occur in the input; malformed shapes and universes of size zero or one are rejected.

          Instances For

            Malformed source tables are rejected independently of the query.

            Universes of size zero or one are rejected independently of the query.

            The canonical source-only encoding of an ordered structure.

            Instances For
              @[simp]

              Decoding the canonical encoding returns the same ordered structure.

              @[simp]

              The canonical encoding of an ordered structure is in the encoded language of a query exactly when the structure is in the query.