Skip to content

Releases: leanprover/lean4-nightly

nightly-2025-01-30

30 Jan 08:45
e922edf
Compare
Choose a tag to compare
nightly-2025-01-30 Pre-release
Pre-release

Changes since nightly-2025-01-29:

Full commit log

  • e922edf feat: Bool.and, Bool.or, and Bool.not propagation in grind (#6861)
  • 5b1c6b5 feat: align take/drop/extract across List/Array/Vector (#6860)
  • 21e8a99 feat: refactor of find functions on List/Array/Vector (#6833)
  • 49fe87e feat: missing propagation rules in grind (#6858)
  • 61c843a refactor: pull out some LRAT functionality from bv_decide (#6856)
  • ca3c757 chore: update stage0
  • 5075153 feat: better support for inductive predicates in grind (#6854)
  • c7dec60 feat: support UIntX and USize in bv_decide (#6711)
  • 41fe7bc feat: bv_normalize rewrite shifts by BitVec const to shift by Nat const (#6851)
  • 2c00f8f fix: consume mdata in casesOnStuckLHS when checking that major is fvar (#6791)
  • 6865329 chore: re-enable Lake
  • 729d6e5 chore: update stage0
  • c6677e0 perf: avoid environment extension indirection
  • 0c43f05 feat: add BitVec add_self/self_add lemmas (#6848)
  • 3c8cf7a chore: remove unneeded LawfulBEq hypotheses (#6847)
  • 51b56b2 feat: missing monadic functions on List/Array/Vector (#6845)
  • 5c0231f feat: add BitVec add/sub injectivity lemmas (#6828)

nightly-2025-01-29

29 Jan 11:52
a35bf7e
Compare
Choose a tag to compare
nightly-2025-01-29 Pre-release
Pre-release

Changes since nightly-2025-01-28:

Full commit log

  • a35bf7e chore: revert "perf: use C23's free_sized when available" (#6841)
  • bc234f9 feat: align List/Array/Vector.zip/zipWith/zipWithAll/unzip (#6840)
  • 08ec254 feat: add support for constructors and axioms to the grind E-matching module (#6839)
  • e051311 feat: finish aligning List/Array/Vector.ofFn lemmas (#6838)
  • e4749eb chore: preparation for Array.erase lemmas (#6836)
  • 8431112 feat: align List/Array/Vector lemmas for isEqv and == (#6831)
  • c93012f feat: add Vector.mapM, ForIn/ToStream instances (#6835)
  • aa65107 feat: "performance" counters for grind (#6834)
  • 07e2b7d chore: update some Array doc-strings (#6832)
  • 9b5fadd chore: remove unnecessary simp priorities (#6812)
  • 7e8af0f feat: rename List.enum(From) to List.zipIdx, and Array/Vector.zipWithIndex to zipIdx (#6800)
  • f10d0d0 feat: lemmas about BitVec.setWidth (#6808)
  • 312759e fix: injectivity theorems for more prelude inductives (#6826)
  • 1d94397 feat: teach bv_normalize that (x >> x) = 0 (#6818)
  • 9f5a9a0 feat: add %reset_grind_attrs (#6824)
  • 26bc8c5 feat: builtin case splits for grind (#6822)
  • eea2d49 chore: lower List/Array/Vector.mem_map simp priority (#6815)
  • f9d3dea perf: improve elaboration performance of Std.Data.DHashMap.Internal.RawLemmas (#6814)
  • e4364e7 chore: temporarily disable async in server (#6813)
  • 6aa6407 perf: use C23's free_sized when available (#6598)
  • 9247206 doc: clarify that lean_initialize_runtime_module is implied by lean_initialize (#6677)
  • c7c1e09 feat: add BitVec comparison lemmas to bv_normalize (#6799)

nightly-2025-01-28

28 Jan 08:43
20c6165
Compare
Choose a tag to compare
nightly-2025-01-28 Pre-release
Pre-release

Changes since nightly-2025-01-27:

Full commit log

  • 20c6165 feat: add grind? (#6810)
  • 104b351 feat: add Fin.ofNat'_zero (#6806)
  • d8fcfea feat: add LawfulMonad helper simp lemmas (#6805)
  • d0b947b chore: add @[simp] to Option.not_mem_none (#6804)
  • 5f0fea6 refactor: lake: deprecate -U (#6798)
  • 3e54597 feat: lake query (#6323)
  • eb1c9b9 chore: two BitVec lemmas that help simp confluence (#6807)
  • 4d66e7b feat: add List.modifyHead_dropLast (#6803)
  • f866048 feat: Option.elim_pmap, improving simp confluence (#6802)
  • 64766f8 fix: offset constraint propagation in grind (#6801)
  • f64bce6 fix: auto-completion performance regression (#6794)
  • 0160aa1 test: identifier completion benchmark (#6796)
  • 3418d6d fix: more robust equational theorems generation for partial_fixpoint (#6790)
  • 3aea0fd feat: add comparison lemmas to bv_normalize (#6788)
  • 4ca98dc doc: typos in partial_fixpoint related docstrings (#6787)
  • 55b0bed doc: standard library vision and call for contributions (#6762)
  • d86a408 feat: bv_decide can reason about equality of structures (#6740)

nightly-2025-01-27

27 Jan 08:47
69a73a1
Compare
Choose a tag to compare
nightly-2025-01-27 Pre-release
Pre-release

Changes since nightly-2025-01-26:

Full commit log

  • 69a73a1 feat: grind? infrastructure (#6785)
  • 98bd162 feat: close goals using match-expression conditions in grind (#6783)
  • ba95dbc feat: zetaUnused option (implementation) (#6755)

nightly-2025-01-26

26 Jan 08:42
6278839
Compare
Choose a tag to compare
nightly-2025-01-26 Pre-release
Pre-release

Changes since nightly-2025-01-25:

Full commit log

  • 6278839 refactor: lake: all targets produce jobs (#6780)
  • 849a252 fix: case split on data in grind (#6781)
  • ca56c5e feat: improve support for match-expressions in grind (#6779)
  • d106667 fix: assignment for offset constraints in grind (#6778)
  • 6dbb54d fix: offset terms internalization (#6777)
  • cc260dd feat: support for csimp theorems in toLCNF (#6757)
  • 9565334 fix: Grind.MatchCond in checkParents (#6776)
  • 2fa38e6 fix: suggest correct trace option name in partial_fixpoint error message (#6774)
  • 056d1db fix: typo in partial_fixpoint docstring (#6775)
  • e8bbba0 fix: fix builtin simproc Nat.reduceAnd (#6773)

nightly-2025-01-25

25 Jan 08:52
58c7a4f
Compare
Choose a tag to compare
nightly-2025-01-25 Pre-release
Pre-release

Changes since nightly-2025-01-24:

Full commit log

  • 58c7a4f feat: lake: lift FetchM into JobM (and vice versa) (#6771)
  • c8be581 refactor: lake: use Job for all builtin facets (#6418)
  • c6e244d feat: BitVec.shift x (n#w) -> shift x (n % 2^w) (#6767)
  • 044bf85 feat: commute BitVec.extractLsb(')? with bitwise ops (#6747)
  • 1059e25 feat: BitVec.shiftLeft in terms of extractLsb' (#6743)

nightly-2025-01-24

24 Jan 08:33
c70f406
Compare
Choose a tag to compare
nightly-2025-01-24 Pre-release
Pre-release

Changes since nightly-2025-01-23:

Full commit log

  • c70f406 fix: heterogenenous equality support in match conditions within grind (#6761)
  • 757899a chore: run test suite with Elab.async for more coverage
  • a901e34 perf: avoid cross-thread environment extension state synchronization for now
  • bab10cc feat: asynchronous kernel checking
  • d26dbe7 fix: do not double-report snapshotTasks after wrapAsyncAsSnapshot
  • 214093e fix: prevent Task.get deadlocks from threadpool starvation (#6758)
  • ebda2d4 chore: update stage0
  • 7e03920 feat: zetaUnused option (option only) (#6754)
  • d033804 doc: remove duplicated sentense in Lean.Syntax.node (#6752)
  • 56733b9 refactor: TerminationArgument → TerminationMeasure (#6727)
  • c073da2 chore: update stage0
  • d8bcd6a doc: correspondence ModuleIdx <--> Environment.moduleNames (#6749)

nightly-2025-01-23

23 Jan 08:43
f35a602
Compare
Choose a tag to compare
nightly-2025-01-23 Pre-release
Pre-release

Changes since nightly-2025-01-22:

Full commit log

  • f35a602 feat: use cast to "fix" types in the E-matching module within grind (#6750)
  • 14841ad fix: bugs in grind (#6748)
  • 5f3c0da feat: BitVec.ushiftRight in terms of extractLsb' (#6745)
  • 6befda8 feat: add twoPow multiplication lemmas (#6742)
  • 6595ca8 feat: improve equation theorem support in grind (#6746)
  • 91e261d chore: disable Elab.async on the cmdline for now (#6722)
  • 6ebce42 perf: fast path for multiplication with constants in bv_decide (#6739)
  • b6db90a doc: mention subscript j in the lexical structure (#6738)
  • 7706b87 feat: bv_decide support for structures of supported types (#6724)

nightly-2025-01-22

22 Jan 08:42
9b74c07
Compare
Choose a tag to compare
nightly-2025-01-22 Pre-release
Pre-release

Changes since nightly-2025-01-21:

Full commit log

  • 9b74c07 feat: lazy ite branch internalization in grind (#6737)
  • 533af01 feat: improve grind canonicalizer (#6736)
  • de31faa feat: case splitting match-expressions with overlapping patterns in grind (#6735)
  • 3881f21 fix: redundant information in the offset constraint module (#6734)
  • c9a03c7 feat: overlapping match patterns in grind (#6733)
  • 0c2fb34 chore: remove useless Nat.mul_one from proof (#6728)
  • eb30249 doc: make description of pp.analyze more precise (#6726)
  • 31929c0 feat: lemmas for HashMap.alter and .modify (#6620)
  • 3569797 feat: functional cases theorem for non-recursive functions (#6261)
  • 7b813d4 feat: partial_fixpoint: partial functions with equations (#6355)
  • edeae18 feat: add Bitvec reverse definition, getLsbD_reverse, getMsbD_reverse, reverse_append, reverse_replicate and Nat.mod_sub_eq_sub_mod (#6476)
  • 91bae2e feat: align {List/Array/Vector}.{attach,attachWith,pmap} lemmas (#6723)

nightly-2025-01-21

21 Jan 08:53
f9e904a
Compare
Choose a tag to compare
nightly-2025-01-21 Pre-release
Pre-release

Changes since nightly-2025-01-20:

Full commit log

  • f9e904a feat: add BitVec.[getMsbD_mul, getElem_udiv, getLsbD_udiv, getMsbD_udiv] (#6674)
  • 8375d00 fix: allow ⱼ in identifiers (#6679)
  • 16bd7ea chore: deprecate List.iota (#6708)
  • c54287f feat: add proper erasure of type dependencies in LCNF (#6678)
  • e3771e3 fix: don't generate code for decls with an implemented_by attribute (#6680)
  • 4935829 feat: generalize infoview.maxTraceChildren to the cmdline (#6716)
  • 778333c fix: match equality generation (#6719)
  • 189f5d4 feat: case splitting in grind (#6717)
  • c07f64a doc: Fix (and expand) docstrings for bmod/bdiv (#6713)
  • 22117f2 feat: align List/Array/Vector.count theorems (#6712)
  • 1d03cd6 fix: negative timestamps and PlainDateTimes before 1970 (#6668)