Commit graph

1526 commits

Author SHA1 Message Date
Leonardo de Moura
1cee392483 Add light_checker: module for extracting the type of (fully elaborated) expressions. It is much faster than type_checker, which infers the type but also check whether the input is type correct or not.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-07 22:33:18 -07:00
Leonardo de Moura
6bb9fc859e Add examples that demonstrate limitations of the current elaborator. The new design, we are working on, will be able to solve them.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-07 19:40:40 -07:00
Leonardo de Moura
33c4b44b2b Encapsulate context implementation. The current implementantion based on lists may be a performance problem in the future, and we should be able to change it without affecting the whole code base.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-07 11:15:11 -07:00
Leonardo de Moura
bab11b57ad Move Symm and Trans back to basic_thms.cpp
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 23:49:35 -07:00
Leonardo de Moura
c674bb3790 Add castlib as an independent library
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 23:40:47 -07:00
Leonardo de Moura
7a9d53d0d7 Refactor arith libraries
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 23:19:47 -07:00
Leonardo de Moura
b92bbeb83b Add casting propagation and normalization
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 20:45:26 -07:00
Leonardo de Moura
7eab229114 Improve check_pi in lean elaborator
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 18:58:33 -07:00
Leonardo de Moura
c0c2f52087 Add Cast, DomInj and RanInj. Improve operator << for lean_frontend objects.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 18:32:15 -07:00
Leonardo de Moura
b62816cc25 Fix problem with pretty printer. Add another test for elaborator
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 18:01:11 -07:00
Leonardo de Moura
edafd519e1 Add missing case to elaborator
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 17:43:08 -07:00
Leonardo de Moura
26bf7bcaac Fix bug in the elaborator. Move character ' to class A
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 17:12:35 -07:00
Leonardo de Moura
8840b37258 Fix type checker and elaborator for let expressions. Fix get_coercions (we need to pass the context). Fix pretty printer for def_type_mismatch_exception.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 11:02:00 -07:00
Leonardo de Moura
2459c4ae7c Add (optional) type to let declarations
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 10:06:26 -07:00
Leonardo de Moura
6da194334e Move 'slow' test files to different subdir. Modify CTestCustom.cmake.in to run leantests.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 08:48:12 -07:00
Leonardo de Moura
6f3b0c30fb Add 'Variables' command.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 08:48:12 -07:00
Leonardo de Moura
3dc55c452c Parse decimal values
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-06 08:48:12 -07:00
Soonho Kong
f3f74b9ff5 Fix .travis files
- OSX sed expects parameter for "-i" option
- for Windows and OSX build, we need to get the commit hash of HEAD~
  instead of HEAD because we made an extra commit to trigger the build
2013-09-05 20:53:21 -07:00
Soonho Kong
d9bca66585 Update .travis files to have consistent site/build names 2013-09-05 20:20:37 -07:00
Leonardo de Moura
0680865689 Fix typo 2013-09-05 19:18:55 -07:00
Leonardo de Moura
b3a095b068 Fix pretty printer for evaluator
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-05 18:57:29 -07:00
Leonardo de Moura
71d76a891c Add proof by evaluation examples
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-05 18:56:33 -07:00
Leonardo de Moura
c22bd8b6ed Clean elaborator_exception pretty printing
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-05 10:15:52 -07:00
Leonardo de Moura
eb96e6441f Moved kernel exception formatting to kernel_exception_formatter.cpp.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-05 10:15:43 -07:00
Soonho Kong
fbd778fe2e Update .travis.windows.yml
change OS to Windows from Linux.
[skip ci]
2013-09-04 17:52:38 -07:00
Soonho Kong
974b99b424 Update CTestCustom.cmake.in
Exclude "threads" test from valgrind targets
[skip ci]
2013-09-04 16:41:04 -07:00
Leonardo de Moura
87d3961158 Improve elaborator error messages
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-04 16:36:58 -07:00
Leonardo de Moura
613d83cdf4 Improve application type mismatch errors. We also show the implicit arguments (not just their types)
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-04 16:36:58 -07:00
Leonardo de Moura
408005b730 Fix typo
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-04 16:36:57 -07:00
Soonho Kong
82897d26f1 Update .travis.osx.yml
Turn off 'MEMCHECK' for OSX build.
[skip ci]
2013-09-04 16:17:36 -07:00
Soonho Kong
aa20105fc3 Put LEANREPO variable in .travis.yml to check the blessed repository inside of travis-ci.
It prevents other users from running heavy tasks on travis and submitting results to cdash server.
2013-09-04 16:02:15 -07:00
Soonho Kong
7d6f87cb8a Put MemCheck and Submit to "after_script" section to ignore possible failures 2013-09-04 15:35:07 -07:00
Soonho Kong
30e5ac7004 Fix OSX linker warning issue 2013-09-04 15:35:07 -07:00
Soonho Kong
45cd3ab1d2 Update README.md
fix g++ version on OSX
[skip ci]
2013-09-04 14:21:08 -07:00
Leonardo de Moura
be7fa0932a Add unicode name for the types: Nat, Int and Real
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-04 09:03:41 -07:00
Leonardo de Moura
d41160f8a5 Modify environment. Now, when a builtin value is declared, if it has a unicode alternative representation, then we add it as a definition. Now, everything that occurs in the environment has been 'declared'.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-04 08:53:00 -07:00
Leonardo de Moura
e955c054ca Modify type checker. Now, it only accepts builtin values that have been declared in the environment. The idea is to be able to track which classes of builtin values have been used in a given environment. We want to be able to quantify the size of the trusted code base for a particular development.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-04 08:30:04 -07:00
Leonardo de Moura
9f34f96b08 Add another example
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-04 05:40:28 -07:00
Soonho Kong
7a8d15e282 Update README.md to switch to cdash on CMU machine
[skip ci]
2013-09-04 05:12:10 -07:00
Soonho Kong
354daf2f16 Add MEMCHECK to linux-clang-3.3 build 2013-09-04 08:09:52 -04:00
Soonho Kong
a8c16bc127 Fix test coverage problem by forcing to use gcov-4.8 2013-09-04 08:07:24 -04:00
Soonho Kong
6edf7f5b94 Supress gcc warnings on OS X 2013-09-04 04:46:38 -07:00
Soonho Kong
5e603dbf9f Use cdash on cmacslab2 machine due to 10-build per day restriction 2013-09-04 04:46:37 -07:00
Leonardo de Moura
9f64e2b14b Fix another cdash warning
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-04 04:43:55 -07:00
Leonardo de Moura
00bee9c96e Fix warning produced by clang++
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-04 04:40:43 -07:00
Leonardo de Moura
57c0c69872 Fix bug reported by Valgrind. Reason: m_metavars is a vector of metavar_info; each metavar_info has a context; when we invoke mk_metavar the vector can grow in size, and the context is moved to a new location. The previous location is invalidated. To avoid the problem we have to save ctx in a local variable.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-04 04:29:03 -07:00
Soonho Kong
9522048390 Use my.cdash.org to store results of unittests, coverage, and valgrind 2013-09-04 02:49:14 -07:00
Soonho Kong
bbbd584b45 Use my.cdash.org to store results of unittests, coverage, and valgrind 2013-09-04 00:51:20 -07:00
Soonho Kong
2250c1356f Add build instructions for Fedora19 2013-09-04 00:00:17 -07:00
Leonardo de Moura
887f696f66 Factor duplicate code. Add more comments
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-09-03 23:27:58 -07:00