summaryrefslogtreecommitdiff
path: root/Test/dafny0
Commit message (Collapse)AuthorAge
* Dafny: fixed lack of assign-such-that restriction in parallel statementGravatar Unknown2012-03-15
|
* Dafny: added assign-such-that statements; syntax: x,y,a[i],o.f :| Expr;Gravatar Unknown2012-03-15
|
* MergeGravatar Unknown2012-03-02
|\
* | Dafny: tests for skeletonsGravatar Unknown2012-03-02
| |
* | Dafny: allow more skeleton statements in refinementsGravatar Unknown2012-03-02
| |
| * Dafny: fixed well-formedness checking of LET expressions to allow the RHS to ↵Gravatar Rustan Leino2012-02-29
|/ | | | be used
* Dafny: make sure assume->assert transformation gives rise to a checkGravatar Rustan Leino2012-02-19
|
* Dafny: added syntactic support for ...'s in statements, and started ↵Gravatar Unknown2012-02-18
| | | | implementation of refinement transformations thereof
* Dafny: allow signatures to be omitted on refining functions/methodsGravatar Unknown2012-02-16
|
* Dafny: allow various forms of leaving off type arguments in declarationsGravatar Rustan Leino2012-02-16
|
* Dafny: Fixed a bug in the printing of let expressions.Gravatar wuestholz2012-01-24
|
* Dafny: improved error location for violations of function postconditionsGravatar Rustan Leino2012-01-18
|
* Dafny: allow a refinement to provide a function/method body if the ↵Gravatar Rustan Leino2012-01-18
| | | | function/method being refined didn't have one
* Dafny: added signature checking to refinementGravatar Rustan Leino2012-01-17
|
* Dafny: allow parallel statements with an empty list of bound variablesGravatar Rustan Leino2012-01-17
|
* Dafny: parallel statements:Gravatar Rustan Leino2012-01-17
| | | | | | | - removed the awkward restriction that method postconditions cannot use old/fresh if there's no modifies clause and no out-parameters; instead, implemented parallel statements to handle these cases - also allow old/fresh in ensures clauses of parallel statements - allow TypeRhs and choose expressions in Call/Proof parallel statements - disallow calls to non-ghost methods in parallel statements (since those may do "print" statements and we don't want to allow those to take place in parallel; besides, the compiler wants to omit the parallel statement altogether and could not do so if there were print statements)
* Dafny: Recheck specifications that contain refined (extended) predicates, ↵Gravatar Rustan Leino2012-01-16
| | | | even if they are contained inside a split expression. Superposition is thought to be sound.
* Dafny: handle refinement of nested tokens that come from SpliExpr (still ↵Gravatar Rustan Leino2012-01-12
| | | | need to deal with unsplit expressions, like quantifiers)
* Dafny: make full predicate definitions available only inside a module ↵Gravatar Rustan Leino2012-01-11
| | | | (outside is just an implication: the predicate implies the body known so far)
* Dafny: allow class-member declarations at top level of any module (not just ↵Gravatar Rustan Leino2012-01-10
| | | | the default module); these go into the (new) default class of each module
* Dafny: added test case for refinement and predicates (and fixed a parsing bug)Gravatar Rustan Leino2012-01-10
|
* Dafny: added predicatesGravatar Rustan Leino2012-01-10
|
* Dafny: added support for simple superposition refinementsGravatar Rustan Leino2012-01-09
|
* Dafny: firmed up the module systemGravatar Rustan Leino2012-01-05
|
* Dafny: disengaged old refinement test filesGravatar Rustan Leino2012-01-04
|
* Dafny: don't allow ghost expressions in print statementsGravatar Rustan Leino2012-01-03
|
* Dafny: Fixed a bug in the pretty printer.Gravatar wuestholz2011-12-26
|
* Dafny: Extended the support for attributes on method/constructor calls.Gravatar wuestholz2011-12-23
|
* Dafny: Added support for attributes on method/constructor calls.Gravatar wuestholz2011-12-21
|
* Dafny: for a datatype with just one constructor, don't check (but do assume) ↵Gravatar Rustan Leino2011-12-19
| | | | that destructors are applied only to those values constructed by that one-and-only constructor
* Dafny: Made sure that error locations refer to the Dafny program, even if ↵Gravatar wuestholz2011-12-15
| | | | the /print option is used.
* Dafny: Added support for attributes on various specification constructs ↵Gravatar wuestholz2011-12-07
| | | | (assert, ensures, modifies, decreases, invariant).
* Dafny: fix bug in translation of (the splitting of) if-then-else expressions ↵Gravatar Rustan Leino2011-12-10
| | | | (see bug report Issue 10214 on codeplex)
* MergeGravatar Rustan Leino2011-12-07
|\
* \ MergeGravatar Rustan Leino2011-12-07
|\ \
| * | Dafny: Forward attributes on Dafny functions to Boogie (e.g., to disable ↵Gravatar wuestholz2011-12-07
| | | | | | | | | | | | wellformedness checks).
* | | Boogie: Added new abstract interpretation harness, which uses native Boogie ↵Gravatar Rustan Leino2011-12-05
|/ / | | | | | | | | | | | | | | Expr's, not the more abstract AIExpr's. Boogie: Added Trivial Domain (/infer:t), which just detects assume/assert false. Boogie: Added new Interval Domain (/infer:j), which is stronger than the /infer:i intervals (because the also include preconditions, booleans, and more constraints) and may also be more efficient than previous intervals Boogie: Mark all inferred conditions with attribute {:inferred}
| * Dafny: Added "type" declaration (syntax: "type X;"), which introduces an ↵Gravatar Rustan Leino2011-11-21
|/ | | | arbitrary type (like a global type parameter). In the future, a refined module may allow such types to be instantiated.
* Dafny: added let expressions (syntax: "var x := E0; E1")Gravatar Rustan Leino2011-11-14
| | | | | Dafny: firmed up semantics of assert/assume expressions (the condition is now good for all program control paths that pass through the expression) Dafny: various implementation clean-ups
* Dafny: implemented the wellformedness check that datatype destructors are ↵Gravatar Rustan Leino2011-11-11
| | | | | | only applied to values created by the corresponding constructor Dafny: implement ghost destructors properly
* Dafny: allow assert/assume expressions in more placesGravatar Rustan Leino2011-11-09
|
* Dafny: added assert/assume expressionsGravatar Rustan Leino2011-11-09
|
* Dafny: fixed part of a type-inference issue with datatypes and the < ↵Gravatar Rustan Leino2011-11-09
| | | | | | operator on datatypes Dafny: allow the well-formedness check of a function's specification to know that the function, on the current arguments, returns a value of the declared result type
* Dafny: fixed bug in reads checking of array-to-sequence conversionsGravatar Rustan Leino2011-11-08
|
* Dafny induction:Gravatar Rustan Leino2011-10-29
| | | | | | | * implemented induction tactic for result-less, non-mutating ghost methods * refine heuristics for determining if a variables is usefully passed to a recursive function * disallow certain "ensures" to use two-state features (needed for soundness of the parallel-statement translation, see comments in Resolver.cs and ParallelResolveErrors.dfy) * added command-line flags /induction and /inductionHeuristic (everything is on by default)
* Dafny: removed Dafny's "foreach" statements (replaced by the new "parallel" ↵Gravatar Rustan Leino2011-10-26
| | | | statement)
* Dafny: removed support for assigning to an array-range (that is, an ↵Gravatar Rustan Leino2011-10-26
| | | | assignment statement where the LHS has the form a[lo..hi])
* Dafny: implemented compilation of parallel statementsGravatar Rustan Leino2011-10-25
| | | | Dafny: beefed up resolution of parallel statements
* Dafny: check subrange restriction in parallel Assign statementGravatar Rustan Leino2011-10-24
| | | | | Dafny: verify parallel Call statement Dafny: fixed some bugs: handle all cases of comprehension expressions in resolver's UsesSpecFeatures, check target of method calls to be non-null (duh!)
* Dafny: continued translation of "parallel" statements (Assign and Proof ↵Gravatar Rustan Leino2011-10-24
| | | | | | | forms are mostly there, Call is missing and so is compilation) Dafny: included some test cases for the "parallel" statement Dafny: starting changing old "foreach" statements to the new "parallel" statement