Commit graph

534 commits

Author SHA1 Message Date
Leonardo de Moura
6cdc6cb1d0 feat: add contradiction 2021-03-03 17:00:54 -08:00
Leonardo de Moura
40c340d1a0 feat: helper match methods 2021-03-03 16:16:34 -08:00
Leonardo de Moura
4a095a7da6 feat: helper methods 2021-03-03 16:16:17 -08:00
Leonardo de Moura
7df503c4e4 refactor: add findLocalDeclWithType? 2021-03-03 15:44:32 -08:00
Leonardo de Moura
f1245f9dc7 fix: bug at isDefEqOffset
fixes #326
2021-03-02 17:28:40 -08:00
Leonardo de Moura
12e9d1f7d2 chore: use double backticks 2021-03-02 17:28:40 -08:00
Leonardo de Moura
1c50603112 fix: ReplaceLocalDecl 2021-02-26 19:31:40 -08:00
Leonardo de Moura
d770c55326 feat: universe level parameters in instances are outParam by default
This commit makes sure Lean 4 treats universe level parameters in
instances as `outParam`s. This the behavior in Lean 3.

fixes #319
2021-02-25 13:21:53 -08:00
Leonardo de Moura
d9d948087f fix: use TransparencyMode.instances at SynthInstance 2021-02-25 13:08:51 -08:00
Leonardo de Moura
3850b1a9aa perf: workaround for increasing the number of destructive updates
See 4908eaf396
2021-02-21 16:22:53 -08:00
Leonardo de Moura
322fc79d84 perf: cache inferConstType 2021-02-21 15:48:36 -08:00
Leonardo de Moura
50b6561f8f chore: cleanup 2021-02-21 14:04:00 -08:00
Leonardo de Moura
e1f6965266 feat: allow user to define rewrite lemmas with (local) match expressions 2021-02-19 15:18:19 -08:00
Leonardo de Moura
8392b09db2 feat: shouldAddAsStar only for nested terms 2021-02-18 11:33:56 -08:00
Leonardo de Moura
df8634e9ad fix: assertAfter 2021-02-17 13:52:43 -08:00
Leonardo de Moura
bb2ca97df9 refactor: add options for controlling whether variables are included or not at mkLambdaFVars and mkForallFVars 2021-02-17 13:49:27 -08:00
Leonardo de Moura
1a7535263e fix: unfolding class projections at simp 2021-02-16 17:55:57 -08:00
Leonardo de Moura
399af03c7c refactor: move defeq unfolding to reduce, use transform to implement dsimp 2021-02-16 17:41:18 -08:00
Leonardo de Moura
15e6ae2cdb chore: cleanup 2021-02-16 16:16:21 -08:00
Leonardo de Moura
2ef6605cdf feat: do not simplify proofs 2021-02-16 16:13:56 -08:00
Leonardo de Moura
5f80659b45 fix: unfold constants at simp 2021-02-16 15:42:31 -08:00
Leonardo de Moura
3e65f586cc fix: smart unfolding 2021-02-16 15:39:07 -08:00
Leonardo de Moura
4ec85a39a5 fix: Not should not be reducible, special support for Ne
Unification hint for `Not`
2021-02-15 17:36:11 -08:00
Leonardo de Moura
e97df2f61b feat: functions to unfold at simp 2021-02-15 15:32:25 -08:00
Leonardo de Moura
1c5de9842d feat: use decide at simp 2021-02-15 13:08:45 -08:00
Leonardo de Moura
7bdd3ae5a2 feat: simplify ctor_1 ... = ctor_2 ... 2021-02-15 12:40:19 -08:00
Leonardo de Moura
f07b9926b1 feat: unfold coercions and coeFun, coeSort, coeM, liftCoeM
TODO: `coe`
2021-02-14 10:27:34 -08:00
Leonardo de Moura
7e3bc30674 feat: add expandCoe 2021-02-14 10:03:44 -08:00
Leonardo de Moura
0787886cea feat: improve simp local lemma elaboration 2021-02-13 18:55:19 -08:00
Leonardo de Moura
2944da2a0b feat: use simp itself as default method for discharging hypotheses of conditional rewriting rules 2021-02-13 18:55:19 -08:00
Leonardo de Moura
3a9cd7e85b refactor: use Simp.Context instead of Config+SimpLemmas+CongrLemmas 2021-02-13 18:55:19 -08:00
Leonardo de Moura
21878030d1 fix: fixes #310
@Kha I implemented the following approach:

- Error if user tries to revert `auxDecl`.
- Clear any `auxDecl` that depends on variables being reverted by the user.
2021-02-12 18:14:42 -08:00
Leonardo de Moura
4ac78266ad fix: make sure temporary metavars don't leak 2021-02-12 16:52:56 -08:00
Leonardo de Moura
1945858d89 fix: assigned metavariables in SimpLemmas 2021-02-12 16:52:56 -08:00
Leonardo de Moura
b51e3cb1fe feat: process congr lemmas at simp 2021-02-12 16:52:56 -08:00
Leonardo de Moura
da91fc4526 refactor: move synthesizeArgs 2021-02-12 16:52:56 -08:00
Leonardo de Moura
9ba8a30fb2 feat: add Repr instance for CongrLemmas 2021-02-11 18:13:33 -08:00
Leonardo de Moura
ffa4a577be feat: add @[congr] attribute 2021-02-11 17:51:04 -08:00
Leonardo de Moura
8b3c61dbb0 fix: checkAssignment 2021-02-11 16:56:32 -08:00
Leonardo de Moura
5e0b6a404f chore: naming convention 2021-02-11 15:05:26 -08:00
Leonardo de Moura
83775b08cb fix: whnfCore not expanding delayed assignments 2021-02-05 15:14:12 -08:00
Leonardo de Moura
4dc2a84302 fix: whnfCore
Update function before invoking `reduceMatcher?`
2021-02-05 13:40:39 -08:00
Leonardo de Moura
cab3c72374 fix: isDefEq for applications in WHNF
The issue fixed by this commit was exposed by c17a1c382f
We also document the TC workaround used at `tryHeuristic`.
2021-02-05 12:42:34 -08:00
Leonardo de Moura
c17a1c382f fix: isDeltaCandidate?
It should return `some ...` only if `ConstantInfo` has a value.
2021-02-05 09:19:37 -08:00
Leonardo de Moura
278d47c772 chore: add Repr instance for TransparencyMode 2021-02-04 20:40:05 -08:00
Leonardo de Moura
e415cfa632 chore: increase synthInstance.maxHeartbeats default 2021-02-04 17:36:12 -08:00
Leonardo de Moura
c747230e28 refactor: move isMonad? to AppBuilder.lean 2021-02-04 17:17:51 -08:00
Leonardo de Moura
e63111b39a fix: fixes #302
TODO: investigage error message duplication
2021-02-03 15:04:18 -08:00
Leonardo de Moura
2888e49785 feat: @ modifier at induction and cases tactic alternatives 2021-02-01 18:03:19 -08:00
Leonardo de Moura
c1dce595a5 feat: add option useNamesForExplicitOnly to introN 2021-02-01 17:35:48 -08:00