Commit graph

1080 commits

Author SHA1 Message Date
Leonardo de Moura
eaaaaabc60 feat: allow Lean.Parser.Term.id to be used in binders
cc @Kha
2020-03-18 20:54:08 -07:00
Leonardo de Moura
2954f6ad3e feat: add MetaHasEval instance for TermElabM
cc @Kha
2020-03-18 20:09:14 -07:00
Leonardo de Moura
6cac9cab89 feat: cache closed terms at Meta.whnf 2020-03-18 16:47:50 -07:00
Leonardo de Moura
d1e02907e3 chore: register Meta.debug trace option 2020-03-18 16:42:00 -07:00
Leonardo de Moura
cd8bd55311 feat: make sure Char.ofNat can be efficiently reduced in the kernel and WHNF 2020-03-18 16:41:48 -07:00
Leonardo de Moura
736925bbce feat: allow decide! and nativeDecide! take _ as an argument
We use the expected type in this case.
2020-03-18 16:00:06 -07:00
Leonardo de Moura
c8b51b0fb3 feat: elab decide! 2020-03-18 15:48:22 -07:00
Leonardo de Moura
5b350d52ee feat: elaborate nativeDecide! 2020-03-18 15:39:23 -07:00
Leonardo de Moura
1279057bc6 feat: add mkExpectedTypeHint 2020-03-18 15:34:02 -07:00
Leonardo de Moura
77f20d9737 feat: add nativeDecide! and decide! macros 2020-03-18 15:00:22 -07:00
Leonardo de Moura
6f62986368 feat: add isDefEqStringLit 2020-03-18 11:05:44 -07:00
Leonardo de Moura
01acecf9be chore: helper predicates 2020-03-18 11:04:43 -07:00
Leonardo de Moura
cee478dc94 feat: MetaM support for expanding String literal at recursors 2020-03-18 10:29:52 -07:00
Leonardo de Moura
84f856bed9 chore: use toExpr 2020-03-18 10:26:32 -07:00
Leonardo de Moura
b4942fcd30 feat: add ToExpr instances 2020-03-18 10:22:24 -07:00
Leonardo de Moura
6d08311765 feat: support for Nat operations at MetaM isDefEq 2020-03-17 16:17:07 -07:00
Leonardo de Moura
ea10c5c6fc feat: add support for reducing Nat basic functions in the kernel 2020-03-17 13:31:57 -07:00
Leonardo de Moura
97b8d8551d feat: elaborate nativeRefl! macro 2020-03-16 16:21:51 -07:00
Leonardo de Moura
c10230ec0a feat: add elabTermAndSynthesize auxiliary method
Useful for creating "checkpoints".
2020-03-16 15:37:04 -07:00
Leonardo de Moura
81a7cf50d3 feat: make sure #check and #synth do not modify the environment 2020-03-16 15:36:37 -07:00
Leonardo de Moura
702087c72c feat: add nativeRefl! macro notation 2020-03-16 14:58:53 -07:00
Leonardo de Moura
94804358fa chore: better trace message 2020-03-16 14:33:30 -07:00
Leonardo de Moura
adf40096fc feat: compute ReducibilityHints 2020-03-16 14:33:30 -07:00
Leonardo de Moura
2f3745c594 feat: use shareCommon 2020-03-16 14:33:30 -07:00
Leonardo de Moura
b69c851a5a feat: add Expr.foldConsts 2020-03-16 14:33:30 -07:00
Leonardo de Moura
0ee6672a77 feat: add NameHashSet 2020-03-16 14:33:21 -07:00
Leonardo de Moura
596a547e57 feat: add helper theorems 2020-03-16 11:17:41 -07:00
Leonardo de Moura
fba18edfa3 feat: add support for Lean.reduceNat and Lean.reduceBool at MetaM isDefEq 2020-03-16 10:58:14 -07:00
Leonardo de Moura
2d7ec0b49c fix: bug at unsafe umapMAux implementation
closes #125
2020-03-14 13:41:14 -07:00
Leonardo de Moura
6ad0c2cc18 feat: simplify unsafeCast 2020-03-14 13:10:56 -07:00
Leonardo de Moura
2e6fac2853 feat: add support for reduceBool and reduceNat in the kernel type_checker 2020-03-14 12:13:22 -07:00
Leonardo de Moura
6f9583987d feat: add reduceBool and reduceNat "hints"
TODO: actual implementation at `type_checker.cpp`
2020-03-14 10:57:19 -07:00
Leonardo de Moura
52e2655915 feat: add Kernel.isDefEq 2020-03-14 09:16:46 -07:00
Leonardo de Moura
abf27d843e feat: synthPending implementation 2020-03-13 13:52:00 -07:00
Leonardo de Moura
7bb9638ea6 feat: helper lemmas for equation compiler 2020-03-13 06:39:13 -07:00
Leonardo de Moura
a0090b378b feat: move Array extensionality theorems to Init 2020-03-13 06:39:13 -07:00
Leonardo de Moura
a8c3322ac8 doc: expand dependent pattern matching support for array literals 2020-03-13 06:39:13 -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
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
Sebastian Ullrich
d460635e2f refactor: factor out KeyedDeclsAttribute 2020-03-11 08:38:18 -07:00
Leonardo de Moura
970ee59fc6 feat: validate given alternatives 2020-03-09 15:39:48 -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
cfbfcf92d6 feat: convert heterogeneous equalities 2020-03-08 18:27:21 -07:00