Sebastian Ullrich
0a48809469
refactor(frontends/lean/tactic_notation): rename note/define tactics to have/let
2017-06-22 08:03:23 -07:00
Mario Carneiro
495093f6c0
fix(tests/run): fix tests
2017-06-22 08:03:23 -07:00
Mario Carneiro
9f31096892
refactor(init/meta/interactive): rename pose -> define
2017-06-22 08:03:23 -07:00
Mario Carneiro
b775a01fba
refactor(init/meta/interactive): merge assert -> note
2017-06-22 08:03:23 -07:00
Leonardo de Moura
671b6240c1
fix(library/init/meta): make sure rw still produces useful error messages
2017-06-21 20:58:59 -07:00
Leonardo de Moura
14d768ffa2
feat(library/init/meta/interactive): add simp_all tactic
...
@Armael I added the simp_all tactic. See new test for an example.
2017-06-21 20:43:56 -07:00
Leonardo de Moura
058d073cba
feat(library/init/meta/interactive): allow user to write rw [f] to rewrite using the equational lemmas for f
...
The tactic succeeds if the expression can be rewritten using one of the
equational lemmas associated with `f`.
See discussion at #1680
2017-06-21 18:56:18 -07:00
Leonardo de Moura
35b99aafb2
feat(library/init/category/combinators): add list.mfirst
2017-06-21 18:53:22 -07:00
Leonardo de Moura
51a28828d6
chore(tests/lean/interactive/info_tactic): fix test
2017-06-21 17:03:24 -07:00
Leonardo de Moura
3195a800f4
feat(library/tactic/simp_lemmas): use proof for refl lemmas at simp_lemma_rewrite too
...
I forgot to do it at 9fcb3ae4b5
2017-06-21 16:53:35 -07:00
Leonardo de Moura
b9dee04fdb
feat(library/tactic/simplify): add single_pass simplifier option (default is false)
2017-06-21 16:41:54 -07:00
Leonardo de Moura
9fcb3ae4b5
feat(library/tactic/simplify): store proof for refl lemmas and use them in simp
...
Before this commit, simp would not silently apply refl-lemmas, and use
reflexivity. This strategy produces compact proofs but may generate
performance problems. For example, the new test timeouts without this
commit.
I believe a similar performance problem is affecting the Certigrad
project developed by @dselsam.
2017-06-21 16:21:11 -07:00
Leonardo de Moura
fd17a19a23
chore(library/tactic/simplify): remove dead option
2017-06-21 15:32:08 -07:00
Scott Morrison
629d5ebbe8
feat(init/meta/simp_tactic) tactics that revert hypotheses should allow elet expressions
...
Conflicts:
library/init/meta/simp_tactic.lean
2017-06-21 13:58:46 -07:00
Scott Morrison
6aba80d389
feat(library/init/meta/simp_tactic,library/init/meta/interactive) interactive tactics for unfold_projection
2017-06-21 13:51:52 -07:00
Sebastian Ullrich
565e583915
chore(doc/changes): fix link
2017-06-21 13:23:02 -07:00
Sebastian Ullrich
676e8eee6c
chore(doc/changes): update changelog
2017-06-21 13:22:47 -07:00
Gabriel Ebner
814a5edaf1
fix(library/module_mgr): check for errors when writing olean files
2017-06-21 11:25:25 +02:00
Gabriel Ebner
a0a70a678a
fix(library/module): check for end-of-file in deserialization
2017-06-21 11:25:25 +02:00
Gabriel Ebner
942f7bf8b5
fix(library/module): unify hash computation
2017-06-21 10:50:54 +02:00
Mario Carneiro
e6f3c5cc22
fix(tests/lean/interactive/mk_input): strip \r from input files (win)
2017-06-21 08:53:11 +02:00
Leonardo de Moura
eef4d95410
feat(frontends/lean/inductive_cmds): closes #1655
2017-06-20 16:25:18 -07:00
Leonardo de Moura
e089fe6ee7
fix(library/expr_lt): make sure find_local_decl is not tested in the Meta case, and add /* fall-thru */
...
See comments at commit b25291c5c9
2017-06-20 13:47:30 -07:00
Leonardo de Moura
5a07b3b27c
test(tests/lean/run/1688): add test for PR #1688
2017-06-20 12:36:31 -07:00
Mario Carneiro
636e65a216
fix(init/meta/interactive): elab terms of change-with using same type
2017-06-20 12:34:29 -07:00
Leonardo de Moura
b25291c5c9
fix(library/tactic/simplify): fixes #1685
2017-06-20 12:27:46 -07:00
Leonardo de Moura
ce3387b246
fix(library/tactic/change_tactic): fixes #1686
2017-06-20 12:05:21 -07:00
Leonardo de Moura
3c306d0a7b
fix(library/equations_compiler/elim_match): forward dependency checking
...
See comment at #1594
This commit is not fixing the issue, but a problem described in one of
the comments.
2017-06-20 11:29:23 -07:00
Leonardo de Moura
c7e68e57cf
fix(frontends/lean/structure_cmd): fixes #1681
...
@kha I'm not sure if this is the right fix. I just avoided the loop that adds
`mk_expr_placeholder` if the function is not a projection.
I didn't spend time investigating why we need `mk_proj_app`.
I know the library doesn't compile if we don't use it, and just use
```
return mk_app(copy_tag(ref, mk_constant(S_name + fname)), e);
```
:)
2017-06-19 16:22:38 -07:00
Leonardo de Moura
cfa34dc83e
chore(library): remove workarounds for issue #1682
2017-06-19 16:09:12 -07:00
Leonardo de Moura
ddb6b38d88
fix(frontends/lean/elaborator): fixes #1682
...
@kha Could you please double check whether this is right fix?
2017-06-19 16:04:24 -07:00
Leonardo de Moura
0f64b6088c
chore(frontends/lean): remove then have ... notation
...
This notation was a leftover from Lean 0.1.
2017-06-19 14:20:52 -07:00
Gabriel Ebner
16c6e0ffaf
fix(util/object_serializer): do not compare chars
2017-06-19 20:48:24 +02:00
Gabriel Ebner
b826bdfe43
fix(CMakeLists): force char to be signed
2017-06-19 20:47:57 +02:00
Gabriel Ebner
25a3b13fc7
fix(.travis.yml): move -t0 test to a release configuration
2017-06-19 20:35:11 +02:00
Sebastian Ullrich
91c77680c8
refactor(init/meta/coinductive_predicates,frontends/lean/inductive_cmds): declare coinductive in Lean
2017-06-19 11:27:12 -07:00
Sebastian Ullrich
018ebdd115
feat(frontends/lean/user_command): add user-defined commands
2017-06-19 11:27:12 -07:00
Sebastian Ullrich
606cc85778
chore(library/module): output byte offset of olean corruption
2017-06-19 11:27:12 -07:00
Sebastian Ullrich
4d444b8b18
feat(init/meta/lean/parser): persist environment in tactic_to_parser
2017-06-19 11:27:12 -07:00
Sebastian Ullrich
492cb20438
feat(init/meta/{interactive_base,parser}): decl_attributes, decl_meta_info, parser.set_env
2017-06-19 11:27:12 -07:00
Leonardo de Moura
1fb6c5b211
doc(changes): update
2017-06-19 11:24:17 -07:00
Leonardo de Moura
582aa3338b
fix(frontends/lean): compilation warnings with older versions of gcc
2017-06-19 11:14:22 -07:00
Sebastian Ullrich
95b317fa64
refactor(frontends/lean): do not hard code commands accepting attributes & modifiers
2017-06-19 11:09:26 -07:00
Gabriel Ebner
2e142d87ae
fix(library/init/data/repr): give correct implementation of nat.repr
2017-06-19 16:20:27 +02:00
Gabriel Ebner
82bb37422d
fix(library/init/data/int): add to_string instance for integers
2017-06-19 14:30:58 +02:00
Gabriel Ebner
981f439de5
chore(gitignore): ignore nix files
2017-06-19 13:16:04 +02:00
Gabriel Ebner
856a88833f
fix(util/debug,util/serializer): use basic_ios::eof to check for end-of-file
2017-06-19 13:04:06 +02:00
Gabriel Ebner
95f8a50a03
fix(frontends/lean/scanner): use platform-independent end-of-file marker
2017-06-19 10:39:08 +02:00
Leonardo de Moura
75ec32de94
doc(changes): has_repr and has_to_string
2017-06-18 18:40:29 -07:00
Leonardo de Moura
2866607319
chore(tests): fix tests
2017-06-18 18:33:38 -07:00