Leonardo de Moura
4a69643858
fix: nontermination while generating equation lemmas for match-expressions ( #6180 )
...
This PR fixes a non-termination bug that occurred when generating the
match-expression equation theorems. The bug was triggered when the proof
automation for the equation theorem repeatedly applied `injection(` to
the same local declaration, as it could not be removed due to forward
dependencies. See issue #6067 for an example that reproduces this issue.
closes #6067
2024-11-23 00:06:34 +00:00
Leonardo de Moura
98b1edfc1f
fix: backtrack at injection failure ( #6109 )
...
This PR fixes an issue in the `injection` tactic. This tactic may
execute multiple sub-tactics. If any of them fail, we must backtrack the
partial assignment. This issue was causing the error: "`mvarId` is
already assigned" in issue #6066 . The issue is not yet resolved, as the
equation generator for the match expressions is failing in the example
provided in this issue.
2024-11-18 02:26:06 +00:00
Leonardo de Moura
855fbed024
fix: regression on match expressions with builtin literals ( #3521 )
2024-02-27 18:49:44 +00:00
Leonardo de Moura
2defc58159
chore: rename isNatLit => isRawNatLit
...
Motivation: consistency with `mkRawNatLit`
2024-02-23 15:16:12 -08:00
Henrik Böving
23e49eb519
perf: add prelude to all Lean modules
2024-02-18 14:55:17 -08:00
Mario Carneiro
3e83e28e8f
feat: injections with names
2022-09-20 17:36:35 -07:00
Leonardo de Moura
90fb110cc9
refactor: improve FVarId method discoverability
...
See issue #1346
2022-07-25 22:18:58 -07:00
Leonardo de Moura
8335a82aed
refactor: improve MVarId method discoverability
...
See issue #1346
2022-07-24 21:36:33 -07:00
Leonardo de Moura
2ebcf29cde
chore: use a[i]! for array accesses that may panic
2022-07-02 15:12:05 -07:00
Sebastian Ullrich
ae7b895f7a
refactor: unname some unused variables
2022-06-07 16:37:45 -07:00
Leonardo de Moura
2dea5471da
feat: add support for HEq to the subst tactic
2022-03-28 12:23:55 -07:00
Leonardo de Moura
49c64040a2
feat: add support for HEq at injections tactic
2022-02-23 17:31:17 -08:00
Leonardo de Moura
52ff840321
feat: support for HEq at injection
2022-02-22 17:24:11 -08:00
Leonardo de Moura
9c293abb9c
chore: expose heqToEq tactic
2022-01-25 18:43:51 -08:00
Leonardo de Moura
8fec444e55
feat: add injections tactic
2021-08-31 19:12:06 -07:00
Leonardo de Moura
68143ca8ba
chore: trace[...]! ==> trace[...]
...
@Kha I think this one is a good change, there is no real reason for
using the `!` suffix here.
2021-03-10 18:44:43 -08:00
Leonardo de Moura
b7a0bdb9c9
fix: Injection.lean
2021-01-30 11:58:56 -08:00
Leonardo de Moura
ea0fda39bc
chore: Declaration.lean naming convention
...
`Declaration.lean` was one of the first Lean 4 files, and was still
using an old naming convention.
cc @Kha
2021-01-20 17:07:02 -08:00
Leonardo de Moura
c428e4feaa
fix: bug at injection
2020-12-17 17:30:23 -08:00
Leonardo de Moura
0869f38de4
chore: update structure, class, inductive
2020-11-27 15:09:30 -08:00
Leonardo de Moura
c305c2691f
chore: use :=
2020-11-19 07:22:31 -08:00
Leonardo de Moura
13c2a8ff51
chore: remove #lang lean4 header
2020-10-25 09:54:07 -07:00
Leonardo de Moura
bebd5075fd
chore: cleanup
2020-10-23 10:00:23 -07:00
Leonardo de Moura
152f275aac
chore: move to new frontend
2020-10-17 08:02:30 -07:00
Leonardo de Moura
12aabcb731
feat: add introNP and intro1P
...
Versions of `introN` and `intro1` that preserve the binder name.
They are used to implement the idiom: "revert", do something, re-"intro"-tuce
Before this commit `introNP mvarId n` was `intro1 mvarId n [] false`.
2020-09-18 12:35:25 -07:00
Leonardo de Moura
4934a2d522
chore: remove workaround
2020-08-26 16:24:20 -07:00
Leonardo de Moura
e5b7daf9c2
refactor: make AppBuilder methods polymorphic
2020-08-24 18:23:34 -07:00
Leonardo de Moura
b3894200f0
feat: expose constructorApp? and isConstructorApp?
2020-08-14 12:37:34 -07:00
Leonardo de Moura
6be71b337f
refactor: add prototype2.lean
2020-08-04 18:35:11 -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