Preperations for arithmetic #
- NOTE:
To avoid the duplicate definitions of
Structure ℒₒᵣfor models, we basically useORingStructure, and generatedstandardStructureinstead ofStructure ℒₒᵣitself.
Equations
Instances For
@[simp]
@[reducible, inline]
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
def
LO.FirstOrder.Semiterm.toStringORing
{ξ : Type u_1}
[ToString ξ]
{n : ℕ}
:
ArithmeticSemiterm ξ n → String
Equations
- (LO.FirstOrder.Semiterm.bvar x_1).toStringORing = "x_{" ++ toString (n - 1 - ↑x_1) ++ "}"
- (LO.FirstOrder.Semiterm.fvar x_1).toStringORing = "a_{" ++ toString x_1 ++ "}"
- (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.zero a).toStringORing = "0"
- (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.one a).toStringORing = "1"
- (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.add v).toStringORing = "(" ++ (v 0).toStringORing ++ " + " ++ (v 1).toStringORing ++ ")"
- (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.mul v).toStringORing = "(" ++ (v 0).toStringORing ++ " \\cdot " ++ (v 1).toStringORing ++ ")"
Instances For
@[implicit_reducible]
instance
LO.FirstOrder.instReprArithmeticSemiterm
{ξ : Type u_1}
[ToString ξ]
{n : ℕ}
:
Repr (ArithmeticSemiterm ξ n)
Equations
- LO.FirstOrder.instReprArithmeticSemiterm = { reprPrec := fun (t : LO.FirstOrder.ArithmeticSemiterm ξ n) (x : ℕ) => Std.Format.text (LO.FirstOrder.Semiterm.toStringORing t) }
@[implicit_reducible]
instance
LO.FirstOrder.instToStringArithmeticSemiterm
{ξ : Type u_1}
[ToString ξ]
{n : ℕ}
:
ToString (ArithmeticSemiterm ξ n)
Equations
def
LO.FirstOrder.Semiformula.toStringORing
{ξ : Type u_1}
[ToString ξ]
{n : ℕ}
:
ArithmeticSemiformula ξ n → String
Equations
- One or more equations did not get rendered due to their size.
- LO.FirstOrder.Semiformula.verum.toStringORing = "\\top"
- LO.FirstOrder.Semiformula.falsum.toStringORing = "\\bot"
- (LO.FirstOrder.Semiformula.rel LO.FirstOrder.Language.ORing.Rel.eq v).toStringORing = (v 0).toStringORing ++ " = " ++ (v 1).toStringORing
- (LO.FirstOrder.Semiformula.rel LO.FirstOrder.Language.ORing.Rel.lt v).toStringORing = (v 0).toStringORing ++ " < " ++ (v 1).toStringORing
- (LO.FirstOrder.Semiformula.nrel LO.FirstOrder.Language.ORing.Rel.eq v).toStringORing = (v 0).toStringORing ++ " \\not = " ++ (v 1).toStringORing
- (LO.FirstOrder.Semiformula.nrel LO.FirstOrder.Language.ORing.Rel.lt v).toStringORing = (v 0).toStringORing ++ " \\not < " ++ (v 1).toStringORing
- (LO.FirstOrder.Semiformula.and φ ψ).toStringORing = "[" ++ LO.FirstOrder.Semiformula.toStringORing φ ++ "]" ++ " \\land " ++ "[" ++ LO.FirstOrder.Semiformula.toStringORing ψ ++ "]"
- (LO.FirstOrder.Semiformula.or φ ψ).toStringORing = "[" ++ LO.FirstOrder.Semiformula.toStringORing φ ++ "]" ++ " \\lor " ++ "[" ++ LO.FirstOrder.Semiformula.toStringORing ψ ++ "]"
- (LO.FirstOrder.Semiformula.all φ).toStringORing = "(\\forall x_{" ++ toString x✝ ++ "}) " ++ "[" ++ LO.FirstOrder.Semiformula.toStringORing φ ++ "]"
- (LO.FirstOrder.Semiformula.exs φ).toStringORing = "(\\exists x_{" ++ toString x✝ ++ "}) " ++ "[" ++ LO.FirstOrder.Semiformula.toStringORing φ ++ "]"
Instances For
@[implicit_reducible]
instance
LO.FirstOrder.instReprArithmeticSemiformula
{ξ : Type u_1}
[ToString ξ]
{n : ℕ}
:
Repr (ArithmeticSemiformula ξ n)
Equations
- LO.FirstOrder.instReprArithmeticSemiformula = { reprPrec := fun (φ : LO.FirstOrder.ArithmeticSemiformula ξ n) (x : ℕ) => Std.Format.text (LO.FirstOrder.Semiformula.toStringORing φ) }
@[implicit_reducible]
Equations
@[implicit_reducible]
theorem
LO.FirstOrder.Arithmetic.gödelNumber'_eq_coe_encode
{α : Type u_2}
[Encodable α]
{ξ : Type u_1}
{n : ℕ}
(a : α)
:
@[simp]
Semantics of arithmetic #
class
LO.FirstOrder.Structure.ORing
(L : Language)
[L.ORing]
(M : Type w)
[ORingStructure 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 :
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}
[ORingStructure 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
Instances For
def
LO.FirstOrder.Semiformula.bexsLTSucc
{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
Instances For
theorem
LO.FirstOrder.Semiformula.eval_ballLTSucc
{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]
{ξ : Type u_2}
{n : ℕ}
{φ : Semiformula L ξ (n + 1)}
{t : Semiterm L ξ n}
{fv : Fin n → M}
{bv : ξ → M}
:
theorem
LO.FirstOrder.Semiformula.eval_bexsLTSucc
{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]
{ξ : Type u_2}
{n : ℕ}
{φ : Semiformula L ξ (n + 1)}
{t : Semiterm L ξ n}
{fv : Fin n → M}
{bv : ξ → 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.