Leonardo de Moura
|
3b23bec25b
|
feat(frontends/lean): variables/parameters and check commands have access to all section variables/parameters, closes #231
|
2014-10-08 08:40:55 -07:00 |
|
Leonardo de Moura
|
5b9bd279af
|
chore(frontends/lean/parser): minor cleanup
|
2014-10-08 08:40:55 -07:00 |
|
Leonardo de Moura
|
744cee8dd8
|
feat(frontends/lean): force 'classes' to be declared before instances are declared, closes #228
|
2014-10-07 18:02:15 -07:00 |
|
Leonardo de Moura
|
d8572e249d
|
feat(frontends/lean/builtin_cmds): add 'print classes' command
|
2014-10-07 17:30:57 -07:00 |
|
Leonardo de Moura
|
c31c026f46
|
feat(frontends/lean/class): accept only inductive datatypes (and records) as classes
|
2014-10-07 17:30:57 -07:00 |
|
Leonardo de Moura
|
8fa171cb92
|
refactor(library/unifier): allow general 'unify' procedure to take an initial substitution as argument
|
2014-10-07 17:30:57 -07:00 |
|
Leonardo de Moura
|
16041e4948
|
fix(frontends/lean/elaborator): 'as-is' expressions
The elaborator should not introduce implicit arguments on terms marked
as 'as-is'.
|
2014-10-07 16:38:31 -07:00 |
|
Leonardo de Moura
|
531de7990d
|
refactor(frontends/lean/tactic_hint): simplify tactic_hints
|
2014-10-07 11:34:58 -07:00 |
|
Leonardo de Moura
|
90ece4dd1b
|
feat(frontends/lean): remove tactic hints for specific classes
The idea is to separate class-instance resolution and tactic framework
as two independent engines.
|
2014-10-07 09:44:01 -07:00 |
|
Leonardo de Moura
|
dc92f67588
|
feat(frontends/lean/server): CLEAR_CACHE forces buffer to be reprocessed
|
2014-10-06 08:42:20 -07:00 |
|
Leonardo de Moura
|
16562adb87
|
feat(frontends/lean): add 'coercions' and 'instances' to 'print' command, closes #71
|
2014-10-05 18:50:48 -07:00 |
|
Leonardo de Moura
|
a9741c5c30
|
chore(frontends/lean/placeholder_elaborator): indent code
|
2014-10-04 10:36:10 -07:00 |
|
Leonardo de Moura
|
0a288aec40
|
chore(frontends/lean/proof_qed_elaborator): remove obsolete comment
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-10-04 09:19:33 -07:00 |
|
Leonardo de Moura
|
64f6601fe3
|
fix(frontends/lean/proof_qed_elaborator): information about synthesized variables in a proof-qed block was being lost
|
2014-10-04 09:15:42 -07:00 |
|
Leonardo de Moura
|
bf01cfeec5
|
fix(frontends/lean): avoid superfluous local references of the form @-1 (@ f) ,
This kind of term also confuses the elaborator
|
2014-10-04 07:55:32 -07:00 |
|
Leonardo de Moura
|
e71d4548de
|
fix(frontends/lean): universe levels associated with section variables should not be fixed in the section
|
2014-10-04 07:13:19 -07:00 |
|
Leonardo de Moura
|
b9e7fecb1f
|
fix(frontends/lean/elaborator): style
|
2014-10-03 16:26:28 -07:00 |
|
Leonardo de Moura
|
a1bb6d6017
|
refactor(frontends/lean/elaborator): expose elaborator class
|
2014-10-03 16:10:36 -07:00 |
|
Leonardo de Moura
|
dccf8a3a75
|
chore(frontends/lean/elaborator): fix field name
|
2014-10-03 15:34:23 -07:00 |
|
Leonardo de Moura
|
938e12baa1
|
feat(frontends/lean/notation_cmd): allow local numeric notation
|
2014-10-03 13:55:57 -07:00 |
|
Leonardo de Moura
|
dbb7f834af
|
refactor(frontends/lean/parser_config): merge notation_ext and mpz_notation_ext
|
2014-10-03 13:55:57 -07:00 |
|
Leonardo de Moura
|
73eca1ef44
|
feat(frontends/lean/notation_cmd): notation defined in context overrides existing ones
|
2014-10-03 13:55:57 -07:00 |
|
Leonardo de Moura
|
c0725d1934
|
refactor(frontends/lean): remove 'including' expressions
|
2014-10-03 09:09:27 -07:00 |
|
Leonardo de Moura
|
01d4644026
|
fix(frontends/lean): bug in include/omit commands: in the end of section/context, the configuration must be restored
|
2014-10-03 08:52:35 -07:00 |
|
Leonardo de Moura
|
284f300440
|
feat(frontends/lean): add 'include' and 'omit' commands, closes #184
|
2014-10-03 07:23:24 -07:00 |
|
Leonardo de Moura
|
6950b4aa9b
|
fix(frontends/lean/decl_cmds): do not allow section parameters/variables to shadow existing parameters/variables
|
2014-10-02 18:29:41 -07:00 |
|
Leonardo de Moura
|
d5cad765a0
|
feat(frontends/lean): enforce new semantics for section 'variables'
The library file logic/core/connectives uses the new feature.
|
2014-10-02 17:55:34 -07:00 |
|
Leonardo de Moura
|
f006d93794
|
feat(frontends/lean): section variables occur after section parameters
|
2014-10-02 17:55:34 -07:00 |
|
Leonardo de Moura
|
0a13e7863a
|
feat(frontends/lean): enforce rule section parameters cannot depend on section variables
|
2014-10-02 17:55:34 -07:00 |
|
Leonardo de Moura
|
bf081ed431
|
refactor(kernel): rename var_decl to constant_assumption
Motivation: it matches the notation used to declare it.
|
2014-10-02 17:55:34 -07:00 |
|
Leonardo de Moura
|
4946f55290
|
refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-10-02 17:55:34 -07:00 |
|
Leonardo de Moura
|
f78d831de3
|
refactor(frontends/lean): remove hardcoded Type', and define it using notation
|
2014-10-02 14:29:51 -07:00 |
|
Leonardo de Moura
|
4cb54ac825
|
feat(frontends/lean/elaborator): more strict test for bad universe solution
|
2014-10-02 14:29:51 -07:00 |
|
Leonardo de Moura
|
98e66586e9
|
feat(frontends/lean/elaborator): elaborator rejects 'Type' if the universe is explicit
|
2014-10-02 14:29:51 -07:00 |
|
Leonardo de Moura
|
db9671d7c3
|
fix(frontends/lean/decl_cmds): remove assertion that does not hold anymore
|
2014-10-02 09:19:40 -07:00 |
|
Leonardo de Moura
|
5bd8e9d141
|
fix(frontends/lean/decl_cmds): allow private transparent definitions
Example:
section
universe l
private definition T := Type.{max 1 l}
...
end
|
2014-10-02 07:56:01 -07:00 |
|
Leonardo de Moura
|
153e3927ac
|
feat(frontends/lean/elaborator): modify '!' semantics: it stops consuming arguments as soon it finds an argument that does not occur in the rest of the type.
|
2014-10-01 18:50:17 -07:00 |
|
Leonardo de Moura
|
ead827d6b7
|
feat(frontends/lean): add ! operator the "dual" of @ , closes #220
|
2014-10-01 17:13:41 -07:00 |
|
Leonardo de Moura
|
c46ec6a548
|
fix(frontends/lean): missing type information for INFO, fixes #218
|
2014-10-01 14:29:07 -07:00 |
|
Leonardo de Moura
|
f863d82e69
|
fix(frontends/lean/pp): pp was not taking into account new namespace name resolution rules, fixes #216
|
2014-10-01 11:24:45 -07:00 |
|
Leonardo de Moura
|
263b081e69
|
fix(frontends/lean/inductive_cmd): temporary aliases must take explicit universes into account, fixes #215
|
2014-10-01 10:24:44 -07:00 |
|
Leonardo de Moura
|
71077f5c89
|
feat(frontends/lean/parser): allow _ at level expressions
|
2014-10-01 10:24:44 -07:00 |
|
Leonardo de Moura
|
2730e5163e
|
feat(frontends/lean): allow 'sorry' implicit argument to access the whole context, and avoid cryptic error message
See new test for explanation.
|
2014-09-30 18:04:04 -07:00 |
|
Leonardo de Moura
|
486839881c
|
feat(*): use environment fingerprint to detect when the cache cannot be used because the configuration changed, closes #75
We are not taking into the account the options object yet.
|
2014-09-29 18:30:00 -07:00 |
|
Leonardo de Moura
|
530997638a
|
feat(library/definition_cache): store the hashcode of direct dependencies
Actually we store the has code of their types.
|
2014-09-29 18:30:00 -07:00 |
|
Leonardo de Moura
|
113879a7dd
|
feat(frontends/lean/server): sort exact matches by size in FINDP
|
2014-09-29 16:44:55 -07:00 |
|
Leonardo de Moura
|
334977b8bd
|
fix(frontends/lean/info_manager): crash when accessing INFO in the end of the file
|
2014-09-29 16:44:55 -07:00 |
|
Leonardo de Moura
|
0d6d746d98
|
feat(frontends/lean): check modification time of imported files
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-29 15:17:27 -07:00 |
|
Leonardo de Moura
|
6630ed8165
|
fix(frontends/lean/decl_cmds): warning message when compiling with clang++
|
2014-09-29 12:34:00 -07:00 |
|
Leonardo de Moura
|
21be308884
|
feat(frontends/lean/inductive_cmd): infer implicit argument annotation after elaboration, allow user to disable it by using '()' annotation, closes #210
|
2014-09-29 11:11:17 -07:00 |
|