Robinson's theory $\mathsf{Q}$ #
- equal (Ο : Sentence ββα΅£) : Ο β ππ€ ββα΅£ β π€ Ο
- succNeZero : π€ (ββΒΉ Β¬(!!(Semiterm.bvar 0) + 1) = 0β)
- succInj : π€ (ββΒΉ βΒΉ ((!!(Semiterm.bvar 1) + 1) = (!!(Semiterm.bvar 0) + 1) β !!(Semiterm.bvar 1) = !!(Semiterm.bvar 0))β)
- zeroOrSucc : π€ (ββΒΉ (!!(Semiterm.bvar 0) = 0 β¨ βΒΉ !!(Semiterm.bvar 1) = (!!(Semiterm.bvar 0) + 1))β)
- addZero : π€ (ββΒΉ (!!(Semiterm.bvar 0) + 0) = !!(Semiterm.bvar 0)β)
- addSucc : π€ (ββΒΉ βΒΉ (!!(Semiterm.bvar 1) + (!!(Semiterm.bvar 0) + 1)) = ((!!(Semiterm.bvar 1) + !!(Semiterm.bvar 0)) + 1)β)
- mulZero : π€ (ββΒΉ (!!(Semiterm.bvar 0) * 0) = 0β)
- mulSucc : π€ (ββΒΉ βΒΉ (!!(Semiterm.bvar 1) * (!!(Semiterm.bvar 0) + 1)) = ((!!(Semiterm.bvar 1) * !!(Semiterm.bvar 0)) + !!(Semiterm.bvar 1))β)
- ltDef : π€ (ββΒΉ βΒΉ (!!(Semiterm.bvar 1) < !!(Semiterm.bvar 0) β βΒΉ (!!(Semiterm.bvar 2) + (!!(Semiterm.bvar 0) + 1)) = !!(Semiterm.bvar 1))β)
Instances For
Equations
- LO.FirstOrder.Arithmetic.Β«termπ€Β» = Lean.ParserDescr.node `LO.FirstOrder.Arithmetic.Β«termπ€Β» 1024 (Lean.ParserDescr.symbol "π€")
Instances For
@[simp]
theorem
LO.FirstOrder.Arithmetic.one_ne_zero
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.numeral_zero_add
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
(n : β)
:
theorem
LO.FirstOrder.Arithmetic.numeral_add_one
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
(n : β)
:
theorem
LO.FirstOrder.Arithmetic.numeral_add
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
(n m : β)
:
theorem
LO.FirstOrder.Arithmetic.numeral_zero_mul
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
{n : β}
:
theorem
LO.FirstOrder.Arithmetic.numeral_mul_one
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
{n : β}
:
theorem
LO.FirstOrder.Arithmetic.numeral_mul
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
{n m : β}
:
theorem
LO.FirstOrder.Arithmetic.exists_numeral_of_ne_zero
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
{n : β}
(h : n β 0)
:
β (m : β), ORingStructure.numeral n = ORingStructure.numeral (m + 1)
theorem
LO.FirstOrder.Arithmetic.numeral_zero_succ_ne
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
{n : β}
:
theorem
LO.FirstOrder.Arithmetic.numeral_succ_inj
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
{n m : β}
(h : ORingStructure.numeral (n + 1) = ORingStructure.numeral (m + 1))
:
theorem
LO.FirstOrder.Arithmetic.numeral_ne_of_ne
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
{n m : β}
(h : n β m)
:
theorem
LO.FirstOrder.Arithmetic.numeral_lt_of_lt
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
{n m : β}
(h : n < m)
:
theorem
LO.FirstOrder.Arithmetic.numeral_lt_add
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
{n m : β}
(hm : m β 0)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.numeral_lt_succ
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
{n : β}
:
theorem
LO.FirstOrder.Arithmetic.iff_lt_numeral_exists_numeral
{M : Type u_1}
[ORingStructure M]
[Mβ[ββα΅£] β§* π€]
{n : β}
{x : M}
: