Equations
- LO.ORingStruc.numeral 0 = 0
- LO.ORingStruc.numeral 1 = 1
- LO.ORingStruc.numeral n.succ.succ = LO.ORingStruc.numeral (n + 1) + 1
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
LO.FirstOrder.Semiterm.oringEmb_add
{L : Language}
[L.ORing]
{ξ : Type u_1}
{n : ℕ}
(v : Fin 2 → Semiterm ℒₒᵣ ξ n)
:
lMap Language.oringEmb (op(+).operator v) = (‘(!!(lMap Language.oringEmb (v 0)) + !!(lMap Language.oringEmb (v 1)))’)
@[simp]
theorem
LO.FirstOrder.Semiterm.oringEmb_mul
{L : Language}
[L.ORing]
{ξ : Type u_1}
{n : ℕ}
(v : Fin 2 → Semiterm ℒₒᵣ ξ n)
:
lMap Language.oringEmb (op(*).operator v) = ‘(!!(lMap Language.oringEmb (v 0)) * !!(lMap Language.oringEmb (v 1)))’
@[simp]
theorem
LO.FirstOrder.Semiterm.oringEmb_numeral
{L : Language}
[L.ORing]
{ξ : Type u_1}
{n : ℕ}
(z : ℕ)
:
lMap Language.oringEmb ↑(Operator.numeral ℒₒᵣ z) = ↑(Operator.numeral L z)
instance
LO.FirstOrder.Semiformula.instCoeORing
{L : Language}
[L.ORing]
{ξ : Type u_2}
{n : ℕ}
:
Coe (Semiformula ℒₒᵣ ξ n) (Semiformula L ξ n)
Equations
Equations
- LO.FirstOrder.Semiformula.instCoeTheoryORing = { coe := fun (x : LO.FirstOrder.Theory ℒₒᵣ) => ⇑(LO.FirstOrder.Semiformula.lMap LO.FirstOrder.Language.oringEmb) '' x }
@[simp]
theorem
LO.FirstOrder.Semiformula.oringEmb_eq
{L : Language}
[L.ORing]
{ξ : Type u_1}
{n : ℕ}
(v : Fin 2 → Semiterm ℒₒᵣ ξ n)
:
(lMap Language.oringEmb) (op(=).operator v) = (“!!(Semiterm.lMap Language.oringEmb (v 0)) = !!(Semiterm.lMap Language.oringEmb (v 1))”)
@[simp]
theorem
LO.FirstOrder.Semiformula.oringEmb_lt
{L : Language}
[L.ORing]
{ξ : Type u_1}
{n : ℕ}
(v : Fin 2 → Semiterm ℒₒᵣ ξ n)
:
(lMap Language.oringEmb) (op(<).operator v) = (“!!(Semiterm.lMap Language.oringEmb (v 0)) < !!(Semiterm.lMap Language.oringEmb (v 1))”)
@[reducible, inline]
Equations
Instances For
class
LO.FirstOrder.Structure.ORing
(L : Language)
[L.ORing]
(M : Type w)
[ORingStruc M]
[Structure L M]
extends LO.FirstOrder.Structure.Zero L M, LO.FirstOrder.Structure.One L M, LO.FirstOrder.Structure.Add L M, LO.FirstOrder.Structure.Mul L M, LO.FirstOrder.Structure.Eq L M, LO.FirstOrder.Structure.LT L M :
- zero : Semiterm.Operator.val op(0) ![] = 0
- one : Semiterm.Operator.val op(1) ![] = 1
Instances
@[simp]
theorem
LO.FirstOrder.Structure.numeral_eq_numeral
{L : Language}
[Semiterm.Operator.Zero L]
[Semiterm.Operator.One L]
[Semiterm.Operator.Add L]
{M : Type u}
[ORingStruc M]
[Structure L M]
[Structure.Zero L M]
[Structure.One L M]
[Structure.Add L M]
(z : ℕ)
:
def
LO.FirstOrder.Semiformula.ballLTSucc
{L : Language}
[L.LT]
[L.Zero]
[L.One]
[L.Add]
{ξ : Type u_2}
{n : ℕ}
(t : Semiterm L ξ n)
(φ : Semiformula L ξ (n + 1))
:
Semiformula L ξ n
Equations
- LO.FirstOrder.Semiformula.ballLTSucc t φ = LO.FirstOrder.Semiformula.ballLT (‘(!!t + !!↑1)’) φ
Instances For
def
LO.FirstOrder.Semiformula.bexLTSucc
{L : Language}
[L.LT]
[L.Zero]
[L.One]
[L.Add]
{ξ : Type u_2}
{n : ℕ}
(t : Semiterm L ξ n)
(φ : Semiformula L ξ (n + 1))
:
Semiformula L ξ n
Equations
- LO.FirstOrder.Semiformula.bexLTSucc t φ = LO.FirstOrder.Semiformula.bexLT (‘(!!t + !!↑1)’) φ
Instances For
theorem
LO.FirstOrder.Semiformula.eval_ballLTSucc
{ξ : Type u_3}
{n : ℕ}
{L : Language}
[L.LT]
[L.Zero]
[L.One]
[L.Add]
{M : Type u_1}
{s : Structure L M}
[LT M]
[One M]
[Add M]
[Structure.LT L M]
[Structure.One L M]
[Structure.Add L M]
{t : Semiterm L ξ n}
{φ : Semiformula L ξ (n + 1)}
{e : Fin n → M}
{ε : ξ → M}
:
(Eval s e ε) (ballLTSucc t φ) ↔ ∀ x < Semiterm.val s e ε t + 1, (Eval s (x :> e) ε) φ
theorem
LO.FirstOrder.Semiformula.eval_bexLTSucc
{ξ : Type u_3}
{n : ℕ}
{L : Language}
[L.LT]
[L.Zero]
[L.One]
[L.Add]
{M : Type u_1}
{s : Structure L M}
[LT M]
[One M]
[Add M]
[Structure.LT L M]
[Structure.One L M]
[Structure.Add L M]
{t : Semiterm L ξ n}
{φ : Semiformula L ξ (n + 1)}
{e : Fin n → M}
{ε : ξ → M}
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.FirstOrder.Arith.consequence_of
{L : Language}
[L.ORing]
(T : Theory L)
[𝐄𝐐 ≼ T]
(φ : SyntacticFormula L)
(H :
∀ (M : Type (max u w)) [inst : ORingStruc M] [inst_1 : Structure L M] [inst_2 : Structure.ORing L M]
[inst_3 : M ⊧ₘ* T], M ⊧ₘ φ)
:
T ⊨ φ
@[simp]
- refl {L : Language} [L.Eq] : 𝐄𝐐' (“!!(Semiterm.fvar 0) = !!(Semiterm.fvar 0)”)
- replace {L : Language} [L.Eq] (φ : SyntacticSemiformula L 1) : 𝐄𝐐' (“∀' ∀' (!!(Semiterm.bvar 1) = !!(Semiterm.bvar 0) → !(φ/[Semiterm.bvar 1] ➝ φ/[Semiterm.bvar 0]))”)
Instances For
Equations
- LO.FirstOrder.Theory.«term𝐄𝐐'» = Lean.ParserDescr.node `LO.FirstOrder.Theory.«term𝐄𝐐'» 1024 (Lean.ParserDescr.symbol "𝐄𝐐'")