Documentation

Mathlib.ModelTheory.Substructures

First-Order Substructures #

This file defines substructures of first-order structures in a similar manner to the various substructures appearing in the algebra library.

Main Definitions #

Main Results #

def FirstOrder.Language.ClosedUnder {L : FirstOrder.Language} {M : Type w} [FirstOrder.Language.Structure L M] {n : } (f : L.Functions n) (s : Set M) :

Indicates that a set in a given structure is a closed under a function symbol.

Equations
Instances For

    A substructure of a structure M is a set closed under application of function symbols.

    Instances For
      Equations
      • FirstOrder.Language.Substructure.instSetLike = { coe := FirstOrder.Language.Substructure.carrier, coe_injective' := }

      Two substructures are equal if they have the same elements.

      Copy a substructure replacing carrier with a set that is equal to it.

      Equations
      Instances For

        The substructure M of the structure M.

        Equations
        • FirstOrder.Language.Substructure.instTop = { top := { carrier := Set.univ, fun_mem := } }
        Equations
        • FirstOrder.Language.Substructure.instInhabited = { default := }

        The inf of two substructures is their intersection.

        Equations
        Equations
        theorem FirstOrder.Language.Substructure.mem_iInf {L : FirstOrder.Language} {M : Type w} [FirstOrder.Language.Structure L M] {ι : Sort u_3} {S : ιFirstOrder.Language.Substructure L M} {x : M} :
        x ⨅ (i : ι), S i ∀ (i : ι), x S i
        @[simp]
        theorem FirstOrder.Language.Substructure.coe_iInf {L : FirstOrder.Language} {M : Type w} [FirstOrder.Language.Structure L M] {ι : Sort u_3} {S : ιFirstOrder.Language.Substructure L M} :
        (⨅ (i : ι), S i) = ⋂ (i : ι), (S i)

        Substructures of a structure form a complete lattice.

        Equations

        The L.Substructure generated by a set.

        Equations
        Instances For
          @[simp]

          The substructure generated by a set includes the set.

          @[simp]

          A substructure S includes closure L s if and only if it includes s.

          Substructure closure of a set is monotone in its argument: if s ⊆ t, then closure L s ≤ closure L t.

          theorem FirstOrder.Language.Substructure.closure_induction {L : FirstOrder.Language} {M : Type w} [FirstOrder.Language.Structure L M] {s : Set M} {p : MProp} {x : M} (h : x (FirstOrder.Language.Substructure.closure L).toFun s) (Hs : xs, p x) (Hfun : ∀ {n : } (f : L.Functions n), FirstOrder.Language.ClosedUnder f (setOf p)) :
          p x

          An induction principle for closure membership. If p holds for all elements of s, and is preserved under function symbols, then p holds for all elements of the closure of s.

          theorem FirstOrder.Language.Substructure.dense_induction {L : FirstOrder.Language} {M : Type w} [FirstOrder.Language.Structure L M] {p : MProp} (x : M) {s : Set M} (hs : (FirstOrder.Language.Substructure.closure L).toFun s = ) (Hs : xs, p x) (Hfun : ∀ {n : } (f : L.Functions n), FirstOrder.Language.ClosedUnder f (setOf p)) :
          p x

          If s is a dense set in a structure M, Substructure.closure L s = ⊤, then in order to prove that some predicate p holds for all x : M it suffices to verify p x for x ∈ s, and verify that p is preserved under function symbols.

          closure forms a Galois insertion with the coercion to set.

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

            comap and map #

            The preimage of a substructure along a homomorphism is a substructure.

            Equations
            Instances For

              The image of a substructure along a homomorphism is a substructure.

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

                The natural embedding of an L.Substructure of M into M.

                Equations
                Instances For

                  The equivalence between the maximal substructure of a structure and the structure itself.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]
                    theorem FirstOrder.Language.Substructure.coe_topEquiv {L : FirstOrder.Language} {M : Type w} [FirstOrder.Language.Structure L M] :
                    FirstOrder.Language.Substructure.topEquiv = Subtype.val
                    theorem FirstOrder.Language.Substructure.closure_induction' {L : FirstOrder.Language} {M : Type w} [FirstOrder.Language.Structure L M] (s : Set M) {p : (x : M) → x (FirstOrder.Language.Substructure.closure L).toFun sProp} (Hs : ∀ (x : M) (h : x s), p x ) (Hfun : ∀ {n : } (f : L.Functions n), FirstOrder.Language.ClosedUnder f {x : M | ∃ (hx : x (FirstOrder.Language.Substructure.closure L).toFun s), p x hx}) {x : M} (hx : x (FirstOrder.Language.Substructure.closure L).toFun s) :
                    p x hx

                    A dependent version of Substructure.closure_induction.

                    Reduces the language of a substructure along a language hom.

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

                      Turns any substructure containing a constant set A into a L[[A]]-substructure.

                      Equations
                      Instances For

                        A first-order hom f : M → N whose values lie in a substructure p ⊆ N can be restricted to a hom M → p.

                        Equations
                        Instances For

                          The range of a first-order hom f : M → N is a submodule of N. See Note [range copy pattern].

                          Equations
                          Instances For

                            The substructure of elements x : M such that f x = g x

                            Equations
                            Instances For

                              If two L.Homs are equal on a set, then they are equal on its substructure closure.

                              A first-order embedding f : M → N whose values lie in a substructure p ⊆ N can be restricted to an embedding M → p.

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

                                The equivalence between a substructure s and its image s.map f.toHom, where f is an embedding.

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

                                  The equivalence between the domain and the range of an embedding f.

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