Commit graph

5326 commits

Author SHA1 Message Date
51c771f334 revert(cmake/Modules/cpplint.py): roll back to python2 version
This reverts commit 65cc4d3c08.
2015-01-22 13:05:42 -08:00
Leonardo de Moura
42b5b1e679 test(tests/lean): add new test for scoping rules 2015-01-22 11:41:19 -08:00
Leonardo de Moura
880faf89e0 feat(frontends/lean/structure_cmd): add implicit_infer_kind annotation to structure command
closes #354
2015-01-21 18:12:29 -08:00
Leonardo de Moura
a53098385c refactor(frontends/lean/type_util): move infer_implicit_params to library 2015-01-21 17:22:41 -08:00
Soonho Kong
65cc4d3c08 fix(cmake/Modules/cpplint.py): roll back to python2 version 2015-01-21 19:26:38 -05:00
Leonardo de Moura
12674114a4 feat(shell): set default behavior to "trusted"
closes #402
2015-01-21 16:25:09 -08:00
Leonardo de Moura
ae7b5a9bc9 fix(library/algebra): add missing [reducible]
It addresses issues raised at #403
2015-01-21 15:53:56 -08:00
Jeremy Avigad
44642a4285 feat(library/algebra/ordered_ring,library/data/int/): add sign and theorems about abs, make int an instance, port theorems 2015-01-21 15:46:17 -08:00
Jeremy Avigad
58057c5d99 feat(library/algebra/ordered_group): add abs 2015-01-21 15:46:17 -08:00
Soonho Kong
69af6df69d refactor(bin/python_lib): move six.py under bin/python_lib
Following @favonia's suggestion in #393
2015-01-21 17:31:26 -05:00
Soonho Kong
82c551d8dc fix(.travis.yml): remove six python pkg dep 2015-01-21 17:13:56 -05:00
Soonho Kong
a8f3dcb395 feat(bin/six.py): add six 1.9.0 (Python 2 and 3 compatibility utilities) 2015-01-21 17:13:56 -05:00
073c1d1c31 feat(python): add python 3 compatibility
Add Python 3 compatibility through python-six library.

Closes #393.
2015-01-21 17:13:55 -05:00
Leonardo de Moura
1d6ff5f761 feat(library/definitional/projection): throw exception if unsupported case occurs
The user can workaround it by using trust-level 0 (i.e., no option -t num or -T)
2015-01-20 17:42:34 -08:00
Leonardo de Moura
f2e878dbe7 fix(tests/lua/res1): adjust test to recent modifications 2015-01-20 16:26:41 -08:00
Leonardo de Moura
01ce57e52e feat(library/definitional/projection): add projection macro 2015-01-20 16:21:50 -08:00
Leonardo de Moura
abc64fbab8 refactor(library/algebra/group): remove unnecessary symm 2015-01-20 16:20:47 -08:00
Leonardo de Moura
b6750e9d29 feat(library/util): add auxiliary functions 2015-01-20 15:44:58 -08:00
Leonardo de Moura
8323d580b1 refactor(library/algebra/order): factor out proofs 2015-01-20 15:28:46 -08:00
Leonardo de Moura
c51e2ac428 feat(kernel/type_checker): expose get_arity function 2015-01-20 14:25:07 -08:00
Leonardo de Moura
c43b2c8640 feat(kernel/extension_context): add auxiliary methods 2015-01-20 14:23:10 -08:00
Leonardo de Moura
8355ed55d7 refactor(library/definitional/projection): remove dead code 2015-01-20 13:40:09 -08:00
Leonardo de Moura
752b54085b refactor(kernel/type_checker): type checker should not unfold macros, but sign an error if a untrusted macro is used
Now, we unfold untrusted macros outside of the Lean kernel.
2015-01-20 12:36:56 -08:00
Leonardo de Moura
5ab7ff62b5 feat(CMakeLists): add --Trust option when building standard/hott libraries 2015-01-20 11:11:35 -08:00
Leonardo de Moura
260795f981 fix(frontends/lean/structure_cmd): collect universe levels that only occur in structure parameters
fixes #395
2015-01-19 22:18:09 -08:00
Leonardo de Moura
002050fa97 feat(frontends/lean): increase binding power of ! and @
Remark: I did not add the constant "app".
Reason: It would break the standard library in many places.
Moreover, the current "max" is not just the binding power of
application, but also the binding power of identifiers, (, [, ...
It would be weird to call it "app"

closes #388
2015-01-19 18:40:33 -08:00
Leonardo de Moura
6fd0d452d3 test(tests/lean/run): adjust tests to reflect recent changes 2015-01-19 18:00:14 -08:00
Leonardo de Moura
dfbe6662be feat(frontends/lean/elaborator): add option 'elaborator.fail_if_missing_field' 2015-01-19 17:47:39 -08:00
Leonardo de Moura
21a3d918ff refactor(library/algebra/ordered_ring): use cleaner hack for improving performance 2015-01-19 17:41:11 -08:00
Leonardo de Moura
2e13e81fe0 refactor(library/data/nat/order): use record/structure instance expression
Motivation: do not rely on a specific argument ordering
2015-01-19 17:39:59 -08:00
Leonardo de Moura
2717adde94 feat(library/unifier): add option 'unifier.conservative', use option by default in the calc_assistant 2015-01-19 16:23:29 -08:00
Leonardo de Moura
7149c49553 refactor(library/algebra): factor out proofs from coercions
Coercions/instances should be simple definitions
2015-01-19 13:00:24 -08:00
Leonardo de Moura
d0e9e0e21c feat(library/definitional/projection): add auxiliary function for simplifying expressions containing projections and constructors 2015-01-18 20:58:40 -08:00
Leonardo de Moura
858d21f20b feat(library/definitional/projection): store projection information 2015-01-18 16:26:56 -08:00
Soonho Kong
901c9bf67a refactor: rename ltags => leantags
fix #394
2015-01-18 13:44:41 +09:00
Leonardo de Moura
edcc92d9c7 feat(frontends/lean): remove 'using' from structure instance command 2015-01-17 09:38:10 -08:00
Leonardo de Moura
fed96c9e0b test(tests/lean/run): add structure instance example 2015-01-17 09:27:15 -08:00
Leonardo de Moura
50fe085374 refactor(library/algebra/ordered_ring): using new structure instance syntax sugar to define instances 2015-01-16 18:01:08 -08:00
Leonardo de Moura
3d63c0b5dc refactor(library/algebra/ring): using new structure instance syntax sugar to define instance 2015-01-16 17:42:30 -08:00
Leonardo de Moura
a86661f42c refactor(library/algebra/ordered_group): using new structure instance syntax sugar to define instances 2015-01-16 17:37:08 -08:00
Leonardo de Moura
ebc1878028 refactor(library/algebra/group): using new structure instance syntax sugar to define instances 2015-01-16 17:23:41 -08:00
Leonardo de Moura
f9d7480f5c feat(frontends/lean): notation for creating structure instances 2015-01-16 17:14:30 -08:00
Leonardo de Moura
bfd679d52d feat(frontends/lean/structure_cmd): allow user to reference parent structures when defining new fields
See new test for an example.

closes #371
2015-01-16 13:04:48 -08:00
Leonardo de Moura
13660cfecd feat(frontends/lean/parser): add parse_qualified_expr 2015-01-16 12:42:42 -08:00
Leonardo de Moura
6c07ca5d41 perf(library/print): improve is_used_name 2015-01-15 19:01:13 -08:00
Leonardo de Moura
c6290f01d0 perf(kernel/free_vars): improve has_free_var 2015-01-15 18:42:56 -08:00
Leonardo de Moura
f397da111a perf(kernel/error_msgs): avoid unnecessary work 2015-01-15 18:32:52 -08:00
Leonardo de Moura
ce0b1d17a2 perf(kernel/free_vars): improve has_free_var 2015-01-15 18:31:43 -08:00
Leonardo de Moura
ddcc8de09e fix(shell/lean): catch errors when loading bad cache file 2015-01-15 18:06:22 -08:00
Leonardo de Moura
30817aa2b1 feat(emacs): allow user to provide extra commands to lean-server 2015-01-15 16:54:55 -08:00