Leonardo de Moura
9e30ac3265
feat: add Expr.fvarsSubset ( #6430 )
...
This PR adds the predicate `Expr.fvarsSet a b`, which returns `true` if
and only if the free variables in `a` are a subset of the free variables
in `b`.
2024-12-20 22:29:47 +00:00
Leonardo de Moura
afe0b5a013
perf: precise cache for foldConsts ( #4871 )
...
It addresses a performance issue at
https://github.com/leanprover/LNSym/blob/proof_size_expt/Proofs/SHA512/Experiments/Sym20.lean
2024-07-30 18:35:45 +00:00
Leonardo de Moura
de5e07c4d2
perf: find? and findExt? ( #4795 )
...
use the kernel implementation.
2024-07-20 01:13:54 +00:00
Leonardo de Moura
6c33b9c57f
perf: for_each with precise cache ( #4794 )
...
This commit also adds support for `find?` and `findExt?` using kernel
`for_each`.
We need to perform `update-stage0`.
2024-07-20 00:18:55 +00:00
Arthur Adjedj
6c6b56e7fc
fix: revert "monadic generalization of FindExpr" ( #4125 )
...
This reverts commit 706a4cfd73 introduced
in #3970
As explained in #4124 , `findM?` can become a footgun if used in monads
which induce side-effects such as caching. This PR removes that
function, and fixes the code introduced by #3398 for which the function
was first added.
cc @semorrison.
2024-05-10 20:36:08 +00:00
Kim Morrison
706a4cfd73
feat: monadic generalization of FindExpr ( #3970 )
...
Not certain this is a good idea. Motivated by code duplication
introduced in #3398 .
2024-04-24 06:07:54 +00:00
Henrik Böving
23e49eb519
perf: add prelude to all Lean modules
2024-02-18 14:55:17 -08:00
Leonardo de Moura
6d857a93b5
perf: pointer set for traversing DAGs
2023-07-11 19:19:42 -07:00
Gabriel Ebner
bbe5cf63b2
perf: pick cache size coprime to pointer alignment
2022-11-19 08:27:38 -08:00
Mario Carneiro
583e023314
chore: snake-case attributes (part 2)
2022-10-19 09:28:08 -07:00
Gabriel Ebner
f1b5fa53f0
chore: use new comment syntax
2022-09-14 08:26:17 -07:00
Gabriel Ebner
a8cab84735
refactor: use computed fields for Expr
2022-07-11 14:19:41 -07:00
Leonardo de Moura
02c4e548df
feat: replace constant with opaque
2022-06-14 17:02:59 -07:00
Sebastian Ullrich
ae7b895f7a
refactor: unname some unused variables
2022-06-07 16:37:45 -07:00
Leonardo de Moura
15546fbc48
feat: add Expr.findExt?
2022-02-23 12:32:17 -08:00
Leonardo de Moura
9d05023325
chore: remove some [specialize] annotations
2022-01-18 09:24:06 -08:00
Leonardo de Moura
0869f38de4
chore: update structure, class, inductive
2020-11-27 15:09:30 -08:00
Leonardo de Moura
304c80d610
feat: use <|
2020-11-19 09:03:38 -08:00
Leonardo de Moura
f31b0d7d19
chore: cleanup
2020-10-29 09:35:12 -07:00
Leonardo de Moura
13c2a8ff51
chore: remove #lang lean4 header
2020-10-25 09:54:07 -07:00
Leonardo de Moura
e53ff26a91
chore: move to new frontend
2020-10-20 12:21:53 -07:00
Leonardo de Moura
7c87b8f256
feat: add Expr.occurs
2020-08-17 16:20:57 -07:00
Leonardo de Moura
249bda16c0
chore: remove prelude commands from Lean package
2020-06-25 11:21:17 -07:00
Leonardo de Moura
4ccc3fef52
chore: move Init.Lean files to Lean package
2020-05-26 15:04:35 -07:00