Commit Graph

286 Commits

Author SHA1 Message Date
Iavor S. Diatchki
494e6eca0e Clean-up things. 2014-12-16 10:59:00 -08:00
Trevor Elliott
1ba8105ec4 Filter out "true" in simplifyProps 2014-12-15 17:33:38 -08:00
Trevor Elliott
21bf0cb62a Merge branch 'wip/cs' of github.com:GaloisInc/cryptol into wip/cs 2014-12-15 17:02:44 -08:00
Trevor Elliott
caab26946a Merge branch 'master' into wip/cs 2014-12-15 17:02:01 -08:00
Trevor Elliott
86585ccbe1 Add a Goals newtype
This makes it easier to get the behavior of the TVars instance under control,
as we can choose to only apply the substitution to the values of the map after
first applying it to the keys, and thus possibly removing redundant goals.
2014-12-15 17:01:30 -08:00
Iavor S. Diatchki
7e05e86500 Record the computed substitution. 2014-12-15 15:54:46 -08:00
Iavor S. Diatchki
a5aedf211d Add constraints araising from improvement. 2014-12-15 15:24:53 -08:00
Iavor S. Diatchki
b6dc236885 Remove smtpOrig, we don't really need it for now. 2014-12-15 14:35:28 -08:00
Trevor Elliott
24b80b1b40 Store goals in a TypeMap, instead of a list
This should reduce the number of redundant constraints getting generated.
2014-12-15 13:10:57 -08:00
Iavor S. Diatchki
8484c43f83 Merge branch 'wip/cs' of github.com:GaloisInc/cryptol into wip/cs
Conflicts:
	src/Cryptol/TypeCheck/Solve.hs
	src/Cryptol/TypeCheck/Solver/CrySAT.hs
2014-12-15 11:20:07 -08:00
Iavor S. Diatchki
dcbc3a7d8d Add improvements based on a linear relation (XXX: Still loosing constraints in imps.) 2014-12-15 11:01:27 -08:00
Trevor Elliott
602ae4b242 Export the prop/expr maps 2014-12-15 09:18:27 -08:00
Trevor Elliott
bd13c30710 Add a TrieMaps for Props and Exprs 2014-12-14 14:10:02 -08:00
Trevor Elliott
157a7b9d8b Don't try to prove True 2014-12-12 15:22:20 -08:00
Brian Huffman
93b0789a98 Export schema-parsing functions 2014-12-12 15:08:53 -08:00
Trevor Elliott
73a2d0162b Derive Eq and Show for Prop 2014-12-12 15:07:49 -08:00
Trevor Elliott
c6351b0684 Group common inequalities together
Inequalities like (a >= 10, a >= 20) will be grouped together, and turned into
(a >= 20).
2014-12-12 15:07:35 -08:00
Trevor Elliott
8b018b5be2 Simplify the Exprs in goals 2014-12-12 15:06:05 -08:00
Iavor S. Diatchki
b1cdb94760 Tab and untab when pushing and popping, respectively. 2014-12-12 10:04:55 -08:00
Iavor S. Diatchki
7a933304bd Add dependency on fixed version of SimpleSMT 2014-12-12 10:04:36 -08:00
Iavor S. Diatchki
6088b0336a More on improvement.
Currently, there's a bug, where types seem to be going negative!
2014-12-11 17:20:17 -08:00
Brian Huffman
b88e2d1a11 Add test cases for issue #58. 2014-12-11 15:50:22 -08:00
Trevor Elliott
28fdd44100 Fix #140
The Smtlib solver was translating Fin constraints to True, as it didn't know
how to handle them.  They should have been skipped, and returned back as
unsolved goals instead.
2014-12-11 15:12:14 -08:00
Iavor S. Diatchki
6f65845e16 Some fixes to proving implications. 2014-12-11 10:30:25 -08:00
Iavor S. Diatchki
08cec44702 Merge remote-tracking branch 'origin/master' into wip/cs 2014-12-10 14:10:49 -08:00
Trevor Elliott
b1eae187e5 Make the cryptol binary depend on the sources
Instead of making the cryptol binary .PHONY, use find to locate all the
sources to depend on.
2014-12-09 11:20:31 -08:00
Adam C. Foltzer
abf19641be small tweak to readme wording 2014-12-08 17:30:32 -08:00
Adam C. Foltzer
61e9b4e1fe add pointer to low-hanging fruit issue label 2014-12-08 17:29:26 -08:00
Adam C. Foltzer
7030924083 tweak escaped variable message to be more clear 2014-12-08 14:07:28 -08:00
Brian Huffman
25ee274d38 Merge changes from SBV version 3.3
Includes changes after LeventErkok/sbv@67656c6aba (Nov 3)
and up to LeventErkok/sbv@6468f41bde (Dec 5)
2014-12-08 11:04:28 -08:00
Adam C. Foltzer
9abc779340 update random values after changing random generation 2014-12-05 17:38:00 -08:00
Adam C. Foltzer
969c96e8e1 Don't do fancy progress bars for :check in batch mode 2014-12-05 17:18:29 -08:00
Trevor Elliott
465b0eb103 Add a stdout file for the failing test, issues/T146 2014-12-05 16:52:45 -08:00
Trevor Elliott
b3341c02c9 Allow make test to output the diff results 2014-12-05 16:49:58 -08:00
Trevor Elliott
c2821da104 Make the diff command line absolute 2014-12-05 16:27:08 -08:00
Iavor S. Diatchki
9d385d5af2 Make general substitutions, and move code into AST module. 2014-12-05 11:46:09 -08:00
Iavor S. Diatchki
71f3b8dd13 Split off translation between TypeCheck.AST and TypeCheck.Numeric.AST 2014-12-05 11:32:11 -08:00
Iavor S. Diatchki
7d5854e661 Add extra rule. 2014-12-05 11:31:04 -08:00
Iavor S. Diatchki
ecdfb07ecc Checkpoint. 2014-12-04 17:26:46 -08:00
Iavor S. Diatchki
8d3a7e7b4f Hook-in incomplete new solver. 2014-12-04 14:40:09 -08:00
Iavor S. Diatchki
207e3854fc Fix typpo 2014-12-04 14:39:52 -08:00
Trevor Elliott
ee3647b814 Update renamer errors to clarify some funny situations
This tries to address #125 by making the errors from the renamer a little bit
more clear.

Squashed commit of the following:

commit 8afd3d7961b58df042fe801c3c5e1b9787f813bc
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 19:33:59 2014 -0800

    Update tests for new renamer errors

commit 7cac01836d8943cf3b08d6715ac328e3b6658cef
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 19:33:49 2014 -0800

    Add `at` on errors and warnings to be more consistent

commit 308908ba318a4cdc839710f66f1a487543f8c07e
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 19:06:57 2014 -0800

    More consistent renamer warnings

commit be8100a78e9eaba6d554591121c24ed5dcd3c780
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 18:56:53 2014 -0800

    More consistent error formatting from the renamer

commit 26c45c3b51e0bdbcf6a1431cab8e1eb8760ea0bb
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 18:56:36 2014 -0800

    Remove an un-triggerable error

commit ccdb93e036ba1e111ccd977c8b3b35523f3c1bf0
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 16:38:44 2014 -0800

    Try to give better errors for unbound identifiers

commit eb5784145985bb55c761088eaba27c67d08c1326
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 16:38:23 2014 -0800

    Remove old TODOs about located errors

commit b984bb5f451f3aa7b4fc8f15167483c5142ee9a3
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 14:37:34 2014 -0800

    Differentiate missing type and expression symbols

commit b9e6f13856db6765dced3cb9565cdc8387a7976d
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 14:36:52 2014 -0800

    Remove a shadowing warning
2014-12-03 19:36:06 -08:00
Iavor S. Diatchki
dace04905f Towards integrating into the typechecker. We still need to do improvement. 2014-12-03 17:39:49 -08:00
Iavor S. Diatchki
37c475056c Start on intergrating with type checker. 2014-12-02 17:36:15 -08:00
Iavor S. Diatchki
99c3547a08 Record the parameters of the current scheama into fresh variables generated during kind checking. 2014-12-02 15:50:40 -08:00
Iavor S. Diatchki
358d3fc554 Add an example where we can get capture when substituting. 2014-12-02 15:50:40 -08:00
Iavor S. Diatchki
f8c431aee2 Add applicative instances. 2014-12-02 15:50:40 -08:00
Brian Huffman
7420b27785 Add Parser AST constructor EInfFrom to represent [x...] and [x,y...]
As a result, parsed terms including [x...] or [x,y...] now pretty-print
back out using the same syntax.
2014-12-02 14:47:01 -08:00
Brian Huffman
ccfbd1f2de Fix symbolic simulator implementations of (!!) and (@@)
Now these operations correctly set the is-bit flag on
the VSeq constructor when the result type is a list of bits.

Fixes #148.
2014-12-02 14:07:23 -08:00
Iavor S. Diatchki
c983dbfe5d Split-up CrySat into multiple modules. 2014-12-01 16:28:29 -08:00