Leonardo de Moura
4d4a0c7c53
chore(tests/lean/run/num_norm1): remove test for broken tactic
2016-12-30 13:59:58 -08:00
Leonardo de Moura
a5fb28ca78
chore(frontends/lean,tests): fix tests and style
2016-07-09 10:29:34 -07:00
Sebastian Ullrich
e9a6a532ab
fixup! also allow shadowing non-constructor definitions
2016-07-09 10:19:23 -07:00
Sebastian Ullrich
d7789fa58a
feat(frontends/lean): support variables shadowing in patterns
2016-07-09 10:19:23 -07:00
Sebastian Ullrich
54844e2325
feat(frontends/lean): add parent classes to local context in struct definitions
...
Fixes #1066
2016-07-05 19:39:57 -07:00
Sebastian Ullrich
c73b2860d5
fix(frontends/lean): uniform handling of declaration compound names
...
* allow compound names in `namespace` and `structure`
* adjust error messages
2016-06-02 18:07:03 -07: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
Leonardo de Moura
810ee9759c
fix(library/blast/backward/backward_action): add missing normalize at backward_action, and remove incorrect fix at discrimination tree
2016-01-26 20:35:57 -08:00
Leonardo de Moura
4821af8685
feat(frontends/lean/scanner): disallow superscripts in identifiers
...
See new test for motivating example.
2016-01-26 18:46:40 -08:00
Leonardo de Moura
6f6672eaaa
fix(library/blast/discr_tree): ignore annotations in discrimination trees
2016-01-26 18:46:40 -08:00
Leonardo de Moura
d12067193b
fix(library/blast/forward/pattern): residue computation in the ematching module
2016-01-24 16:15:33 -08:00
Leonardo de Moura
38ab1cae9e
feat(library/blast/unit/unit_propagate): basic support for "dependent lemmas" at unit propagate
...
New test contains examples of "dependent lemmas"
2016-01-24 16:02:08 -08:00
Leonardo de Moura
297ef10611
fix(library/blast/congruence_closure): subsingleton propagation in the congruence closure module
...
We must normalize inferred type.
2016-01-24 14:55:28 -08:00
Leonardo de Moura
3d0ea4c9d1
feat(library/type_context): improve find_unsynth_metavar
2016-01-24 13:39:25 -08:00
Leonardo de Moura
19bfbe2df8
fix(library/blast/congruence_closure): uselist initialization (aka add_occurrence)
...
Make sure it matches the description in the paper.
2016-01-16 19:53:36 -08:00
Daniel Selsam
a883101a3b
feat(library/blast/forward/ematch): basic support for heq classes
2016-01-15 21:38:16 -08:00
Leonardo de Moura
60861d7dea
chore(tests/lean/run/blast_cc_heq9): make sure that only congruence closure module is used
2016-01-13 22:13:04 -08:00
Leonardo de Moura
37fdac4d65
test(tests/lean/run/blast_cc_heq9): add new test
2016-01-13 22:10:15 -08:00
Daniel Selsam
7a005fb76b
test(tests/lean/run/blast_vector_test): more tests
2016-01-13 22:03:47 -08:00
Leonardo de Moura
3f7122ce07
feat(library/blast/congruence_closure): more general congruence lemmas
2016-01-13 21:44:32 -08:00
Leonardo de Moura
912c5254de
fix(tests/lean/run/cases_bug): adjust test to changes in the std lib
2016-01-13 16:37:33 -08:00
Leonardo de Moura
05c3ede683
feat(tests/lean/run/blast_vector_test): test ematch + cc at vectors
2016-01-13 16:35:21 -08:00
Leonardo de Moura
3643e79cb3
feat(library/blast/congruence_closure): improve the suppoer for subsingletons in the ematching procedure
2016-01-13 11:17:42 -08:00
Leonardo de Moura
8f7b533ca1
refactor(library): move 'cast' to init folder
2016-01-13 11:17:42 -08:00
Leonardo de Moura
081ad1212b
test(tests/lean/run/blast_ematch_list): blast last_concat
2016-01-12 22:56:28 -08:00
Leonardo de Moura
12876ccc20
fix(library/blast/forward/ematch): ematch + subsingleton
2016-01-12 22:31:09 -08:00
Daniel Selsam
292f28e769
test(tests/lean/run/blast_tuple): more tests for blast + tuple
2016-01-11 17:37:44 -08:00
Leonardo de Moura
d736376a6f
test(tests/lean/run/blast_cc_heq8): new congruence closure procedure can also handle subtypes without using a flattening preprocessing step
2016-01-11 16:50:03 -08:00
Leonardo de Moura
b40f0ffe8b
fix(library/blast/forward/ematch): keep using ematching on implicit arguments
...
Ematching module should only ignore type classes (i.e., instance
implicit) and subsingletons (which includes propositions).
2016-01-11 15:40:51 -08:00
Leonardo de Moura
1c5418ac2e
test(tests/lean/run): add example/test for blast + tuples
2016-01-11 12:17:14 -08:00