Skip to content

Releases: leanprover/lean4-nightly

nightly-2025-01-31

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

Changes since nightly-2025-01-30:

Full commit log

  • ad48761 feat: add simple Ordering lemmas (#6821)
  • 0a42a47 chore: mark Mul.mul and HMul.hMul as match_pattern (#6863)
  • d70a596 feat: hide grind auxiliary gadgets in messages (#6882)
  • 3331ed9 fix: add Float32 to LCNF.builtinRuntimeTypes list (#6837)
  • b3be4ea feat: include Case analyses trace in the grind error message (#6881)
  • b329c4b feat: improve pattern selection heuristic in grind (#6880)
  • a2155e0 fix: bug in mkMatchCondProf? in grind (#6879)
  • 40eefb1 feat: alignment of List/Array/Vector lemmas about range, range', zipIdx (#6878)
  • 146f6e6 feat: use profileitM in grind (#6876)
  • 52a2769 feat: Cooper resolution (#6862)
  • 270934c test: constProp using grind (#6873)
  • 731551d chore: cleanup grind tests (#6871)
  • 2fedd71 feat: normalize != and == in grind (#6870)
  • 5bd7569 feat: align List/Array/Vector eraseP/erase/eraseIdx lemmas (#6868)
  • cd62b8c refactor: WF.Eqns: rewrite fix without duplicating F (#6859)
  • dc445d7 feat: add BitVec multiplication simp lemmas (#6718)
  • e7d8948 feat: lemmas relating findIdx?/findFinIdx?/idxOf?/findIdxOf?/eraseP/erase on List and Array (#6864)

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)