Leonardo de Moura
1387cdfa0f
feat(library/type_context): add eta-expansion to type_context
2015-12-15 17:24:53 -08:00
Leonardo de Moura
10273bf176
feat(library/blast/forward/pattern): improve pattern inference heuristic
2015-12-15 12:55:43 -08:00
Leonardo de Moura
c07345d47f
fix(util/file_lock): handle permission denied at lock creation
...
see #925
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2015-12-15 09:48:20 -08:00
Leonardo de Moura
42eda36225
chore(library/algebra/ordered_ring): use 'note'
2015-12-15 09:33:57 -08:00
Rob Lewis
ec5990f4de
fix(library/norm_num): fix incorrect assert
2015-12-14 14:09:54 -05:00
Leonardo de Moura
521657914c
chore(util/file_lock): style
2015-12-14 10:20:33 -08:00
Sebastian Ullrich
2185ee7e95
feat(library/tactic): make let tactic transparent, introduce new opaque note tactic
...
The new let tactic is semantically equivalent to let terms, while `note`
preserves its old opaque behavior.
2015-12-14 10:14:02 -08:00
Leonardo de Moura
31c9a76777
feat(util/file_lock): add support for Windows
...
Remark: the lock are not being erased on Windows.
I tried different solutions based on MoveFileEx and DeleteFile.
None of them worked. The one based on MoveFileEx
MoveFileEx(m_fname.c_str(), NULL, MOVEFILE_DELAY_UNTIL_REBOOT);
seems to delete the file after REBOOT.
But, this is not very useful.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2015-12-14 10:07:26 -08:00
Leonardo de Moura
95fba3dba6
chore(library/constants): sort constant decls
2015-12-13 21:39:45 -08:00
Leonardo de Moura
193a9d8cde
refactor(library/norm_num): avoid manual constant name initialization
...
@rlewis1988 We group all Lean constants used in the C++ code at
src/library/constants.txt
Jeremy and Floris check this file before renaming constants in the
library. So, they can quickly decide whether C++ code will be affected
or not.
We also have a python script for initializing the C++ name objects.
To use the script:
- go to src/library
- execute
python ../../script/gen_constants_cpp.py constants.txt
It will create the boring initialization and finalization code, and
declare a procedure get_<id>_name() for each constant in the file constants.txt.
I also move the norm_num1.lean to the set of unit tests that are
executed whenever we push a commit to the main branch.
I found an assertion violation at line 606. Could you take a look?
Best,
Leo
2015-12-13 21:38:59 -08:00
Leonardo de Moura
e3a35ba4fd
feat(frontends/lean): add 'with_attributes' tactical
...
closes #494
2015-12-13 18:27:44 -08:00
Leonardo de Moura
727a4f5a3a
feat(library/tactic/intros_tactic): use '_' to say that some names are irrelevant in the intro tactic
...
See #695
2015-12-13 16:47:31 -08:00
Leonardo de Moura
d4e49a8434
feat(library/tactic/intros_tactic): intro without argument should introduce a single variable
...
see #695
2015-12-13 16:28:39 -08:00
Leonardo de Moura
894875dc5c
feat(library/tactic/congruence_tactic): closes #855
2015-12-13 15:03:25 -08:00
Leonardo de Moura
999f23cbc0
feat(kernel/expr_eq_fn): take names into account when CompareBinderInfo is true
...
This is the correct fix for the id declaration pretty printing
discrepancy reported by Daniel.
TODO: decide whether we need another eq-mode where names are ignored.
For example, in blast, it makes sense to increase sharing by ignoring
binder names.
2015-12-13 14:47:11 -08:00
Leonardo de Moura
49eae56db4
test(library/theories/group_theory): test auto-include in the group theory library
2015-12-13 13:40:54 -08:00
Leonardo de Moura
ce622e9179
feat(frontends/lean): add auto-include for structures and inductive decls
2015-12-13 13:39:34 -08:00
Leonardo de Moura
20de22a8ad
feat(frontends/lean): automatically include anonymous instance implicit variables/parameters (whenever their parameters have been included)
2015-12-13 13:20:54 -08:00
Leonardo de Moura
b6bac2e542
chore(tests/lean/run): adjust tests
2015-12-13 12:23:44 -08:00
Leonardo de Moura
9a4a12899a
fix(frontends/lean/pp): make sure pp doesn't group [] arguments
2015-12-13 12:23:22 -08:00
Leonardo de Moura
a9b567296c
feat(frontends/lean/parser): add anonymous inst implicit name generator
2015-12-13 11:46:48 -08:00
Leonardo de Moura
ef546c5c5b
refactor(library): use anonymous instance implicit arguments
2015-12-13 11:46:48 -08:00
Leonardo de Moura
d26a83da02
feat(frontends/lean/parser): allow anonymous instance implicit arguments
2015-12-13 11:46:48 -08:00
Leonardo de Moura
edad31a9b1
feat(shell/lean): use locking also for the index file
2015-12-12 21:50:08 -08:00
Leonardo de Moura
4dc3764a02
feat(util,library,shell): basic locking mechanism
...
We still have to test on Windows.
see issue #925
2015-12-12 21:26:13 -08:00
Leonardo de Moura
b7de10a6d2
feat(library/trace): allow user to disable subclasses of a trace class
...
Example:
set_option trace.blast true -- enables trace.blast class and all subclasses
set_option trace.blast.action false -- disables the given subclass
Result: all blast classes are traced but blast.action
2015-12-11 11:03:16 -08:00
Leonardo de Moura
7f1800962a
feat(frontends/lean/pp): allow user to override pp.all setting
...
see #922
2015-12-11 10:40:48 -08:00
Leonardo de Moura
a35fd06a33
test(tests/lean/run/blast_simp4): add simp test
2015-12-11 10:23:58 -08:00
Leonardo de Moura
ac0bd539b0
feat(frontends/lean/notation_cmd): allow 'abstract ... end' to be used in notation declarations
...
helps #825
2015-12-11 09:55:27 -08:00
Leonardo de Moura
eda26a9099
fix(emacs/lean-company): candidate fix for #846
2015-12-11 08:12:43 -08:00
Daniel Selsam
2b1e7e7759
feat(frontends/lean/pp): all disables numerals
2015-12-10 23:31:40 -08:00
Leonardo de Moura
abbb2cfbbd
feat(library/export): take binder labels into account when max-sharing expression during .olean generation
2015-12-10 23:27:44 -08:00
Leonardo de Moura
3057dde885
fix(library/class,library/coercion): fixes #852
2015-12-10 22:52:02 -08:00
Leonardo de Moura
cf61adc5d5
feat(frontends/lean): identifiers starting with '_' are now reserved
2015-12-10 22:32:03 -08:00
Leonardo de Moura
13f9d8dd6c
fix(tests/lean): move hott tests
2015-12-10 10:55:27 -08:00
Leonardo de Moura
7b29ee1666
fix(library/tactic/induction_tactic): fixes #892
2015-12-10 10:52:57 -08:00
Floris van Doorn
4ef58f1ba5
chore(hott): more cleanup.
...
Make zero and one reducible (see algebra/port.md)
Change some theorems which need to compute into definitions
2015-12-10 10:42:16 -08:00
Floris van Doorn
c968f920ba
chore(hott): cleanup
2015-12-10 10:42:16 -08:00
Leonardo de Moura
8094ca1c70
fix(library/blast/backward): crash when pretty printing backward rule set
...
We make sure it doesn't depend on the blast state.
2015-12-10 10:38:53 -08:00
Leonardo de Moura
1abaa9eb71
fix(frontends/lean/parser): fixes #858
2015-12-10 10:31:14 -08:00
Leonardo de Moura
8b3cbb8fdd
fix(library/tactic/induction_tactic): apply substitution to hypothesis type (it may contain metavars)
...
closes #876
2015-12-10 10:11:55 -08:00
Leonardo de Moura
a507ac8594
test(tests/lean/interactive/findp): remove test that breaks whenever we revise init/logic.lean
...
closes #888
2015-12-10 10:11:55 -08:00
Leonardo de Moura
c9ff175cf4
fix(library/tactic/induction_tactic): fixes #893
2015-12-10 10:11:55 -08:00
Leonardo de Moura
1f8de7b50b
feat(library/blast): refine trace messages
2015-12-09 18:38:20 -08:00
Leonardo de Moura
34e85be970
feat(library/blast): add 'blast.deadend' tracing option
2015-12-09 17:45:36 -08:00
Leonardo de Moura
1502248d30
feat(library/blast): trace strategy name
2015-12-09 17:13:28 -08:00
Leonardo de Moura
725101c777
chore(frontends/lean): cleaup
2015-12-09 12:43:44 -08:00
Floris van Doorn
65c93b180d
fix(types.md): add num
2015-12-09 12:36:11 -08:00
Floris van Doorn
f495fa04c8
fix(tests): fix tests after port
2015-12-09 12:36:11 -08:00
Floris van Doorn
2325d23f68
feat(hott): port nat and int from the standard library
2015-12-09 12:36:11 -08:00