Language of first-order logic #
This file defines the language of first-order logic.
LO.FirstOrder.Language.empty
is the empty language.LO.FirstOrder.Language.constant C
is a language with only constants of the elementC
.LO.FirstOrder.Language.oRing
,ℒₒᵣ
is the language of ordered ring.
Instances
instance
LO.FirstOrder.Language.instInhabitedFuncOfNatNatOfConstantInhabited
{L : Language}
[L.ConstantInhabited]
:
Inhabited (L.Func 0)
Equations
- LO.FirstOrder.Language.empty = { Func := fun (x : ℕ) => PEmpty.{?u.5 + 1}, Rel := fun (x : ℕ) => PEmpty.{?u.5 + 1} }
Instances For
Equations
- LO.FirstOrder.Language.instInhabited = { default := LO.FirstOrder.Language.empty }
Equations
- LO.FirstOrder.Language.graph = { Func := LO.FirstOrder.Language.GraphFunc, Rel := LO.FirstOrder.Language.GraphRel }
Instances For
Equations
- LO.FirstOrder.Language.binary = { Func := fun (x : ℕ) => Empty, Rel := LO.FirstOrder.Language.BinaryRel }
Instances For
@[reducible]
Equations
- LO.FirstOrder.Language.equal = { Func := fun (x : ℕ) => Empty, Rel := LO.FirstOrder.Language.EqRel }
Instances For
Equations
- LO.FirstOrder.Language.instToStringFuncEqual k = { toString := fun (x : LO.FirstOrder.Language.equal.Func k) => "" }
Equations
- LO.FirstOrder.Language.instToStringRelEqual k = { toString := fun (x : LO.FirstOrder.Language.equal.Rel k) => "\mathrm{Eq}" }
Equations
- LO.FirstOrder.Language.instDecidableEqFuncEqual k a b = Empty.casesOn (fun (x : LO.FirstOrder.Language.equal.Func k) => Decidable (x = b)) a
Equations
- One or more equations did not get rendered due to their size.
@[reducible]
Equations
- ℒₒᵣ = { Func := LO.FirstOrder.Language.ORing.Func, Rel := LO.FirstOrder.Language.ORing.Rel }
Instances For
Equations
- LO.FirstOrder.Language.termℒₒᵣ = Lean.ParserDescr.node `LO.FirstOrder.Language.termℒₒᵣ 1024 (Lean.ParserDescr.symbol "ℒₒᵣ")
Instances For
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
- LO.FirstOrder.Language.constant C = { Func := LO.FirstOrder.Language.Constant.Func C, Rel := fun (x : ℕ) => PEmpty.{?u.11 + 1} }
Instances For
Equations
@[reducible, inline]
Instances For
Equations
- LO.FirstOrder.Language.ofFunc F = { Func := F, Rel := fun (x : ℕ) => PEmpty.{?u.12 + 1} }
Instances For
Equations
Equations
- LO.FirstOrder.Language.sigma L = { Func := fun (k : ℕ) => (i : ι) × (L i).Func k, Rel := fun (k : ℕ) => (i : ι) × (L i).Rel k }
Instances For
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 }
Equations
- LO.FirstOrder.«term_→ᵥ_» = Lean.ParserDescr.trailingNode `LO.FirstOrder.«term_→ᵥ_» 25 26 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " →ᵥ ") (Lean.ParserDescr.cat `term 26))
Instances For
Instances For
Equations
Instances For
Equations
Instances For
def
LO.FirstOrder.Language.Hom.sigma
{ι : Type u_1}
(L : ι → Language)
(i : ι)
:
(L i).Hom (Language.sigma L)
Equations
- LO.FirstOrder.Language.Hom.sigma L i = { func := fun {k : ℕ} (f : (L i).Func k) => ⟨i, f⟩, rel := fun {k : ℕ} (r : (L i).Rel k) => ⟨i, r⟩ }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
- func (k : ℕ) : DecidableEq (L.Func k)
- rel (k : ℕ) : DecidableEq (L.Rel k)
Instances
instance
LO.FirstOrder.instDecidableEqOfFuncOfDecidableEqRel
(L : Language)
[(k : ℕ) → DecidableEq (L.Func k)]
[(k : ℕ) → DecidableEq (L.Rel k)]
:
L.DecidableEq
Equations
- LO.FirstOrder.instDecidableEqOfFuncOfDecidableEqRel L = { func := fun (x : ℕ) => inferInstance, rel := fun (x : ℕ) => inferInstance }
instance
LO.FirstOrder.instDecidableEqFuncOfDecidableEq
(L : Language)
[L.DecidableEq]
(k : ℕ)
:
DecidableEq (L.Func k)
instance
LO.FirstOrder.instDecidableEqRelOfDecidableEq
(L : Language)
[L.DecidableEq]
(k : ℕ)
:
DecidableEq (L.Rel k)
instance
LO.FirstOrder.instDecidableEqRelOfDecidableEq_1
(L : Language)
[L.DecidableEq]
(k : ℕ)
:
DecidableEq (L.Rel k)