Add Sequences as a new Suslik data type#42
Add Sequences as a new Suslik data type#42abhishekc-sharma wants to merge 10 commits intoTyGuS:masterfrom
Conversation
|
I didn't manage to get it past the parser phase: resulted in Please, supply the tests for features that work and mark those that don't as separate test files. |
17b5f2d to
71ddb71
Compare
|
Whoops ! Sorry about that. Seems like some of the earlier test cases weren't updated after a minor syntax change. All the test cases under sequences should now either be marked or work. |
|
Thanks! Which are the tests (i.e., ScalaTest implementations) covering the examples from the |
|
Do you mean a file under |
|
Also, in addition to making a Test file for all the sequence benchmarks, can you please put all the changes you made to BranchAbduction etc under a flag, so that we can still run other benchmarks like before? Thanks! |
* ported common.def to use sequences, sll-singleton works * ported dupleton, added README to clarify where these tests come from * sll-free works without modification * updated README * sll-copy works * sll-append works * update README and tests that are currently failing
* Binary sequence remove (--) operations that removes the first occurance of a particular item. * Unary length (slen) operation to get the length of a sequence. * Binary indexing (@) operation to get a one element sequence at a particular index. * Binary indexOf (!!) operation to find the index of the first occurence of an item from a seqquence.
* Branch Abduction - use the Integer Constant 0 as a candidate for branch conditions. * Write - prevent writing sequence literals into program variables. Currently only Ghost Variables are filtered but not literals. * SubstExist - prevent substituting variables assigned to expressions with sequence operations from being substituted in the post-condition. We prefer that these variables are given values using Unification or the Pick Exist rule. * PickExist - consider the Integer Constant -1 and also the expressions <var> + 1 and <var> - 1 as candidates when instantiating existentials as these are common constants for "inductive" properties.
* src/test/resources/synthesis/sequences/llist/llist_ith.syn - returns a pointer to the ith node in a linked list known to have at least i nodes * src/test/resources/synthesis/sequences/paper-benchmarks/sll/sll-length.syn - returns the length of an arbitrary linked list * src/test/resources/synthesis/sequences/paper-benchmarks/sll/sll-ith.syn - the value at the ith node in a linked list known to have sufficient nodes
71ddb71 to
9624864
Compare
|
Sorry for the delayed response. I have added a |
Adding a new IntSequence type to SuSLik.