Commit graph

3406 commits

Author SHA1 Message Date
Leonardo de Moura
e9672a0058 fix(library/type_context): potential problem at mk_nested_instance 2016-07-27 14:12:38 -07:00
Leonardo de Moura
de35a856ec chore(library/type_context): remove question
The answer is yes.
2016-07-27 14:00:31 -07:00
Leonardo de Moura
5b0100ef0b refactor(library/lazy_abstraction): lazy ==> delayed 2016-07-27 13:53:17 -07:00
Leonardo de Moura
1b75a98ea4 feat(library/tactic/tactic_state): add helper mk procedure 2016-07-27 13:42:32 -07:00
Leonardo de Moura
cc21604e4c fix(library/type_context): bug as is_def_eq for universe levels 2016-07-27 11:36:18 -07:00
Leonardo de Moura
40fc9b8056 feat(library/type_context): missing case at is_def_eq
is_def_eq was failing at

          ?M1 ... =?= ?M2 ...

when context of ?M1 is a strict subset of ?M2.
2016-07-27 11:14:17 -07:00
Leonardo de Moura
a05291ed75 chore(library/io_state): fix style 2016-07-26 17:59:22 -07:00
Leonardo de Moura
7a92ce38bd refactor(frontends/lean): elaborator_exception ==> old_elaborator_exception 2016-07-26 16:24:28 -07:00
Leonardo de Moura
e33f8ec4d4 feat(library): add formatted_exception base class 2016-07-26 16:06:12 -07:00
Leonardo de Moura
b53e50c968 fix(library/metavar_context): incorrect assertions 2016-07-25 19:11:01 -07:00
Leonardo de Moura
c4953cac43 feat(frontends/lean/elaborator): only use eliminator elaboration is function is fully applied 2016-07-25 17:24:57 -07:00
Leonardo de Moura
1ed24a7237 feat(frontends/lean/elaborator): restrict use of 'eliminator' elaboration, approximate is_def_eq in the default function application elaborator 2016-07-25 16:25:54 -07:00
Leonardo de Moura
85e3f51fd5 feat(library/bin_app): uniform foldr, add helper methods for synthesizing recursive functions
foldr combinator is used to define brec_on recursor.
It is easier to access the brec_on "dictionary" if the representation is
uniform.
2016-07-23 12:11:18 -07:00
Leonardo de Moura
0db1f3a9d1 feat(library/init/meta): add helper functions 2016-07-23 11:39:11 -07:00
Leonardo de Moura
212d222047 feat(frontends/lean): quoted names 2016-07-22 19:06:57 -07:00
Leonardo de Moura
efedc3f0c5 chore(library/definitional/equations): remove recursive from error messages 2016-07-22 11:14:57 -07:00
Leonardo de Moura
1b55507971 refactor(library/init/meta): rename C++ intro to intro_core, and define smarter intro in C++ 2016-07-21 16:54:23 -07:00
Leonardo de Moura
a50cbf07ab fix(library/app_builder): do not try to instantiate type class instances that have been explicitly provided 2016-07-20 19:42:21 -04:00
Leonardo de Moura
31e0d9d183 fix(library/type_context): local instances were not being initialized 2016-07-20 19:41:45 -04:00
Leonardo de Moura
7f0b4b4573 feat(library/init/meta/environment): add is_recursive API 2016-07-20 19:27:43 -04:00
Leonardo de Moura
cda29ea107 fix(library/tactic/cases_tactic): incorrect mk_app 2016-07-20 09:32:12 -04:00
Leonardo de Moura
f576573466 fix(library/tactic/unfold_tactic): crash 2016-07-20 00:08:38 -04:00
Leonardo de Moura
4c3c2d6236 fix(library/tactic/rewrite_tactic): instantiate mvars in the type 2016-07-19 21:59:09 -04:00
Leonardo de Moura
ed73dafa48 chore(library/tactic/unfold_tactic): fix style 2016-07-18 20:20:54 -04:00
Leonardo de Moura
ceba74f24e feat(library/tactic/unfold_tactic): improve fold failure detection 2016-07-18 20:17:40 -04:00
Leonardo de Moura
16ab639f56 fix(library/tactic/unfold_crash): crash when constant is not a definition 2016-07-18 19:59:17 -04:00
Leonardo de Moura
7597952bad fix(library/tactic/unfold_tactic): should use type_context locals 2016-07-18 19:08:31 -04:00
Leonardo de Moura
a0bd27a91c chore(library/old_tactic/tactic): remove dead code 2016-07-18 16:05:30 -04:00
Leonardo de Moura
0d8213cf92 feat(library/tactic): add unfold tactic 2016-07-18 15:46:56 -04:00
Leonardo de Moura
98867d4ec0 feat(library/tactic/intro_tactic): use head_beta_reduce 2016-07-18 15:14:01 -04:00
Leonardo de Moura
dcd12cfe96 chore(library/old_tactic/tactic): remove dead code 2016-07-18 14:12:23 -04:00
Leonardo de Moura
a20abd61e8 feat(library/tactic): implement rewrite and kabstract using occurrences object 2016-07-18 10:10:37 -04:00
Leonardo de Moura
579f643d1d refactor(library): move kabstract to tactic folder 2016-07-18 09:57:02 -04:00
Leonardo de Moura
3e6b4577e2 feat(library/tactic): add occurrences object 2016-07-18 09:49:49 -04:00
Leonardo de Moura
7ffcee0cb8 fix(library/type_context): bug at complete_instance 2016-07-17 18:31:04 -04:00
Leonardo de Moura
762104ef33 chore(library/old_tactic/tactic/rewrite_tactic): remove dead code 2016-07-17 16:11:18 -04:00
Leonardo de Moura
7f0276f592 feat(library/tactic): add 'rewrite' tactic and variants 2016-07-17 16:08:11 -04:00
Leonardo de Moura
b505bce801 feat(library/type_context): put on_is_def_eq_failure back 2016-07-17 15:52:36 -04:00
Leonardo de Moura
0d16d82120 chore(library/kabstract): avoid code duplication 2016-07-17 15:13:05 -04:00
Leonardo de Moura
d787870093 feat(library/kabstract): small optimization 2016-07-17 15:08:53 -04:00
Leonardo de Moura
0add9bd7a7 fix(library/type_context): remove incorrect assertions 2016-07-17 14:35:17 -04:00
Leonardo de Moura
e72bccb2e3 feat(library/vm/vm_list): add to_list 2016-07-17 14:34:47 -04:00
Leonardo de Moura
be88270f09 feat(library/tactic/assert_tactic): expose API 2016-07-17 14:34:22 -04:00
Leonardo de Moura
7272cab929 feat(library/kabstract): add kabstract with occs 2016-07-17 14:32:21 -04:00
Leonardo de Moura
71bae47d45 chore(library/old_tactic/tactic): remove dead code 2016-07-16 15:41:32 -04:00
Leonardo de Moura
26177995c2 feat(library/tactic): add 'generalize' tactic 2016-07-16 15:41:32 -04:00
Leonardo de Moura
0213f1970f feat(library): add kabstract 2016-07-16 15:41:31 -04:00
Leonardo de Moura
e945db8306 chore(library/old_tactic/tactic): remove dead code 2016-07-16 15:41:20 -04:00
Leonardo de Moura
a30603405c feat(library/vm/vm): add scope_vm_state 2016-07-15 15:10:04 -04:00
Leonardo de Moura
fd068344a6 feat(library/tactic/cases_tactic): merge method
The renaming tables are essential for implementing the new definitional package.
2016-07-15 13:56:17 -04:00