Leonardo de Moura
|
577256fedc
|
Add highlight_keyword, highlight_builtin, highlight_command for consistent formatting
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-15 19:02:28 -07:00 |
|
Leonardo de Moura
|
2d74ff5fe0
|
Cache results of the normalizer. Add example that demonstrates the exponential performance improvement.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-14 23:18:50 -07:00 |
|
Leonardo de Moura
|
984c4149fa
|
Add helper functions for creating Let expressions. Add simple type checking test for Let expressions.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-14 22:30:12 -07:00 |
|
Leonardo de Moura
|
b0f2ee6de0
|
Add notation support to frontend object
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-14 18:17:18 -07:00 |
|
Leonardo de Moura
|
5bfb074eaf
|
Create objects for universe variable declarations.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-14 18:17:18 -07:00 |
|
Leonardo de Moura
|
285c8dafdc
|
Display context_entry body when pretty printing contexts.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-14 18:17:18 -07:00 |
|
Leonardo de Moura
|
23d245bb2e
|
Sanitize context names before generating error messages. Add [[ noreturn ]] attribute to functions that always throw exceptions.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-14 18:17:18 -07:00 |
|
Leonardo de Moura
|
a6f0a69186
|
Avoid head and tail when manipulating contexts
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-14 18:17:18 -07:00 |
|
Leonardo de Moura
|
56305e4672
|
Add sanitize_names for (local) contexts
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-14 18:17:17 -07:00 |
|
Leonardo de Moura
|
e5b8c45b3f
|
Rename type to domain in contexts (aka telescopes). Reason: make name convention consistent with the one used for abstractions (lambdas and pis).
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-14 18:17:17 -07:00 |
|
Leonardo de Moura
|
338ce88ea0
|
Add occurs function
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-14 18:17:17 -07:00 |
|
Leonardo de Moura
|
2dad1e0e33
|
Fix type mismatch error message
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-13 19:24:11 -07:00 |
|
Leonardo de Moura
|
392b347f53
|
Add expr_formatter and expr_locator. Add better error messages. Improve simple printer.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-13 19:16:40 -07:00 |
|
Leonardo de Moura
|
3bcbdf7c7b
|
Add options to customize formatter
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-13 16:19:30 -07:00 |
|
Leonardo de Moura
|
11a9cac5d6
|
Refactor kernel objects
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-13 15:13:54 -07:00 |
|
Leonardo de Moura
|
0a4e03efc5
|
Remove option name::separator, it can't be configured during runtime
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-13 08:18:01 -07:00 |
|
Leonardo de Moura
|
2ea7479ee9
|
Move sexpr/format/options to util/sexpr (reason: circular dependency between util and numerics lib), now numerics depend on util, and sexpr depends on numerics and util. Add scanner to frontend.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-13 03:40:51 -07:00 |
|
Leonardo de Moura
|
4eeb72b0ee
|
Fix performance problem in has_free_var. Add new test at src/tests/kernel/free_vars.cpp that exposes the problem.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-11 11:19:59 -07:00 |
|
Leonardo de Moura
|
5c6ee647a9
|
Fix bug in has_free_vars_fn. Add optimization to type_checker.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-10 22:05:04 -07:00 |
|
Leonardo de Moura
|
3a1514982f
|
Add small optimization.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-10 21:02:45 -07:00 |
|
Leonardo de Moura
|
7ebaac62a8
|
Add scoped_map. Cache type checker results.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-10 19:27:56 -07:00 |
|
Leonardo de Moura
|
f79c0d3546
|
Add support for cygwin
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-10 14:21:13 -07:00 |
|
Leonardo de Moura
|
9fbe99bf58
|
Rename define_uv -> add_uvar
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-10 14:21:13 -07:00 |
|
Leonardo de Moura
|
3d9f9a12d1
|
Enable automatic coercion from 'char const *' to hierachical name
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-10 14:21:13 -07:00 |
|
Soonho Kong
|
a1229692b0
|
Add static_asserts for higher-order functions in kernel/for_each.h and kernel/pp.cpp
|
2013-08-09 22:41:07 -07:00 |
|
Leonardo de Moura
|
ecf9506abe
|
Add object iterator for environment objects
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-08 18:38:18 -07:00 |
|
Leonardo de Moura
|
2d4caa7450
|
Mark 'implicit' parameters, and move them to the beginning
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-07 21:53:19 -07:00 |
|
Leonardo de Moura
|
e558edcd52
|
Use ',' as separator for lambda
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-07 21:53:19 -07:00 |
|
Leonardo de Moura
|
3fbc506271
|
Rename Truth to Trivial, and delete Trivial macro
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-07 21:53:19 -07:00 |
|
Leonardo de Moura
|
2670e94398
|
Add pretty printer for Lean environment
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-07 19:10:12 -07:00 |
|
Leonardo de Moura
|
84de625ee4
|
Rename pp functions (that do not use format lib) to print
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-07 12:10:10 -07:00 |
|
Leonardo de Moura
|
dd21cdcc95
|
Add more theorems.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-07 11:23:04 -07:00 |
|
Leonardo de Moura
|
5acedcddbb
|
Remove useless is_* functions. We can use equality for that (more readable and similar performance).
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-07 08:34:50 -07:00 |
|
Leonardo de Moura
|
2d27573e0c
|
Add ImpAntisym axiom
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-07 08:29:20 -07:00 |
|
Leonardo de Moura
|
722e2b0ed4
|
Reformat code (make formating more consistent)
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-07 08:17:33 -07:00 |
|
Leonardo de Moura
|
58fef282c3
|
Refactor theorems. Add new theorems.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-07 01:16:37 -07:00 |
|
Leonardo de Moura
|
345894d4ed
|
Add => as a primitive. Define Not, And and Or using =>. Add MP and Discharge as axioms.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-06 20:22:09 -07:00 |
|
Leonardo de Moura
|
d88ff6f8e1
|
Add more theorems
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-06 19:10:38 -07:00 |
|
Leonardo de Moura
|
d1388f5e3c
|
Define Lean forall. Prove forall elimination.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-06 16:44:58 -07:00 |
|
Leonardo de Moura
|
4c28cb933b
|
Fix bug in is_convertible
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-06 16:44:22 -07:00 |
|
Leonardo de Moura
|
3ff3eb6444
|
Add Eta axiom
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-06 14:47:13 -07:00 |
|
Leonardo de Moura
|
68d092f5ef
|
Prove congr1, congr2 and congr theorems. Add xtrans theorem.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-06 14:37:30 -07:00 |
|
Leonardo de Moura
|
ab915fb3f0
|
Add add_theorem
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-06 12:24:20 -07:00 |
|
Leonardo de Moura
|
9d6b421be9
|
Add theorems Truth, EqMP and EqTElim
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-06 12:17:55 -07:00 |
|
Leonardo de Moura
|
84f4a32c0e
|
Change name convention for creating Lean expressions
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-06 11:27:14 -07:00 |
|
Leonardo de Moura
|
33d2dd2d8b
|
Add subst proof rule. Define symm and trans using subst.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-06 02:03:22 -07:00 |
|
Leonardo de Moura
|
30513398bb
|
Add basic definitions and axioms
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-05 20:06:42 -07:00 |
|
Leonardo de Moura
|
2986f0543e
|
Simplify how universe variable constraints are represented in the kernel. Allow universe variable to be created without an environment.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-05 20:06:42 -07:00 |
|
Leonardo de Moura
|
7e2d7dcf3d
|
Add more builtin constants
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-05 20:06:42 -07:00 |
|
Leonardo de Moura
|
0c610e0a77
|
Fix bug in type checker
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-05 20:06:42 -07:00 |
|