Leonardo de Moura
|
b4f1029318
|
refactor(library/reducible): define opaque_type_checker using default_converter
|
2015-02-07 17:05:29 -08:00 |
|
Leonardo de Moura
|
e04250f0d8
|
refactor(library/tactic/rewrite_tactic): use default_converter
|
2015-02-07 16:44:51 -08:00 |
|
Leonardo de Moura
|
c04c0e8381
|
refactor(*): remove transparent_scope hack, replace [strict] with [all-transparent] annotation
|
2015-02-07 15:19:41 -08:00 |
|
Leonardo de Moura
|
7945b8adab
|
refactor(kernel/type_checker): remove useless procedures
|
2015-02-07 14:55:36 -08:00 |
|
Leonardo de Moura
|
12d320fa19
|
refactor(kernel/default_converter): avoid carrying type_checker and delayed_justification around in the default_converter
|
2015-02-07 14:10:56 -08:00 |
|
Leonardo de Moura
|
71b9215a70
|
refactor(kernel/default_converter): cleanup
|
2015-02-07 13:49:42 -08:00 |
|
Leonardo de Moura
|
3f06f7b6fd
|
refactor(kernel): move default_converter to its own module
|
2015-02-07 11:33:37 -08:00 |
|
Leonardo de Moura
|
c2a296b1de
|
feat(library/tactic/apply_tactic): add flag for disabling class instance resolution in the apply tactic
|
2015-02-06 17:27:24 -08:00 |
|
Leonardo de Moura
|
1557a579ed
|
feat(library/tactic/proof_state): add report_failure flag to proof state
tactic can use the flag to produce nice error messages
|
2015-02-06 16:29:04 -08:00 |
|
Leonardo de Moura
|
2126b8ec9a
|
feat(library/tactic/apply_tactic): perform class-instance resolution in the apply tactic
closes #360
|
2015-02-06 16:14:03 -08:00 |
|
Leonardo de Moura
|
18808d133e
|
refactor(library/tactic/goal): move goal => local_context conversion to goal class
|
2015-02-06 16:09:59 -08:00 |
|
Leonardo de Moura
|
f10424d729
|
fix(library/tactic/rewrite_tactic): memory leak
|
2015-02-06 15:24:09 -08:00 |
|
Leonardo de Moura
|
1e8a975daa
|
feat(frontends/lean): extend parser: rewrite "fold" step
|
2015-02-06 15:22:34 -08:00 |
|
Leonardo de Moura
|
aa70334f8d
|
feat(library/tactic/rewrite_tactic): add "fold" step
|
2015-02-06 15:21:49 -08:00 |
|
Leonardo de Moura
|
47bd5e53e2
|
fix(library/tactic/rewrite_tactic): memory leak
|
2015-02-06 14:24:10 -08:00 |
|
Leonardo de Moura
|
5b25da8c43
|
feat(frontends/lean): add esimp tactic based on rewrite tactic
closes #358
|
2015-02-06 14:13:32 -08:00 |
|
Leonardo de Moura
|
7aac9f1fdb
|
feat(library/tactic/rewrite_tactic): use expensive convertability checker at reduce_to steps and trivial goal
|
2015-02-06 13:53:03 -08:00 |
|
Leonardo de Moura
|
5b2a9dacc2
|
fix(library/tactic/rewrite_tactic): matcher should unfold only reducible constants
|
2015-02-06 13:44:04 -08:00 |
|
Leonardo de Moura
|
b4139627e5
|
feat(library/tactic/rewrite_tactic): add option to prevent any kind of constant unfolding when perfoming pattern matching in the rewrite tactic
|
2015-02-06 13:27:33 -08:00 |
|
Leonardo de Moura
|
62daf73dd0
|
chore(library/normalize): fix style
|
2015-02-06 13:27:10 -08:00 |
|
Leonardo de Moura
|
ba9557bb94
|
fix(library/tactic/rewrite_tactic): incorrect assertion
|
2015-02-06 13:02:50 -08:00 |
|
Leonardo de Moura
|
979d6494e9
|
feat(emacs/lean-syntax): add syntax-highlight for unfold-c hint attribute
|
2015-02-06 12:57:11 -08:00 |
|
Leonardo de Moura
|
bc95f09828
|
feat(frontends/lean/decl_cmds): allow user to specify unfold-c hint
|
2015-02-06 12:56:52 -08:00 |
|
Leonardo de Moura
|
ba641d7c58
|
feat(library/normalize): validate unfold-c hints
|
2015-02-06 12:42:53 -08:00 |
|
Leonardo de Moura
|
7205382f8c
|
feat(library/definitional/projection): add "unfold-c" hint to projections
|
2015-02-06 12:39:57 -08:00 |
|
Leonardo de Moura
|
1bd1f94542
|
feat(library/normalize): add "unfold-c" hint to normalizer
This hint will also be used in the simplifier
|
2015-02-06 12:39:49 -08:00 |
|
Leonardo de Moura
|
39446a7215
|
refactor(library/projection): move is_constructor_app to util
|
2015-02-06 12:12:25 -08:00 |
|
Leonardo de Moura
|
1043cc8b48
|
feat(library/normalize): add templates for serializing optional types
|
2015-02-06 11:59:30 -08:00 |
|
Leonardo de Moura
|
2e626b29fb
|
feat(library/tactic/rewrite_tactic): allow many constants to be provided in a single rewrite unfold step
|
2015-02-06 11:03:36 -08:00 |
|
Leonardo de Moura
|
56a46ae61e
|
feat(frontends/lean/parse_tactic_location): make rewrite notation more uniform
|
2015-02-06 10:31:50 -08:00 |
|
Leonardo de Moura
|
264cedb3a6
|
fix(frontends/lean/rewrite_tactic): incorrect assertion
|
2015-02-05 20:02:49 -08:00 |
|
Leonardo de Moura
|
e17ba27596
|
fix(library/tactic/rewrite_tactic): adjust the behavior of class resolution in rewriter
The solution is not very satisfactory. I should investigate it more.
|
2015-02-05 19:08:47 -08:00 |
|
Leonardo de Moura
|
ffe0d1186e
|
feat(library/tactic/rewrite_tactic): add "reduce_to" step at rewrite tactic
|
2015-02-05 13:59:55 -08:00 |
|
Leonardo de Moura
|
116c65bff5
|
feat(library/tactic/rewrite_tactic): add reduction step to rewrite tactic
|
2015-02-05 13:42:50 -08:00 |
|
Leonardo de Moura
|
38ab4e7b3a
|
feat(frontends/lean/parse_rewrite_tactic): extend rewrite tactic parser
Add support for reduction steps.
|
2015-02-05 13:24:37 -08:00 |
|
Leonardo de Moura
|
7cdc88701d
|
feat(library/tactic/rewrite_tactic): add "reduction" step to rewrite tactic
|
2015-02-05 13:16:05 -08:00 |
|
Leonardo de Moura
|
808521223b
|
feat(library/tactic/rewrite_tactic): support constant unfolding in rewrite tactic
|
2015-02-05 12:58:30 -08:00 |
|
Leonardo de Moura
|
5443609845
|
fix(frontends/lean/parse_rewrite_tactic): take namespaces into account when parsing constant to unfold
|
2015-02-05 12:41:11 -08:00 |
|
Leonardo de Moura
|
d6958be7e7
|
fix(library/tactic/location): replace cache must not be used when only a subset of all occurrences should be replaced at replace_occurrences
|
2015-02-05 10:50:40 -08:00 |
|
Leonardo de Moura
|
bc8bb1dbd3
|
feat(kernel/replace_fn): add use_cache flag to replace function
|
2015-02-05 10:49:18 -08:00 |
|
Leonardo de Moura
|
b6dd1269b9
|
feat(frontends/lean/builtin_exprs): make 'obtain' arguments visible by default
|
2015-02-05 10:38:45 -08:00 |
|
Leonardo de Moura
|
dfad24e3f5
|
feat(frontends/lean): polish rewrite tactic notation
|
2015-02-05 10:15:58 -08:00 |
|
Leonardo de Moura
|
941b493835
|
chore(library/tactic/rewrite_tactic): modify param name
|
2015-02-05 10:04:03 -08:00 |
|
Leonardo de Moura
|
0abfa30ead
|
fix(library/tactic/rewrite_tactic): elaboration bug in the rewrite tactic steps/elements
|
2015-02-05 10:01:18 -08:00 |
|
Leonardo de Moura
|
15efadfbdc
|
feat(frontends/lean/parse_rewrite_tactic): cleanup rewrite tactic notation
Make a rewrite command sequence explicit.
|
2015-02-04 20:16:24 -08:00 |
|
Leonardo de Moura
|
14c72e82f6
|
feat(library/tactic/rewrite_tactic): add support for rewriting hypotheses
|
2015-02-04 20:04:19 -08:00 |
|
Leonardo de Moura
|
08dcc9e2fc
|
feat(frontends/lean/parse_rewrite_tactic): polish rewrite tactic notation
|
2015-02-04 19:19:19 -08:00 |
|
Leonardo de Moura
|
55fb678db2
|
fix(library/tactic/location): clang++ 3.3 compilation problem
|
2015-02-04 18:48:23 -08:00 |
|
Leonardo de Moura
|
42c2f7eb11
|
fix(library/tactic/rewrite_tactic): memory leak
|
2015-02-04 18:40:11 -08:00 |
|
Leonardo de Moura
|
89fde9d829
|
feat(library/tactic/rewrite_tactic): add maximum number of iterations threshold to rewrite tactic
The idea is to avoid nontermination.
|
2015-02-04 16:13:15 -08:00 |
|
Soonho Kong
|
ca16381892
|
feat(bin): add linja.in and LEAN_BIN_DEP cmake option
see the discussion in issue #422
|
2015-02-04 15:46:08 -08:00 |
|
Leonardo de Moura
|
dc297865d4
|
chore(library/tactic/rewrite_tactic): fix compilation warnings
|
2015-02-04 15:34:02 -08:00 |
|
Leonardo de Moura
|
ee079d12f4
|
feat(library/tactic/rewrite_tactic): remove trivial goal in rewrite_tactic
|
2015-02-04 15:29:52 -08:00 |
|
Leonardo de Moura
|
f0fac1ae0e
|
feat(library/constants): add eq.intro
|
2015-02-04 15:27:18 -08:00 |
|
Leonardo de Moura
|
e5381679d6
|
feat(library/tactic/rewrite_tactic): rewrite goal
|
2015-02-04 15:17:58 -08:00 |
|
Leonardo de Moura
|
599de0271b
|
feat(frontends/lean/parse_tactic_location): validate occurrence index
|
2015-02-04 14:04:56 -08:00 |
|
Leonardo de Moura
|
09818adf90
|
feat(library/tactic/rewrite_tactic): elaborate rewrite rule using unifier
|
2015-02-04 13:51:32 -08:00 |
|
Leonardo de Moura
|
49323ab598
|
feat(library/util): add mk_symm
|
2015-02-04 13:44:55 -08:00 |
|
Leonardo de Moura
|
ccae014ef9
|
feat(library/tactic/rewrite_tactic): ignore inst_implicit arguments when matching applications of declarations which contain them
|
2015-02-04 12:14:47 -08:00 |
|
Leonardo de Moura
|
0e05c239a5
|
feat(library/tactic/rewrite_tactic): add custom matcher pluging for rewriter
|
2015-02-04 11:51:39 -08:00 |
|
Leonardo de Moura
|
8912c759dd
|
fix(frontends/lean/parse_rewrite_tactic): corner case "rewrite ?(t)"
The token '?(' is used to represent inaccessible terms in recursive
equations. In the rewriter tactic, we want "rewrite ?(t)" to be parsed
as "? (t)".
|
2015-02-04 11:51:39 -08:00 |
|
Leonardo de Moura
|
991d29b7f6
|
fix(frontends/lean/parse_rewrite_tactic): bugs in rewrite tactic parser
|
2015-02-04 11:51:39 -08:00 |
|
Leonardo de Moura
|
d6a7ec4621
|
chore(library/tactic/rewrite_tactic): fix style
|
2015-02-04 11:51:39 -08:00 |
|
Leonardo de Moura
|
b4dd2cc729
|
refactor(library/tactic/rewrite_tactic): more general rewrite step
The rule can be an arbitrary expression.
Allow user to provide a pattern that restricts the application of the rule.
|
2015-02-04 11:51:39 -08:00 |
|
Leonardo de Moura
|
461fd45efc
|
feat(frontends/lean): allow a different location for each rewrite element
|
2015-02-04 11:51:39 -08:00 |
|
Leonardo de Moura
|
c845e44777
|
feat(frontends/lean): parse rewrite tactic
|
2015-02-04 11:51:39 -08:00 |
|
Leonardo de Moura
|
180cda304e
|
feat(library/tactic): add rewrite tactic skeleton
The tactic has not been implemented yet, but this commit adds all the
support for storing arguments, serializing and deserializing them.
|
2015-02-04 11:51:39 -08:00 |
|
Leonardo de Moura
|
87bcec2e5e
|
feat(frontends/lean): parse tactic location (i.e., scope of application)
|
2015-02-04 11:51:39 -08:00 |
|
Leonardo de Moura
|
8a78adc9af
|
feat(library/tactic): add auxiliary object "location"
This object will used to specify the scope of application of tactics
|
2015-02-04 11:51:39 -08:00 |
|
Leonardo de Moura
|
2a6ccb252e
|
test(tests/lean/extra): add regression tests for issue #422
|
2015-02-04 10:55:03 -08:00 |
|
Leonardo de Moura
|
0cea63651d
|
fix(frontends/lean): store line/col information at snapshots, save snapshot before 'end' scope, and before "closing" open namespaces
closes #422
|
2015-02-04 10:40:36 -08:00 |
|
Leonardo de Moura
|
420da8fd3f
|
feat(library/projection): store bit saying whether a projection is for a class or not.
|
2015-02-04 08:54:20 -08:00 |
|
Leonardo de Moura
|
1ee47dc063
|
feat(frontends/lean/server): suppress projections from autocompletion
closes #424
|
2015-02-04 07:18:47 -08:00 |
|
Leonardo de Moura
|
c92f3bec65
|
refactor(library/definitional/projection): move projection "database" to library/projection
|
2015-02-04 07:18:43 -08:00 |
|
Leonardo de Moura
|
0e06f4aedc
|
feat(library/match): extend match_plugin interface
|
2015-02-03 18:10:38 -08:00 |
|
Leonardo de Moura
|
44e575c895
|
feat(library/match): improve match_app_core
|
2015-02-03 17:37:22 -08:00 |
|
Leonardo de Moura
|
790fd9c24b
|
chore(library/match): remove unused procedure
|
2015-02-03 15:20:26 -08:00 |
|
Leonardo de Moura
|
f79f43c702
|
refactor(library/match): use "special" meta-variables instead of free variables to represent placholders in the higher-order matcher
|
2015-02-03 15:15:04 -08:00 |
|
Leonardo de Moura
|
fc6d9878c9
|
refactor(kernel): add expr_cache
It is the old instantiate_metavars_cache.
|
2015-02-03 14:59:55 -08:00 |
|
Jeremy Avigad
|
dc7b432482
|
feat(src/emacs/README.md): tell user that packages will be installed automatically. Closes #423.
|
2015-02-03 13:50:59 -08:00 |
|
Jeremy Avigad
|
875869fdbc
|
fix(src/emacs/README.md): make minor grammatical corrections
|
2015-02-03 13:50:59 -08:00 |
|
Leonardo de Moura
|
45e62031e2
|
fix(library/match): bug in matcher
|
2015-02-03 13:46:19 -08:00 |
|
Leonardo de Moura
|
9d1e312c12
|
test(tests/lean/extra): add extra tests for 'print' command
|
2015-02-01 20:20:26 -08:00 |
|
Leonardo de Moura
|
7d9d89bae6
|
test(tests/lean/extra): add test for saving recursive equation pre-terms
|
2015-02-01 19:49:14 -08:00 |
|
Leonardo de Moura
|
15716c1471
|
feat(frontends/lean/calc_proof_elaborator): reject proofs with metavariables in the calc-assistant
|
2015-02-01 11:11:27 -08:00 |
|
Leonardo de Moura
|
4c7a17cc4a
|
refactor(library/tactic/class_instance_synth): move has_expr_metavar_relaxed to util
|
2015-02-01 10:59:27 -08:00 |
|
Leonardo de Moura
|
c311e0aba6
|
chore(library/tactic/inversion_tactic): cleanup
|
2015-02-01 10:47:32 -08:00 |
|
Leonardo de Moura
|
143143e94c
|
fix(library/tactic/inversion_tactic): missing normalization step in the inversion_tactic
|
2015-02-01 10:38:30 -08:00 |
|
Leonardo de Moura
|
d52af105d7
|
feat(frontends/lean/decl_cmds): allow many constants to be set in the same attribute command
|
2015-01-31 23:55:14 -08:00 |
|
Leonardo de Moura
|
855050e623
|
feat(frontends/lean/calc_proof_elaborator): try conservative alternatives first
|
2015-01-31 21:29:34 -08:00 |
|
Leonardo de Moura
|
27741e4fd7
|
chore(CMakeLists.txt): move Lean logo to make sure we can test leanemacs without installing Lean
|
2015-01-31 17:38:49 -08:00 |
|
Leonardo de Moura
|
099111db32
|
fix(CMakeLists.txt): option ==> set
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2015-01-30 14:49:20 -08:00 |
|
Leonardo de Moura
|
fbb543fdcf
|
feat(CMakeLists.txt): add alternative image formats
|
2015-01-30 14:26:46 -08:00 |
|
Leonardo de Moura
|
6456c2b89a
|
feat(CMakeLists.txt): add leanemacs.bat for Windows
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2015-01-30 14:16:57 -08:00 |
|
Soonho Kong
|
7bed63a03e
|
doc(emacs/README.md): fix typos
[skip ci]
|
2015-01-30 16:10:21 -05:00 |
|
Leonardo de Moura
|
c8cb9aa3d2
|
fix(emacs/load-lean): typo
|
2015-01-30 13:05:30 -08:00 |
|
Leonardo de Moura
|
2c926478dd
|
feat(bin): add leanemacs startup script
|
2015-01-30 13:05:30 -08:00 |
|
Leonardo de Moura
|
9910547913
|
feat(emacs): add script for loading lean mode and its dependencies
|
2015-01-30 13:05:30 -08:00 |
|
Leonardo de Moura
|
a57251913a
|
feat(emacs): assume lua-mode and mmm-mode are available
|
2015-01-30 13:05:30 -08:00 |
|
Leonardo de Moura
|
d0ce4cf62f
|
fix(CMakeLists.txt): path to ninja
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2015-01-30 10:37:49 -08:00 |
|