Documentation

Foundation.FirstOrder.Completeness.CountableSublanguage

Finite sublanguage #

def LO.FirstOrder.Language.sublanguage (L : Language) (pFunc : (k : ) → L.Func kProp) (pRel : (k : ) → L.Rel kProp) :
Equations
Instances For
    def LO.FirstOrder.Language.unsub (L : Language) {pf : (k : ) → L.Func kProp} {pr : (k : ) → L.Rel kProp} :
    (L.sublanguage pf pr).Hom L
    Equations
    Instances For
      @[simp]
      theorem LO.FirstOrder.Language.unsub_onFunc (L : Language) {pFunc✝ : (k : ) → L.Func kProp} {pRel✝ : (k : ) → L.Rel kProp} {a✝ : } {φ : (L.sublanguage pFunc✝ pRel✝).Func a✝} :
      L.unsub.func φ = φ
      @[simp]
      theorem LO.FirstOrder.Language.unsub_onRel (L : Language) {pFunc✝ : (k : ) → L.Func kProp} {pRel✝ : (k : ) → L.Rel kProp} {a✝ : } {φ : (L.sublanguage pFunc✝ pRel✝).Rel a✝} :
      L.unsub.rel φ = φ
      def LO.FirstOrder.Semiterm.symbols {L : Language} [(k : ) → DecidableEq (L.Func k)] {ξ : Type u_1} {n : } :
      Semiterm L ξ nFinset ((k : ) × L.Func k)
      Equations
      Instances For
        @[simp]
        theorem LO.FirstOrder.Semiterm.lang_func {L : Language} [(k : ) → DecidableEq (L.Func k)] {ξ : Type u_1} {n k : } (f : L.Func k) (v : Fin kSemiterm L ξ n) :
        theorem LO.FirstOrder.Semiterm.lang_func_ss {L : Language} [(k : ) → DecidableEq (L.Func k)] {ξ : Type u_1} {n k : } (f : L.Func k) (v : Fin kSemiterm L ξ n) (i : Fin k) :
        (v i).symbols(func f v).symbols
        def LO.FirstOrder.Semiterm.toSublanguage {L : Language} [(k : ) → DecidableEq (L.Func k)] {ξ : Type u_1} {n : } (pf : (k : ) → L.Func kProp) (pr : (k : ) → L.Rel kProp) (t : Semiterm L ξ n) :
        (∀ (k : ) (f : L.Func k), k, f t.symbolspf k f)Semiterm (L.sublanguage pf pr) ξ n
        Equations
        Instances For
          @[simp]
          theorem LO.FirstOrder.Semiterm.lMap_toSublanguage {L : Language} [(k : ) → DecidableEq (L.Func k)] {ξ : Type u_1} {n : } (pf : (k : ) → L.Func kProp) (pr : (k : ) → L.Rel kProp) (t : Semiterm L ξ n) (h : ∀ (k : ) (f : L.Func k), k, f t.symbolspf k f) :
          lMap L.unsub (toSublanguage pf pr t h) = t
          theorem LO.FirstOrder.Semiformula.functionSymbols_rel_ss {L : Language} [L.DecidableEq] {ξ : Type u_1} {n k : } (r : L.Rel k) (v : Fin kSemiterm L ξ n) (i : Fin k) :
          (v i).symbols(rel r v).functionSymbols
          def LO.FirstOrder.Semiformula.toSublanguage {L : Language} [L.DecidableEq] {ξ : Type u_1} (pf : (k : ) → L.Func kProp) (pr : (k : ) → L.Rel kProp) {n : } (φ : Semiformula L ξ n) :
          (∀ (k : ) (f : L.Func k), k, f φ.functionSymbolspf k f)(∀ (k : ) (r : L.Rel k), k, r φ.relationSymbolspr k r)Semiformula (L.sublanguage pf pr) ξ n
          Equations
          Instances For
            @[simp]
            theorem LO.FirstOrder.Semiformula.lMap_toSublanguage {L : Language} [L.DecidableEq] {ξ : Type u_1} (pf : (k : ) → L.Func kProp) (pr : (k : ) → L.Rel kProp) {n : } (φ : Semiformula L ξ n) (hf : ∀ (k : ) (f : L.Func k), k, f φ.functionSymbolspf k f) (hr : ∀ (k : ) (r : L.Rel k), k, r φ.relationSymbolspr k r) :
            (lMap L.unsub) (toSublanguage pf pr φ hf hr) = φ
            @[reducible, inline]
            abbrev LO.FirstOrder.Semiformula.sublanguage {ξ : Type u_1} {n : } {L : Language} [L.DecidableEq] (φ : Semiformula L ξ n) :

            A language consists of the function and relation symbols appearing in a given finite set of formulas.

            Equations
            Instances For
              @[implicit_reducible]
              noncomputable instance LO.FirstOrder.Semiformula.instFintypeFuncSublanguage {ξ : Type u_1} {n : } {L : Language} [L.DecidableEq] (φ : Semiformula L ξ n) (k : ) :
              Equations
              @[implicit_reducible]
              noncomputable instance LO.FirstOrder.Semiformula.instFintypeRelSublanguage {ξ : Type u_1} {n : } {L : Language} [L.DecidableEq] (φ : Semiformula L ξ n) (k : ) :
              Equations
              @[implicit_reducible]
              noncomputable instance LO.FirstOrder.Semiformula.instEncodableSublanguage {ξ : Type u_1} {n : } {L : Language} [L.DecidableEq] (φ : Semiformula L ξ n) :
              Equations
              Equations
              Instances For
                @[simp]

                Structure induced by an injective language homomorphism #

                class LO.FirstOrder.Language.Hom.Injective {L₁ : Language} {L₂ : Language} (Φ : L₁.Hom L₂) :
                Instances
                  instance LO.FirstOrder.Language.unsub_injective {L : Language} (pf : (k : ) → L.Func kProp) (pr : (k : ) → L.Rel kProp) :
                  @[reducible, inline]
                  noncomputable abbrev LO.FirstOrder.Structure.extendStructure {L₁ : Language} {L₂ : Language} (Φ : L₁.Hom L₂) {M : Type u_1} [Nonempty M] (s : Structure L₁ M) :
                  Structure L₂ M
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    theorem LO.FirstOrder.Structure.extendStructure.func {L₁ : Language} {M : Type u_1} [Nonempty M] (s₁ : Structure L₁ M) {L₂ : Language} {k : } (Φ : L₁.Hom L₂) [ : Φ.Injective] (f₁ : L₁.Func k) (v : Fin kM) :
                    func (Φ.func f₁) v = func f₁ v
                    theorem LO.FirstOrder.Structure.extendStructure.rel {L₁ : Language} {M : Type u_1} [Nonempty M] (s₁ : Structure L₁ M) {L₂ : Language} {k : } (Φ : L₁.Hom L₂) [ : Φ.Injective] (r₁ : L₁.Rel k) (v : Fin kM) :
                    rel (Φ.rel r₁) v rel r₁ v
                    theorem LO.FirstOrder.Structure.extendStructure.val_lMap {L₁ : Language} {M : Type u_1} [Nonempty M] (s₁ : Structure L₁ M) {L₂ : Language} {n : } {ξ : Type u_3} (Φ : L₁.Hom L₂) [Φ.Injective] (bv : Fin nM) (fv : ξM) (t : Semiterm L₁ ξ n) :
                    theorem LO.FirstOrder.Structure.extendStructure.eval_lMap {L₁ : Language} {M : Type u_1} [Nonempty M] (s₁ : Structure L₁ M) {L₂ : Language} {n : } {ξ : Type u_3} (Φ : L₁.Hom L₂) [Φ.Injective] (bv : Fin nM) (fv : ξM) {φ : Semiformula L₁ ξ n} :
                    theorem LO.FirstOrder.Structure.extendStructure.models_lMap {L₁ : Language} {M : Type u_1} [Nonempty M] (s₁ : Structure L₁ M) {L₂ : Language} (Φ : L₁.Hom L₂) [Φ.Injective] (φ : Sentence L₁) :
                    theorem LO.FirstOrder.lMap_models_lMap_iff {L₁ L₂ : Language} (Φ : L₁.Hom L₂) [Φ.Injective] {T : Theory L₁} {φ : Sentence L₁} :
                    theorem LO.FirstOrder.satisfiable_lMap {L₁ L₂ : Language} (Φ : L₁.Hom L₂) [Φ.Injective] {T : Theory L₁} (s : Satisfiable T) :