Lean 4.3.0 (2023-11-30)
-
simp [f]
does not unfold partial applications off
anymore. See issue #2042. To fix proofs affected by this change, useunfold f
orsimp (config := { unfoldPartialApp := true }) [f]
. -
By default,
simp
will no longer try to use Decidable instances to rewrite terms. In particular, not all decidable goals will be closed bysimp
, and thedecide
tactic may be useful in such cases. Thedecide
simp configuration option can be used to locally restore the oldsimp
behavior, as insimp (config := {decide := true})
; this includes using Decidable instances to verify side goals such as numeric inequalities. -
Many bug fixes:
-
Add left/right actions to term tree coercion elaborator and make `^`` a right action
-
Reduction of
Decidable
instances very slow when usingcases
tactic -
dsimp
doesn't userfl
theorems which consist of an unapplied constant -
dsimp
does not close reflexive equality goals if they are wrapped in metadata -
rw [h]
usesh
from the environment in preference toh
from the local context
-
-
Cancel outstanding tasks on document edit in the language server.
Lake:
-
Changed
postUpdate?
configuration option to apost_update
declaration. See thepost_update
syntax docstring for more information on the new syntax. -
A manifest is automatically created on workspace load if one does not exists..
-
The
:=
syntax for configuration declarations (i.e.,package
,lean_lib
, andlean_exe
) has been deprecated. For example,package foo := {...}
is deprecated. -
Moved the default build directory (e.g.,
build
), default packages directory (e.g.,lake-packages
), and the compiled configuration (e.g.,lakefile.olean
) into a new dedicated directory for Lake outputs,.lake
. The cloud release build archives are also stored here, fixing #2713. -
Update manifest format to version 7 (see lean4#2801 for details on the changes).
-
Deprecate the
manifestFile
field of a package configuration. -
There is now a more rigorous check on
lakefile.olean
compatibility (see #2842 for more details).
