Language of first-order logic #
This file defines the language of first-order logic.
LO.FirstOrder.Language.emptyis the empty language.LO.FirstOrder.Language.constant Cis a language with only constants of the elementC.LO.FirstOrder.Language.oRing,ℒₒᵣis the language of ordered ring.
@[implicit_reducible]
instance
LO.FirstOrder.Language.instInhabitedFuncOfNatNatOfConstantInhabited
{L : Language}
[L.ConstantInhabited]
:
Equations
- LO.FirstOrder.Language.empty = { Func := fun (x : ℕ) => PEmpty.{?u.1 + 1}, Rel := fun (x : ℕ) => PEmpty.{?u.1 + 1} }
Instances For
@[implicit_reducible]
Equations
Equations
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
@[implicit_reducible]
Equations
- LO.FirstOrder.Language.instToStringFuncEqual k = { toString := fun (x : LO.FirstOrder.Language.equal.Func k) => "" }
@[implicit_reducible]
Equations
- LO.FirstOrder.Language.instToStringRelEqual k = { toString := fun (x : LO.FirstOrder.Language.equal.Rel k) => "\\mathrm{Eq}" }
@[implicit_reducible]
Equations
- LO.FirstOrder.Language.instDecidableEqFuncEqual k a b = Empty.casesOn (fun (x : LO.FirstOrder.Language.equal.Func k) => Decidable (x = b)) a
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
@[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
@[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
- LO.FirstOrder.Language.constant C = { Func := LO.FirstOrder.Language.Constant.Func C, Rel := fun (x : ℕ) => PEmpty.{?u.1 + 1} }
Instances For
@[implicit_reducible]
@[reducible, inline]
Instances For
Equations
- LO.FirstOrder.Language.ofFunc F = { Func := F, Rel := fun (x : ℕ) => PEmpty.{?u.1 + 1} }
Instances For
@[implicit_reducible]
Equations
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
Equations
@[implicit_reducible]
Equations
@[implicit_reducible]
Equations
- L.instStarAdd S = { star := Sum.inr LO.FirstOrder.Language.Star.star }
@[implicit_reducible]
Equations
- L.instZeroAdd S = { zero := Sum.inl LO.FirstOrder.Language.Zero.zero }
@[implicit_reducible]
Equations
- L.instOneAdd S = { one := Sum.inl LO.FirstOrder.Language.One.one }
@[implicit_reducible]
Equations
- L.instAddAdd S = { add := Sum.inl LO.FirstOrder.Language.Add.add }
@[implicit_reducible]
Equations
- L.instMulAdd S = { mul := Sum.inl LO.FirstOrder.Language.Mul.mul }
A structure for the homomorphisms (respecting function and relation symbols) between first-order languages.
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
- func (k : ℕ) : DecidableEq (L.Func k)
- rel (k : ℕ) : DecidableEq (L.Rel k)
Instances
@[implicit_reducible]
instance
LO.FirstOrder.instDecidableEqOfFuncOfDecidableEqRel
(L : Language)
[(k : ℕ) → DecidableEq (L.Func k)]
[(k : ℕ) → DecidableEq (L.Rel k)]
:
Equations
- LO.FirstOrder.instDecidableEqOfFuncOfDecidableEqRel L = { func := fun (x : ℕ) => inferInstance, rel := fun (x : ℕ) => inferInstance }
@[implicit_reducible]
instance
LO.FirstOrder.instDecidableEqFuncOfDecidableEq
(L : Language)
[L.DecidableEq]
(k : ℕ)
:
DecidableEq (L.Func k)
@[implicit_reducible]
instance
LO.FirstOrder.instDecidableEqRelOfDecidableEq
(L : Language)
[L.DecidableEq]
(k : ℕ)
:
DecidableEq (L.Rel k)
@[implicit_reducible]
instance
LO.FirstOrder.instDecidableEqRelOfDecidableEq_1
(L : Language)
[L.DecidableEq]
(k : ℕ)
:
DecidableEq (L.Rel k)
@[implicit_reducible]
instance
LO.FirstOrder.instEncodableOfFuncOfEncodableRel
(L : Language)
[(k : ℕ) → Encodable (L.Func k)]
[(k : ℕ) → Encodable (L.Rel k)]
:
Equations
- LO.FirstOrder.instEncodableOfFuncOfEncodableRel L = { func := fun (x : ℕ) => inferInstance, rel := fun (x : ℕ) => inferInstance }
@[implicit_reducible]
@[implicit_reducible]
@[implicit_reducible]
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.