Commit Graph

1284 Commits

Author SHA1 Message Date
Iavor S. Diatchki
8a1a5e259d Replace CrySAT1. Implement information propagation. Hook debug output in solver. 2014-11-05 12:48:46 -08:00
Iavor S. Diatchki
6c0200d236 Propagate x = inf in conjunctions and disjunctions. 2014-11-04 18:23:47 -08:00
Brian Huffman
0352dca57a Add regression test for github issue #133.
Renamed old "issue133" to "trac133", indicating that it uses a different
numbering system.
2014-11-04 16:10:48 -08:00
Iavor S. Diatchki
ae6caeb86a Capture some of the invariants for the simplfier. 2014-11-04 14:31:41 -08:00
Adam C. Foltzer
b05ddd5e54 Partially fixes #73
Due to the limitations of the GHC runtime, we can't get around the
possibility of out-of-memory errors, but we can prevent individual
bitvectors from being too large for the libgmp-backed bignums.

There is now an architecture-dependent check whenever creating a new
`BV` value in the concrete evaluator to ensure the width does not
exceed the GMP limits. If a width is too large, the evaluation returns
to the REPL much like diving by zero.
2014-11-04 14:18:42 -08:00
Adam C. Foltzer
761fb4076d add tests for #73 2014-11-04 14:08:23 -08:00
Iavor S. Diatchki
9ceec4d62e Propagate '> 0' through expressions. 2014-11-04 14:06:22 -08:00
Iavor S. Diatchki
6151ae3b89 Cosmetics: rewrite using anyJust. 2014-11-04 14:05:44 -08:00
Iavor S. Diatchki
000d84640b Adjust cryDefined to ensure that first argument fits. 2014-11-04 14:05:09 -08:00
Iavor S. Diatchki
b9ffd47e00 Fix cryNoInf: the second argument of Mod does not need to be finite. 2014-11-04 14:04:36 -08:00
Iavor S. Diatchki
e1c34672a2 Check that the first element of nLefFromThen fits in the result.
See comment for explanation.
2014-11-04 14:03:44 -08:00
Adam C. Foltzer
794017ecf5 add guards for bit vector widths during concrete evaluation
Tested on my 64-bit machine; will run tests on Jenkins slaves
2014-11-04 12:11:24 -08:00
Brian Huffman
0a7b39f944 Add regression tests for issue #135. 2014-11-04 12:03:07 -08:00
Brian Huffman
80ec38fcf5 Merge changes from latest version of SBV
Includes changes after LeventErkok/sbv@55a9405954 (Aug 28)
and up to LeventErkok/sbv@67656c6aba (Nov 3)

Fixes #135.
2014-11-04 11:48:02 -08:00
Iavor S. Diatchki
335832f8ec Comments and desugar Width into Lg2 2014-11-03 18:02:52 -08:00
Iavor S. Diatchki
753c4f4bbc Comment 2014-11-03 16:31:27 -08:00
Iavor S. Diatchki
a42ea5d611 Cosmetics: re-arrange, add export list, use panic. 2014-11-03 16:29:37 -08:00
Iavor S. Diatchki
3c770a742d Cosmetics. 2014-11-03 16:15:31 -08:00
Iavor S. Diatchki
d242681734 Refactor cryIsEq to indicate that it should always be eliminated. 2014-11-03 16:14:06 -08:00
Iavor S. Diatchki
d8bac24282 Propagate Fin constraints across :|| 2014-11-03 16:13:39 -08:00
Iavor S. Diatchki
61fb9bf3da 0 mod x == 0 2014-11-03 15:28:33 -08:00
Iavor S. Diatchki
fe0f2f2cfc x / 1 == x 2014-11-03 15:27:43 -08:00
Iavor S. Diatchki
d5ac027a61 Substition 2014-11-03 15:27:28 -08:00
Iavor S. Diatchki
1459b85b39 Make sure that we generate valid terms, when removing @inf@. 2014-11-03 14:12:36 -08:00
Iavor S. Diatchki
4a362809c6 Computing free variables, plus some generic traversals. 2014-11-03 13:08:56 -08:00
Adam C. Foltzer
9ef8c54919 Working draft of "hacking" document
Merge branch 'feature/issue054'

Closes #54
2014-11-03 11:32:27 -08:00
Adam C. Foltzer
09395fffac add wip branch info to HACKING.md 2014-11-03 11:20:06 -08:00
Iavor S. Diatchki
88b698adf0 Bugfix: typo 2014-11-03 10:35:23 -08:00
Iavor S. Diatchki
fdcfa4bb36 Remember to call the finite constructors. 2014-11-03 10:35:04 -08:00
Iavor S. Diatchki
7154d09f23 Eliminate (:==) completely. 2014-11-03 10:02:08 -08:00
Iavor S. Diatchki
20e8d89c66 Short-cuts for :> 2014-11-03 10:01:41 -08:00
Iavor S. Diatchki
9cedb52c4e Cosmetics. 2014-11-03 10:01:15 -08:00
Iavor S. Diatchki
0fbdfc98c1 Eliminate negated equalities. 2014-11-03 09:47:11 -08:00
Iavor S. Diatchki
5e4d856446 Add some simplification of expressions. 2014-10-31 17:37:16 -07:00
Iavor S. Diatchki
7bd0cc3db2 Eliminate inf from finite terms. 2014-10-31 16:05:23 -07:00
Iavor S. Diatchki
6d9b41afa6 A note about the semantics of dividing inf. 2014-10-31 16:05:12 -07:00
Iavor S. Diatchki
e157b9c5a8 Add propagation of Fin x across conjunctions. 2014-10-30 17:59:23 -07:00
Iavor S. Diatchki
ec69375f9c Rewrite in single-step style. 2014-10-30 15:23:47 -07:00
Iavor S. Diatchki
b9c96077bc Checkpoint. 2014-10-29 17:55:18 -07:00
Iavor S. Diatchki
386112fa7e Simplify and clarify. 2014-10-29 17:55:11 -07:00
Brian Huffman
14b9399e33 fix expected test output for issue #128. 2014-10-23 15:02:42 -07:00
Brian Huffman
5ec364680d Add regression test for issue #130. 2014-10-23 15:00:34 -07:00
Thomas M. DuBuisson
f16a297e90 wrt #132 update the expected output for the tests. 2014-10-23 14:28:01 -07:00
Brian Huffman
234aa3230c Add regression test for issue #128. 2014-10-23 14:20:04 -07:00
Brian Huffman
fde77d79f3 Make symbolic if-then-else operator lazier on infinite stream values
This addresses issue #128.
2014-10-23 14:00:09 -07:00
Thomas M. DuBuisson
eac4e18005 Fix #132 QED --> Q.E.D. 2014-10-23 09:59:12 -07:00
Brian Huffman
bb3ffde9ba Fix implementation of append in symbolic simulator
The case 'VWord # VStream' was previously missing from the definition.
This addresses issue #131.
2014-10-22 20:04:24 -07:00
Brian Huffman
337b7d3a38 Make symbolic simulator handle recursively-defined lists of bits
Previously it would try to convert the recursive value directly
into a VWord constructor, forcing all bits immediately and causing
non-termination. Now it produces a VSeq constructor instead.

This addresses issue #130.
2014-10-21 14:51:33 -07:00
Adam C. Foltzer
1cd5526bfe update WiX installer version
Moved from 3.7 to 3.8, and also changed the Program Files path as we're using a 64-bit machine now on the build farm.
2014-10-16 14:51:46 -07:00
Adam C. Foltzer
2c5689a00f Merge branch 'release/2.1.0' 2014-10-16 13:50:48 -07:00