Documentation

Foundation.Syntax.Predicate.Language

Language of first-order logic #

This file defines the language of first-order logic.

structure LO.FirstOrder.Language :
Type (u + 1)
Instances For
    Instances
      Instances
        Equations
        Instances For
          Instances For
            Instances For
              Instances For
                Instances For
                  @[reducible]
                  Equations
                  Instances For
                    @[implicit_reducible]
                    Equations
                    @[implicit_reducible]
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      Instances For
                        @[implicit_reducible]
                        Equations
                        • One or more equations did not get rendered due to their size.
                        @[implicit_reducible]
                        Equations
                        • One or more equations did not get rendered due to their size.
                        @[implicit_reducible]
                        Equations
                        • One or more equations did not get rendered due to their size.
                        @[implicit_reducible]
                        Equations
                        • One or more equations did not get rendered due to their size.
                        @[implicit_reducible]
                        Equations
                        • One or more equations did not get rendered due to their size.
                        @[implicit_reducible]
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            inductive LO.FirstOrder.Language.Constant.Func (C : Type u_1) :
                            Type u_1
                            Instances For
                              Equations
                              Instances For
                                Equations
                                Instances For
                                  def LO.FirstOrder.Language.sigma {ι : Type u_1} (L : ιLanguage) :
                                  Equations
                                  Instances For
                                    Instances
                                      Instances
                                        Instances
                                          Instances
                                            Instances
                                              Instances
                                                Instances
                                                  Instances
                                                    Instances
                                                      Instances
                                                        Instances
                                                          class LO.FirstOrder.Language.ORing (L : Language) extends L.Eq, L.LT, L.Zero, L.One, L.Add, L.Mul :
                                                          Type u_1
                                                          Instances
                                                            @[implicit_reducible]
                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            @[implicit_reducible]
                                                            Equations
                                                            @[implicit_reducible]
                                                            Equations
                                                            @[implicit_reducible]
                                                            Equations
                                                            @[implicit_reducible]
                                                            Equations
                                                            @[implicit_reducible]
                                                            Equations
                                                            @[implicit_reducible]
                                                            instance LO.FirstOrder.Language.instEqAdd (L : Language) (S : Language) [L.Eq] :
                                                            (L.add S).Eq
                                                            Equations
                                                            @[implicit_reducible]
                                                            instance LO.FirstOrder.Language.instLTAdd (L : Language) (S : Language) [L.LT] :
                                                            (L.add S).LT
                                                            Equations
                                                            structure LO.FirstOrder.Language.Hom (L₁ : Language) (L₂ : Language) :
                                                            Type (max u_1 u_2)
                                                            Instances For
                                                              theorem LO.FirstOrder.Language.Hom.ext {L₁ : Language} {L₂ : Language} {x y : L₁.Hom L₂} (func : @func L₁ L₂ x = @func L₁ L₂ y) (rel : @rel L₁ L₂ x = @rel L₁ L₂ y) :
                                                              x = y
                                                              theorem LO.FirstOrder.Language.Hom.ext_iff {L₁ : Language} {L₂ : Language} {x y : L₁.Hom L₂} :
                                                              x = y @func L₁ L₂ x = @func L₁ L₂ y @rel L₁ L₂ x = @rel L₁ L₂ y

                                                              A structure for the homomorphisms (respecting function and relation symbols) between first-order languages.

                                                              Equations
                                                              Instances For
                                                                Equations
                                                                Instances For
                                                                  def LO.FirstOrder.Language.Hom.comp {L₁ : Language} {L₂ : Language} {L₃ : Language} (Ψ : L₂.Hom L₃) (Φ : L₁.Hom L₂) :
                                                                  L₁.Hom L₃
                                                                  Equations
                                                                  Instances For
                                                                    def LO.FirstOrder.Language.Hom.add₁ (L₁ : Language) (L₂ : Language) :
                                                                    L₁.Hom (L₁.add L₂)
                                                                    Equations
                                                                    Instances For
                                                                      def LO.FirstOrder.Language.Hom.add₂ (L₁ : Language) (L₂ : Language) :
                                                                      L₂.Hom (L₁.add L₂)
                                                                      Equations
                                                                      Instances For
                                                                        theorem LO.FirstOrder.Language.Hom.func_add₁ {k : } (L₁ : Language) (L₂ : Language) (f : L₁.Func k) :
                                                                        (add₁ L₁ L₂).func f = Sum.inl f
                                                                        theorem LO.FirstOrder.Language.Hom.rel_add₁ {k : } (L₁ : Language) (L₂ : Language) (r : L₁.Rel k) :
                                                                        (add₁ L₁ L₂).rel r = Sum.inl r
                                                                        theorem LO.FirstOrder.Language.Hom.func_add₂ {k : } (L₁ : Language) (L₂ : Language) (f : L₂.Func k) :
                                                                        (add₂ L₁ L₂).func f = Sum.inr f
                                                                        theorem LO.FirstOrder.Language.Hom.rel_add₂ {k : } (L₁ : Language) (L₂ : Language) (r : L₂.Rel k) :
                                                                        (add₂ L₁ L₂).rel r = Sum.inr r
                                                                        @[simp]
                                                                        @[simp]
                                                                        @[simp]
                                                                        theorem LO.FirstOrder.Language.Hom.add₁_one (L₁ : Language) (L₂ : Language) [L₁.One] :
                                                                        @[simp]
                                                                        theorem LO.FirstOrder.Language.Hom.add₁_add (L₁ : Language) (L₂ : Language) [L₁.Add] :
                                                                        @[simp]
                                                                        theorem LO.FirstOrder.Language.Hom.add₁_mul (L₁ : Language) (L₂ : Language) [L₁.Mul] :
                                                                        @[simp]
                                                                        theorem LO.FirstOrder.Language.Hom.add₁_eq (L₁ : Language) (L₂ : Language) [L₁.Eq] :
                                                                        (add₁ L₁ L₂).rel Eq.eq = Eq.eq
                                                                        @[simp]
                                                                        theorem LO.FirstOrder.Language.Hom.add₁_lt (L₁ : Language) (L₂ : Language) [L₁.LT] :
                                                                        (add₁ L₁ L₂).rel LT.lt = LT.lt
                                                                        def LO.FirstOrder.Language.Hom.sigma {ι : Type u_1} (L : ιLanguage) (i : ι) :
                                                                        Equations
                                                                        Instances For
                                                                          theorem LO.FirstOrder.Language.Hom.func_sigma {ι : Type u_1} {k : } (L : ιLanguage) (i : ι) (f : (L i).Func k) :
                                                                          (sigma L i).func f = i, f
                                                                          theorem LO.FirstOrder.Language.Hom.rel_sigma {ι : Type u_1} {k : } (L : ιLanguage) (i : ι) (r : (L i).Rel k) :
                                                                          (sigma L i).rel r = i, r
                                                                          Equations
                                                                          • One or more equations did not get rendered due to their size.
                                                                          Instances For
                                                                            Instances
                                                                              @[implicit_reducible]
                                                                              Equations
                                                                              Instances
                                                                                @[implicit_reducible]
                                                                                Equations
                                                                                Instances
                                                                                  @[implicit_reducible]
                                                                                  Equations
                                                                                  • One or more equations did not get rendered due to their size.