Releases: leanprover/lean4
Releases · leanprover/lean4
v4.28.0-rc1
chore: set LEAN_VERSION_IS_RELEASE to 1 for v4.28.0 release
v4.27.0
refactor: move String.ofList to the Prelude (#12029) This PR moves `String.ofList` to `Init.Prelude`. It is a function that the Lean kernel expects to be present and has special support for (when reducing string literals). By moving this to `Init.Prelude`, all declarations that are special to the kernel are in that single module. (cherry picked from commit 9167b13afa3518556c1455172bf645e8216a197e and aac353c6b943358d8140f3c8c57cc0bd726cd9c9)
v4.27.0-rc1
chore: remove tests/lean/run/bv_llvm.lean, which timed out in the fsa…
v4.26.0
chore: disable lake tests
v4.25.2
chore: set(LEAN_VERSION_PATCH 2)
v4.25.1
chore: set(LEAN_VERSION_PATCH 1)
v4.24.1
chore: set(LEAN_VERSION_PATCH 1)
v4.26.0-rc2
fix: bug `ite`/`dite` propagator used in `grind` (#11295)
This PR fixes a bug in the propagation rules for `ite` and `dite` used
in `grind`. The bug prevented equalities from being propagated to the
satellite solvers. Here is an example affected by this issue.
```lean
example
[LE α] [LT α] [Std.IsLinearOrder α] [Std.LawfulOrderLT α]
[Lean.Grind.CommRing α] [DecidableLE α] [Lean.Grind.OrderedRing α]
(a b c : α) :
(if a - b ≤ -(a - b) then -(a - b) else a - b) ≤
((if a - c ≤ -(a - c) then -(a - c) else a - c) + if c - d ≤ -(c - d) then -(c - d) else c - d) +
if b - d ≤ -(b - d) then -(b - d) else b - d := by
grind
```
v4.26.0-rc1
chore: set LEAN_VERSION_IS_RELEASE
v4.25.0
fix: Meta.Closure: topologically sort abstracted vars (#10926) This PR topologically sorts abstracted vars in `Meta.Closure.mkValueTypeClosure` if MVars are being abstracted. Fixes #10705 --------- Co-authored-by: Eric Wieser <efw@google.com> (cherry picked from commit a6d50a61b35b73576f5c4ceac08789d9517f3079)