Basic operations on the integers #
This file contains some basic lemmas about integers.
See note [foundational algebra order theory].
TODO #
Split this file into:
Data.Int.Init
(or maybeData.Int.Batteries
?) for lemmas that could go to BatteriesData.Int.Basic
for the lemmas that require mathlib definitions
succ and pred #
The following few lemmas are proved in the core implementation of the omega
tactic. We expose
them here with nice user-facing names.
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
- z.inductionOn' b H0 Hs Hp = cast ⋯ (match z - b with | Int.ofNat n => Int.inductionOn'.pos b H0 Hs n | Int.negSucc n => Int.inductionOn'.neg b H0 Hp n)
Instances For
The positive case of Int.inductionOn'
.
Equations
- Int.inductionOn'.pos b H0 Hs 0 = cast ⋯ H0
- Int.inductionOn'.pos b H0 Hs n.succ = cast ⋯ (Hs (b + ↑n) ⋯ (Int.inductionOn'.pos b H0 Hs n))
Instances For
The negative case of Int.inductionOn'
.
Equations
- Int.inductionOn'.neg b H0 Hp 0 = Hp b ⋯ H0
- Int.inductionOn'.neg b H0 Hp n.succ = cast ⋯ (Hp (b + Int.negSucc n) ⋯ (Int.inductionOn'.neg b H0 Hp n))
Instances For
Inductively define a function on ℤ
by defining it on ℕ
and extending it from n
to -n
.
Equations
- Int.negInduction nat neg (Int.ofNat n) = nat n
- Int.negInduction nat neg (Int.negSucc n) = neg nat (n + 1)
Instances For
A strong recursor for Int
that specifies explicit values for integers below a threshold,
and is analogous to Nat.strongRec
for integers on or above the threshold.
Equations
- One or more equations did not get rendered due to their size.
Instances For
nat abs #
/
#
mod #
properties of /
and %
#
dvd #
Alias of Int.natCast_dvd_natCast
.
Alias of Int.dvd_natCast
.
Alias of Int.natCast_dvd
.
/
and ordering #
sign #
toNat #
Alias of Int.natCast_pos
.
Alias of Int.natCast_succ_pos
.
Alias of Int.natCast_pow
.
Alias of Int.ofNat_eq_natCast
.
Alias of Int.natCast_inj
.
Alias of Int.natCast_sub
.
Alias of Int.natCast_nonneg
.
Alias of Int.sign_natCast_add_one
.
Alias of Int.natCast_succ
.
Alias of Int.succ_neg_natCast_succ
.
Alias of Int.natCast_pred_of_pos
.
Alias of Int.natCast_div
.
Alias of Int.natCast_ediv
.
Alias of Int.sign_natCast_of_ne_zero
.
Alias of Int.toNat_natCast
.
Alias of Int.toNat_natCast_add_one
.