Commit graph

204 commits

Author SHA1 Message Date
Leonardo de Moura
30cea2dceb fix(frontends/lean): auxiliary bind-application in do-notation was not allowing us to obtain type information for the monadic actions.
The new test exposes the problem.
2017-01-12 18:38:31 -08:00
Leonardo de Moura
df91ae3738 fix(library/string,library/init/data/to_string): handle ASCII control characters 2017-01-11 23:44:33 -08:00
Sebastian Ullrich
83bddce900 feat(frontends/lean/info_manager,shell/server,emacs/lean-type): info: provide more metadata
* docs: attributes, options, identifiers
* location: attributes, imports
2017-01-11 15:29:14 +01:00
Leonardo de Moura
e256022746 chore(library/init/meta/tactic): avoid the weird 'command' type when auto completing tactics 2017-01-10 14:59:10 -08:00
Sebastian Ullrich
ed4275ae17 fix(frontends/lean/builtin_cmds): do not complete after namespace
Most identifiers used with the command are not namespaces yet
2017-01-10 14:42:48 -08:00
Sebastian Ullrich
8eb39bb982 fix(frontends/lean/parser): catch exceptions thrown by sync_command 2017-01-10 14:42:48 -08:00
Leonardo de Moura
4f0f989e6f fix(tests/lean/interactive): expected output
@kha The following three tests were broken on my machine. The new
produced output looked correct. So, I updated the expected output files.
Is this ok?

see #1296
2017-01-10 09:05:44 -08:00
Sebastian Ullrich
cc3126e944 feat(frontends/lean,library/scoped_ext,shell): complete namespaces 2017-01-10 12:25:33 +01:00
Sebastian Ullrich
b04df04120 feat(frontends/lean): rework and simplify completion parsing, enabling completion of empty prefixes 2017-01-10 12:25:33 +01:00
Sebastian Ullrich
7ef1bd1a15 chore(tests/lean/interactive): simplify input format and test full completion output 2017-01-10 12:25:33 +01:00
Sebastian Ullrich
7040844f9a feat(frontends/lean/parser,shell): complete imports 2017-01-06 14:02:31 -08:00
Sebastian Ullrich
3136f36ed6 fix(frontends/lean/parser): complete after periods trailing identifiers 2017-01-06 14:02:31 -08:00
Sebastian Ullrich
4552fc13f2 chore(tests): add tests for goal at pos 2016-12-27 21:41:02 -08:00
Sebastian Ullrich
b10ebade8c chore(tests/lean/interactive/test_single): ignore progress responses 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
c9a8c02fdc feat(emacs,frontends/lean/parser,shell/server): more accurate info command using server-side parsing 2016-12-27 10:07:34 -08:00
Leonardo de Moura
a358ea32ac fix(tests/lean/interactive): remove local paths 2016-12-20 12:46:10 -08:00
Leonardo de Moura
c9e0727ac0 fix(tests/lean/interactive/info1): fix test 2016-12-20 12:32:21 -08:00
Gabriel Ebner
f9a61b2b29 fix(tests/lean/interactive): fix test 2016-12-20 10:15:19 -08:00
Sebastian Ullrich
00b8c2ca81 feat(frontends/lean/elaborator): save info on field of field expression 2016-12-18 23:48:50 -08:00
Leonardo de Moura
1cfef1c6d9 fix(frontends/lean/parser): save next_inst_idx in the parser snapshot
This fixes issues with anonymous instances in sections.
In Emacs, we would get spurious error messages such as:

   invalid parameter/variable declaration, '_inst_1' has already been declared

This commit also adds a regression test for the problem.
2016-12-18 23:39:28 -08:00
Gabriel Ebner
45d0525e52 feat(shell,emacs): new lean server protocol 2016-12-06 17:14:29 -08:00
Gabriel Ebner
3b2bb854be fix(tests/lean/interactive/test_single): do not use deprecated realpath command
The realpath executable is not installed by default on ubuntu.  Also
contains a fix for macOS where the default readlink executable does not
understand -f.  The ./readlinkf.sh script does not work for directories
either.
2016-12-02 17:01:58 -08:00
Leonardo de Moura
ffcb9f240e fix(tests/lean/interactive/test_single): MSYS2 compatibility 2016-12-01 11:55:55 -08:00
Gabriel Ebner
a8df381d20 feat(*): parallel compilation 2016-11-29 11:12:40 -08:00
Leonardo de Moura
922d48524b fix(frontends/lean): fixes #1188
This commit also adds support for recording the type of local variables
in the info_manager
2016-11-10 15:08:25 -08:00
Sebastian Ullrich
ef633abec7 chore(*): fix test and style 2016-11-08 08:37:41 -08:00
Sebastian Ullrich
1f9554a014 refactor(frontends/lean/info_manager): always pass column in requests 2016-11-08 08:37:41 -08:00
Sebastian Ullrich
ba1b6165e3 feat(frontends, shell): implement basic server 'info' command 2016-11-08 08:37:41 -08:00
Leonardo de Moura
e98340ddae chore(tests/lean/interactive): remove "interactive" tests
In Lean3, we will not use the --server option anymore
2016-09-19 17:20:44 -07:00
Leonardo de Moura
928d567a3f chore(tests/lean): providing universes 2016-09-17 12:54:20 -07:00
Sebastian Ullrich
fd2c42a8bf chore(library, tests): switch to new attribute declaration syntax
sed -Ei 's/^(\s*)((private |protected )?(noncomputable )?(abbreviation|definition|meta_definition|theorem|lemma|proposition|corollary)\s+\S+\s*)((\s*\[(\S+(\s+[0-9]+)*|priority.*)\])+)\s*/\1attribute \6\n\1\2/' library/**/*.lean tests/**/*.lean
sed -Ei 's/\s+$//' library/**/*.lean  # remove trailing whitespace
2016-08-12 15:36:12 -07:00
Leonardo de Moura
e0e5a84f84 chore(tests/lean): adjust tests 2016-07-23 12:48:35 -07:00
Leonardo de Moura
6893ddc11c chore(tests/lean/interactive/alias): fix test expected output 2016-06-27 14:37:18 +01:00
Leonardo de Moura
583a55c7c3 refactor(library): move 'none', 'some', 'tt', 'ff' to top-level 2016-06-25 12:39:19 -07:00
Leonardo de Moura
4f7f59e47f chore(tests/lean): fix tests output 2016-06-20 11:18:16 -07:00
Leonardo de Moura
4b022fea01 chore(tests/lean): fix/disable tests 2016-06-10 18:29:41 -07:00
Leonardo de Moura
384e8bf7bf refactor(library): remove unifier_plugin 2016-03-21 17:57:53 -07:00
Leonardo de Moura
2c70ca83a8 refactor(frontends/lean/calc): remove '{}' notation for eq.subst in calc mode 2016-03-03 14:18:20 -08:00
Leonardo de Moura
4a43e33d45 chore(*): disable big chunk of the standard library and tests 2016-03-03 13:43:08 -08:00
Leonardo de Moura
d84a20d68b remove(frontends/lean/server): FINDG command 2016-03-03 10:12:24 -08:00
Leonardo de Moura
ac9d6c2021 refactor(library/data/bool): cleanup bool proofs and fix bxor definition 2016-01-01 13:52:42 -08:00
Leonardo de Moura
54f2c0f254 feat(library/blast/forward): inst_simp should use the left-hand-side as a pattern (if none is provided by the user)
The motivation is to reduce the number of instances generated by ematching.

For example, given

   inv_inv:  forall a, (a⁻¹)⁻¹ = a

the new heuristic uses ((a⁻¹)⁻¹) as the pattern.
This matches the intuition that inv_inv should be used a simplification
rule.

The default pattern inference procedure would use (a⁻¹). This is bad
because it generates an infinite chain of instances whenever there is a
term (a⁻¹) in the proof state.
By using (a⁻¹), we get
   (a⁻¹)⁻¹ = a
Now that we have (a⁻¹)⁻¹, we can match again and generate
   ((a⁻¹)⁻¹)⁻¹ = a⁻¹
and so on
2015-12-31 20:20:39 -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
e3a35ba4fd feat(frontends/lean): add 'with_attributes' tactical
closes #494
2015-12-13 18:27:44 -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
b36ce49f2b fix(tests,doc): adjust tests to changes in the standard library 2015-12-05 23:52:16 -08:00
Leonardo de Moura
2edf91ce42 fix(tests/lean/interactive/findp): broken test output 2015-12-04 08:40:21 -08:00
Leonardo de Moura
989a2e077b fix(tests/lean): adjust tests 2015-11-22 17:15:28 -08:00
Leonardo de Moura
c280ddb2b0 fix(tests,doc): adjust tests and documentation 2015-11-20 17:03:17 -08:00
Leonardo de Moura
e580e6cdb1 fix(tests/lean/interactive/findp): adjust test 2015-11-18 10:10:46 -08:00