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