Lean 4.2.0 (2023-10-31)
-
Make
Environment.mk
andEnvironment.add
private, and addreplay
as a safer alternative. -
IO.Process.output
no longer inherits the standard input of the caller. -
Do not inhibit caching of default-level
match
reduction. -
List the valid case tags when the user writes an invalid one.
-
The derive handler for
DecidableEq
now handles mutual inductive types. -
Lake: Add
postUpdate?
package configuration option. Used by a package to specify some code which should be run after a successfullake update
of the package or one of its downstream dependencies. (lake#185) -
refine e
now replaces the main goal with metavariables which were created during elaboration ofe
and no longer captures pre-existing metavariables that occur ine
(#2502).-
This is accomplished via changes to
withCollectingNewGoalsFrom
, which also affectselabTermWithHoles
,refine'
,calc
(tactic), andspecialize
. Likewise, all of these now only include newly-created metavariables in their output. -
Previously, both newly-created and pre-existing metavariables occurring in
e
were returned inconsistently in different edge cases, causing duplicated goals in the infoview (issue #2495), erroneously closed goals (issue #2434), and unintuitive behavior due torefine e
capturing previously-created goals appearing unexpectedly ine
(no issue; see PR).
-