@[reducible, inline]
Equations
Instances For
Equations
- LO.FirstOrder.Semiterm.fn f = { term := LO.FirstOrder.Semiterm.func f fun (x : Fin k) => LO.FirstOrder.Semiterm.bvar x }
Equations
- LO.FirstOrder.Semiterm.Operator.equiv = { toFun := LO.FirstOrder.Semiterm.Operator.term, invFun := LO.FirstOrder.Semiterm.Operator.mk, left_inv := ⋯, right_inv := ⋯ }
Equations
Equations
- LO.FirstOrder.Semiterm.Operator.bvar x = { term := LO.FirstOrder.Semiterm.bvar x }
@[simp]
def
LO.FirstOrder.Semiterm.Operator.iterr
{L : Language}
(f : Operator L 2)
(z : Const L)
(n : ℕ)
:
Operator L n
Equations
- f.iterr z 0 = z
- f.iterr z n.succ = f.foldr (LO.FirstOrder.Semiterm.Operator.bvar 0) (List.ofFn fun (x : Fin n) => LO.FirstOrder.Semiterm.Operator.bvar x.succ)
- zero : Const L
- one : Const L
- add : Operator L 2
- mul : Operator L 2
- exp : Operator L 1
- star : Const L
class
LO.FirstOrder.Semiterm.Operator.GoedelNumber
(L : Language)
(α : Type u_1)
:
Type (max u_1 u_2)
- goedelNumber : α → Const L
Equations
- LO.FirstOrder.Semiterm.Operator.«termOp(0)» = Lean.ParserDescr.node `LO.FirstOrder.Semiterm.Operator.«termOp(0)» 1024 (Lean.ParserDescr.symbol "op(0)")
Equations
- LO.FirstOrder.Semiterm.Operator.«termOp(1)» = Lean.ParserDescr.node `LO.FirstOrder.Semiterm.Operator.«termOp(1)» 1024 (Lean.ParserDescr.symbol "op(1)")
Equations
- LO.FirstOrder.Semiterm.Operator.«termOp(+)» = Lean.ParserDescr.node `LO.FirstOrder.Semiterm.Operator.«termOp(+)» 1024 (Lean.ParserDescr.symbol "op(+)")
Equations
- LO.FirstOrder.Semiterm.Operator.«termOp(*)» = Lean.ParserDescr.node `LO.FirstOrder.Semiterm.Operator.«termOp(*)» 1024 (Lean.ParserDescr.symbol "op(*)")
Equations
- LO.FirstOrder.Semiterm.Operator.instZeroOfZero = { zero := { term := LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.Zero.zero ![] } }
Equations
- LO.FirstOrder.Semiterm.Operator.instOneOfOne = { one := { term := LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.One.one ![] } }
Equations
Equations
Equations
Equations
- LO.FirstOrder.Semiterm.Operator.instStarOfStar = { star := { term := LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.Star.star ![] } }
theorem
LO.FirstOrder.Semiterm.Operator.Zero.term_eq
{L : Language}
[L.Zero]
:
op(0).term = func Language.Zero.zero ![]
theorem
LO.FirstOrder.Semiterm.Operator.One.term_eq
{L : Language}
[L.One]
:
op(1).term = func Language.One.one ![]
theorem
LO.FirstOrder.Semiterm.Operator.Star.term_eq
{L : Language}
[L.Star]
:
star.term = func Language.Star.star ![]
def
LO.FirstOrder.Semiterm.Operator.numeral
(L : Language)
[Operator.Zero L]
[Operator.One L]
[Operator.Add L]
:
Equations
- LO.FirstOrder.Semiterm.Operator.numeral L 0 = op(0)
- LO.FirstOrder.Semiterm.Operator.numeral L n.succ = op(+).foldr op(1) (List.replicate n op(1))
theorem
LO.FirstOrder.Semiterm.Operator.numeral_zero
{L : Language}
[hz : Operator.Zero L]
[ho : Operator.One L]
[ha : Operator.Add L]
:
theorem
LO.FirstOrder.Semiterm.Operator.numeral_one
{L : Language}
[hz : Operator.Zero L]
[ho : Operator.One L]
[ha : Operator.Add L]
:
theorem
LO.FirstOrder.Semiterm.Operator.numeral_succ
{L : Language}
[hz : Operator.Zero L]
[ho : Operator.One L]
[ha : Operator.Add L]
{z : ℕ}
:
theorem
LO.FirstOrder.Semiterm.Operator.numeral_add_two
{L : Language}
[hz : Operator.Zero L]
[ho : Operator.One L]
[ha : Operator.Add L]
{z : ℕ}
:
@[reducible, inline]
abbrev
LO.FirstOrder.Semiterm.Operator.encode
(L : Language)
[Operator.Zero L]
[Operator.One L]
[Operator.Add L]
{α : Type u_1}
[Encodable α]
(a : α)
:
Const L
def
LO.FirstOrder.Semiterm.Operator.npow
(L : Language)
[Operator.One L]
[Operator.Mul L]
(n : ℕ)
:
Operator L 1
Equations
theorem
LO.FirstOrder.Semiterm.Operator.npow_zero
{L : Language}
[Operator.One L]
[Operator.Mul L]
:
theorem
LO.FirstOrder.Semiterm.Operator.npow_succ
{L : Language}
[Operator.One L]
[Operator.Mul L]
{n : ℕ}
:
@[reducible, inline]
abbrev
LO.FirstOrder.Semiterm.Operator.GoedelNumber.goedelNumber'
{L : Language}
{α : Type u_2}
[GoedelNumber L α]
{ξ : Type u_3}
{n : ℕ}
(a : α)
:
Semiterm L ξ n
instance
LO.FirstOrder.Semiterm.Operator.GoedelNumber.instGoedelQuote
{L : Language}
{α : Type u_2}
[GoedelNumber L α]
{ξ : Type u_3}
{n : ℕ}
:
GoedelQuote α (Semiterm L ξ n)
def
LO.FirstOrder.Semiterm.Operator.GoedelNumber.ofEncodable
{L : Language}
[Operator.Zero L]
[Operator.One L]
[Operator.Add L]
{α : Type u_1}
[Encodable α]
:
GoedelNumber L α
Equations
- LO.FirstOrder.Semiterm.Operator.GoedelNumber.ofEncodable = { goedelNumber := LO.FirstOrder.Semiterm.Operator.encode L }
def
LO.FirstOrder.Semiterm.Operator.val
{L : Language}
{k : ℕ}
{M : Type w}
[s : Structure L M]
(o : Operator L k)
(v : Fin k → M)
:
M
Equations
- o.val v = LO.FirstOrder.Semiterm.val s v Empty.elim o.term
@[simp]
theorem
LO.FirstOrder.Semiterm.val_operator₀
{L : Language}
{M : Type w}
{s : Structure L M}
{n✝ : ℕ}
{e : Fin n✝ → M}
{ξ✝ : Type u_1}
{ε : ξ✝ → M}
{v : Fin 0 → Semiterm L ξ✝ n✝}
(o : Const L)
:
val s e ε (Operator.operator o v) = Operator.val o ![]
- sentence : Semisentence L n
@[reducible, inline]
Equations
Instances For
def
LO.FirstOrder.Semiformula.Operator.const
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(c : Const L)
:
Semiformula L ξ n
Equations
instance
LO.FirstOrder.Semiformula.Operator.instCoeConst
{L : Language}
{ξ : Type u_2}
{n : ℕ}
:
Coe (Const L) (Semiformula L ξ n)
Equations
def
LO.FirstOrder.Semiformula.Operator.comp
{L : Language}
{k l : ℕ}
(o : Operator L k)
(w : Fin k → Semiterm.Operator L l)
:
Operator L l
- eq : Operator L 2
- lt : Operator L 2
- le : Operator L 2
- mem : Operator L 2
Equations
- LO.FirstOrder.Semiformula.Operator.«termOp(=)» = Lean.ParserDescr.node `LO.FirstOrder.Semiformula.Operator.«termOp(=)» 1024 (Lean.ParserDescr.symbol "op(=)")
Equations
- LO.FirstOrder.Semiformula.Operator.«termOp(<)» = Lean.ParserDescr.node `LO.FirstOrder.Semiformula.Operator.«termOp(<)» 1024 (Lean.ParserDescr.symbol "op(<)")
Equations
- LO.FirstOrder.Semiformula.Operator.«termOp(≤)» = Lean.ParserDescr.node `LO.FirstOrder.Semiformula.Operator.«termOp(≤)» 1024 (Lean.ParserDescr.symbol "op(≤)")
Equations
- LO.FirstOrder.Semiformula.Operator.«termOp(∈)» = Lean.ParserDescr.node `LO.FirstOrder.Semiformula.Operator.«termOp(∈)» 1024 (Lean.ParserDescr.symbol "op(∈)")
Equations
Equations
instance
LO.FirstOrder.Semiformula.Operator.instLEOfEqOfLT
{L : Language}
[Operator.Eq L]
[Operator.LT L]
:
Equations
- LO.FirstOrder.Semiformula.Operator.instLEOfEqOfLT = { le := op(=).or op(<) }
theorem
LO.FirstOrder.Semiformula.Operator.Eq.sentence_eq
{L : Language}
[L.Eq]
:
op(=).sentence = rel Language.Eq.eq Semiterm.bvar
theorem
LO.FirstOrder.Semiformula.Operator.LT.sentence_eq
{L : Language}
[L.LT]
:
op(<).sentence = rel Language.LT.lt Semiterm.bvar
theorem
LO.FirstOrder.Semiformula.Operator.LE.def_of_Eq_of_LT
{L : Language}
[Operator.Eq L]
[Operator.LT L]
:
theorem
LO.FirstOrder.Semiformula.Operator.lt_def
{L : Language}
{ξ : Type u_1}
{n : ℕ}
[L.LT]
(t u : Semiterm L ξ n)
:
op(<).operator ![t, u] = rel Language.LT.lt ![t, u]
theorem
LO.FirstOrder.Semiformula.Operator.eq_def
{L : Language}
{ξ : Type u_1}
{n : ℕ}
[L.Eq]
(t u : Semiterm L ξ n)
:
op(=).operator ![t, u] = rel Language.Eq.eq ![t, u]
theorem
LO.FirstOrder.Semiformula.Operator.le_def
{L : Language}
{ξ : Type u_1}
{n : ℕ}
[L.Eq]
[L.LT]
(t u : Semiterm L ξ n)
:
op(≤).operator ![t, u] = rel Language.Eq.eq ![t, u] ⋎ rel Language.LT.lt ![t, u]
def
LO.FirstOrder.Semiformula.Operator.val
{L : Language}
{M : Type w}
[s : Structure L M]
{k : ℕ}
(o : Operator L k)
(v : Fin k → M)
:
Equations
- o.val v = (LO.FirstOrder.Semiformula.Eval s v Empty.elim) o.sentence
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_operator₀
{L : Language}
{M : Type w}
{s : Structure L M}
{n✝ : ℕ}
{e : Fin n✝ → M}
{ξ✝ : Type u_1}
{ε : ξ✝ → M}
{o : Const L}
{v : Fin 0 → Semiterm L ξ✝ n✝}
:
(Eval s e ε) (Operator.operator o v) ↔ Operator.val o ![]
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_operator₂
{L : Language}
{M : Type w}
{s : Structure L M}
{ξ : Type u_1}
{n : ℕ}
{e : Fin n → M}
{ε : ξ → M}
{o : Operator L 2}
{t₁ t₂ : Semiterm L ξ n}
:
(Eval s e ε) (o.operator ![t₁, t₂]) ↔ o.val ![Semiterm.val s e ε t₁, Semiterm.val s e ε t₂]
def
LO.FirstOrder.Semiformula.ballLT
{L : Language}
{ξ : Type u_2}
{n : ℕ}
[Operator.LT L]
(t : Semiterm L ξ n)
(φ : Semiformula L ξ (n + 1))
:
Semiformula L ξ n
Equations
- LO.FirstOrder.Semiformula.ballLT t φ = ∀[op(<).operator ![LO.FirstOrder.Semiterm.bvar 0, LO.FirstOrder.Rew.bShift t]] φ
def
LO.FirstOrder.Semiformula.bexLT
{L : Language}
{ξ : Type u_2}
{n : ℕ}
[Operator.LT L]
(t : Semiterm L ξ n)
(φ : Semiformula L ξ (n + 1))
:
Semiformula L ξ n
Equations
- LO.FirstOrder.Semiformula.bexLT t φ = ∃[op(<).operator ![LO.FirstOrder.Semiterm.bvar 0, LO.FirstOrder.Rew.bShift t]] φ
def
LO.FirstOrder.Semiformula.ballLE
{L : Language}
{ξ : Type u_2}
{n : ℕ}
[Operator.LE L]
(t : Semiterm L ξ n)
(φ : Semiformula L ξ (n + 1))
:
Semiformula L ξ n
Equations
- LO.FirstOrder.Semiformula.ballLE t φ = ∀[op(≤).operator ![LO.FirstOrder.Semiterm.bvar 0, LO.FirstOrder.Rew.bShift t]] φ
def
LO.FirstOrder.Semiformula.bexLE
{L : Language}
{ξ : Type u_2}
{n : ℕ}
[Operator.LE L]
(t : Semiterm L ξ n)
(φ : Semiformula L ξ (n + 1))
:
Semiformula L ξ n
Equations
- LO.FirstOrder.Semiformula.bexLE t φ = ∃[op(≤).operator ![LO.FirstOrder.Semiterm.bvar 0, LO.FirstOrder.Rew.bShift t]] φ
def
LO.FirstOrder.Semiformula.ballMem
{L : Language}
{ξ : Type u_2}
{n : ℕ}
[Operator.Mem L]
(t : Semiterm L ξ n)
(φ : Semiformula L ξ (n + 1))
:
Semiformula L ξ n
Equations
- LO.FirstOrder.Semiformula.ballMem t φ = ∀[op(∈).operator ![LO.FirstOrder.Semiterm.bvar 0, LO.FirstOrder.Rew.bShift t]] φ
def
LO.FirstOrder.Semiformula.bexMem
{L : Language}
{ξ : Type u_2}
{n : ℕ}
[Operator.Mem L]
(t : Semiterm L ξ n)
(φ : Semiformula L ξ (n + 1))
:
Semiformula L ξ n
Equations
- LO.FirstOrder.Semiformula.bexMem t φ = ∃[op(∈).operator ![LO.FirstOrder.Semiterm.bvar 0, LO.FirstOrder.Rew.bShift t]] φ
@[simp]
theorem
LO.FirstOrder.Rew.const
{ξ₁ : Type u_2}
{n₁ : ℕ}
{ξ₂ : Type u_1}
{n₂ : ℕ}
{L : Language}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
(c : Semiterm.Const L)
:
ω ↑c = ↑c
theorem
LO.FirstOrder.Rew.hom_operator
{ξ₁ : Type u_1}
{n₁ : ℕ}
{ξ₂ : Type u_2}
{n₂ : ℕ}
{L : Language}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
{k : ℕ}
(o : Semiformula.Operator L k)
(v : Fin k → Semiterm L ξ₁ n₁)
:
(Rewriting.app ω) (o.operator v) = o.operator fun (i : Fin k) => ω (v i)
theorem
LO.FirstOrder.Rew.hom_operator'
{ξ₁ : Type u_1}
{n₁ : ℕ}
{ξ₂ : Type u_2}
{n₂ : ℕ}
{L : Language}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
{k : ℕ}
(o : Semiformula.Operator L k)
(v : Fin k → Semiterm L ξ₁ n₁)
:
(Rewriting.app ω) (o.operator v) = o.operator (⇑ω ∘ v)
@[simp]
theorem
LO.FirstOrder.Rew.hom_finitary0
{ξ₁ : Type u_1}
{n₁ : ℕ}
{ξ₂ : Type u_2}
{n₂ : ℕ}
{L : Language}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
(o : Semiformula.Operator L 0)
(v : Fin 0 → Semiterm L ξ₁ n₁)
:
(Rewriting.app ω) (o.operator v) = o.operator ![]
@[simp]
theorem
LO.FirstOrder.Rew.hom_finitary1
{ξ₁ : Type u_1}
{n₁ : ℕ}
{ξ₂ : Type u_2}
{n₂ : ℕ}
{L : Language}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
(o : Semiformula.Operator L 1)
(t : Semiterm L ξ₁ n₁)
:
(Rewriting.app ω) (o.operator ![t]) = o.operator ![ω t]
@[simp]
theorem
LO.FirstOrder.Rew.hom_finitary2
{ξ₁ : Type u_1}
{n₁ : ℕ}
{ξ₂ : Type u_2}
{n₂ : ℕ}
{L : Language}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
(o : Semiformula.Operator L 2)
(t₁ t₂ : Semiterm L ξ₁ n₁)
:
(Rewriting.app ω) (o.operator ![t₁, t₂]) = o.operator ![ω t₁, ω t₂]
@[simp]
theorem
LO.FirstOrder.Rew.hom_finitary3
{ξ₁ : Type u_1}
{n₁ : ℕ}
{ξ₂ : Type u_2}
{n₂ : ℕ}
{L : Language}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
(o : Semiformula.Operator L 3)
(t₁ t₂ t₃ : Semiterm L ξ₁ n₁)
:
(Rewriting.app ω) (o.operator ![t₁, t₂, t₃]) = o.operator ![ω t₁, ω t₂, ω t₃]
@[simp]
theorem
LO.FirstOrder.Rew.hom_const
{ξ₁ : Type u_2}
{n₁ : ℕ}
{ξ₂ : Type u_1}
{n₂ : ℕ}
{L : Language}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
{c : Semiformula.Const L}
:
(Rewriting.app ω) ↑c = ↑c
theorem
LO.FirstOrder.Rew.eq_equal_iff
{ξ₁ : Type u_1}
{n₁ : ℕ}
{ξ₂ : Type u_2}
{n₂ : ℕ}
{L : Language}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
[L.Eq]
{φ : Semiformula L ξ₁ n₁}
{t u : Semiterm L ξ₂ n₂}
:
theorem
LO.FirstOrder.Rew.eq_lt_iff
{ξ₁ : Type u_1}
{n₁ : ℕ}
{ξ₂ : Type u_2}
{n₂ : ℕ}
{L : Language}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
[L.LT]
{φ : Semiformula L ξ₁ n₁}
{t u : Semiterm L ξ₂ n₂}
:
class
LO.FirstOrder.Structure.Zero
(L : Language)
(M : Type u_1)
[Structure L M]
[Semiterm.Operator.Zero L]
[Zero M]
:
- zero : Semiterm.Operator.val op(0) ![] = 0
class
LO.FirstOrder.Structure.One
(L : Language)
(M : Type u_1)
[Structure L M]
[Semiterm.Operator.One L]
[One M]
:
- one : Semiterm.Operator.val op(1) ![] = 1
class
LO.FirstOrder.Structure.Add
(L : Language)
(M : Type u_1)
[Structure L M]
[Semiterm.Operator.Add L]
[Add M]
:
class
LO.FirstOrder.Structure.Mul
(L : Language)
(M : Type u_1)
[Structure L M]
[Semiterm.Operator.Mul L]
[Mul M]
:
class
LO.FirstOrder.Structure.Exp
(L : Language)
(M : Type u_1)
[Structure L M]
[Semiterm.Operator.Exp L]
[Exp M]
:
- exp (a : M) : Semiterm.Operator.Exp.exp.val ![a] = _root_.Exp.exp a
class
LO.FirstOrder.Structure.Eq
(L : Language)
(M : Type u_1)
[Structure L M]
[Semiformula.Operator.Eq L]
:
class
LO.FirstOrder.Structure.LT
(L : Language)
(M : Type u_1)
[Structure L M]
[Semiformula.Operator.LT L]
[LT M]
:
class
LO.FirstOrder.Structure.LE
(L : Language)
(M : Type u_1)
[Structure L M]
[Semiformula.Operator.LE L]
[LE M]
:
class
LO.FirstOrder.Structure.Mem
(L : Language)
(M : Type u_1)
[Structure L M]
[Semiformula.Operator.Mem L]
[Membership M M]
:
instance
LO.FirstOrder.Structure.instLEOfEqOfLT
(L : Language)
(M : Type u_1)
[Structure L M]
[L.Eq]
[L.LT]
[Structure.Eq L M]
[PartialOrder M]
[Structure.LT L M]
:
Structure.LE L M
@[simp]
theorem
LO.FirstOrder.Structure.zero_eq_of_lang
{L : Language}
(M : Type u_1)
[Structure L M]
[L.Zero]
[Zero M]
[Structure.Zero L M]
:
func Language.Zero.zero ![] = 0
@[simp]
theorem
LO.FirstOrder.Structure.one_eq_of_lang
{L : Language}
(M : Type u_1)
[Structure L M]
[L.One]
[One M]
[Structure.One L M]
:
func Language.One.one ![] = 1
@[simp]
theorem
LO.FirstOrder.Structure.add_eq_of_lang
{L : Language}
(M : Type u_1)
[Structure L M]
[L.Add]
[Add M]
[Structure.Add L M]
{v : Fin 2 → M}
:
func Language.Add.add v = v 0 + v 1
@[simp]
theorem
LO.FirstOrder.Structure.mul_eq_of_lang
{L : Language}
(M : Type u_1)
[Structure L M]
[L.Mul]
[Mul M]
[Structure.Mul L M]
{v : Fin 2 → M}
:
func Language.Mul.mul v = v 0 * v 1
@[simp]
theorem
LO.FirstOrder.Structure.exp_eq_of_lang
{L : Language}
(M : Type u_1)
[Structure L M]
[L.Exp]
[Exp M]
[Structure.Exp L M]
{v : Fin 1 → M}
:
func Language.Exp.exp v = exp (v 0)
theorem
LO.FirstOrder.Structure.le_iff_of_eq_of_lt
{L : Language}
(M : Type u_1)
[Structure L M]
[Semiformula.Operator.Eq L]
[Semiformula.Operator.LT L]
[LT M]
[Structure.Eq L M]
[Structure.LT L M]
{a b : M}
:
@[simp]
theorem
LO.FirstOrder.Structure.eq_lang
{L : Language}
(M : Type u_1)
[Structure L M]
[L.Eq]
[Structure.Eq L M]
{v : Fin 2 → M}
:
rel Language.Eq.eq v ↔ v 0 = v 1
@[simp]
theorem
LO.FirstOrder.Structure.lt_lang
{L : Language}
(M : Type u_1)
[Structure L M]
[L.LT]
[LT M]
[Structure.LT L M]
{v : Fin 2 → M}
:
rel Language.LT.lt v ↔ v 0 < v 1
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_ballLT
{ξ : Type u_3}
{n : ℕ}
{L : Language}
{M : Type u_1}
{s : Structure L M}
{t : Semiterm L ξ n}
{φ : Semiformula L ξ (n + 1)}
[Operator.LT L]
[LT M]
[Structure.LT L M]
{e : Fin n → M}
{ε : ξ → M}
:
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_bexLT
{ξ : Type u_3}
{n : ℕ}
{L : Language}
{M : Type u_1}
{s : Structure L M}
{t : Semiterm L ξ n}
{φ : Semiformula L ξ (n + 1)}
[Operator.LT L]
[LT M]
[Structure.LT L M]
{e : Fin n → M}
{ε : ξ → M}
:
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_ballLE
{ξ : Type u_3}
{n : ℕ}
{L : Language}
{M : Type u_1}
{s : Structure L M}
{t : Semiterm L ξ n}
{φ : Semiformula L ξ (n + 1)}
[Operator.LE L]
[LE M]
[Structure.LE L M]
{e : Fin n → M}
{ε : ξ → M}
:
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_bexLE
{ξ : Type u_3}
{n : ℕ}
{L : Language}
{M : Type u_1}
{s : Structure L M}
{t : Semiterm L ξ n}
{φ : Semiformula L ξ (n + 1)}
[Operator.LE L]
[LE M]
[Structure.LE L M]
{e : Fin n → M}
{ε : ξ → M}
:
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_ballMem
{ξ : Type u_3}
{n : ℕ}
{L : Language}
{M : Type u_1}
{s : Structure L M}
{t : Semiterm L ξ n}
{φ : Semiformula L ξ (n + 1)}
[Operator.Mem L]
[Membership M M]
[Structure.Mem L M]
{e : Fin n → M}
{ε : ξ → M}
:
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_bexMem
{ξ : Type u_3}
{n : ℕ}
{L : Language}
{M : Type u_1}
{s : Structure L M}
{t : Semiterm L ξ n}
{φ : Semiformula L ξ (n + 1)}
[Operator.Mem L]
[Membership M M]
[Structure.Mem L M]
{e : Fin n → M}
{ε : ξ → M}
:
@[reducible, inline]
abbrev
LO.FirstOrder.Semiterm.numeral
{L : Language}
[L.Zero]
[L.One]
[L.Add]
{ξ : Type u_2}
{n : ℕ}
(k : ℕ)
:
Semiterm L ξ n
Equations
- ↑k = ↑(LO.FirstOrder.Semiterm.Operator.numeral L k)
instance
LO.FirstOrder.Semiterm.instCoeNat
{L : Language}
[L.Zero]
[L.One]
[L.Add]
{ξ : Type u_2}
{n : ℕ}
: