Commit graph

5257 commits

Author SHA1 Message Date
Leonardo de Moura
1bf1290570 feat: use kernel projections in constructions
Motivation: auxiliary recursors such as `brecOn` do not depend on
user-facing projection definitions anymore.
Thus, we can simplify `whnfCore` at `TypeUtil`.
2019-11-04 03:38:57 -08:00
Leonardo de Moura
4cfa4f0e9c feat: add temporary hack
`mutual` + `partial` doesn't work yet.
2019-11-03 15:35:15 -08:00
Leonardo de Moura
b181ee5a4c chore: typos 2019-11-02 14:45:17 -07:00
Leonardo de Moura
146aa71886 feat: reduce auxiliary recursors 2019-11-02 14:38:24 -07:00
Leonardo de Moura
359a78b902 feat: aux recursor extension in Lean 2019-11-02 11:24:52 -07:00
Leonardo de Moura
2d01621aba feat: add TagDeclarationExtension helper 2019-11-02 10:59:06 -07:00
Leonardo de Moura
1a5de2c184 feat: add reduceProjectionFn
This is code for reducing user-facing projections functions created by
the `structure` command.
2019-11-02 10:26:38 -07:00
Leonardo de Moura
2d65b2ba9f feat: reduce Expr.proj 2019-11-01 17:07:38 -07:00
Leonardo de Moura
638ceebab4 feat: helper functions 2019-11-01 17:07:26 -07:00
Leonardo de Moura
36f2bc987e chore: TypeInference ==> TypeUtil 2019-11-01 16:24:49 -07:00
Leonardo de Moura
b3bce21e3b feat: use CPS 2019-11-01 16:22:55 -07:00
Leonardo de Moura
1631fbde37 feat: add support for reducing recursor applications 2019-11-01 10:27:39 -07:00
Leonardo de Moura
823221840a feat: add matchConst helper function 2019-11-01 10:20:34 -07:00
Leonardo de Moura
68bbba365c feat: add isQuotRecStuck 2019-11-01 10:03:46 -07:00
Leonardo de Moura
cc6a72b789 feat: add reduceQuotRecAux 2019-11-01 09:55:29 -07:00
Leonardo de Moura
431a5de2b0 chore: add helper functions 2019-11-01 09:55:08 -07:00
Leonardo de Moura
32fdea86d9 feat: add isRecStuck 2019-11-01 09:31:19 -07:00
Leonardo de Moura
39d777435c feat: add reduceRec 2019-11-01 08:40:56 -07:00
Leonardo de Moura
b78ab05360 feat: add reduceRecAux for reducing recursor applications 2019-10-31 20:58:59 -07:00
Leonardo de Moura
a4c2e72f1c feat: helper functions 2019-10-31 20:58:30 -07:00
Leonardo de Moura
fd167c3829 chore: use Level instead of Univ 2019-10-31 20:13:44 -07:00
Leonardo de Moura
cae045bce8 chore: add helper function 2019-10-31 20:12:22 -07:00
Leonardo de Moura
8c7f514a9d feat: expose instantiateLevelParams 2019-10-31 20:12:08 -07:00
Leonardo de Moura
51ce321c7e feat: whnf skeleton 2019-10-31 17:40:05 -07:00
Leonardo de Moura
1b541219c9 chore: add helper function 2019-10-31 17:38:16 -07:00
Leonardo de Moura
665e8b3f4b chore: style 2019-10-31 11:34:34 -07:00
Leonardo de Moura
952a707732 chore: cleanup 2019-10-31 11:00:05 -07:00
Leonardo de Moura
2df2f6cf62 feat: add processPostponed 2019-10-31 10:52:41 -07:00
Leonardo de Moura
216e87e9a9 feat: add LBool 2019-10-30 19:30:08 -07:00
Leonardo de Moura
136b2c5171 fix: save updateLhs and updateRhs when postponing constraints 2019-10-30 19:29:21 -07:00
Leonardo de Moura
a7921e7013 feat: isDefEq for universe levels 2019-10-30 19:14:44 -07:00
Leonardo de Moura
e32402513d feat: add hasAssignableLevelMVar 2019-10-30 18:23:30 -07:00
Leonardo de Moura
a9f3aa086d feat: add Level.dec 2019-10-30 18:23:12 -07:00
Leonardo de Moura
ab88c312b5 chore: TypeContext => TypeInference 2019-10-30 15:51:37 -07:00
Leonardo de Moura
31767d025d feat: improve AbstractMetavarContext interface 2019-10-30 15:02:33 -07:00
Leonardo de Moura
5f41cb69e4 feat: TmpMetavarContext 2019-10-30 14:56:01 -07:00
Leonardo de Moura
875d7657d9 feat: implement isEquiv in Lean 2019-10-30 14:55:40 -07:00
Leonardo de Moura
4d5d3133bd feat: universe level helper functions 2019-10-30 13:19:08 -07:00
Leonardo de Moura
7ab79b8729 chore: missing instance 2019-10-28 19:48:27 -07:00
Leonardo de Moura
5878aa0471 fix: mkForallAux modifies mctx 2019-10-28 19:47:56 -07:00
Leonardo de Moura
6c252a3f08 doc: add extra comments 2019-10-28 19:05:50 -07:00
Leonardo de Moura
57c9fb7f91 feat: add AbstractMetavarContext.mkForall and AbstractMetavarContext.mkLambda 2019-10-28 17:25:46 -07:00
Leonardo de Moura
0895a16a49 fead: add MonadCache helper class 2019-10-28 17:25:46 -07:00
Leonardo de Moura
1d0ecd6c7d chore: Expr.fvarName! ==> Expr.fvarId! 2019-10-28 13:59:31 -07:00
Leonardo de Moura
0f61de712e chore: add helper functions 2019-10-28 13:40:50 -07:00
Leonardo de Moura
f4eb95cefb chore: add BinderInfo.isAuxDecl 2019-10-28 13:39:58 -07:00
Leonardo de Moura
4a3eccade7 chore: fix name 2019-10-28 13:39:47 -07:00
Leonardo de Moura
52f26022da chore: enforce naming convention 2019-10-28 11:10:25 -07:00
Leonardo de Moura
df8bbf5438 chore: remove Init.Control.Combinators
Reason: it contains a bunch of little functions that are supposed to
be defined in other modules.
2019-10-27 18:58:40 -07:00
Leonardo de Moura
34765c97d7 chore: rename mmap, mfoldl, mfor ...
We now use `mapM`, `foldlM`, ... like Haskell.
Motivation: fixes the inconsistent naming convetion. We are already
using the `M` suffix for functions such as `anyM`. We used `anyM`
because `many` is a valid English word.

cc @kha @dselsam
2019-10-27 18:19:34 -07:00