summaryrefslogtreecommitdiff
path: root/Dafny
Commit message (Collapse)AuthorAge
* 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: moved definition of class.array into prelude, anticipating writing ↵Gravatar Rustan Leino2011-11-09
| | | | axioms that use it
* 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: added a new /inductionHeuristic optionGravatar Rustan Leino2011-11-04
|
* Dafny: added options to make Induction Heuristic apply to array index ↵Gravatar Rustan Leino2011-11-04
| | | | expressions
* 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: allow attributes on function/method declarations to refer to the (in- ↵Gravatar Rustan Leino2011-10-26
| | | | and out-)parameters
* 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])
* BVD: fixed two basic but damning problems with the Dafny provider, and ↵Gravatar Rustan Leino2011-10-26
| | | | elided some temporary variables
* 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
* Dafny: added translation of Assign case of the parallel statementGravatar Rustan Leino2011-10-22
| | | | Dafny: discovered and fixed bug in no-overlap check of multi-dimensional array update, and changed previously incorrect MatrixFun.dfy test case (the new version is also a more efficient program)
* Dafny: changed triggers (which are never really used, anyhow) from having a ↵Gravatar Rustan Leino2011-10-21
| | | | | | | special syntactic form to being just an attribute Dafny: added "parallel" statement (so far, only parsing and resolving) Dafny: allow types on bound variables in "match" expressions/statements (there's never any incentive to list them explicitly in the program text, but it nevertheless seemed silly to forbid them)
* Dafny: fixed performance-buggy translation of exists, and also added some ↵Gravatar Rustan Leino2011-10-19
| | | | other features in SplitExpr (such as induction on existential quantifiers)
* Dafny: fixed bug in translator when LHS of a call was an array element or a natGravatar Rustan Leino2011-09-30
|
* Dafny: improved a resolution error message, and fixed a crash in the resolverGravatar Rustan Leino2011-09-29
|
* MergeGravatar Rustan Leino2011-09-28
|\
| * Dafny: Added some assertions.Gravatar wuestholz2011-09-23
| |
| * Dafny: Added a 'Checked' configuration and fixed some runtime assertion ↵Gravatar wuestholz2011-09-23
| | | | | | | | violations.
| * Dafny: Fixed an assertion violation in the "Checked" configuration.Gravatar wuestholz2011-09-20
| |
| * Dafny: Added support for attributes on methods and constructors.Gravatar wuestholz2011-09-16
| |
* | Dafny: generate a compiler error upon encountering an assume statementGravatar Rustan Leino2011-09-11
| | | | | | | | Dafny: don't compile programs unless all methods have been verified (or a forced compile is requested)
* | Dafny: fixed compilation bug (datatype equality had used pointer equality, ↵Gravatar Rustan Leino2011-09-11
| | | | | | | | not member equality)
* | Dafny: fixed compilation error where type of target "null" was undeterminedGravatar Rustan Leino2011-09-11
|/
* Dafny: fixed parsing bug with "!in"Gravatar Rustan Leino2011-09-08
| | | | | Dafny: fixed translation bug with missing match cases (where the constructor has some parameters) Dafny: fixed translation bug where the program had forward references to members of a datatype
* MergeGravatar Rustan Leino2011-08-18
|\
* | Dafny: fixed bug in looking at the arguments of the :induction attributeGravatar Rustan Leino2011-08-18
| |
| * Dafny: Fixed a bug in the printer that led to a stack overflow.Gravatar wuestholz2011-08-11
|/
* Dafny: fix resolution crash (using multi-dimensional arrays in loop alternative)Gravatar Rustan Leino2011-08-03
|
* Dafny: re-ran parser generator to include semicolon-less body-less ↵Gravatar Rustan Leino2011-07-26
| | | | functions/methods, and updated some test files accordingly (compare with changesets 1429 and 1366)
* MergeGravatar Jason Koenig2011-07-15
|\
* | Added compilation support for multisets and sequences from arrays.Gravatar Jason Koenig2011-07-15
| |
| * Updated the Parser.cs and Scanner.cs files in Boogie and Dafny and removed ↵Gravatar wuestholz2011-07-15
| | | | | | | | some trailing whitespace.
* | MergeGravatar Jason Koenig2011-07-14
|\|
* | Fixed bug where wellformedness for E in multiset(E) was checked in the "old" ↵Gravatar Jason Koenig2011-07-14
| | | | | | | | context.
* | Added multiset from sequence axioms, removed array range RHSs. Fixed issue ↵Gravatar Jason Koenig2011-07-13
| | | | | | | | with duplicate array.Length functions in generated Boogie file.
* | Fixed printing of multisets.Gravatar Jason Koenig2011-07-11
| |
* | Multiset forming operators added.Gravatar Jason Koenig2011-07-11
| |
| * MergeGravatar Rustan Leino2011-07-11
| |\
| * | Dafny: allow constructors only inside classes, removed semi-colons at end of ↵Gravatar Rustan Leino2011-07-11
| | | | | | | | | | | | body-less functions/methods
* | | MergeGravatar Jason Koenig2011-07-11
|\ \ \
* | | | Added s[..] syntax in anticipation of sequence forming operation. (also ↵Gravatar Jason Koenig2011-07-11
| |_|/ |/| | | | | | | | updated regression tests.)
| * | Partial implementation of multisets.Gravatar Jason Koenig2011-07-11
|/ /
* / Dafny: Dafny now uses the Euclidean definition of division. (Verifier and ↵Gravatar Jason Koenig2011-07-08
|/ | | | runtime.)