Sebastian Ullrich
7412512579
fix(frontends/lean/structure_cmd): apply attributes last
2017-09-11 16:56:02 -07:00
Sebastian Ullrich
230bf7e8d9
fix(frontends/lean/decl_cmds): constant/axiom cmds: apply attributes
2017-09-11 16:56:02 -07:00
Leonardo de Moura
d428eca8a7
fix(library/equations_compiler,frontends/lean): private name support and alias generation for auxialiary declarations
...
fixes #1804
Remark: now, all auxiliary definitions in a private declaration share
the same "private" prefix.
2017-09-11 16:46:56 -07:00
Sebastian Ullrich
d82df26ff0
fix(frontends/lean/elaborator): go back to ignoring implicit args in quote patterns
2017-09-11 09:33:38 -07:00
Sebastian Ullrich
f242d04d55
chore(emacs/lean-dev): lean-diff-test-file produced wrong paths
2017-09-10 09:53:23 +02:00
Sebastian Ullrich
0bf96e5752
fix(frontends/lean/elaborator): revert dubious workaround of mine
...
Synthesizing an expr placeholder in an elaborated term doesn't make much sense
2017-09-08 13:23:16 +02:00
Leonardo de Moura
1f757ba84e
fix(frontends/lean/pp): fixes #1817
2017-09-07 15:23:58 -07:00
Gabriel Ebner
19777cf9eb
fix(frontends/lean/definition_cmds): show trace messages in examples
2017-09-06 14:44:44 +02:00
Gabriel Ebner
5f8cf45073
feat(frontends/lean/elaborator): apply to-sort coercion also in arguments
2017-09-06 14:15:30 +02:00
Gabriel Ebner
7b18d5828d
feat(frontends/lean/elaborator): trigger coe_to_fun even when expected type has metavariables
...
We only need to know that the expected type is a Π to perform
to-function coercion. Related to #1402 .
Fixes https://github.com/gebner/hott3/issues/2
2017-09-06 11:20:04 +02:00
Leonardo de Moura
88cd294a09
feat(src/kernel/error_msgs): show aliased variables when printing error messages
...
closes #1814
@kenmcmil: the error messages will now list aliased variables.
For example, in your file, the new error message is:
```
invalid type ascription, term has type
triple (ctxpre c' s_1 ∧ ctxpre c'_1 s_1) (bndngapp b s_1) (ctxpost c' s_1 ∧ ctxpost c'_1 s_1)
but is expected to have type
triple (ctxpre c' s_1 ∧ ctxpre c'_1 s_1) (bndngapp b s_1) (ctxpost c' s_1 ∧ ctxpost c'_1 s_1)
types contain aliased name(s): c'
remark: the tactic `dedup` can be used to rename aliases
state:
...
```
2017-09-05 16:46:44 -07:00
Leonardo de Moura
51bac2918f
chore(library/init/core): declare and using structure
...
This change was requested by several users.
2017-09-05 15:08:20 -07:00
Sebastian Ullrich
1544c3d390
feat(library/tactic/user_attribute,init/meta/attribute): user_attribute.set_param
2017-09-05 23:14:34 +02:00
Sebastian Ullrich
399bb95065
chore(emacs/lean-dev): fix lean-diff-test-file
2017-09-05 23:14:34 +02:00
Sebastian Ullrich
51aabb9b65
feat(frontends/lean/decl_attributes): allow user attributes on inductive types
2017-09-05 23:14:34 +02:00
Sebastian Ullrich
ea6a4159a9
feat(library/tactic/user_attribute,init/meta/attribute): implement parameterized user attributes
2017-09-05 23:14:34 +02:00
Sebastian Ullrich
9ed678d80a
feat(frontends/lean/elaborator): structure notation: synthesize instance-implicit fields
2017-09-05 23:14:34 +02:00
Sebastian Ullrich
3188c4cbcf
refactor(library/tactic/user_attribute,init/meta/attribute): merge caching_user_attribute into user_attribute
...
The inheritance-based approach doesn't scale to a second subclass for parameterized attributes
2017-09-05 23:14:34 +02:00
Sebastian Ullrich
3aa5ebb8bd
feat(frontends/lean/elaborator): structure notation: allow explicit ctor param when given expected type
2017-09-05 23:14:34 +02:00
Sebastian Ullrich
da785d96a0
fix(frontends/lean/elaborator): synthesize metavars in e before trying to synthesize reflected e
2017-09-05 23:14:34 +02:00
Gabriel Ebner
40de4f14c1
feat(library/tactic/simp_lemmas): allow simplification with let-bindings in the local context
2017-09-05 10:24:02 +02:00
Gabriel Ebner
292527896a
feat(leanpkg): store Lean version in leanpkg.toml
2017-09-05 08:34:40 +02:00
Gabriel Ebner
488850e03a
fix(library/util): get_num_inductive_hypotheses_for: use whnf to detect recursive arguments
...
Fixes #1812 .
2017-09-05 08:28:32 +02:00
Sebastian Ullrich
f255513fdc
fix(frontends/lean/definition_cmds): apply attributes after declaring equational lemmas
...
Fixes `@[simp] def ...`
2017-09-01 13:36:53 +02:00
Gabriel Ebner
8837ce0f31
fix(shell/lean): add missing newline
2017-08-29 16:40:04 +02:00
Gabriel Ebner
de0fc09ab9
fix(library/congr_lemma): always return heq in mk_hcongr_lemma
2017-08-29 16:36:37 +02:00
Gabriel Ebner
05178ad950
chore(frontends/lean/decl_cmds,emacs/lean-syntax): typo
2017-08-28 17:04:03 +02:00
Gabriel Ebner
9920062b69
fix(kernel/expr,library/constructions/projection): preserve instance-implicitness in structure parameters
2017-08-27 16:47:04 +02:00
Sebastian Ullrich
07d8b18caf
feat(init/meta/pexpr): expose pexpr.is_placeholder
2017-08-26 23:22:06 +02:00
Sebastian Ullrich
3062c6feb7
feat(init/meta): expose pexpr.get_structure_instance_info
2017-08-24 10:36:43 +02:00
Sebastian Ullrich
cfbb298a2a
fix(emacs/lean-type): lean-helm-definitions: disable client-side filtering & caching
2017-08-24 10:33:20 +02:00
Leonardo de Moura
ac0be0ecc6
chore(frontends/lean/elaborator): style
2017-08-22 15:41:12 -07:00
Sebastian Ullrich
9e53147e0a
feat(frontends/lean/elaborator): allow field notation for recursive calls
2017-08-22 15:33:37 -07:00
Leonardo de Moura
e99ce26b16
fix(library/type_context): fixes #1801
...
This commit also fixes the decay in error message quality reported at
c6a10b127f
2017-08-22 14:03:58 -07:00
Leonardo de Moura
971ae34521
feat(frontends/lean/elaborator): closes #1760
...
As described at issue #1760 , the new error message is:
```
1760.lean:6:18: error: type mismatch at application
f x
term
x
has type
big_type : Type 1
but is expected to have type
?m_1 : Type
```
2017-08-21 16:15:03 -07:00
Leonardo de Moura
fb2186334a
fix(library/init/meta/relation_tactics,library/tactic/subst_tactic): fixes #1772
2017-08-21 14:51:30 -07:00
Gabriel Ebner
7453148ad2
fix(library/tactic/simp_lemmas): only check has_idx_metavar in simp_lemmas.rewrite
...
This copies the change made in 2ca2920284
2017-08-20 09:30:16 +02:00
Gabriel Ebner
df5fb70c8a
fix(emacs/lean-server): fix "error running timer"
...
This error occurred in files without trailing newlines.
2017-08-19 13:35:58 +02:00
Leonardo de Moura
049d940167
chore(frontends/lean/elaborator): cleanup
2017-08-18 17:50:29 -07:00
Leonardo de Moura
c149286f44
fix(frontends/lean/elaborator): add instantiate_pattern_mvars
2017-08-18 16:49:45 -07:00
Leonardo de Moura
94e7b46214
fix(library/string): is_char_value bug
...
Type may be a metavariable, and the is_def_eq test may succeed by
unifying the metavariable with `char`
2017-08-18 15:29:51 -07:00
Leonardo de Moura
d4f2bb77b8
feat(frontends/lean): recursive equation preprocessor
...
To make the equation compiler more convenient to use, we will add a
couple of preprocessing steps.
This commit adds the first one of them. In this step, we use
type inference to refine pattern variables, and we relax the
restrictions on inaccessible annotations.
We will also add a preprocessing step that implements the "complete
transition" step before we execute the elim_match step.
2017-08-18 15:06:11 -07:00
Gabriel Ebner
bbfbf1d8f5
doc(library/tactic/simp_lemmas): document and test change in ext_add_core
2017-08-18 19:34:08 +02:00
Gabriel Ebner
6b9bf5e2b7
fix(library/tactic/simp_lemmas): report invalid simplification lemmas also in add()
2017-08-18 19:32:51 +02:00
Gabriel Ebner
effd624911
fix(frontends/lean/parser): add check_system call
2017-08-18 08:54:04 +02:00
Gabriel Ebner
0d8e62ed40
feat(library/tactic/simp_lemmas): add both equational lemmas and the definition itself
2017-08-18 08:54:04 +02:00
Gabriel Ebner
256ca9789f
fix(library/tactic/simp_lemmas): fix typo in pp
2017-08-18 08:54:03 +02:00
Gabriel Ebner
6bd3fe2449
feat(library/tactic/simp_lemmas): support congruence lemmas that are metavariable applications
2017-08-18 08:54:03 +02:00
Leonardo de Moura
0660e18943
feat(library/metavar_context): add method for setting metavar user facing name
2017-08-17 16:03:32 -07:00
Leonardo de Moura
9927f331f4
chore(frontends/lean/elaborator): remove dead code
2017-08-17 16:03:32 -07:00