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