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))
@[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)
@[simp]
@[simp]
@[simp]
@[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)
:
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)
:
theorem
LO.Arith.instCovariantClassHMulLe_foundation
{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_foundation
{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_foundation
{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]
@[simp]
@[simp]
@[simp]
TODO: move
@[reducible, inline]
Equations
@[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)}
:
@[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)}
: