Commit Graph

1126 Commits

Author SHA1 Message Date
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
Adam C. Foltzer
a5bed58b04 Merge branch 'release/2.1.0' into releases 2014-10-16 13:50:40 -07:00
Adam C. Foltzer
b394f1b5cd fix incorrect completion behavior with short : commands 2014-10-16 10:28:05 -07:00
Adam C. Foltzer
d5a021fd00 temporary fix for #113
This "fix" adds two locations to the search path for Cryptol modules so that we can find the prelude on both Windows and Unix platforms. This is not ideal and should be replaced in the next version, but should have no negative impact for now unless people have multiple Cryptol.cry files hanging out in their filesystems.
2014-10-14 15:12:38 -07:00
Dylan McNamee
675ca65c9a fixes to Salsa20 spec suggested by Sean (thanks!) 2014-10-10 12:37:10 -07:00
Brian Huffman
521204c57c After ':set prover = x', test whether prover 'x' is installed
If not, we print a warning message. This addresses issue #28.
2014-10-01 17:49:30 -07:00
Adam C. Foltzer
1e03b215e2 start of a minimal document for #54 2014-10-01 17:43:46 -07:00
Adam C. Foltzer
901e642085 Remove .fails file for #94 2014-10-01 14:32:20 -07:00
Adam C. Foltzer
95bb27ba49 resolve ambiguity when looking up short commands in trie
Previously, if one command was a prefix of another command, that would lead to an ambiguous lookup from the command trie. Now there are two ways to look up: one works like previously, which is good for tab-completion, and the other will only return one result if there is an exact match.

This means we can now have multiple forms of each command, so we can explicitly have short forms like :e -> :edit that won't be changed just based on what names we give to future commands.

This closes #90, and also #94 which was blocked on this due to :exhaust and :edit conflicting.
2014-10-01 14:29:57 -07:00