Leonardo de Moura
d72b22572d
feat: update vector of local instances
2019-11-09 13:49:27 -08:00
Leonardo de Moura
adcb9091ef
fix: avoid redundant let-decls
2019-11-09 12:32:31 -08:00
Leonardo de Moura
1e065d495b
feat: expose hasLooseBVar
2019-11-09 12:29:50 -08:00
Leonardo de Moura
3592f6d34d
chore: withCacheScope => savingCache
2019-11-09 12:17:46 -08:00
Leonardo de Moura
c47dc18d63
chore: update stage0
2019-11-09 12:08:39 -08:00
Leonardo de Moura
5d3b1f09d2
chore: add TODO
2019-11-09 12:07:09 -08:00
Leonardo de Moura
1eccb19401
feat: add inferForallType
2019-11-09 12:00:45 -08:00
Leonardo de Moura
d54880b6d1
feat: helper functions for debugging, handling metavars, creating telescopes, extract universe level from types, checking whether type is a class, and declaring locals
2019-11-09 11:37:32 -08:00
Leonardo de Moura
d10e08236f
feat: add finally
2019-11-09 07:28:12 -08:00
Leonardo de Moura
f063bf4a40
chore: update stage0
2019-11-08 16:24:17 -08:00
Leonardo de Moura
e5b77d4de8
feat: combine InferType and TypeUtil into Meta
2019-11-08 16:20:11 -08:00
Leonardo de Moura
1ff782334b
chore: remove option for disabling zeta
2019-11-08 14:35:43 -08:00
Leonardo de Moura
791250fb9b
chore: remove unfold_lemmas option
...
We should use `transparency_mode::All` instead.
2019-11-08 10:07:27 -08:00
Leonardo de Moura
dce1de3905
chore: remove transparency_mode::None
2019-11-08 10:04:06 -08:00
Leonardo de Moura
975188cee1
fix: typo
2019-11-08 10:02:44 -08:00
Leonardo de Moura
086dd2c362
chore: remove transparency_mode::Instances
2019-11-08 09:54:03 -08:00
Leonardo de Moura
6d358a5dee
test: add test to demonstrate why it is useful to include instances in the PersistentHashMap type
2019-11-08 08:28:31 -08:00
Leonardo de Moura
d9fb5acb22
chore: use same approach we use for HashMap
2019-11-08 08:28:31 -08:00
Leonardo de Moura
90178cf923
chore: add helper functions
2019-11-08 08:28:31 -08:00
Leonardo de Moura
5c39ea7faa
feat: add InferProjType
2019-11-08 08:28:31 -08:00
Leonardo de Moura
a2cdf4494d
chore: add helper
2019-11-08 08:28:31 -08:00
Leonardo de Moura
2009068a53
feat: add getLooseBVarRange
2019-11-08 08:28:31 -08:00
Leonardo de Moura
f1847ef75f
feat: add inferType helper functions
2019-11-08 08:28:31 -08:00
Leonardo de Moura
54ce57fe26
feat: add instantiateRevRange
2019-11-08 08:28:31 -08:00
Leonardo de Moura
5d9f3f6fba
chore: add ambiguity comment
2019-11-08 08:28:31 -08:00
Daniel Selsam
19ec5cda13
doc: typeclass loop issue and suggestions
2019-11-08 08:28:26 -08:00
Leonardo de Moura
583923492c
chore: naming conventions
2019-11-07 10:40:26 -08:00
Leonardo de Moura
b8b31552d1
chore: update stage0
2019-11-07 10:28:13 -08:00
Leonardo de Moura
322f18f0c9
chore: WHNFUtil => WHNF
2019-11-07 10:25:58 -08:00
Daniel Selsam
f272f42c1f
fix: (throwaway) context was ignoring const levels
2019-11-07 10:21:24 -08:00
Leonardo de Moura
91e87a0cd4
feat: add reference implementation for whnf
2019-11-07 10:20:15 -08:00
Leonardo de Moura
e020cd2ea0
refactor: parametrize over getConst : Name -> m (Option (ConstantInfo)) instead of env : Environment
...
Motivation: when instatiating these templates, we can make definitions
opaque by returning `none` at `getConst`.
2019-11-07 10:20:15 -08:00
Leonardo de Moura
a087aea871
chore: remove special support for user-facing projection functions
...
We now have kernel projections, and user-facing projection functions
are defined using them. So, we don't need special support anymore for
them. They are just regular functions in Lean4.
2019-11-07 10:20:15 -08:00
Leonardo de Moura
05c125c938
chore: remove dead code
2019-11-07 10:20:15 -08:00
Leonardo de Moura
65d14ed1d3
feat: add smart unfolding
2019-11-07 10:20:15 -08:00
Leonardo de Moura
cbf09b44ea
feat: add getStuckMVar
2019-11-07 10:20:14 -08:00
Leonardo de Moura
069a18fe17
chore: update stage0
2019-11-07 10:20:14 -08:00
Leonardo de Moura
3faa033705
refactor: add parametric whnfCore
...
Motivation: `WHNFUtil` will provide a parametric implementation for
WHNF. We will use it to implement `TypeUtil` and `matchPattern`.
2019-11-07 10:20:14 -08:00
Leonardo de Moura
eeb865c97c
chore: merge QuotUtil and InductiveUtil into WHNFUtil
2019-11-07 10:20:14 -08:00
Sebastian Ullrich
68a126be3f
chore: update benchmark packages
2019-11-07 17:47:58 +01:00
Sebastian Ullrich
fef586627a
chore: revert "chore: switch back to clang 8"
...
This reverts commit bffc55219e .
2019-11-07 10:45:59 +01:00
Daniel Selsam
3b6755dea1
doc: namespace A.B vs namespace A namespace B
2019-11-06 10:16:33 -08:00
Daniel Selsam
7cddeaa0d3
doc: tc triggers nested tc, potentially with tmp metavar leak
2019-11-06 10:15:05 -08:00
Sebastian Ullrich
cf381f68b7
chore: revert "chore: call ctest with -V"
...
This reverts commit 6a34b20540 .
2019-11-06 10:13:52 -08:00
Sebastian Ullrich
d8bb4df96f
chore: revert "chore: add std::cout.flush"
...
This reverts commit a43a225013 .
2019-11-06 10:13:39 -08:00
Sebastian Ullrich
fdccf9ad14
chore: revert "chore: publish test artifacts to debug CI failures"
...
This reverts commit 3c476b4278 .
2019-11-06 10:13:20 -08:00
Sebastian Ullrich
2240a349d0
chore: update-stage0: stage all files
...
This makes it much harder to accidentally forget to commit files for new modules
/cc @leodemoura
2019-11-06 10:11:23 -08:00
Leonardo de Moura
2a53597035
doc: new MetavarContext requirements and design
2019-11-06 10:03:04 -08:00
Leonardo de Moura
94cddc299d
chore: update stage0
2019-11-05 18:57:07 -08:00
Leonardo de Moura
e844a5be74
feat: simplify MetavarContext
...
Remove `AbstractMetavarContext` and `TmpMetavarContext`.
Disable `TypeUtil` until we decide this is the right design.
Using very simple approach:
- No distinction betwen temporary and regular metavariables.
- Metavariables have a `depth` Nat field.
- MetavarContext also has a `depth` field.
- We bump the `MetavarContext` depth when we create a nested problem.
Example: Elaborator (depth = 0) -> Simplifier matcher (depth = 1) -> TC (level = 2) -> TC (level = 3) -> ...
- When MetavarContext is at depth N, isDefEq does not assign variables from depth < N.
- Metavariables from depth N+1 must be fully assigned before we return to level N.
- New design even allows us to invoke tactics from TC.
cc @dselsam
2019-11-05 18:44:33 -08:00