lean4-htt/src/Init/Data/Nat
Tobias Grosser 3411935e53 feat: add BitVec.intMin
This PR also pulls in some mathlib theorems on testBit and Nat and establishes facts about 2^w that are needed here and which are generally useful for bitvector reasoning.

The following theorem is not generalized to arbitrary x instead of 2, as this would require a condition to be added for x > 1 which would have to be passed to simp each time this theorem should fire.

chore: derive from testBit_two_pow

chore: convert first to prop and then decide

chore: move intMax down as well

chore: add simp set

Add simp-set into this PR

chore: fix simp extension

Move file to src/Lean to fix build

Add prelude

update date

Add university of cambridge as copyright holder

improve naming

use whitespace uniformly

use decide (n = m)

Drop the 'Nat.' namespace

Update src/Init/Data/BitVec/Lemmas.lean

Co-authored-by: Siddharth <siddu.druid@gmail.com>

Update src/Init/Data/BitVec/Lemmas.lean

Co-authored-by: Siddharth <siddu.druid@gmail.com>

Fix build

add some theorems

Revert "add some theorems"

This reverts commit fb97bc2007e371854b40badb3d6014da034c1f5e.

WIP

Shorten proof

Update src/Init/Data/Nat/Lemmas.lean

finish proofs

Update src/Init/Data/BitVec/Lemmas.lean

Co-authored-by: Kim Morrison <scott@tqft.net>

Update src/Init/Data/Nat/Lemmas.lean

Co-authored-by: Kim Morrison <scott@tqft.net>

chore: move BoolToPropSimps
2024-08-27 11:26:16 +10:00
..
Bitwise feat: add BitVec.intMin 2024-08-27 11:26:16 +10:00
Basic.lean feat: allow users to disable simpCtorEq simproc (#5167) 2024-08-26 13:51:21 +00:00
Bitwise.lean chore: add missing copyright headers (#3411) 2024-02-20 01:49:55 +00:00
Compare.lean chore: upstream Std.Data.Nat (#3634) 2024-03-08 17:00:46 +00:00
Control.lean
Div.lean feat: allow users to disable simpCtorEq simproc (#5167) 2024-08-26 13:51:21 +00:00
Dvd.lean chore: upstream Std.Data.Int (#3635) 2024-03-11 21:40:48 +00:00
Gcd.lean chore: @[elab_as_elim] additions (#5147) 2024-08-26 07:44:54 +00:00
Lcm.lean fix: add instances to make ac_rfl work out of the box (#3942) 2024-04-24 06:12:36 +00:00
Lemmas.lean feat: add BitVec.intMin 2024-08-27 11:26:16 +10:00
Linear.lean chore: fix parenthesizing in test 2024-07-29 08:58:49 +10:00
Log2.lean feat: further shaking of Nat/Int/Omega (#3613) 2024-03-05 23:43:36 +00:00
MinMax.lean fix: add instances to make ac_rfl work out of the box (#3942) 2024-04-24 06:12:36 +00:00
Mod.lean feat: Nat.mul_mod (#3582) 2024-03-03 23:31:07 +00:00
Power2.lean chore: upstream of Std.Data.Nat.Init (#3331) 2024-02-15 00:18:41 +00:00
Simproc.lean fix: replace unary Nat.succ simp rules with simprocs (#3808) 2024-04-04 23:15:26 +00:00
SOM.lean chore: remove staging workarounds 2022-04-26 08:23:43 -07:00