Commit graph

1885 commits

Author SHA1 Message Date
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
Daniel Selsam
c23528b5d8 feat(library/blast/blast): use defeq_simplifier to normalize 2016-03-01 13:44:33 -08: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
5a4dd3f237 feat(library/reducible): remove [quasireducible] annotation 2016-02-25 17:42:44 -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
2a294bcc17 fix(frontends/lean/elaborator): fixes #996 2016-02-22 17:03:14 -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
Jeremy Avigad
0f81c2e65b fix(tests/lean/noncomp_theory,simlifier_light): fix tests 2016-02-22 11:25:23 -08:00
Floris van Doorn
b2181497fd fix(tests): fix delta_issue2 2016-02-22 11:15:38 -08:00
Floris van Doorn
4e2cc66061 style(*): rename is_hprop/is_hset to is_prop/is_set 2016-02-22 11:15:38 -08:00
Daniel Selsam
d521063dfb feat(library/defeq_simplifier): new simplifier that uses only definitional equalities 2016-02-22 11:01:36 -08:00
Leonardo de Moura
20f70035dd fix(frontends/lean/util): fixes #1007 2016-02-22 10:54:55 -08:00
Daniel Selsam
bb4b8da582 feat(library/unification_hint): basic handling of user-supplied unification hints 2016-02-12 11:48:51 -08:00
Leonardo de Moura
c9e9fee76a refactor(*): remove name_generator and use simpler mk_fresh_name 2016-02-11 18:05:57 -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
774fa01b1a chore(library/pp_options): reduce pp default limits 2016-02-04 14:55:21 -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
Leonardo de Moura
1d04160a9b fix(library/blast/congruence_closure): bug at eq_congr_key_cmp::operator()(eq_congr_key const & k1, eq_congr_key const & k2)
It was not implementing the condition described in our paper.
2016-01-16 19:33:24 -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