Leonardo de Moura
414bdc1abb
refactor(library): move 'meta' to 'init' folder
...
Motivation: tactic framework should be always available.
2016-06-06 19:08:07 -07:00
Leonardo de Moura
9c4017e59e
feat(library/meta/base_tactic): add base_tactic
2016-06-06 15:26:14 -07:00
Leonardo de Moura
fb6c9f2879
feat(library/vm/vm_expr): add more functions to 'expr' API
2016-06-06 11:26:19 -07:00
Leonardo de Moura
a55a936db2
feat(library/vm): expose C++ 'expr' object
2016-06-05 21:13:00 -07:00
Leonardo de Moura
792040b1a5
feat(library/init/bool): mark bor, band and cond as inline
...
The idea is to get short-circuit evaluation for Boolean operators.
2016-06-05 13:03:33 -07:00
Leonardo de Moura
1f8c58415e
feat(library/vm): expose C++ 'level' object
2016-06-05 12:55:57 -07:00
Leonardo de Moura
dac2c39646
feat(library/meta/rb_map): add has_to_string and has_to_format type class instances for rb_map
2016-06-03 17:34:49 -07:00
Leonardo de Moura
1834cab3f2
feat(library/meta): add has_cmp type class
2016-06-03 14:06:46 -07:00
Leonardo de Moura
9a14f7543c
feat(library/vm): expose rb_map object
2016-06-03 13:45:06 -07:00
Sebastian Ullrich
9561b45af1
fix(frontends/lean): uniform handling of declaration compound names
...
* allow compound names in `namespace` and `structure`
* adjust error messages
Conflicts:
src/frontends/lean/builtin_tactics.cpp
2016-06-02 18:13:50 -07:00
Leonardo de Moura
3b57246a62
feat(library/meta/format): add 'pp' helper function
2016-06-02 17:57:29 -07:00
Leonardo de Moura
06cb26176c
feat(library/vm): expose C++ options object
2016-06-02 11:46:17 -07:00
Leonardo de Moura
5382a5a556
feat(frontends/lean): allow unbounded recursion in meta_definitions
2016-06-01 09:55:07 -07:00
Leonardo de Moura
e7b47a504e
feat(frontends/lean): add meta_definition and meta_constant commands
2016-06-01 09:12:41 -07:00
Leonardo de Moura
d763ea1abf
chore(tests/lean/run/IO3): remove unnecessary 'open'
2016-05-25 16:05:39 -07:00
Leonardo de Moura
4b002e5bf0
test(tests/lean/run): add IO test
2016-05-25 16:04:54 -07:00
Leonardo de Moura
0239860ad6
test(tests/lean/run): add another IO test
2016-05-25 15:47:02 -07:00
Leonardo de Moura
2a16b58324
test(tests/lean/run): add another IO test
2016-05-25 14:23:57 -07:00
Leonardo de Moura
e82cb6393f
test(tests/lean/run): add IO test
2016-05-25 13:46:05 -07:00
Leonardo de Moura
bf2d2b9feb
fix(library/vm,library/compiler,frontends/lean): IO monad support
2016-05-25 13:30:43 -07:00
Leonardo de Moura
4c8360efd8
test(tests/lean/run/vm_eval1): test for efficient interpreter
2016-05-24 12:26:25 -07:00
Leonardo de Moura
18b2b51c8b
test(tests/lean/run): make sure well_founded.fix works before optimizing its compilation
2016-05-23 16:50:44 -07:00
Leonardo de Moura
f573ebd0a4
refactor(library): make sure prod.pr1 is a projection
2016-03-25 16:28:29 -07:00
Leonardo de Moura
384e8bf7bf
refactor(library): remove unifier_plugin
2016-03-21 17:57:53 -07:00
Leonardo de Moura
9d0dfb8404
refactor(frontends/lean): remove calc_proof_elaborator
2016-03-03 17:22:45 -08:00
Leonardo de Moura
227b548341
refactor(frontends/lean/calc): no overloading in calc steps
2016-03-03 15:00:51 -08:00
Leonardo de Moura
2c70ca83a8
refactor(frontends/lean/calc): remove '{}' notation for eq.subst in calc mode
2016-03-03 14:18:20 -08:00
Leonardo de Moura
d7de521126
refactor(library/class): remove attribute [multiple_instances] and old type class resolution procedure
2016-03-03 13:58:22 -08:00
Leonardo de Moura
4a43e33d45
chore(*): disable big chunk of the standard library and tests
2016-03-03 13:43:08 -08:00
Leonardo de Moura
d84a20d68b
remove(frontends/lean/server): FINDG command
2016-03-03 10:12:24 -08:00
Jeremy Avigad
4050892889
refactor(library/*): rename 'compose' to 'comp'
2016-03-02 22:48:05 -05:00
Leonardo de Moura
fbe5188480
refactor(frontends/lean): remove 'by+' and 'begin+' tokens
2016-02-29 13:45:43 -08:00
Leonardo de Moura
b41c65f549
feat(frontends/lean): remove '[visible]' annotation, remove 'is_visible' tracking
2016-02-29 12:31:23 -08:00
Leonardo de Moura
101cf1ec4c
feat(frontends/lean): remove difference between 'have' and 'assert'
2016-02-29 11:28:20 -08:00
Leonardo de Moura
7d61f640f6
refactor(*): add abstract_type_context class
2016-02-26 14:17:34 -08:00
Leonardo de Moura
1924b2884c
refactor(library/tactic): remove 'append' and 'interleave' tacticals
...
Preparation for major refactoring in the tactic framework.
2016-02-24 16:02:16 -08:00
Leonardo de Moura
96f391dda2
feat(library/definitional/projection,frontends/lean/structure_cmd): creating inductive predicates using structure command
2016-02-22 16:09:44 -08:00
Leonardo de Moura
49661a043d
feat(library/definitional/equations): improve detection of infeasible cases in the definitional package
2016-02-22 14:16:24 -08:00
Leonardo de Moura
20f70035dd
fix(frontends/lean/util): fixes #1007
2016-02-22 10:54:55 -08:00
Leonardo de Moura
f67181baf3
chore(*): remove support for Lua
2016-02-11 17:17:55 -08:00
Daniel Selsam
f06cdff2a1
fix(library/blast/simplifier/ceqv): fix error in is_permutation
2016-02-07 14:06:28 -08:00
Leonardo de Moura
30d6853ffd
refactor(hott,tests): make sure HoTT library and tests still work if we introduce checkpoints in have-expressions
2016-02-04 16:58:32 -08:00
Leonardo de Moura
a08bc408c8
fix(frontends/lean/structure_cmd): fixes #967
2016-02-04 16:15:18 -08:00
Leonardo de Moura
31cc0ebb6a
fix(frontends/lean/structure_cmd): fixes #968
2016-02-04 15:45:38 -08:00
Leonardo de Moura
496c84dac6
fix(frontends/lean/elaborator): fixes #982
2016-02-04 15:14:30 -08:00
Leonardo de Moura
0268f92eb4
fix(frontends/lean/elaborator): fixes #965
2016-02-04 13:41:21 -08:00
Leonardo de Moura
42fbc63bb6
fix(library/tc_multigraph): avoid name collisions
...
@avigad, @fpvandoorn, @rlewis1988, @dselsam
I changed how transitive instances are named.
The motivation is to avoid a naming collision problem found by Daniel.
Before this commit, we were getting an error on the following file
tests/lean/run/collision_bug.lean.
Now, transitive instances contain the prefix "_trans_".
It makes it clear this is an internal definition and it should not be used
by users.
This change also demonstrates (again) how the `rewrite` tactic is
fragile. The problem is that the matching procedure used by it has
very little support for solving matching constraints that involving type
class instances. Eventually, we will need to reimplement `rewrite`
using the new unification procedure used in blast.
In the meantime, the workaround is to use `krewrite` (as usual).
2016-02-04 13:15:42 -08:00
Leonardo de Moura
587c263c28
feat(library/blast/forward/ematch): improve support for casts in the e-matcher
2016-01-29 11:38:43 -08:00
Leonardo de Moura
684995640a
fix(library/blast/unit/unit_propagate): memory access violation
2016-01-27 15:22:34 -08:00
Leonardo de Moura
fb95b71a5e
fix(library/blast/forward/pattern): bug in the pattern inference code
2016-01-27 13:39:19 -08:00