Leonardo de Moura
dbe1033427
fix(library/init/meta/mk_has_sizeof_instance): indexed families
...
see #1818
2017-09-12 15:17:34 -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
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
3af8ca11bc
chore(tests/lean/run/1797): add test for #1797
2017-09-05 14:36:51 -07:00
Leonardo de Moura
8a10d4c72c
fix(library/init/meta/injection_tactic): fixes #1805
2017-09-05 14:20:22 -07: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
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
Leonardo de Moura
da46862b46
fix(library/init/meta/interactive): fixes #1813
2017-09-05 13:33:05 -07: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
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
Gabriel Ebner
2d69fc9cd7
fix(library/init/meta/coinductive_predicates): bug with reflexive occurrences
2017-09-04 09:54:12 +02:00
Gabriel Ebner
de0fc09ab9
fix(library/congr_lemma): always return heq in mk_hcongr_lemma
2017-08-29 16:36:37 +02: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
Leonardo de Moura
b6e24ba5c3
chore(tests/lean/run/bin_tree): fix test
2017-08-18 17:05:52 -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
6bd3fe2449
feat(library/tactic/simp_lemmas): support congruence lemmas that are metavariable applications
2017-08-18 08:54:03 +02:00
Leonardo de Moura
c0a55cb3ed
test(tests/lean/run): add backward chaining examples
2017-08-17 16:36:21 -07:00
Mario Carneiro
c5bb5cb1eb
fix(init/meta/interactive_base): declare |- notation
2017-08-17 11:34:00 +02:00
Leonardo de Moura
6315136279
fix(frontends/lean/definition_cmds): fixes #1790
2017-08-16 15:57:55 -07:00
Leonardo de Moura
19ee270c60
refactor(library): remove vector and bitvec from init
...
Reason: vector in in init folder was introducing an overload (`::`) for
all Lean users. The workaround (use `local infix ::`) was
counterintuitive.
We currently have no special support for bitvectors in the code
generator. Thus, there is no need to have vector and bitvec in the init
folder right now. Moreover, the new parser and elaborator (issue #1674 ) should
provide better ways of managing overloaded symbols.
2017-08-16 13:40:50 -07:00
Gabriel Ebner
0c15724e8e
fix(library/tactic/simplify): handle universe polymorphic simplification rules
...
The issue was that instantiate_mvars(infer(m)) had a metavariable, while
infer(instantiate_mvars(m)) did not. Changing the call from assign to
is_def_eq also unifies the type, assigning the metavariable inside the
type.
2017-08-03 17:42:07 +01:00
Leonardo de Moura
b6c691cead
test(tests/lean/run/whnf_mvar): add test to check whether whnf instantiate mvars or not
...
@digama0 As I suspected, `whnf` already instantiates metavariables.
2017-08-03 11:29:22 +01:00
Gabriel Ebner
22011dcde4
chore(init/algebra/order): typo
...
Thanks to @fpvandoorn for proof-reading!
2017-08-02 15:41:51 +01:00
Leonardo de Moura
fdaa26f2fd
feat(library/equations_compiler/wf_rec): fixes #1782
2017-08-02 15:12:04 +01:00
Gabriel Ebner
5922f71c50
feat(library/init/algebra/order): add default value for lt
2017-08-02 14:41:35 +01:00
Gabriel Ebner
ce509e621a
refactor(library/init/algebra): remove order_pair classes
2017-08-02 14:41:35 +01:00
Sebastian Ullrich
4f66673fc2
feat(init/meta/attribute,library/tactic/attribute): user_attribute apply handlers
2017-08-02 14:32:39 +01:00
Leonardo de Moura
39fa7625b8
feat(library/init/meta/interactive): add specialize tactic
...
closes #1779
2017-08-02 10:20:25 +01:00
Gabriel Ebner
c15f2979c6
fix(frontends/lean/util): allow docstrings after variables
2017-08-01 10:18:05 +01:00
Mario Carneiro
f369e34bd6
chore(library/standard): remove standard.lean (unused, and confusing given stdlib)
2017-07-28 16:47:53 +01:00
Leonardo de Moura
870ce5c0fe
fix(library/init/meta/constructor_tactic): fixes #1771
2017-07-28 09:45:51 +01:00
Leonardo de Moura
58016bc037
chore(tests/lean): fix test suite
2017-07-26 14:10:02 +01:00
Mario Carneiro
4dc261393f
refactor(init/data/list): move out advanced list defs
2017-07-26 11:52:11 +01:00
Mario Carneiro
09f9cada65
chore(init/data/nat): rename add_one_eq_succ -> add_one
2017-07-26 11:52:10 +01:00
Mario Carneiro
cc81118892
refactor(init/data): move out some nat lemmas
2017-07-26 11:52:10 +01:00
Mario Carneiro
7d4fe55bff
fix(tests/lean/run/choice_anon_ctor): fix test
2017-07-26 11:52:10 +01:00
Mario Carneiro
74aeb250ec
refactor(*): move out stdlib
2017-07-26 11:52:10 +01:00
Leonardo de Moura
c7c8387bd8
chore(tests/lean/run/bin_tree): fix broken test
2017-07-21 05:05:42 -07:00
Leonardo de Moura
4faae27069
perf(frontends/lean): add notation #[...]
...
The new notation should be use to input long sequences.
Closes #1755
2017-07-21 04:20:48 -07:00
Mario Carneiro
97a01d25fd
fix(init/meta/tactic): skip solved goals in seq_focus and seq
...
and all/any_goals. This occurs when solving the first subgoal generated by `tac1; tac2` closes the second goal as well, before the second `tac2` invocation is run. Reported by @jldodds on gitter.
2017-07-21 02:10:48 -07:00
Sebastian Ullrich
ae5bc52d97
fix(frontends/lean/elaborator): pass expected type through visit_function
2017-07-20 01:58:29 -07:00
Sebastian Ullrich
9ed72acabe
fix(frontends/lean/builtin_exprs): allow constant patterns in do notation
2017-07-20 01:51:00 -07:00
Sebastian Ullrich
7d39b3e948
refactor(init/meta/interactive): merge generalize and generalize2 and introduce nicer syntax
2017-07-20 01:51:00 -07:00
Gabriel Ebner
3392aa90b5
fix(frontends/lean/definition_cmds): support parameters in mutual defs
2017-07-13 15:14:46 +01:00
Gabriel Ebner
ecf7e3d2d8
feat(tests): test overriden VM functions on small values
2017-07-11 23:00:09 +01:00
Gabriel Ebner
8f31cff99b
chore(tests): move 1723 test to the expected output tests
2017-07-09 08:05:05 +02:00