Documentation

Complexity.Logics.FirstOrder.Ordered.TupleInterpretation

Order and constants on full tuple universes #

Finite disjunctions and conjunctions express first-difference lexicographic order without quantifiers. On every canonical base structure Fin n, n ≥ 2, the formulas agree with the arbitrary-base ranks in Ordered.lexEquiv. For positive tuple dimension, coordinate equalities define canonical zero, one and maximum as target constants through the existing constant-aware interpretation API. Their ranks are exactly 0, 1 and n ^ k - 1.

The interpreted universe here consists of all tuples. Successor and BIT lifting are supplied separately in Ordered.TupleSuccessor and Ordered.TupleBit; canonical interpretations and their composition are in Ordered.FullTuple and Ordered.FullTuple.Composition. These results do not infer numeric predicates for arbitrary restricted domains.

Main definitions #

Main results #

References #

Strict tuple order: one coordinate increases and all earlier coordinates agree.

Instances For

    Weak tuple order, expressed without quantifiers by reversing strict order.

    Instances For

      The lexicographic order formula on tuples is quantifier-free.

      The lexicographic weak order formula on tuples is quantifier-free.

      @[simp]
      theorem Cslib.Logic.FO.Ordered.realize_tupleLt {L : FirstOrder.Language} {n k : ℕ} [Fact (2 ≤ n)] [L.Structure (Fin n)] (v : Fin 2 × Fin k → Fin n) :
      (tupleLt L k).Realize v ↔ (lexRank fun (i : Fin k) => v (0, i)) < lexRank fun (i : Fin k) => v (1, i)

      The strict-order formula compares the canonical lexicographic ranks.

      @[simp]
      theorem Cslib.Logic.FO.Ordered.realize_tupleLe {L : FirstOrder.Language} {n k : ℕ} [Fact (2 ≤ n)] [L.Structure (Fin n)] (v : Fin 2 × Fin k → Fin n) :
      (tupleLe L k).Realize v ↔ (lexRank fun (i : Fin k) => v (0, i)) ≤ lexRank fun (i : Fin k) => v (1, i)

      The weak-order formula compares the canonical lexicographic ranks.

      The whole tuple universe, with no additional target relation symbols.

      Instances For
        def Cslib.Logic.FO.Ordered.constantTuple {n k : ℕ} [Fact (2 ≤ n)] (c : NumericFunction 0) :
        Fin (k + 1) → Fin n

        The canonical full-domain tuple corresponding to a numeric constant symbol.

        Instances For

          Define each target constant by coordinate equalities to canonical source constants.

          Instances For

            The constant definitions select exactly their explicit canonical coordinate tuples.

            The full-domain constant definitions are quantifier-free.

            Canonical tuple constants exist uniquely for every base n ≥ 2 and positive dimension.

            The canonical constant tuples have ranks 0, 1 and n ^ (k + 1) - 1.

            The interpreted constant values have exactly the canonical numerical ranks.