lean4-htt/src/Init/Data/Int
Leonardo de Moura 3b78ada5d8
feat: improve cutsat Nat support (#7825)
This PR improves support for `Nat` in the `cutsat` procedure used in
`grind`:

- `cutsat` no longer *pollutes* the local context with facts of the form
`-1 * NatCast.natCast x <= 0` for each `x : Nat`. These facts are now
stored internally in the `cutsat` state.
- A single context is now used for all `Nat` terms.

The PR also introduces a mapping mechanism for all "foreign" types that
can be converted to `Int`. Currently, only `Nat` is supported, but
additional types will be added in the future.
2025-04-05 01:11:46 +00:00
..
Bitwise doc: review Int docstrings (#7568) 2025-03-20 14:04:56 +00:00
DivMod feat: Int.gcd/Int.lcm lemmas (#7802) 2025-04-04 12:44:59 +00:00
Basic.lean doc: docstring review for IntCast, NatCast, and for loops (#7645) 2025-03-25 07:58:37 +00:00
Bitwise.lean feat: revision of Nat/Int lemmas (#7435) 2025-03-12 05:52:09 +00:00
Compare.lean feat: Ord-related instances for various types (#7687) 2025-03-28 13:31:09 +00:00
Cooper.lean feat: Int.gcd/Int.lcm lemmas (#7802) 2025-04-04 12:44:59 +00:00
DivMod.lean chore: split Int.DivModLemmas into Bootstrap and Lemmas (#7162) 2025-02-20 12:05:09 +00:00
Gcd.lean feat: Int.gcd/Int.lcm lemmas (#7802) 2025-04-04 12:44:59 +00:00
Lemmas.lean chore: remove @[simp] from Int.neg_mul and Int.mul_neg (#7559) 2025-03-19 09:21:18 +00:00
LemmasAux.lean feat: add BitVec.umulOverflow and BitVec.smulOverflow definitions and additional theorems (#7659) 2025-04-03 08:42:52 +00:00
Linear.lean feat: Int.gcd/Int.lcm lemmas (#7802) 2025-04-04 12:44:59 +00:00
OfNat.lean feat: improve cutsat Nat support (#7825) 2025-04-05 01:11:46 +00:00
Order.lean feat: Int.gcd/Int.lcm lemmas (#7802) 2025-04-04 12:44:59 +00:00
Pow.lean feat: Int.gcd/Int.lcm lemmas (#7802) 2025-04-04 12:44:59 +00:00