Commit graph

26011 commits

Author SHA1 Message Date
Leonardo de Moura
a8c3322ac8 doc: expand dependent pattern matching support for array literals 2020-03-13 06:39:13 -07:00
Sebastian Ullrich
3a94422aea chore: bump Actions 2020-03-13 10:40:45 +01:00
Leonardo de Moura
65234064ec doc: dep elim experiments 2020-03-11 19:25:38 -07:00
Leonardo de Moura
dc740307fa doc: "plan" for matching array literals
The new equation compiler will generate code similar to
`matchArrayLit`. Of course, we will not use an auxiliary inductive datatype.
2020-03-11 12:00:11 -07:00
Leonardo de Moura
50acb88727 feat: add auxiliary function for matching array literals 2020-03-11 11:57:01 -07:00
Leonardo de Moura
839a37bc81 chore: update stage0 2020-03-11 10:11:37 -07:00
Leonardo de Moura
9ad67b6535 chore: remove TODO's 2020-03-11 10:09:34 -07:00
Leonardo de Moura
923036a017 chore: indentation 2020-03-11 10:06:45 -07:00
Leonardo de Moura
357a708ed8 chore: avoid variable, enforce naming convention
Motivation: make it clear which definitions depend on `df : Def γ`.
2020-03-11 10:05:25 -07:00
Leonardo de Moura
ae4b18220d chore: add a few comments 2020-03-11 10:00:52 -07:00
Leonardo de Moura
e08eda81d8 fix: builtin attribute description 2020-03-11 09:54:19 -07:00
Leonardo de Moura
fe4892b71b chore: update stage0 2020-03-11 09:47:11 -07:00
Leonardo de Moura
ff6e9f852a chore: update stage0 2020-03-11 08:41:18 -07:00
Sebastian Ullrich
d460635e2f refactor: factor out KeyedDeclsAttribute 2020-03-11 08:38:18 -07:00
Sebastian Ullrich
e3920552b0 fix: updating binding info of variables 2020-03-11 07:30:58 -07:00
Sebastian Ullrich
ea85f3a318 fix: make install... 2020-03-11 15:20:56 +01:00
Sebastian Ullrich
10f161353e chore: remove leanpkg script 2020-03-11 14:53:24 +01:00
Leonardo de Moura
3f4d0d78b2 chore: update stage0 2020-03-09 15:41:36 -07:00
Leonardo de Moura
970ee59fc6 feat: validate given alternatives 2020-03-09 15:39:48 -07:00
Leonardo de Moura
629f14384a test: add dependent elimination tests 2020-03-09 15:12:07 -07:00
Leonardo de Moura
62cb4e7b55 fix: normalize 2020-03-09 15:10:56 -07:00
Leonardo de Moura
f6e534748f fix: normalize 2020-03-09 15:10:41 -07:00
Leonardo de Moura
36a5738ba5 fix: cases does not need to provide all alternatives 2020-03-09 15:09:51 -07:00
Leonardo de Moura
7393013d8a feat: use injection to complete cases 2020-03-09 14:48:11 -07:00
Leonardo de Moura
1eb03c85f3 test: add injection tests 2020-03-08 18:27:50 -07:00
Leonardo de Moura
cfbfcf92d6 feat: convert heterogeneous equalities 2020-03-08 18:27:21 -07:00
Leonardo de Moura
7eb6381f68 feat: throw error if unnecessary identifiers are provided 2020-03-08 18:02:20 -07:00
Leonardo de Moura
d24acdde46 test: injection tactic tests 2020-03-08 17:45:58 -07:00
Leonardo de Moura
7cf53b649b fix: nat literals are constructor applications 2020-03-08 17:44:53 -07:00
Leonardo de Moura
21353d07d5 fix: unassigned universe metavariables should not block instantiation of delayed assignment 2020-03-08 17:31:07 -07:00
Leonardo de Moura
3b84507888 fix: expand show and have using let!
Motivation: expected elaboration order is preserved: first type, then
value, and then body.

Motivation: expected type is not lost when elaborating the body.
2020-03-08 16:14:11 -07:00
Leonardo de Moura
354bc450e6 feat: elaborate let! 2020-03-08 16:02:00 -07:00
Leonardo de Moura
d4d4e199bc chore: remove dead code 2020-03-08 15:52:55 -07:00
Leonardo de Moura
50363b9267 chore: update stage0 2020-03-08 15:50:27 -07:00
Leonardo de Moura
de6fda9b37 feat: add let! notation
`let x := v; t` is elaborated into `(fun x => t) v`
2020-03-08 15:49:13 -07:00
Leonardo de Moura
783ca47d1f fix: typo 2020-03-08 12:22:00 -07:00
Leonardo de Moura
502758b09c fix: allow universe **level** metavariables 2020-03-08 11:33:35 -07:00
Leonardo de Moura
adce6df1a1 fead: add evalInjection 2020-03-08 11:31:43 -07:00
Leonardo de Moura
cbf7a661df feat: add elabAsFVar 2020-03-08 11:31:18 -07:00
Leonardo de Moura
74908bb9c7 fix: typo 2020-03-08 11:31:05 -07:00
Leonardo de Moura
c972742494 chore: update stage0 2020-03-08 10:36:03 -07:00
Leonardo de Moura
a708c5d134 feat: injection tactic notation 2020-03-08 10:34:39 -07:00
Leonardo de Moura
5ea1160e86 feat: add injection tactic 2020-03-08 10:34:31 -07:00
Leonardo de Moura
c493ac1e1e feat: injectionCore tactic 2020-03-08 10:21:40 -07:00
Leonardo de Moura
5770edbffd feat: workaround for the constant approximation issue
@Kha It seems to cover all the scenarios we discussed earlier today.
2020-03-06 16:47:02 -08:00
Leonardo de Moura
5ffde62343 fix: check runTactics 2020-03-06 15:39:53 -08:00
Leonardo de Moura
1854f5796b chore: update stage0 2020-03-06 13:43:19 -08:00
Leonardo de Moura
88a62f9f7e fix: #121 in the old frontend
This is temporary hack. We will delete this module in the near future.
2020-03-06 13:43:19 -08:00
Leonardo de Moura
8db309a079 feat: remove hack
We can't solve
```
```
anymore, but the hack was unstable. For example, it is weird that the
one above could be solved, but the following failed.
```
```
The difference is that the types in the first example were atomic
`Unit` and `Bool`, but not in the second.
2020-03-06 13:43:19 -08:00
Leonardo de Moura
3c5d2d4269 refactor: cleanup
closes #112
Previous two commits contributed too.
2020-03-06 13:43:19 -08:00