Commit graph

148 commits

Author SHA1 Message Date
Leonardo de Moura
b2c92d57b3 feat: add withReducible 2020-01-19 14:24:11 -08:00
Leonardo de Moura
2b466c9e7e feat: intro preserve goal tag 2020-01-18 15:39:15 -08:00
Leonardo de Moura
8862a82aac feat: add MessageData.ofGoal 2020-01-16 20:22:38 -08:00
Leonardo de Moura
8f59d4a9e6 fix: assignDelayed misuse at intro 2020-01-16 20:09:27 -08:00
Leonardo de Moura
f6622b3120 fix: display goal at error 2020-01-16 19:32:58 -08:00
Leonardo de Moura
72c6194d9b fix: typos 2020-01-16 19:28:49 -08:00
Leonardo de Moura
dc2c664ad1 feat: display goal when tactic fails 2020-01-16 19:23:02 -08:00
Leonardo de Moura
e654909f7a feat: add Exception.tactic 2020-01-16 18:21:11 -08:00
Leonardo de Moura
a88dca17bc chore: style 2020-01-14 08:51:50 -08:00
Daniel Selsam
4a0d8b475c doc: try naming result type 2020-01-14 08:49:41 -08:00
Leonardo de Moura
6d77aa20aa feat: catch deep recursion at MetaM, TermElabM and CommandElabM
cc @Kha
2020-01-11 15:03:58 -08:00
Leonardo de Moura
48600dbbfc refactor: registerAttribute ==> registerBuiltinAttribute 2020-01-10 17:08:12 -08:00
Leonardo de Moura
63cd3a8c41 fix: nontermination at isDefEqOffset 2020-01-10 13:25:20 -08:00
Leonardo de Moura
06b6beb9f7 feat: add kabstract 2020-01-10 13:10:03 -08:00
Leonardo de Moura
a76b104f61 chore: move Message to Lean 2020-01-10 10:58:50 -08:00
Leonardo de Moura
d7b23cf297 fix: typo 2020-01-10 08:36:48 -08:00
Daniel Selsam
27158eb3e2 fix: DiscrTree typos 2020-01-10 08:07:41 -08:00
Leonardo de Moura
c5111de0f0 feat: add option set_option synthInstance.maxSteps <num>
cc @dselsam @kha
2020-01-10 08:04:25 -08:00
Leonardo de Moura
3d1ee3f408 fix: add isNewAnswer predicate
reactivate `typeclass_coerce.lean` test
2020-01-09 13:37:21 -08:00
Leonardo de Moura
125faad936 fix: missing do
This is nasty. The following
```
if entry.answers.contains answer then pure () -- if answer was already found, then do nothing
else
  let newEntry := { answers := entry.answers.push answer, .. entry };
  modify $ fun s => { tableEntries := s.tableEntries.insert key newEntry, .. s };
  entry.waiters.forM (wakeUp answer)
```
was being parsed as
```
if entry.answers.contains answer then pure () -- if answer was already found, then do nothing
else
  (let newEntry := { answers := entry.answers.push answer, .. entry };
   modify $ fun s => { tableEntries := s.tableEntries.insert key newEntry, .. s });
entry.waiters.forM (wakeUp answer)
```
2020-01-09 12:44:41 -08:00
Leonardo de Moura
f3d4005fc6 fix: outParam support 2020-01-09 11:39:12 -08:00
Leonardo de Moura
78c50125dd fix: bug preprocessArgs 2020-01-09 11:13:25 -08:00
Leonardo de Moura
ebd20432b6 fix: isDefEqOffset 2020-01-09 10:47:02 -08:00
Leonardo de Moura
11d15575f7 feat: ignore Nat.succ, Nat.zero Nat.add and HasAdd.add at `DiscrTree
@dselsam We need this feature to be able to retrieve instances of the
form `Top (Nat.succ ?m)` given `Top 1` where `1` is the literal `1`
2020-01-09 10:28:09 -08:00
Leonardo de Moura
f49e1cd0fb fix: isDefEqOffset 2020-01-09 10:10:32 -08:00
Leonardo de Moura
3de7d6d5c3 fix: remove mvarTypeNotWellFormedInSmallerLCtx
We use `check` recursively instead of `isWellFormed`.

@kha This was the last bug for the repro
```
```
This example works now, but I am sure there are many other bugs.
2020-01-07 16:56:10 -08:00
Leonardo de Moura
69be2148d6 chore: remove buggy optimization 2020-01-07 16:29:59 -08:00
Leonardo de Moura
4b08b1eea3 fix: ?m t =?= ?n 2020-01-07 16:05:17 -08:00
Leonardo de Moura
d059b7be76 chore: add stuck trace message 2020-01-07 12:56:15 -08:00
Leonardo de Moura
0231841984 feat: applyAttributes 2020-01-05 16:22:46 -08:00
Leonardo de Moura
c233225153 feat: add mkForallUsedOnly
This commit also fixes a bug at `mkBinding` for unused let-decls
2020-01-05 11:53:39 -08:00
Daniel Selsam
91f97fb0d9 fix: typos in SynthInstance.lean 2020-01-03 10:29:01 -08:00
Leonardo de Moura
9d53fa701c chore: combine MessageData.context + MessageData.withOptions into MessageData.context 2019-12-22 09:15:04 -08:00
Leonardo de Moura
6a3f06642c feat: add option for controlling sytax max depth in trace messages 2019-12-22 08:56:13 -08:00
Leonardo de Moura
a32fd2e693 feat: implement design documented at 868a217202 2019-12-21 15:53:36 -08:00
Leonardo de Moura
c5c158e5b9 fix: isDefEqQuick 2019-12-19 11:10:58 -08:00
Leonardo de Moura
fadd453395 fix: avoid nontermination 2019-12-19 10:37:24 -08:00
Leonardo de Moura
40576ac3dd fix: missing ! 2019-12-19 10:27:49 -08:00
Leonardo de Moura
bdc9ea6fc6 fix: unregistered level metavariable 2019-12-19 09:58:05 -08:00
Leonardo de Moura
c5d2b06037 feat: add decLevel? 2019-12-16 17:32:35 -08:00
Leonardo de Moura
e922f8a46c feat: split synthetic into synthetic and syntheticOpaque 2019-12-16 17:06:45 -08:00
Leonardo de Moura
067dca5a65 chore: naming convention 2019-12-15 18:28:00 -08:00
Leonardo de Moura
e0510520ed chore: update TODOs 2019-12-15 18:12:45 -08:00
Leonardo de Moura
248cc2ec3a chore: naming convention 2019-12-15 07:48:42 -08:00
Leonardo de Moura
ac86983128 chore: naming convention 2019-12-15 07:40:32 -08:00
Leonardo de Moura
a80c5c8339 chore: naming convention 2019-12-14 12:00:25 -08:00
Leonardo de Moura
4184165573 feat: enable foApprox and ctxApprox during type class instance synthesis 2019-12-13 19:24:00 -08:00
Leonardo de Moura
93d987461a chore: naming convention 2019-12-13 19:17:45 -08:00
Leonardo de Moura
119742e463 feat: make sure MetaM also implements new unifier approximation 2019-12-13 19:12:53 -08:00
Leonardo de Moura
afc50a801d feat: add lazy unfolding to field name resolution 2019-12-13 09:52:44 -08:00