theorem
LO.FirstOrder.Structure.Monotone.term_monotone
{L : Language}
{M : Type u_1}
[LE M]
[Structure L M]
[Monotone L M]
{ξ : Type u_2}
{n : ℕ}
(t : Semiterm L ξ n)
{e₁ e₂ : Fin n → M}
{ε₁ ε₂ : ξ → M}
(he : ∀ (i : Fin n), e₁ i ≤ e₂ i)
(hε : ∀ (i : ξ), ε₁ i ≤ ε₂ i)
:
Semiterm.valm M e₁ ε₁ t ≤ Semiterm.valm M e₂ ε₂ t
def
LO.FirstOrder.Semiterm.arithCases
{ξ : Type u_1}
{n : ℕ}
{C : Semiterm ℒₒᵣ ξ n → Sort w}
(hbvar : (x : Fin n) → C (bvar x))
(hfvar : (x : ξ) → C (fvar x))
(hzero : C ↑0)
(hone : C ↑1)
(hadd : (t u : Semiterm ℒₒᵣ ξ n) → C (‘(!!t + !!u)’))
(hmul : (t u : Semiterm ℒₒᵣ ξ n) → C (‘(!!t * !!u)’))
(t : Semiterm ℒₒᵣ ξ n)
:
C t
Equations
- LO.FirstOrder.Semiterm.arithCases hbvar hfvar hzero hone hadd hmul (LO.FirstOrder.Semiterm.bvar x_1) = hbvar x_1
- LO.FirstOrder.Semiterm.arithCases hbvar hfvar hzero hone hadd hmul (LO.FirstOrder.Semiterm.fvar x_1) = hfvar x_1
- LO.FirstOrder.Semiterm.arithCases hbvar hfvar hzero hone hadd hmul (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.zero a) = ⋯.mpr (⋯.mp hzero)
- LO.FirstOrder.Semiterm.arithCases hbvar hfvar hzero hone hadd hmul (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.one a) = ⋯.mpr (⋯.mp hone)
- LO.FirstOrder.Semiterm.arithCases hbvar hfvar hzero hone hadd hmul (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.add v) = ⋯.mp (hadd (v 0) (v 1))
- LO.FirstOrder.Semiterm.arithCases hbvar hfvar hzero hone hadd hmul (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.mul v) = ⋯.mp (hmul (v 0) (v 1))
Instances For
@[irreducible]
def
LO.FirstOrder.Semiterm.arithRec
{ξ : Type u_1}
{n : ℕ}
{C : Semiterm ℒₒᵣ ξ n → Sort w}
(hbvar : (x : Fin n) → C (bvar x))
(hfvar : (x : ξ) → C (fvar x))
(hzero : C ↑0)
(hone : C ↑1)
(hadd : {t u : Semiterm ℒₒᵣ ξ n} → C t → C u → C (‘(!!t + !!u)’))
(hmul : {t u : Semiterm ℒₒᵣ ξ n} → C t → C u → C (‘(!!t * !!u)’))
(t : Semiterm ℒₒᵣ ξ n)
:
C t
Equations
- One or more equations did not get rendered due to their size.
- LO.FirstOrder.Semiterm.arithRec hbvar hfvar hzero hone hadd hmul (LO.FirstOrder.Semiterm.bvar x_1) = hbvar x_1
- LO.FirstOrder.Semiterm.arithRec hbvar hfvar hzero hone hadd hmul (LO.FirstOrder.Semiterm.fvar x_1) = hfvar x_1
- LO.FirstOrder.Semiterm.arithRec hbvar hfvar hzero hone hadd hmul (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.zero a) = ⋯.mpr (⋯.mp hzero)
- LO.FirstOrder.Semiterm.arithRec hbvar hfvar hzero hone hadd hmul (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.one a) = ⋯.mpr (⋯.mp hone)
Instances For
@[simp]
theorem
LO.Arith.numeral_two_eq_two
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
:
ORingStruc.numeral 2 = 2
@[simp]
theorem
LO.Arith.numeral_three_eq_three
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
:
ORingStruc.numeral 3 = 3
@[simp]
theorem
LO.Arith.numeral_four_eq_four
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
:
ORingStruc.numeral 4 = 4
@[simp]
@[simp]
theorem
LO.Arith.le_mul_of_pos_right
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
{a b : M}
(h : 0 < b)
:
theorem
LO.Arith.le_mul_of_pos_left
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
{a b : M}
(h : 0 < b)
:
@[simp]
theorem
LO.Arith.lt_mul_of_pos_of_one_lt_right
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
{a b : M}
(pos : 0 < a)
(h : 1 < b)
:
theorem
LO.Arith.lt_mul_of_pos_of_one_lt_left
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
{a b : M}
(pos : 0 < a)
(h : 1 < b)
:
theorem
LO.Arith.mul_le_mul_left
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
{a b c : M}
(h : b ≤ c)
:
theorem
LO.Arith.mul_le_mul_right
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
{a b c : M}
(h : b ≤ c)
:
theorem
LO.Arith.lt_of_mul_lt_mul_left
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
{a b c : M}
(h : a * b < a * c)
:
b < c
theorem
LO.Arith.lt_of_mul_lt_mul_right
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
{a b c : M}
(h : b * a < c * a)
:
b < c
theorem
LO.Arith.instCovariantClassHMulLe_arithmetization
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
:
CovariantClass M M (fun (x1 x2 : M) => x1 * x2) fun (x1 x2 : M) => x1 ≤ x2
theorem
LO.Arith.instCovariantClassHAddLe_arithmetization
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
:
CovariantClass M M (fun (x1 x2 : M) => x1 + x2) fun (x1 x2 : M) => x1 ≤ x2
theorem
LO.Arith.instCovariantClassSwapHMulLe_arithmetization
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
:
CovariantClass M M (Function.swap fun (x1 x2 : M) => x1 * x2) fun (x1 x2 : M) => x1 ≤ x2
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
LO.Arith.succ_le_double_of_pos
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
{a : M}
(h : 0 < a)
:
@[simp]
@[simp]
@[simp]
theorem
LO.Arith.val_npow
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
(k : ℕ)
(a : M)
:
(FirstOrder.Semiterm.Operator.npow ℒₒᵣ k).val ![a] = a ^ k
@[simp]
@[simp]
@[simp]
TODO: move
@[reducible, inline]
Equations
Instances For
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_ballLTSucc'
{M : Type u_1}
[Zero M]
[One M]
[Add M]
[Mul M]
[LT M]
[M ⊧ₘ* 𝐏𝐀⁻]
{L : Language}
[L.LT]
[L.Zero]
[L.One]
[L.Add]
[Structure L M]
[Structure.LT L M]
[Structure.One L M]
[Structure.Add L M]
{ξ : Type u_2}
{n : ℕ}
{e : Fin n → M}
{ε : ξ → M}
{t : Semiterm L ξ n}
{φ : Semiformula L ξ (n + 1)}
:
(Evalm M e ε) (ballLTSucc t φ) ↔ ∀ x ≤ Semiterm.valm M e ε t, (Evalm M (x :> e) ε) φ
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_bexLTSucc'
{M : Type u_1}
[Zero M]
[One M]
[Add M]
[Mul M]
[LT M]
[M ⊧ₘ* 𝐏𝐀⁻]
{L : Language}
[L.LT]
[L.Zero]
[L.One]
[L.Add]
[Structure L M]
[Structure.LT L M]
[Structure.One L M]
[Structure.Add L M]
{ξ : Type u_2}
{n : ℕ}
{e : Fin n → M}
{ε : ξ → M}
{t : Semiterm L ξ n}
{φ : Semiformula L ξ (n + 1)}
: