Documentation

Logic.FirstOrder.Basic.Syntax.Language

Language of first-order logic #

This file defines the language of first-order logic.

Instances
    theorem LO.FirstOrder.Language.IsRelational.func_empty {L : LO.FirstOrder.Language} [self : L.IsRelational] (k : ) :
    IsEmpty (L.Func (k + 1))
    theorem LO.FirstOrder.Language.IsConstant.rel_empty {L : LO.FirstOrder.Language} [self : L.IsConstant] (k : ) :
    IsEmpty (L.Rel k)
    Equations
    • LO.FirstOrder.Language.instInhabitedFuncOfNatNatOfConstantInhabited = inferInstance
    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.
    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.
    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.
    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    • =
    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.
    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.
    Equations
    • One or more equations did not get rendered due to their size.
    inductive LO.FirstOrder.Language.Constant.Func (C : Type u_1) :
    Type u_1
    Equations
    Equations
    Instances For
    • pow : L.Func 2
    Instances
      • pair : L.Func 2
      Instances
        Equations
        Equations
        • L.instStarAdd S = { star := Sum.inr LO.FirstOrder.Language.Star.star }
        Equations
        • L.instZeroAdd S = { zero := Sum.inl LO.FirstOrder.Language.Zero.zero }
        Equations
        • L.instOneAdd S = { one := Sum.inl LO.FirstOrder.Language.One.one }
        Equations
        • L.instAddAdd S = { add := Sum.inl LO.FirstOrder.Language.Add.add }
        Equations
        • L.instMulAdd S = { mul := Sum.inl LO.FirstOrder.Language.Mul.mul }
        Equations
        • L.instEqAdd S = { eq := Sum.inl LO.FirstOrder.Language.Eq.eq }
        Equations
        • L.instLTAdd S = { lt := Sum.inl LO.FirstOrder.Language.LT.lt }
        theorem LO.FirstOrder.Language.Hom.ext {L₁ : LO.FirstOrder.Language} {L₂ : LO.FirstOrder.Language} (x : L₁.Hom L₂) (y : L₁.Hom L₂) (func : @LO.FirstOrder.Language.Hom.func L₁ L₂ x = @LO.FirstOrder.Language.Hom.func L₁ L₂ y) (rel : @LO.FirstOrder.Language.Hom.rel L₁ L₂ x = @LO.FirstOrder.Language.Hom.rel L₁ L₂ y) :
        x = y
        • func : {k : } → L₁.Func kL₂.Func k
        • rel : {k : } → L₁.Rel kL₂.Rel k
        Equations
        def LO.FirstOrder.Language.Hom.comp {L₁ : LO.FirstOrder.Language} {L₂ : LO.FirstOrder.Language} {L₃ : LO.FirstOrder.Language} (Ψ : L₂.Hom L₃) (Φ : L₁.Hom L₂) :
        L₁.Hom L₃
        Equations
        • Ψ.comp Φ = { func := fun {k : } => Ψ.func Φ.func, rel := fun {k : } => Ψ.rel Φ.rel }
        Equations
        Equations
        @[simp]
        theorem LO.FirstOrder.Language.Hom.add₂_star (L₁ : LO.FirstOrder.Language) (L₂ : LO.FirstOrder.Language) [L₂.Star] :
        (LO.FirstOrder.Language.Hom.add₂ L₁ L₂).func LO.FirstOrder.Language.Star.star = LO.FirstOrder.Language.Star.star
        @[simp]
        theorem LO.FirstOrder.Language.Hom.add₁_zero (L₁ : LO.FirstOrder.Language) (L₂ : LO.FirstOrder.Language) [L₁.Zero] :
        (LO.FirstOrder.Language.Hom.add₁ L₁ L₂).func LO.FirstOrder.Language.Zero.zero = LO.FirstOrder.Language.Zero.zero
        @[simp]
        theorem LO.FirstOrder.Language.Hom.add₁_one (L₁ : LO.FirstOrder.Language) (L₂ : LO.FirstOrder.Language) [L₁.One] :
        (LO.FirstOrder.Language.Hom.add₁ L₁ L₂).func LO.FirstOrder.Language.One.one = LO.FirstOrder.Language.One.one
        @[simp]
        theorem LO.FirstOrder.Language.Hom.add₁_add (L₁ : LO.FirstOrder.Language) (L₂ : LO.FirstOrder.Language) [L₁.Add] :
        (LO.FirstOrder.Language.Hom.add₁ L₁ L₂).func LO.FirstOrder.Language.Add.add = LO.FirstOrder.Language.Add.add
        @[simp]
        theorem LO.FirstOrder.Language.Hom.add₁_mul (L₁ : LO.FirstOrder.Language) (L₂ : LO.FirstOrder.Language) [L₁.Mul] :
        (LO.FirstOrder.Language.Hom.add₁ L₁ L₂).func LO.FirstOrder.Language.Mul.mul = LO.FirstOrder.Language.Mul.mul
        @[simp]
        theorem LO.FirstOrder.Language.Hom.add₁_eq (L₁ : LO.FirstOrder.Language) (L₂ : LO.FirstOrder.Language) [L₁.Eq] :
        (LO.FirstOrder.Language.Hom.add₁ L₁ L₂).rel LO.FirstOrder.Language.Eq.eq = LO.FirstOrder.Language.Eq.eq
        @[simp]
        theorem LO.FirstOrder.Language.Hom.add₁_lt (L₁ : LO.FirstOrder.Language) (L₂ : LO.FirstOrder.Language) [L₁.LT] :
        (LO.FirstOrder.Language.Hom.add₁ L₁ L₂).rel LO.FirstOrder.Language.LT.lt = LO.FirstOrder.Language.LT.lt
        Equations
        theorem LO.FirstOrder.Language.Hom.func_sigma {ι : Type u_1} {k : } (L : ιLO.FirstOrder.Language) (i : ι) (f : (L i).Func k) :
        (LO.FirstOrder.Language.Hom.sigma L i).func f = i, f
        theorem LO.FirstOrder.Language.Hom.rel_sigma {ι : Type u_1} {k : } (L : ιLO.FirstOrder.Language) (i : ι) (r : (L i).Rel k) :
        (LO.FirstOrder.Language.Hom.sigma L i).rel r = i, r
        Equations
        • One or more equations did not get rendered due to their size.