@[simp]
theorem
LO.FirstOrder.Arith.oringEmb_operator_zero_val
{L : LO.FirstOrder.Language}
[L.ORing]
:
LO.FirstOrder.Semiterm.lMap LO.FirstOrder.Language.oringEmb op(0).term = op(0).term
@[simp]
theorem
LO.FirstOrder.Arith.oringEmb_operator_one_val
{L : LO.FirstOrder.Language}
[L.ORing]
:
LO.FirstOrder.Semiterm.lMap LO.FirstOrder.Language.oringEmb op(1).term = op(1).term
@[simp]
theorem
LO.FirstOrder.Arith.oringEmb_operator_add_val
{L : LO.FirstOrder.Language}
[L.ORing]
:
LO.FirstOrder.Semiterm.lMap LO.FirstOrder.Language.oringEmb op(+).term = op(+).term
@[simp]
theorem
LO.FirstOrder.Arith.oringEmb_operator_mul_val
{L : LO.FirstOrder.Language}
[L.ORing]
:
LO.FirstOrder.Semiterm.lMap LO.FirstOrder.Language.oringEmb op(*).term = op(*).term
@[simp]
theorem
LO.FirstOrder.Arith.oringEmb_operator_eq_val
{L : LO.FirstOrder.Language}
[L.ORing]
:
(LO.FirstOrder.Semiformula.lMap LO.FirstOrder.Language.oringEmb) op(=).sentence = op(=).sentence
@[simp]
theorem
LO.FirstOrder.Arith.oringEmb_operator_lt_val
{L : LO.FirstOrder.Language}
[L.ORing]
:
(LO.FirstOrder.Semiformula.lMap LO.FirstOrder.Language.oringEmb) op(<).sentence = op(<).sentence
Equations
- One or more equations did not get rendered due to their size.
Equations
- β― = β―
Equations
- β― = β―
Equations
- β― = β―
Equations
- β― = β―
Equations
- β― = β―
Equations
- β― = β―
Equations
- β― = β―
Equations
- LO.FirstOrder.Arith.instORingORing = LO.FirstOrder.Language.ORing.mk
theorem
LO.FirstOrder.Arith.standardModel_unique'
(M : Type u_1)
[LO.ORingStruc M]
(s : LO.FirstOrder.Structure ββα΅£ M)
(hZero : LO.FirstOrder.Structure.Zero ββα΅£ M)
(hOne : LO.FirstOrder.Structure.One ββα΅£ M)
(hAdd : LO.FirstOrder.Structure.Add ββα΅£ M)
(hMul : LO.FirstOrder.Structure.Mul ββα΅£ M)
(hEq : LO.FirstOrder.Structure.Eq ββα΅£ M)
(hLT : LO.FirstOrder.Structure.LT ββα΅£ M)
:
theorem
LO.FirstOrder.Arith.standardModel_unique
(M : Type u_1)
[LO.ORingStruc M]
(s : LO.FirstOrder.Structure ββα΅£ M)
[hZero : LO.FirstOrder.Structure.Zero ββα΅£ M]
[hOne : LO.FirstOrder.Structure.One ββα΅£ M]
[hAdd : LO.FirstOrder.Structure.Add ββα΅£ M]
[hMul : LO.FirstOrder.Structure.Mul ββα΅£ M]
[hEq : LO.FirstOrder.Structure.Eq ββα΅£ M]
[hLT : LO.FirstOrder.Structure.LT ββα΅£ M]
:
theorem
LO.FirstOrder.Arith.standardModel_lMap_oringEmb_eq_standardModel
(M : Type u_1)
[LO.ORingStruc M]
{L : LO.FirstOrder.Language}
[L.ORing]
[s : LO.FirstOrder.Structure L M]
[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]
:
LO.FirstOrder.Structure.lMap LO.FirstOrder.Language.oringEmb s = LO.FirstOrder.Arith.standardModel M
@[simp]
theorem
LO.FirstOrder.Arith.val_lMap_oringEmb
{n : β}
{ΞΎ : Type u_2}
{M : Type u_1}
[LO.ORingStruc M]
{L : LO.FirstOrder.Language}
[L.ORing]
[s : LO.FirstOrder.Structure L M]
[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]
{e : Fin n β M}
{Ξ΅ : ΞΎ β M}
{t : LO.FirstOrder.Semiterm ββα΅£ ΞΎ n}
:
LO.FirstOrder.Semiterm.valm M e Ξ΅ (LO.FirstOrder.Semiterm.lMap LO.FirstOrder.Language.oringEmb t) = LO.FirstOrder.Semiterm.valm M e Ξ΅ t
@[simp]
theorem
LO.FirstOrder.Arith.eval_lMap_oringEmb
{n : β}
{ΞΎ : Type u_2}
{M : Type u_1}
[LO.ORingStruc M]
{L : LO.FirstOrder.Language}
[L.ORing]
[s : LO.FirstOrder.Structure L M]
[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]
{e : Fin n β M}
{Ξ΅ : ΞΎ β M}
{p : LO.FirstOrder.Semiformula ββα΅£ ΞΎ n}
:
(LO.FirstOrder.Semiformula.Evalm M e Ξ΅) ((LO.FirstOrder.Semiformula.lMap LO.FirstOrder.Language.oringEmb) p) β (LO.FirstOrder.Semiformula.Evalm M e Ξ΅) p
@[simp]
theorem
LO.FirstOrder.Arith.modelsTheory_lMap_oringEmb
{L : LO.FirstOrder.Language}
[L.ORing]
{M : Type u_1}
[LO.ORingStruc M]
[s : LO.FirstOrder.Structure L M]
[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]
(T : LO.FirstOrder.Theory ββα΅£)
:
M β§β* LO.FirstOrder.Theory.lMap LO.FirstOrder.Language.oringEmb T β M β§β* T
instance
LO.FirstOrder.Arith.instModelsTheoryPAMinusOfIOpen
{M : Type u_1}
[LO.ORingStruc M]
[M β§β* πopen]
:
Equations
- β― = β―
instance
LO.FirstOrder.Arith.instModelsTheoryIndSchemeORingOpenNatOfIOpen
{M : Type u_1}
[LO.ORingStruc M]
[M β§β* πopen]
:
M β§β* LO.FirstOrder.Theory.indScheme ββα΅£ LO.FirstOrder.Semiformula.Open
Equations
- β― = β―
def
LO.FirstOrder.Arith.models_PAMinus_of_models_indH
{M : Type u_1}
[LO.ORingStruc M]
(Ξ : LO.Polarity)
(n : β)
[M β§β* πππΞ n]
:
Equations
- β― = β―
Instances For
def
LO.FirstOrder.Arith.models_indScheme_of_models_indH
{M : Type u_1}
[LO.ORingStruc M]
(Ξ : LO.Polarity)
(n : β)
[M β§β* πππΞ n]
:
Equations
- β― = β―
Instances For
instance
LO.FirstOrder.Arith.models_PAMinus_of_models_peano
{M : Type u_1}
[LO.ORingStruc M]
[M β§β* ππ]
:
Equations
- β― = β―
instance
LO.FirstOrder.Arith.Standard.models_iSigma
(Ξ : LO.Polarity)
(k : β)
:
β β§β* πππΞ k
Equations
- β― = β―
Equations
structure
LO.FirstOrder.Arith.Cut
(L : LO.FirstOrder.Language)
[L.ORing]
(M : Type w)
[s : LO.FirstOrder.Structure L M]
:
Type w
- domain : Set M
- closedSucc : β x β self.domain, LO.FirstOrder.Semiterm.valb s ![x] (β(!!(LO.FirstOrder.Semiterm.bvar 0) + 1)β) β self.domain
- closedLt : β (x y : M), (LO.FirstOrder.Semiformula.Evalb s ![x, y]) (β!!(LO.FirstOrder.Semiterm.bvar 0) < !!(LO.FirstOrder.Semiterm.bvar 1)β) β y β self.domain β x β self.domain
Instances For
theorem
LO.FirstOrder.Arith.Cut.closedSucc
{L : LO.FirstOrder.Language}
[L.ORing]
{M : Type w}
[s : LO.FirstOrder.Structure L M]
(self : LO.FirstOrder.Arith.Cut L M)
(x : M)
:
x β self.domain β LO.FirstOrder.Semiterm.valb s ![x] (β(!!(LO.FirstOrder.Semiterm.bvar 0) + 1)β) β self.domain
theorem
LO.FirstOrder.Arith.Cut.closedLt
{L : LO.FirstOrder.Language}
[L.ORing]
{M : Type w}
[s : LO.FirstOrder.Structure L M]
(self : LO.FirstOrder.Arith.Cut L M)
(x : M)
(y : M)
:
(LO.FirstOrder.Semiformula.Evalb s ![x, y]) (β!!(LO.FirstOrder.Semiterm.bvar 0) < !!(LO.FirstOrder.Semiterm.bvar 1)β) β
y β self.domain β x β self.domain
structure
LO.FirstOrder.Arith.ClosedCut
(L : LO.FirstOrder.Language)
[L.ORing]
(M : Type w)
[s : LO.FirstOrder.Structure L M]
extends
LO.FirstOrder.Structure.ClosedSubset
:
Type w
- domain : Set M
- closedLt : β (x y : M), (LO.FirstOrder.Semiformula.Evalb s ![x, y]) (β!!(LO.FirstOrder.Semiterm.bvar 0) < !!(LO.FirstOrder.Semiterm.bvar 1)β) β y β self.domain β x β self.domain
Instances For
theorem
LO.FirstOrder.Arith.ClosedCut.closedLt
{L : LO.FirstOrder.Language}
[L.ORing]
{M : Type w}
[s : LO.FirstOrder.Structure L M]
(self : LO.FirstOrder.Arith.ClosedCut L M)
(x : M)
(y : M)
:
(LO.FirstOrder.Semiformula.Evalb s ![x, y]) (β!!(LO.FirstOrder.Semiterm.bvar 0) < !!(LO.FirstOrder.Semiterm.bvar 1)β) β
y β self.domain β x β self.domain
@[reducible, inline]
Equations
Instances For
Equations
- LO.FirstOrder.Arith.Β«termππΒ» = Lean.ParserDescr.node `LO.FirstOrder.Arith.termππ 1024 (Lean.ParserDescr.symbol "ππ")
Instances For
theorem
LO.FirstOrder.Arith.oRing_consequence_of
(T : LO.FirstOrder.Theory ββα΅£)
[ππ βΌ T]
(p : LO.FirstOrder.SyntacticFormula ββα΅£)
(H : β (M : Type u_1) [inst : LO.ORingStruc M] [inst_1 : M β§β* T], M β§β p)
:
T β¨ p