lean4-htt/src
Kim Morrison bd091f119b
chore: fix bv_omega regression since v4.9.0 (#4579)
This example, reported from LNSym, started failing when we changed the
definition of `Fin.sub` in
https://github.com/leanprover/lean4/pull/4421.

When we use the new definition, `omega` produces a proof term that the
kernel is very slow on.

To work around this for now, I've removed `BitVec.toNat_sub` from the
`bv_toNat` simp set,
and replaced it with `BitVec.toNat_sub'` which uses the old definition
for subtraction.

This is only a workaround, and I would like to understand why the term
chokes the kernel.

```
example
    (n : Nat)
    (addr2 addr1 : BitVec 64)
    (h0 : n ≤ 18446744073709551616)
    (h1 : addr2 + 18446744073709551615#64 - addr1 ≤ BitVec.ofNat 64 (n - 1))
    (h2 : addr2 - addr1 ≤ addr2 + 18446744073709551615#64 - addr1) :
    n = 18446744073709551616 := by
  bv_omega
```
2024-06-28 01:20:08 +00:00
..
bin feat: Web Assembly Build (#2599) 2023-10-04 09:04:20 +02:00
cmake
include/lean fix: validate UTF-8 at C++ -> Lean boundary (#3963) 2024-06-19 14:05:48 +00:00
Init chore: fix bv_omega regression since v4.9.0 (#4579) 2024-06-28 01:20:08 +00:00
initialize chore: fix more typos in comments 2023-10-08 14:37:34 -07:00
kernel feat: prepare for adding new option debug.skipKernelTC 2024-06-28 00:55:47 +02:00
lake fix: lake: computation of precompiled libs (#4566) 2024-06-27 15:08:52 +00:00
Lean feat: add set_option debug.skipKernelTC true 2024-06-28 00:55:47 +02:00
library refactor: port below and brecOn construction to Lean (#4517) 2024-06-26 11:10:39 +00:00
runtime fix: validate UTF-8 at C++ -> Lean boundary (#3963) 2024-06-19 14:05:48 +00:00
shell fix: do not dllexport symbols in core static libraries (#3601) 2024-03-15 11:58:34 +00:00
Std feat: introduce Std (#4499) 2024-06-21 07:08:45 +00:00
util feat: expose flags for the bundled C compiler (#4477) 2024-06-22 01:23:33 +00:00
CMakeLists.txt feat: introduce Std (#4499) 2024-06-21 07:08:45 +00:00
config.h.in
githash.h.in
Init.lean feat: grind normalization theorems (#4164) 2024-05-14 19:19:38 +00:00
lakefile.toml.in feat: introduce Std (#4499) 2024-06-21 07:08:45 +00:00
lean-toolchain doc: VS Code dev setup (#2961) 2023-11-30 08:35:03 +00:00
Lean.lean feat: propagate maxHeartbeats to kernel (#4113) 2024-05-09 17:44:19 +00:00
lean.mk.in fix: do not dllexport symbols in core static libraries (#3601) 2024-03-15 11:58:34 +00:00
Leanc.lean feat: expose flags for the bundled C compiler (#4477) 2024-06-22 01:23:33 +00:00
Std.lean feat: introduce Std (#4499) 2024-06-21 07:08:45 +00:00
stdlib.make.in feat: introduce Std (#4499) 2024-06-21 07:08:45 +00:00
stdlib_flags.h chore: unset parseQuotWithCurrentStage in stage1’s src/stdlib_flags.h (#4537) 2024-06-23 09:44:14 +00:00
version.h.in feat: System.Platform.target (#3207) 2024-01-24 12:11:00 +00:00