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 |
|
Soonho Kong
|
e953032c22
|
Update interval
|
2013-08-06 20:01:20 -07:00 |
|
Soonho Kong
|
5efd2fdd6f
|
Update util/numerics/CMakeLists.txt to add mpfp, double, float
|
2013-08-06 20:01:09 -07:00 |
|
Soonho Kong
|
975730a3fb
|
Add test for mpfp
|
2013-08-06 20:00:37 -07:00 |
|
Soonho Kong
|
fb41a4f5a3
|
Add numeric_traits for double and float
|
2013-08-06 20:00:37 -07:00 |
|
Soonho Kong
|
d22b4bc9f1
|
Add mpfp, a wrapper for MPFR
|
2013-08-06 19:59:58 -07:00 |
|
Soonho Kong
|
59ec8357f4
|
Require GMP version 5.0.5
|
2013-08-06 19:55:34 -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
|
8aee11e538
|
Fix test failure when using clang++ and release mode
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
|
f6057e2b28
|
Add more environment tests
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 |
|
Soonho Kong
|
8dab224137
|
Fix CMakeLists.txt
|
2013-08-05 19:16:52 -07:00 |
|
Soonho Kong
|
52232f37cb
|
Add numeric_traits<double> and numeric_traits<float> which are using MPFR
|
2013-08-05 18:57:09 -07:00 |
|
Soonho Kong
|
a6f825caa5
|
Add MPFR & restructure cmake directory
|
2013-08-05 17:58:54 -07:00 |
|
Leonardo de Moura
|
70de591934
|
Add definitions and facts
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-04 20:52:14 -07:00 |
|
Leonardo de Moura
|
5f77a2367f
|
Allow Boolean expressions (aka propositions) to be used as types.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-04 18:26:01 -07:00 |
|
Leonardo de Moura
|
4b5d60f2b2
|
Add get_uvar method
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-04 17:47:54 -07:00 |
|
Leonardo de Moura
|
c97db1f0cf
|
Add children environments
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-04 16:07:37 -07:00 |
|
Leonardo de Moura
|
95447deea3
|
Add normalization a = b for values (aka semantic attachments)
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-04 14:54:33 -07:00 |
|
Leonardo de Moura
|
f0ccb2a03e
|
Rename eqp --> is_eqp. The name is too similar to heterogeneous equality constructor eq.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-04 09:41:49 -07:00 |
|
Leonardo de Moura
|
3f789ce2b7
|
Add let and heterogeneous equality. Add bool_type and bool_value.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-04 09:37:52 -07:00 |
|
Leonardo de Moura
|
b979436c40
|
Add basic semantic attachments for arithmetic
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-03 19:57:06 -07:00 |
|
Leonardo de Moura
|
15a4152ce8
|
Fix merge problem
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-03 16:13:56 -07:00 |
|
Leonardo de Moura
|
0a679074f0
|
Add support for semantic attachments. Remove expr_numeral
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-03 16:12:15 -07:00 |
|
Leonardo de Moura
|
1fec8b0d5b
|
Rename (stack) value to svalue
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-03 16:12:15 -07:00 |
|
Leonardo de Moura
|
0b8fa3b167
|
Remove dead code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-03 16:12:15 -07:00 |
|
Leonardo de Moura
|
cce469119f
|
Flip order of the arguments for instance and abstract. Simplify type_checker.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-03 16:12:15 -07:00 |
|
Leonardo de Moura
|
190855ad1b
|
Add (relaxed) version of instantiate that can substitute terms containing free variables
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-03 16:12:15 -07:00 |
|
Leonardo de Moura
|
2972bdfec3
|
Rename abst_type to abst_domain
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-03 16:12:12 -07:00 |
|
Leonardo de Moura
|
e1e3e6b2d6
|
Add instantiate tests
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-03 16:10:20 -07:00 |
|
Leonardo de Moura
|
b67a92cf10
|
Add scanner base class
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-03 16:10:20 -07:00 |
|
Soonho Kong
|
bac75541dc
|
Add static_asserts to template funcs in expr.h & replace.h
|
2013-08-02 20:00:40 -07:00 |
|
Soonho Kong
|
fd7f0e9658
|
Update format test
|
2013-08-02 20:00:40 -07:00 |
|
Soonho Kong
|
83edc38fa1
|
Change folddoc to fold_right, add static_asserts for template functions
|
2013-08-02 19:48:11 -07:00 |
|
Soonho Kong
|
5f10d47035
|
Change operators in format:
f1 + f2 = f1 <> f2
f1 ^ f2 = f1 <> " " <> f2
|
2013-08-02 19:17:29 -07:00 |
|
Soonho Kong
|
bddecd7d9c
|
Roll back to flatten(line) == " "
|
2013-08-02 19:16:19 -07:00 |
|
Soonho Kong
|
4ebb96d7cd
|
Add static_asserts to sexpr_funcs.h
|
2013-08-02 18:26:51 -07:00 |
|
Soonho Kong
|
cda969187a
|
Add one small test to expr
|
2013-08-02 10:34:46 -07:00 |
|
Leonardo de Moura
|
ae697ddda7
|
Update CMakeLists.txt: bison++ and flex
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-02 07:56:18 -07:00 |
|
Leonardo de Moura
|
a8c77ff40e
|
Disable eta-reduction for now.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-01 23:19:34 -07:00 |
|
Leonardo de Moura
|
c13b9a792a
|
Add small example
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-01 22:07:28 -07:00 |
|
Leonardo de Moura
|
3ef9d21875
|
Fix bugs in type checker
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-01 21:40:39 -07:00 |
|
Leonardo de Moura
|
7b00561a94
|
Normalize level expressions
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-01 21:40:39 -07:00 |
|
Leonardo de Moura
|
e220d7c525
|
Add type checker. Fix normalization with non-empty context
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-01 21:40:36 -07:00 |
|
Leonardo de Moura
|
bed5f09907
|
Rename normalize context to local_context. Create context. Fix bug in name.cpp
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-08-01 21:39:02 -07:00 |
|
Soonho Kong
|
322c2b472d
|
Add more to expr pretty-print
|
2013-08-01 18:54:06 -07:00 |
|
Soonho Kong
|
229b4f8759
|
Update format.cpp, flatten(LINE) = "" instead of " "
|
2013-08-01 18:53:41 -07:00 |
|
Soonho Kong
|
e898bb996c
|
Fix performance bug in format, add paren combinator
|
2013-08-01 18:03:51 -07:00 |
|
Soonho Kong
|
5a89bffe83
|
Add pp to expr
|
2013-08-01 15:42:06 -07:00 |
|
Soonho Kong
|
426c3a667a
|
Update format
1) operator+ is <> (previously, it was a + b = a <> ' ' <> b)
2) using sstream to compute length of text
|
2013-08-01 15:41:45 -07:00 |
|
Soonho Kong
|
0f98ee03b5
|
Use 'nullptr' instead of '0'
|
2013-08-01 13:57:43 -07:00 |
|
Soonho Kong
|
a7910e1fe7
|
Update format.cpp & format.h + Update format tests
|
2013-08-01 13:43:49 -07:00 |
|
Soonho Kong
|
092b8889e4
|
Add more tests on sexpr_funcs
|
2013-08-01 13:43:27 -07:00 |
|
Soonho Kong
|
5be67bd42c
|
Add forall, foldl, foldr to sexpr_funcs
|
2013-08-01 13:43:27 -07:00 |
|
Leonardo de Moura
|
10def5cabe
|
Remove duplicate code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-29 21:34:16 -07:00 |
|
Leonardo de Moura
|
4efa9a92df
|
Fix performance issue
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-29 21:33:43 -07:00 |
|
Leonardo de Moura
|
08b750c825
|
Remove Prop from kernel
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-29 19:49:34 -07:00 |
|
Leonardo de Moura
|
6452c69b96
|
Use level at kernel expressions
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-29 19:44:26 -07:00 |
|
Leonardo de Moura
|
537e2c101c
|
Add more tests. Fix bug in universe implication test.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-29 19:05:43 -07:00 |
|
Leonardo de Moura
|
299ec9c254
|
Fix space
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-28 23:14:27 -07:00 |
|
Leonardo de Moura
|
279e524c9e
|
Fix bug in universe levels
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-28 23:11:35 -07:00 |
|
Leonardo de Moura
|
a4f456c99e
|
Universe levels
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-28 22:34:39 -07:00 |
|
Leonardo de Moura
|
13bce7bb6f
|
checkpoint
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-26 14:16:29 -07:00 |
|
Leonardo de Moura
|
a241d5f4b1
|
Add eta-reduction
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-26 12:37:13 -07:00 |
|
Leonardo de Moura
|
ed13132c12
|
Add has_free_var, lower_free_vars
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-26 12:27:55 -07:00 |
|
Leonardo de Moura
|
09708209a7
|
Improve documentation
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-26 11:43:53 -07:00 |
|
Leonardo de Moura
|
bf0cca3805
|
Add multi-thread tests
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-25 22:33:13 -07:00 |
|
Leonardo de Moura
|
b6236130f9
|
Fix stack overflow at travis when using clang++ 3.3 in debug mode
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-25 22:05:09 -07:00 |
|
Leonardo de Moura
|
f7138b6ecf
|
Fix normalize
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-25 19:13:45 -07:00 |
|
Leonardo de Moura
|
14c899e7ca
|
Add normalize
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 19:36:54 -07:00 |
|
Leonardo de Moura
|
5889c6488f
|
Add list template.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 16:32:50 -07:00 |
|
Leonardo de Moura
|
b45a5d231c
|
Add buffer test
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 15:01:19 -07:00 |
|
Leonardo de Moura
|
c2ebe42ca8
|
Move numerics and sexpr to util
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:57:51 -07:00 |
|
Leonardo de Moura
|
1f7011353b
|
Add (temporary) buffer class
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:57:51 -07:00 |
|
Leonardo de Moura
|
0fb93ad6ef
|
Expose max_sharing_fn object
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:32 -07:00 |
|
Leonardo de Moura
|
ed3df178ac
|
Improve hash for hierarchical names.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:32 -07:00 |
|
Leonardo de Moura
|
59592ed36b
|
Add deep copy for kernel expressions
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:32 -07:00 |
|
Leonardo de Moura
|
ceb6537e3a
|
Fix race condition when updating expression flags: max_shared and closed
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:32 -07:00 |
|
Leonardo de Moura
|
1398c927cd
|
Fix compilation error with clang++
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:32 -07:00 |
|
Leonardo de Moura
|
4b61639f4d
|
Use consistent naming for functional objects
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:32 -07:00 |
|
Leonardo de Moura
|
4ae0c4c445
|
Remove dead code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:32 -07:00 |
|
Leonardo de Moura
|
9b3c47a521
|
Refactor instantiate/abstract code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:32 -07:00 |
|
Leonardo de Moura
|
c7b12a2815
|
Add abstract/instantiate for kernel expressions
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:32 -07:00 |
|
Leonardo de Moura
|
ed6d6483fe
|
Rename abst_expr -> abst_body
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:32 -07:00 |
|
Leonardo de Moura
|
9fd88e6e27
|
Add small demo
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:32 -07:00 |
|
Leonardo de Moura
|
576726bf58
|
Use operator() for creating applications
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:31 -07:00 |
|
Leonardo de Moura
|
54a02b4fc7
|
Simplify expr accessor names
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:31 -07:00 |
|
Leonardo de Moura
|
2c3fc09e3c
|
Add has_free_vars/closed function
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2013-07-24 14:56:31 -07:00 |
|