Commit graph

17874 commits

Author SHA1 Message Date
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