Daniel Selsam
bff5e4ed37
feat: solves mvars in reverse order during tabled tc
2019-11-09 21:15:34 -08:00
Leonardo de Moura
1dd8770b3a
feat: forallTelescope and forallTelescopeReducing
2019-11-09 21:10:12 -08:00
Leonardo de Moura
c62355e26b
feat: inferType for let expressions
2019-11-09 20:44:27 -08:00
Leonardo de Moura
cff9e4192d
feat: add inferLambdaType
2019-11-09 20:33:29 -08:00
Leonardo de Moura
c44517c876
chore: fix tests
2019-11-09 20:32:28 -08:00
Leonardo de Moura
00131b14f6
feat: add MetaM.mkForall and MetaM.mkLambda
2019-11-09 20:23:17 -08:00
Leonardo de Moura
981cd44eaa
feat: add lambdaTelescope
2019-11-09 20:20:18 -08:00
Daniel Selsam
f574cdf5e0
feat: fresh contexts for each new subgoal
2019-11-09 15:51:23 -08:00
Daniel Selsam
9ce13e93c9
feat: allow metas in intermediate tc answers
2019-11-09 15:49:39 -08:00
Daniel Selsam
0bab51b66e
feat: solve typeclass subgoals in reverse order
...
Some instance arguments may still need to be reversed.
2019-11-09 15:47:50 -08:00
Sebastian Ullrich
aa557a9d5a
test: trivial linter test
2019-11-09 15:43:37 -08:00
Sebastian Ullrich
1442c1b377
feat: call linters on non-mutual definitions
2019-11-09 15:43:37 -08:00
Sebastian Ullrich
dac6f273b5
feat: simplistic linter framework
2019-11-09 15:43:37 -08:00
Sebastian Ullrich
da69beac0a
feat: add --plugin for loading shared libraries
2019-11-09 15:41:13 -08:00
Sebastian Ullrich
80871ee394
chore: remove outdated macOS cmake setup
2019-11-09 15:41:13 -08:00
Sebastian Ullrich
4281a50297
fix: leanc: use cc when compiling a .c file
2019-11-09 15:41:13 -08:00
Leonardo de Moura
c33a1f977f
feat: ensure isClass unfolds only reducible constants
2019-11-09 14:02:11 -08:00
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