Jeremy Avigad
1980baf784
feat(library/algebra/group_bigops): add Prod_semigroup, for cases without a unit
2016-01-24 16:26:57 -08:00
Daniel Selsam
568b3bbeeb
feat(library/blast/forward/ematch): trace match-ss
2016-01-24 16:24:24 -08:00
Daniel Selsam
98fb43e991
fix(library/blast/forward/ematch): advance iterator before continuing
2016-01-24 16:23:44 -08:00
Daniel Selsam
753d5d0689
fix(library/blast/grind/intro_elim_lemmas): need to copy expr
2016-01-24 16:23:27 -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
dc5ca99afa
fix(library/data/real/basic): unnecessary level of indirection
...
At real.comm_ring, `add` is `@add real real_has_add`.
This is bad for any tactic (e.g., blast) that only unfolds reducible definitions.
`add` is not reducible. So, the tactic will not be able to establish
that `@add real real_has_add` is definitionally equal to `real.add`.
2016-01-24 13:37:15 -08:00
Daniel Selsam
b2554dcb8f
fix(library/blast/congruence_closure): cannot assume all subterms have been internalized
2016-01-16 20:10:21 -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
Gabriel Ebner
7e11c5cf6e
fix(src/util/file_lock): ignore failure to create locks on read-only file systems
...
EACCES is already ignored when creating lock files. In this case we
assume that the file to be locked is part of the system-wide
installation. On NixOS however, the file system containing system
packages is mounted read-only, and open(2) returns EROFS.
2016-01-16 11:00:44 -08:00
Jeremy Avigad
86fc326e08
refactor/feat(library/theories/analysis/*): reorganize analysis library and add some theorems
2016-01-16 10:53:56 -08:00
Leonardo de Moura
98319139d9
fix(library/blast/forward/ematch): bug in match_leaf
2016-01-16 10:51:00 -08:00
Daniel Selsam
a883101a3b
feat(library/blast/forward/ematch): basic support for heq classes
2016-01-15 21:38:16 -08:00
Syohei YOSHIDA
f2eef7aa1b
feat(emacs): use s-join instead of string-join
...
Because string-join was introduced at Emacs 24.4 and subr-x.el must be
loaded for using it.
2016-01-14 09:36:52 -05:00
Syohei YOSHIDA
885c62648f
fix(emacs/lean-option.el): don't use deprecated function, string-to-int
...
string-to-int was deprecated since Emacs 22.
string-to-number should be used instead of string-to-int.
2016-01-14 09:36:37 -05: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
abbffc7436
feat(library/blast/forward/ematch): more tracing
2016-01-13 22:04:12 -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
8d49e42ec2
fix(library/blast/congruence_closure): user-defined congruence lemmas for equality and relation congruences
2016-01-13 21:59:38 -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
d9294fc164
chore(kernel/expr): remove dead var
2016-01-13 17:36:33 -08:00
Leonardo de Moura
f0cc98ebb5
chore(library/blast/recursor/recursor_action): disable spurious warning
2016-01-13 17:28:13 -08:00
Leonardo de Moura
1048812e2e
chore(frontends/lean/notation_cmd): cleanup weird coding pattern
2016-01-13 17:27:25 -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
b1d32bbaf6
chore(library/blast/forward/ematch): more tracing
2016-01-13 16:28:09 -08:00
Daniel Selsam
ba16d188e6
feat(library/blast/forward/ematch): basic debug tracing
2016-01-13 15:15:15 -08:00
Daniel Selsam
58d41e486c
feat(library/trace): register debug trace class
2016-01-13 15:15:15 -08:00
Leonardo de Moura
599ec08c70
feat(library/blast/congruence_closure): add support for eq.rec and cast in the congruence closure module
2016-01-13 14:18:38 -08:00
Leonardo de Moura
b975717875
feat(init/logic): add cast_heq
2016-01-13 14:18:01 -08:00
Leonardo de Moura
c19be9d9e7
feat(library/util): add is_app_of helper function
2016-01-13 13:33:30 -08:00
Leonardo de Moura
723a9e227a
chore(kernel/default_converter): remove dead code
2016-01-13 13:33:13 -08:00
Leonardo de Moura
8fded5224b
chore(library/blast/congruence_closure): improve comment
2016-01-13 13:06:09 -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
Syohei YOSHIDA
f7494618ff
fit(emacs/lean-input.el): fix loading cl.el at runtime
...
This package uses only cl.el macro(lexical-let). So it is enough to
load cl.el at compile time.
2016-01-13 11:19:53 -05:00
Syohei YOSHIDA
5903fe4287
feat(emacs): use cl-lib functions/macros instead of cl.el
2016-01-13 11:19:40 -05: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
Leonardo de Moura
c2b6e3c29c
fix(library/blast/recursor/recursor_strategy): deactivate hypotheses before invoking nested strategy
2016-01-12 18:41:14 -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
Leonardo de Moura
bb759b1a90
feat(library/blast/congruence_closure): use blast.cc.heq by default
2016-01-11 11:59:54 -08:00
Leonardo de Moura
5edcccaeb0
feat(library/blast/forward/ematch): add support for the new hcongr lemmas in the ematching module
2016-01-11 11:56:36 -08:00