Joe Hendrix
01104cc81e
chore: bool and prop lemmas for Mathlib compatibility and improved confluence ( #3508 )
...
This adds a number of lemmas for simplification of `Bool` and `Prop`
terms. It pulls lemmas from Mathlib and adds additional lemmas where
confluence or consistency suggested they are needed.
It has been tested against Mathlib using some automated test
infrastructure.
That testing module is not yet included in this PR, but will be included
as part of this.
Note. There are currently some comments saying the origin of the simp
rule. These will be removed prior to merging, but are added to clarify
where the rule came from during review.
---------
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
2024-03-04 23:56:30 +00:00
Joachim Breitner
b2d668c340
perf: Use flat ByteArrays in Trie ( #2529 )
2023-09-20 13:22:37 +02:00
Sebastian Ullrich
451ccec154
fix: save when used as last tactic
2023-06-07 14:29:45 -07:00
Leonardo de Moura
1ec535d523
test: alternative encoding experiment for decEq and noConfusion
2022-11-23 18:46:10 -08:00
Mario Carneiro
dd5948d641
chore: snake-case attributes (part 1)
2022-10-19 09:28:08 -07:00
Leonardo de Moura
18ccc01cf1
feat: add inferType for LCNF
2022-08-09 17:33:24 -07:00
Leonardo de Moura
9e00cbd6d8
feat: add LCNFTypes.lean
2022-08-09 15:47:58 -07:00
Leonardo de Moura
fbb858a32c
chore: missing case
2022-08-08 23:40:44 -07:00
Leonardo de Moura
1952633a75
chore: compiler simple type experiment
2022-08-08 20:18:46 -07:00
Leonardo de Moura
a82abee1b2
feat: sum of monomials normal form by reflection
2022-04-22 18:51:48 -07:00
Leonardo de Moura
d8ad343885
test: add Expr.eq_of_toPoly_eq
2022-04-20 23:04:29 -07:00
Leonardo de Moura
6bdeb6c9cb
test: add support for sub as som.lean
2022-04-20 22:59:55 -07:00
Leonardo de Moura
6e09dfae1e
test: simplify sum of monomials
2022-04-20 22:31:52 -07:00
Leonardo de Moura
14bfe57ba8
test: sum of monomials by reflection
2022-04-20 19:19:50 -07:00
Leonardo de Moura
e69e469a37
chore: update test
2022-04-18 11:56:46 -07:00
Leonardo de Moura
e6aee1e463
feat: make sure cases and induction alternatives are processed using the order provided by the user
...
Motivation: improve the effectiveness of the `save` and `checkpoint` tactics.
2022-04-18 11:45:36 -07:00
Leonardo de Moura
5599cefe2e
feat: add sleep tactic for debugging purposes
2022-04-18 09:53:45 -07:00
Leonardo de Moura
607a590238
test: pge example
2022-04-17 15:17:28 -07:00
Leonardo de Moura
2f8d2e8a12
feat: add procedure for solving subgoals generated by mkSplitterProof
2021-08-24 20:23:13 -07:00
Leonardo de Moura
49520aa2ee
feat: generate conditional equation theorems for match expressions
2021-08-19 19:33:31 -07:00
Leonardo de Moura
3c519887d1
chore: generate error message when MatchEqs fail
...
TODO: we currently do not generate equation theorems
for `match` expressions using array literals.
2021-08-19 17:04:52 -07:00
Leonardo de Moura
a6529a795b
feat: add casesOnStuckLHS
2021-08-19 11:22:13 -07:00
Leonardo de Moura
45d3b85d5a
refactor: cleanup MatchEqs and simplify SplitIf
2021-08-18 18:34:34 -07:00
Leonardo de Moura
83eaa47e0a
chore: move MatchEqs
2021-08-17 21:32:32 -07:00
Daniel Selsam
89364b802b
feat: top-down heuristic delaboration
2021-08-03 09:13:18 +02:00
Wojciech Nawrocki
7374b9ba45
chore: update webserver demo
2021-07-15 21:57:55 +02:00
Leonardo de Moura
fb9c1913d7
feat: prototype for equality theorem generator for auxiliary match functions
2021-05-31 18:52:22 -07:00
Daniel Fabian
93bb94bfea
test: update playground for Hashable
...
due to new code generation, adjust the playground code
2021-03-30 13:36:52 -07:00
Daniel Fabian
fee3390dd1
feat: add Hashable deriving
...
add support for the `Hashable` deriving by combining structural
hashes over fields
2021-03-30 13:36:52 -07:00
Leonardo de Moura
48b855bfe5
chore: fix tests
2021-03-10 18:45:22 -08:00
Leonardo de Moura
0068732751
test: benchmarks for simp
2021-03-09 15:09:51 -08:00
Leonardo de Moura
4c82f5c688
test: perf experiments
2021-03-09 13:42:47 -08:00
Leonardo de Moura
b26c7087fe
chore: increase test size
2021-03-04 17:27:24 -08:00
Leonardo de Moura
2b78de650a
test: experiment
2021-03-04 14:48:49 -08:00
Leonardo de Moura
5626b537c7
chore: move nondet to Std/Control/Nondet.lean
2021-03-02 07:57:25 -08:00
Leonardo de Moura
533731d61e
chore: fix nondet
2021-03-02 07:38:44 -08:00
Leonardo de Moura
d71aab5dc4
fix: allow bigger ctor objects
...
`IR/Checker.lean` is now also checking the maximum number of fields
and scalar size
2021-01-29 18:23:38 -08:00
Leonardo de Moura
a0ed2d1738
chore: update tests
2021-01-27 15:17:51 -08:00
Sebastian Ullrich
8a02dfec4f
feat: subsume variables under variable
...
/cc @leodemoura
2021-01-22 14:36:05 +01:00
Leonardo de Moura
7ae861f6bd
test: simplify
2021-01-21 18:32:23 -08:00
Leonardo de Moura
d6eb5a9ff2
feat: generate sizeOf equality lemmas for constructors
...
TODO: support for nested inductive types.
2021-01-21 17:44:15 -08:00
Leonardo de Moura
0bce549d92
test: remove code that is being generated automatically
2021-01-21 10:35:22 -08:00
Leonardo de Moura
dc142cff13
test: sizeOf experiments
2021-01-18 17:21:03 -08:00
Leonardo de Moura
731ca49088
chore: cleanup
2020-12-13 15:51:34 -08:00
Leonardo de Moura
d6ba0592d1
chore: remove dead code
2020-12-13 15:50:08 -08:00
Leonardo de Moura
e9a1c3ac44
test: deriving experiment
2020-12-12 15:26:55 -08:00
Leonardo de Moura
ce1baa5f39
test: deriving command experiments
2020-12-11 18:34:17 -08:00
Leonardo de Moura
2a5b18fde4
test: add nondet example
2020-10-29 16:33:40 -07:00
Leonardo de Moura
898a08a0c1
chore: avoid Has prefix in type classes
...
closes #203
2020-10-27 18:29:19 -07:00
Leonardo de Moura
10c32fcf94
chore: HasToString => ToString
2020-10-27 16:11:48 -07:00