Documentation

InfinitaryLogic.Methods.LopezEscobar.FunctionalTheta

The functional Θ: syntax and semantics (issue #10, Unit 2a) #

Marker's Lemma-4.23 sentence over the two-sorted mid-language MidLang L = L.sum WitnessLang (one witness copy; Unit 2b maps it into the tagged KLang per side), with the audit's Unit-2 revision: a default-coordinate clause absent from Marker's bijective-pairing presentation. Without it the f-sequence could carry arbitrary bits at coordinates outside range queryEmbedding while Unit 0's queryCode fixes those coordinates to false, and a path through T would not correspond to the base reduct's query code.

The six clauses:

  1. omegaAxioms(c, s) enumerate the carrier as (ℕ, 0, succ): s injective, c not a successor, and every element is a numeral (countable disjunction);
  2. bitAxiom — every f(x) equals c or s(c);
  3. codeAxiom — for every query q, R(numerals of q) ↔ f(numeral (queryEmbedding q)) = s(c);
  4. defaultAxiomf(numeral n) = c for every n ∉ range queryEmbedding;
  5. treeDiagram T — every tree n pinned at all numeral tuples according to T n (classically: atom if the node is in T, its negation otherwise), including n = 0;
  6. pathAxiom — every prefix formed from f and g satisfies tree n, including tree 0.

Exports: per-clause realization lemmas; numMap_bijective (clause 1 gives a bijective numeral map); fBit_eq_queryCode (clauses 1–4 identify the f-bit sequence exactly with queryCode of the base-reduct code pulledCode); the tree pinning as an iff (realize_treeDiagram); and the bundled functionalTheta T.

@[reducible, inline]

The two-sorted mid-language: the base plus one witness copy.

Equations
Instances For

    Terms #

    Numeral terms in the mid-language: c, s c, s (s c), ….

    Equations
    Instances For
      def FirstOrder.Language.mF (L : Language) {α : Type} (t : L.MidLang.Term α) :

      f applied to a term.

      Equations
      Instances For
        def FirstOrder.Language.mG (L : Language) {α : Type} (t : L.MidLang.Term α) :

        g applied to a term.

        Equations
        Instances For

          Semantic shorthands (the language argument is explicit throughout — it is not #

          inferable from the carrier)

          def FirstOrder.Language.sMap (L : Language) (M : Type) [inst : L.MidLang.Structure M] (x : M) :
          M

          The interpreted successor.

          Equations
          Instances For
            def FirstOrder.Language.fMap (L : Language) (M : Type) [inst : L.MidLang.Structure M] (x : M) :
            M

            The interpreted f.

            Equations
            Instances For
              def FirstOrder.Language.gMap (L : Language) (M : Type) [inst : L.MidLang.Structure M] (x : M) :
              M

              The interpreted g.

              Equations
              Instances For
                def FirstOrder.Language.numMap (L : Language) (M : Type) [inst : L.MidLang.Structure M] :
                M

                The numeral map ℕ → M.

                Equations
                Instances For
                  @[simp]
                  theorem FirstOrder.Language.realize_mNum {L : Language} {M : Type} [inst : L.MidLang.Structure M] {α : Type} (v : αM) (n : ) :
                  Term.realize v (L.mNum α n) = L.numMap M n

                  Numeral terms realize to the numeral map, under any assignment.

                  @[simp]
                  theorem FirstOrder.Language.realize_mF {L : Language} {M : Type} [inst : L.MidLang.Structure M] {α : Type} (t : L.MidLang.Term α) (v : αM) :
                  Term.realize v (L.mF t) = L.fMap M (Term.realize v t)
                  @[simp]
                  theorem FirstOrder.Language.realize_mG {L : Language} {M : Type} [inst : L.MidLang.Structure M] {α : Type} (t : L.MidLang.Term α) (v : αM) :
                  Term.realize v (L.mG t) = L.gMap M (Term.realize v t)

                  Clause 1: the ω-axioms #

                  Clause 1 (omegaAxioms): s is injective, c is not a successor, and every element is a numeral. Together: the numeral map is a bijection ℕ ≃ carrier.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    Clause-1 realization: injectivity, non-successorhood of c, numeral surjectivity.

                    Clause 1 export: the numeral map of a model of omegaAxioms is bijective.

                    Clause 2: the bit axiom #

                    Clause 2 (bitAxiom): every f-value is c or s(c).

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      theorem FirstOrder.Language.realize_bitAxiom {L : Language} {M : Type} [inst : L.MidLang.Structure M] :
                      L.bitAxiom.Realize M ∀ (x : M), L.fMap M x = L.numMap M 0 L.fMap M x = L.numMap M 1

                      Clauses 3 and 4: code and default #

                      noncomputable def FirstOrder.Language.codeAxiom (L : Language) [Countable ((l : ) × L.Relations l)] :

                      Clause 3 (codeAxiom): for every query q = (R, v), R(numerals of v) ↔ f(numeral (queryEmbedding q)) = s(c).

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem FirstOrder.Language.realize_codeAxiom {L : Language} [Countable ((l : ) × L.Relations l)] {M : Type} [inst : L.MidLang.Structure M] :
                        L.codeAxiom.Realize M ∀ (q : L.RelQuery), (Structure.RelMap (Sum.inl q.fst.snd) fun (i : Fin q.fst.fst) => L.numMap M (q.snd i)) L.fMap M (L.numMap M (queryEmbedding q)) = L.numMap M 1

                        Clause 4 (defaultAxiom, the audit's Unit-2 addition): f(numeral n) = c at every coordinate outside the query embedding's range — matching Unit 0's queryCode default.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          Clause 5: the tree diagram #

                          def FirstOrder.Language.treeAtom (L : Language) (n : ) (σ : Fin nBool) (τ : Fin n) :

                          The tree atom at level n: tree n applied to the bit-numerals of σ followed by the numerals of τ.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def FirstOrder.Language.treeTuple (L : Language) (M : Type) [inst : L.MidLang.Structure M] (n : ) (σ : Fin nBool) (τ : Fin n) :
                            Fin (2 * n)M

                            The semantic tuple of a tree atom.

                            Equations
                            Instances For
                              theorem FirstOrder.Language.realize_treeAtom {L : Language} {M : Type} [inst : L.MidLang.Structure M] (n : ) (σ : Fin nBool) (τ : Fin n) :
                              noncomputable def FirstOrder.Language.treeDiagram (L : Language) (T : (n : ) → Set ((Fin nBool) × (Fin n))) :

                              Clause 5 (treeDiagram): every tree n pinned at all numeral tuples according to T n — the atom when the node is in T n, its negation otherwise — including n = 0.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                theorem FirstOrder.Language.realize_treeDiagram {L : Language} {M : Type} [inst : L.MidLang.Structure M] (T : (n : ) → Set ((Fin nBool) × (Fin n))) :
                                (L.treeDiagram T).Realize M ∀ (n : ) (σ : Fin nBool) (τ : Fin n), Structure.RelMap (Sum.inr (WitnessRel.tree n)) (L.treeTuple M n σ τ) (σ, τ) T n

                                Clause-5 realization — an iff, not merely preservation: the interpreted tree n holds at a numeral tuple exactly when the node is in T n.

                                Clause 6: the path axiom #

                                Clause 6 (pathAxiom): for every n — including 0 — the length-n prefixes of f and g along the numerals satisfy tree n.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  def FirstOrder.Language.pathTuple (L : Language) (M : Type) [inst : L.MidLang.Structure M] (n : ) :
                                  Fin (2 * n)M

                                  The semantic path tuple at level n.

                                  Equations
                                  Instances For

                                    The pulled-back code and the bit-sequence identification #

                                    noncomputable def FirstOrder.Language.pulledCode (L : Language) (M : Type) [inst : L.MidLang.Structure M] :

                                    The base-reduct code of a mid-language structure, pulled back along the numeral map: the query q holds iff the base relation holds at the corresponding numerals.

                                    Equations
                                    Instances For
                                      theorem FirstOrder.Language.fBit_eq_queryCode {L : Language} [Countable ((l : ) × L.Relations l)] {M : Type} [inst : L.MidLang.Structure M] (homega : L.omegaAxioms.Realize M) (hcode : L.codeAxiom.Realize M) (hdefault : L.defaultAxiom.Realize M) (n : ) :
                                      L.fMap M (L.numMap M n) = L.numMap M 1 queryCode (L.pulledCode M) n = true

                                      The bit-sequence identification (clauses 1, 3, 4): the f-bit at numeral n is 1 exactly when queryCode of the pulled-back base code is true at n.

                                      The bundle #

                                      noncomputable def FirstOrder.Language.functionalTheta (L : Language) [Countable ((l : ) × L.Relations l)] (T : (n : ) → Set ((Fin nBool) × (Fin n))) :

                                      The functional Θ over the mid-language: all six clauses.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For

                                        Realization of the bundle: all six clause-level semantics.