Leonardo de Moura
|
0c185fc4ab
|
fix(library/tactic): add relax_main_opaque flag to proof_state objects, closes #274
|
2014-10-29 08:57:34 -07:00 |
|
Leonardo de Moura
|
e22eb3543c
|
feat(library/tactic): add whnf tactic, closes #270
|
2014-10-28 23:18:49 -07:00 |
|
Leonardo de Moura
|
83e4c0fcec
|
feat(frontends/lean): hide tactic "types"
it is not very useful to display the type of tactics (e.g., apply,
intros, ...)
|
2014-10-28 22:38:10 -07:00 |
|
Leonardo de Moura
|
1c2bbcfebc
|
feat(frontends/lean/info_manager): add separator -- when displaying PROOF_STATE info
This feature was implemented to address issue #259
|
2014-10-28 16:39:21 -07:00 |
|
Leonardo de Moura
|
186e598bf8
|
feat(library/tactic/goal): add option pp.compact_goals
|
2014-10-28 16:30:37 -07:00 |
|
Leonardo de Moura
|
a3801e84d4
|
fix(library/tactic/goal): avoid unnecessary line break when possible
|
2014-10-28 16:17:33 -07:00 |
|
Leonardo de Moura
|
ea739100b3
|
fix(library/unifier): broken optimization in the unifier
See new comments and tests for details.
|
2014-10-28 16:09:41 -07:00 |
|
Leonardo de Moura
|
78bc3ef7e4
|
feat(library/unifier): improve FailLocal/FailCircular failures in the unifier by using normalization
This improvements was marked as TODO, and was preventing us from
elaborating the example in the new test vector3.lean
|
2014-10-27 16:49:29 -07:00 |
|
Leonardo de Moura
|
bca2be56ec
|
feat(library/normalize): add new flavors of normalize procedure
|
2014-10-27 16:25:30 -07:00 |
|
Leonardo de Moura
|
fd60cf6a79
|
feat(library/tactic/exact_tactic): modify 'exact' tactic semantics, use higher-order unification
See new node.inj4 theorem, we need the extra power to be able to avoid type information at
exact (assume e₁ e₂, e₁)
|
2014-10-26 10:27:33 -07:00 |
|
Leonardo de Moura
|
c7f6a6b94e
|
feat(library/definitional/cases_on): automatically add 'cases_on'
|
2014-10-25 17:22:02 -07:00 |
|
Leonardo de Moura
|
c751bdd9e6
|
chore(library/definitional): remove dead code
|
2014-10-25 15:11:48 -07:00 |
|
Leonardo de Moura
|
fa1bf40d0f
|
fix(library/definitional): make sure argument is an inductive datatype
|
2014-10-25 15:09:24 -07:00 |
|
Leonardo de Moura
|
cdcde661ef
|
feat(library/definitional/induction_on): automatically add 'induction_on'
|
2014-10-25 13:37:04 -07:00 |
|
Leonardo de Moura
|
a7a06ab0f8
|
feat(library/definitional/rec_on): automatically generate rec_on function for inductive datatypes
|
2014-10-25 13:08:59 -07:00 |
|
Leonardo de Moura
|
096c67b2e5
|
fix(library/unifier): occurs-check bug
|
2014-10-25 00:16:02 -07:00 |
|
Leonardo de Moura
|
aaad9633fb
|
fix(library/tactic/expr_to_tactic): memory leak
|
2014-10-24 14:40:36 -07:00 |
|
Leonardo de Moura
|
79d0347721
|
feat(library/tactic): add generalize tactic, closes #34
Remark: the intros tactic has been added in a different commit: 7d0100a340
|
2014-10-23 22:40:15 -07:00 |
|
Leonardo de Moura
|
b83b065d00
|
feat(library/tactic/apply_tactic): modify heuristic for adding arguments to apply tactic.
|
2014-10-23 22:36:32 -07:00 |
|
Leonardo de Moura
|
f9aa1a1b84
|
refactor(library/tactic/goal): remove unnecessary parameter
|
2014-10-23 21:22:52 -07:00 |
|
Leonardo de Moura
|
43cfd5c26a
|
fix(library/tactic): add missing file
|
2014-10-23 14:04:12 -07:00 |
|
Leonardo de Moura
|
e750c9b67a
|
feat(frontends/lean): add 'info' tactic for producing PROOF_STATE info for emacs mode
|
2014-10-23 13:18:30 -07:00 |
|
Leonardo de Moura
|
8e3ac023bb
|
feat(library/reducible): expose 'memoize' flag
|
2014-10-23 13:09:59 -07:00 |
|
Leonardo de Moura
|
38a9aa2a98
|
feat(frontends/lean): automatically open 'tactic' namespace (if it is not already open) in 'by' and 'begin-end' expressions
|
2014-10-23 10:26:19 -07:00 |
|
Leonardo de Moura
|
00f9a10e82
|
refactor(library/tactic/unfold_tactic): use new 'tactic.expr' to implement 'unfold' tactic
This change also enabled us to remove hacks used in the tests modified
by this commit.
|
2014-10-23 10:26:19 -07:00 |
|
Leonardo de Moura
|
6fcba192b2
|
refactor(library/tactic): move 'unfold' tactic to separate module
|
2014-10-23 10:26:19 -07:00 |
|
Leonardo de Moura
|
96d7d9c8d9
|
feat(library/tactic/elaborate): do not invoke unifier if no constraints were generated during elaboration
|
2014-10-23 10:26:19 -07:00 |
|
Leonardo de Moura
|
f3fdc70400
|
refactor(library/tactic): add auxiliary module 'library/tactic/elaborate'
|
2014-10-23 10:26:11 -07:00 |
|
Leonardo de Moura
|
3aec70b92c
|
feat(library/tactic): elaborate 'exact' tactic argument at tactic execution time
|
2014-10-22 22:13:37 -07:00 |
|
Leonardo de Moura
|
c50227ea6e
|
feat(library/tactic): change apply tactic semantics: goals are not reversed; and dependent arguments are not included
This commit also adds the tactic rapply that corresponds to the previous
semantics we have been using.
|
2014-10-22 18:11:09 -07:00 |
|
Leonardo de Moura
|
60132912a4
|
refactor(library/tactic): remove unnecessary hack
It is not needed anymore.
We had to use this hack when we had tactic_macro_definition_cell.
|
2014-10-22 17:41:19 -07:00 |
|
Leonardo de Moura
|
7c62446023
|
refactor(frontends/lean): remove dead code
|
2014-10-22 17:39:06 -07:00 |
|
Leonardo de Moura
|
e95c7c5f70
|
refactor(library/tactic/rename_tactic): use new 'tactic.expr' to implement 'intro/intros' tactic
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-10-22 17:29:50 -07:00 |
|
Leonardo de Moura
|
9a316092d1
|
refactor(library/tactic/rename_tactic): use new 'tactic.expr' to implement rename tactic
|
2014-10-22 17:29:50 -07:00 |
|
Leonardo de Moura
|
5e15ac0c92
|
feat(library/tactic): add new approach for embedding non-elaborated expressions into tactics
|
2014-10-22 17:29:50 -07:00 |
|
Leonardo de Moura
|
7c617955d0
|
refactor(library/tactic): move 'exact' tactic to separate module
|
2014-10-22 17:29:44 -07:00 |
|
Leonardo de Moura
|
323715e951
|
refactor(library/tactic): move 'tracing' tactics to separate module
|
2014-10-22 14:12:45 -07:00 |
|
Leonardo de Moura
|
815dc9b63d
|
chore(library/tactic/expr_to_tactic): remove dead code
|
2014-10-20 18:59:57 -07:00 |
|
Leonardo de Moura
|
53a64ac767
|
refactor(library/tactic): move intros_tactic initialization to intros_tactic module
|
2014-10-20 17:47:52 -07:00 |
|
Leonardo de Moura
|
3c4419ff23
|
refactor(library/tactic): move rename_tactic to separate module
|
2014-10-20 17:41:40 -07:00 |
|
Leonardo de Moura
|
ac9397816f
|
refactor(library/tactic): move apply_tactic initialization to apply_tactic module
|
2014-10-20 17:32:32 -07:00 |
|
Leonardo de Moura
|
7d0100a340
|
feat(library/tactic): add 'intros' tactic
|
2014-10-20 15:26:16 -07:00 |
|
Leonardo de Moura
|
5cba7244ce
|
fix(library/tactic/expr_to_tactic): argument evaluation order is not part of the standard
|
2014-10-20 15:16:38 -07:00 |
|
Leonardo de Moura
|
8cfb3ae687
|
fix(library/module): bug in import_module
|
2014-10-18 21:03:22 -07:00 |
|
Leonardo de Moura
|
d2cbd25985
|
refactor(kernel): replace_visitor doesn't need to be in the kernel anymore
|
2014-10-17 10:23:35 -07:00 |
|
Leonardo de Moura
|
8974b52f7b
|
perf(library/unifier): avoid unnecessary wasteful computation
|
2014-10-16 17:16:49 -07:00 |
|
Leonardo de Moura
|
c4f02bd16a
|
refactor(kernel/expr): remove dead code
|
2014-10-16 13:09:26 -07:00 |
|
Leonardo de Moura
|
28128e0330
|
fix(frontends/lean): EXTRA_TYPE info
|
2014-10-16 12:25:18 -07:00 |
|
Leonardo de Moura
|
d960c1994e
|
refactor(library/tactic/apply_tactic): reuse type_checker object
|
2014-10-15 09:28:01 -07:00 |
|
Leonardo de Moura
|
bbe4017790
|
refactor(library/tactic/apply_tactic): remove dead code
|
2014-10-15 09:15:11 -07:00 |
|
Leonardo de Moura
|
b94d121580
|
refactor(library): move flycheck "helper" classes to separate module
|
2014-10-15 09:08:04 -07:00 |
|
Leonardo de Moura
|
e6606ef2ac
|
feat(library/tactic): add 'rename' hypothesis tactic
|
2014-10-14 18:19:34 -07:00 |
|
Leonardo de Moura
|
90dba868e3
|
feat(library/tactic/proof_state): apply substitutions when pretty printing state
|
2014-10-14 17:37:20 -07:00 |
|
Leonardo de Moura
|
58c9421bab
|
refactor(library/tactic): elaborate expressions nested in tactics with respect to current goal, save postponed constraints (e.g., flex-flex constraints) closes #44, fixes #70
|
2014-10-14 17:18:40 -07:00 |
|
Soonho Kong
|
0f5d88517d
|
chore(library/rewriter): remove lean-0.1 files
|
2014-10-14 16:03:34 -07:00 |
|
Leonardo de Moura
|
5ff200c516
|
chore(library/simplifier): delete old simplifier
This was the simplifier used in Lean 0.1.
|
2014-10-14 15:56:09 -07:00 |
|
Leonardo de Moura
|
a30232b99a
|
fix(library/module): race condition on m_imported
|
2014-10-14 15:19:50 -07:00 |
|
Leonardo de Moura
|
7231aa0d73
|
fix(library/module): allow multiple calls to import_modules with the same modules
The idea is to store a set of already imported files.
This feature is useful when using the import_modules API directly (e.g.,
from javascript).
|
2014-10-14 08:13:41 -07:00 |
|
Leonardo de Moura
|
7d0db4cc60
|
feat(library/kernel_serializer): compress binder modifier annotations when saving .olean file
|
2014-10-13 10:14:56 -07:00 |
|
Leonardo de Moura
|
a26618e0f2
|
feat(frontends/lean): add '[]' notation for marking arguments where class-instance resolution should be applied
|
2014-10-12 13:06:00 -07:00 |
|
Leonardo de Moura
|
78b8a67015
|
refactor(library/scoped_ext): sections are just "nameless" namespaces
|
2014-10-11 17:36:46 -07:00 |
|
Leonardo de Moura
|
3d65b1c25c
|
fix(frontends/lean/elaborator): incorrect type information being reports in lean-mode, fixes #241
|
2014-10-10 15:41:55 -07:00 |
|
Leonardo de Moura
|
9ba59c6b25
|
feat(library/universe): improve support for universe level constraints in the unifier
|
2014-10-09 20:28:39 -07:00 |
|
Leonardo de Moura
|
86410d392b
|
feat(util/list_fn): generalize map_filter template
|
2014-10-08 22:23:20 -07:00 |
|
Leonardo de Moura
|
8fa171cb92
|
refactor(library/unifier): allow general 'unify' procedure to take an initial substitution as argument
|
2014-10-07 17:30:57 -07:00 |
|
Leonardo de Moura
|
92c424936a
|
refactor(kernel/macro_definition_cell): improve macro get_type API
|
2014-10-07 16:38:31 -07:00 |
|
Soonho Kong
|
2cf6cf19c0
|
feat(src): add LEAN_VERSION_PATCH
|
2014-10-07 12:30:38 -07:00 |
|
Leonardo de Moura
|
60d8369688
|
fix(library/unifier): missing justification when updating choice constraints
The bug was not producing incorrect results, but really bad error
messages.
See: empty.lean.expected.out
|
2014-10-04 10:40:53 -07:00 |
|
Leonardo de Moura
|
bf081ed431
|
refactor(kernel): rename var_decl to constant_assumption
Motivation: it matches the notation used to declare it.
|
2014-10-02 17:55:34 -07:00 |
|
Leonardo de Moura
|
ead827d6b7
|
feat(frontends/lean): add ! operator the "dual" of @ , closes #220
|
2014-10-01 17:13:41 -07:00 |
|
Leonardo de Moura
|
2730e5163e
|
feat(frontends/lean): allow 'sorry' implicit argument to access the whole context, and avoid cryptic error message
See new test for explanation.
|
2014-09-30 18:04:04 -07:00 |
|
Leonardo de Moura
|
486839881c
|
feat(*): use environment fingerprint to detect when the cache cannot be used because the configuration changed, closes #75
We are not taking into the account the options object yet.
|
2014-09-29 18:30:00 -07:00 |
|
Leonardo de Moura
|
19dec32844
|
feat(library): add environment fingerprint
|
2014-09-29 18:30:00 -07:00 |
|
Leonardo de Moura
|
530997638a
|
feat(library/definition_cache): store the hashcode of direct dependencies
Actually we store the has code of their types.
|
2014-09-29 18:30:00 -07:00 |
|
Leonardo de Moura
|
a0c37b231f
|
feat(kernel/expr): add hash_bi function that takes binder information into account
|
2014-09-29 16:44:55 -07:00 |
|
Leonardo de Moura
|
0d6d746d98
|
feat(frontends/lean): check modification time of imported files
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-29 15:17:27 -07:00 |
|
Leonardo de Moura
|
9f6a8827e0
|
refactor(*): use name_map
|
2014-09-28 10:23:11 -07:00 |
|
Leonardo de Moura
|
22e47430b5
|
feat(library/unifier): add 'on-demand' choice constraints, they are processed as soon as their type does not contain meta-variables anymore
|
2014-09-27 21:50:39 -07:00 |
|
Leonardo de Moura
|
8e7aac1eb4
|
fix(frontends/lean): add 'eval' command
|
2014-09-26 20:16:03 -07:00 |
|
Leonardo de Moura
|
9928390605
|
fix(library/match): memory leak that only happens with compiling with clang++
|
2014-09-26 10:24:38 -07:00 |
|
Leonardo de Moura
|
cd87539de5
|
fix(library/unifier): bug in the new next_delta_unfold_case_split
|
2014-09-25 09:56:32 -07:00 |
|
Leonardo de Moura
|
0488ee4ee2
|
perf(library/unifier): process delta expansion case split lazily
|
2014-09-24 19:16:12 -07:00 |
|
Leonardo de Moura
|
516c0c73b9
|
refactor(*): remove dependency to thread_local C++11 keyword, the
current compilers have several bugs associated with it
We use the simpler __thread (gcc and clang) and
__declspec(thread) (visual studio).
|
2014-09-24 12:51:04 -07:00 |
|
Leonardo de Moura
|
358074ae3d
|
refactor(kernel/record): remove kernel extension for records, we will
implement it outside of the kernel on top of the inductive datatypes
|
2014-09-24 10:12:28 -07:00 |
|
Leonardo de Moura
|
da481c3274
|
refactor(kernel): explicit initialization/finalization
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-24 10:12:28 -07:00 |
|
Leonardo de Moura
|
4dd7abb14e
|
refactor(library): explicit initialization/finalization
|
2014-09-23 10:45:14 -07:00 |
|
Leonardo de Moura
|
27ff42d2e0
|
refactor(library): remove dead files
|
2014-09-23 10:28:20 -07:00 |
|
Leonardo de Moura
|
83b22823a6
|
refactor(library/tactic): explicit initialization/finalization
|
2014-09-23 10:06:15 -07:00 |
|
Leonardo de Moura
|
531046626a
|
refactor(*): explicit initialization/finalization for environment extensions
|
2014-09-22 17:30:29 -07:00 |
|
Leonardo de Moura
|
b6781711b1
|
refactor(*): explicit initialization/finalization for serialization
modules, expression annotations, and tactics
|
2014-09-22 15:26:41 -07:00 |
|
Leonardo de Moura
|
b1ee888aae
|
refactor(*): start move to explicit initialization/finalization,
explicitly initialize/finalize options
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-22 10:41:07 -07:00 |
|
Leonardo de Moura
|
fd5daa8fda
|
feat(frontends/lean): use coercions to function-class and sort-class in
function arguments, closes #203
|
2014-09-20 09:00:10 -07:00 |
|
Leonardo de Moura
|
08ccd58eb6
|
feat(frontends/lean): add 'reducible' modifier for controlling which
definitions are unfolded during elaboration
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-19 15:54:32 -07:00 |
|
Leonardo de Moura
|
baf4c01de8
|
feat(frontends/lean): definitions are opaque by default
|
2014-09-19 15:54:32 -07:00 |
|
Leonardo de Moura
|
93c2c30310
|
feat(frontends/lean): allow transient coercions, i.e., coercions that
are not saved in .olean files
|
2014-09-19 15:54:32 -07:00 |
|
Leonardo de Moura
|
cbafa0dbf9
|
feat(library/scoped_ext): allow extensions to mark whether an entry is
persistent or not
|
2014-09-19 15:54:32 -07:00 |
|
Leonardo de Moura
|
49d5af473d
|
refactor(kernel): remove support for proof irrelevant classes
Motivation: we can use Prop
|
2014-09-19 07:32:07 -07:00 |
|
Leonardo de Moura
|
87592cdb43
|
refactor(library): remove dead code
|
2014-09-18 22:45:53 -07:00 |
|
Leonardo de Moura
|
dd31ed60b0
|
refactor(library): remove unnecessary file hott_kernel, HoTT and
standard library have been merged
|
2014-09-18 20:30:37 -07:00 |
|
Leonardo de Moura
|
243f80231a
|
chore(kernel): fix style and lua bindings
|
2014-09-17 18:30:28 -07:00 |
|