Order instances on the integers #
This file contains:
- instances on
ℤ. The stronger one isInt.linearOrderedCommRing. - basic lemmas about integers that involve order properties.
Recursors #
Int.rec: Sign disjunction. Something is true/defined onℤif it's true/defined for nonnegative and for negative values. (Defined in core Lean 3)Int.inductionOn: Simple growing induction on positive numbers, plus simple decreasing induction on negative numbers. Note that this recursor is currently onlyProp-valued.Int.inductionOn': Simple growing induction for numbers greater thanb, plus simple decreasing induction on numbers less thanb.
Equations
- Int.linearOrderedCommRing = let src := Int.instCommRingInt; let src_1 := Int.instLinearOrderInt; let src_2 := Int.instNontrivialInt; LinearOrderedCommRing.mk (_ : ∀ (a b : ℤ), a * b = b * a)
Extra instances to short-circuit type class resolution #
Equations
- Int.orderedCommRing = StrictOrderedCommRing.toOrderedCommRing'
Equations
- Int.orderedRing = StrictOrderedRing.toOrderedRing'
Equations
- Int.linearOrderedAddCommGroup = inferInstance
succ and pred #
def
Int.inductionOn'
{C : ℤ → Sort u_1}
(z : ℤ)
(b : ℤ)
(H0 : C b)
(Hs : (k : ℤ) → b ≤ k → C k → C (k + 1))
(Hp : (k : ℤ) → k ≤ b → C k → C (k - 1))
:
C z
Inductively define a function on ℤ by defining it at b, for the succ of a number greater
than b, and the pred of a number less than b.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Int.inductionOn'.pos
{C : ℤ → Sort u_1}
(b : ℤ)
(H0 : C b)
(Hs : (k : ℤ) → b ≤ k → C k → C (k + 1))
(n : ℕ)
:
C (b + ↑n)
The positive case of Int.inductionOn'.
Equations
Instances For
def
Int.inductionOn'.neg
{C : ℤ → Sort u_1}
(b : ℤ)
(H0 : C b)
(Hp : (k : ℤ) → k ≤ b → C k → C (k - 1))
(n : ℕ)
:
C (b + Int.negSucc n)
The negative case of Int.inductionOn'.
Equations
- One or more equations did not get rendered due to their size.
- Int.inductionOn'.neg b H0 Hp 0 = Hp b (_ : b ≤ b) H0
Instances For
nat abs #
/ #
mod #
properties of / and % #
dvd #
/ and ordering #
theorem
Int.natAbs_eq_of_dvd_dvd
{s : ℤ}
{t : ℤ}
(hst : s ∣ t)
(hts : t ∣ s)
:
Int.natAbs s = Int.natAbs t