Lean 4.3.0 (2023-11-30)
-
simp [f]does not unfold partial applications offanymore. See issue #2042. To fix proofs affected by this change, useunfold forsimp (config := { unfoldPartialApp := true }) [f]. -
By default,
simpwill no longer try to use Decidable instances to rewrite terms. In particular, not all decidable goals will be closed bysimp, and thedecidetactic may be useful in such cases. Thedecidesimp configuration option can be used to locally restore the oldsimpbehavior, 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
Decidableinstances very slow when usingcasestactic -
dsimpdoesn't userfltheorems which consist of an unapplied constant -
dsimpdoes not close reflexive equality goals if they are wrapped in metadata -
rw [h]useshfrom the environment in preference tohfrom the local context
-
-
Cancel outstanding tasks on document edit in the language server.
Lake:
-
Changed
postUpdate?configuration option to apost_updatedeclaration. See thepost_updatesyntax 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
manifestFilefield of a package configuration. -
There is now a more rigorous check on
lakefile.oleancompatibility (see #2842 for more details).