summaryrefslogtreecommitdiff
path: root/Test/dafny0
Commit message (Collapse)AuthorAge
* Added additional test case to modifies on loops tests.Gravatar Jason Koenig2011-06-29
|
* Removed tab characters.Gravatar Jason Koenig2011-06-29
|
* MergeGravatar Jason Koenig2011-06-29
|\
* | Added regression tests for new return statements with parameters.Gravatar Jason Koenig2011-06-29
| |
| * MergeGravatar Rustan Leino2011-06-29
| |\ | |/ |/|
| * Dafny: Fixed axioms for Seq#Contains vs. the sequence building functionsGravatar Rustan Leino2011-06-29
| |
* | Added regression test file LoopModifies.dfy.Gravatar Jason Koenig2011-06-29
| |
* | Added regression test for loop modifies clauses.Gravatar Jason Koenig2011-06-28
| |
* | Changed regression test answer for dafny0 to reflect new error messages.Gravatar Jason Koenig2011-06-28
|/
* Dafny: added implicit datatype query fields and datatype destructor fieldsGravatar Rustan Leino2011-06-05
|
* Dafny: translate call statements with fancy LHSsGravatar Rustan Leino2011-05-31
|
* Dafny: Translate general LHSs for var and := (not yet for call, no ↵Gravatar Rustan Leino2011-05-30
| | | | compilation yet)
* Dafny: changed syntax of havoc statements from "havoc X;" to "X := *;"Gravatar Rustan Leino2011-05-28
|
* Dafny: added constructorsGravatar Rustan Leino2011-05-28
|
* MergeGravatar Rustan Leino2011-05-27
|\
* | Dafny:Gravatar Rustan Leino2011-05-27
| | | | | | | | | | * fixed bug in allowing ghost out-parameters of ghost methods * added test case for verifying calls of the form MyClass.M(...)
| * MergeGravatar Rustan Leino2011-05-27
| |\ | |/ |/|
* | Dafny: permanently changed the syntax of "datatype" declarations to what ↵Gravatar Rustan Leino2011-05-27
| | | | | | | | previously was an alternative syntax
* | Dafny: retired "use" statementsGravatar Rustan Leino2011-05-27
| |
* | Dafny: added chaining operatorsGravatar Rustan Leino2011-05-27
| |
* | Dafny:Gravatar Rustan Leino2011-05-26
| | | | | | | | | | | | * fixed ghost/non-ghost story for breaks and returns * changed compilation/translation to always use goto's to implement Dafny's breaks * introduced "break break" statements
| * Dafny: fixed bug (ill-formed Boogie) in translation of "foreach" for sequencesGravatar Rustan Leino2011-05-26
| |
* | Dafny: retired the "call" keywordGravatar Rustan Leino2011-05-26
| |
* | Dafny: allow class names to be used when referring to static functions (and, ↵Gravatar Rustan Leino2011-05-21
| | | | | | | | soon, methods), and test cases for new name resolution rules
* | Dafny:Gravatar Rustan Leino2011-05-21
|/ | | | | | | | | | * started rewriting parsing of qualified identifiers in expressions * annoyingly, had to introduce AST nodes for concrete syntax * previous syntax for invoking datatype constructors: #List.Cons(h, t) new syntax: List.Cons(h, t) or, if only one datatype has a constructor named Cons: Cons(h, t) * Removed type parameters for datatype constructors from the grammar * Helped Test/VSI-Benchmarks/b4.dfy along with a couple of assertions (previously, its proving performance was highly varied)
* Dafny: added alternative statement and alternative-loop statementGravatar Rustan Leino2011-05-19
|
* Dafny: let verifier, not the resolver, check for missing cases in match ↵Gravatar Rustan Leino2011-05-19
| | | | expressions/statements
* Dafny: added set comprehension expressionsGravatar Rustan Leino2011-05-18
|
* Dafny: Test case for sequence of boxed booleansGravatar Rustan Leino2011-05-16
|
* Dafny: added optional range expressions to logical quantifiers, preparing ↵Gravatar Rustan Leino2011-05-15
| | | | for addition other other comprehensions (like set comprehension)
* MergeGravatar Rustan Leino2011-05-13
|\
* | Cleaner version of ghost loop termination example.Gravatar Unknown2011-05-13
| |
* | Dafny: fixed bugs in resolution of multi-dimensional arraysGravatar Rustan Leino2011-05-12
| |
* | Dafny: forbid "decreases *" on ghost loopsGravatar Rustan Leino2011-05-12
| |
| * Dafny:Gravatar Rustan Leino2011-05-11
|/ | | | | | * added missing error checking for ghost-vs-physical contexts (e.g., use of the "old" keyword) * check that arrays are not null when accessed * added dafny1/FindZero.dfy test case
* Dafny: added type "nat"Gravatar Rustan Leino2011-04-19
|
* Dafny: don't require parentheses in syntax of "choose" statementsGravatar Rustan Leino2011-04-05
|
* Dafny: Allow field selections and array-element selection as LHSs of ↵Gravatar Unknown2011-04-05
| | | | assignments where RHS is not just an expression
* Dafny: Added support for an initializing call as part of the new-allocation ↵Gravatar rustanleino2011-03-27
| | | | | | | | | | | syntax. What you previously would have written like: c := new C; call c.Init(x, y); you can now write as: c := new C.Init(x, y);
* Dafny: improved and corrected physical/ghost distinctionGravatar rustanleino2011-03-26
|
* Dafny: compile quantifiersGravatar rustanleino2011-03-26
| | | | | | Dafny: allow {:induction} attribute to take an explicit list of bound variables on which to apply induction Dafny: split expressions when proving function postconditions Boogie and BVD: updated copyright year ranges
* Dafny: Added heuristic for when to turn on the induction tacticGravatar rustanleino2011-03-05
|
* Dafny:Gravatar rustanleino2011-03-04
| | | | | | * Add support for an {:induction} attribute on universal quantifiers over one bound variable. It causes the universally quantified formulas to be proved by induction. * For a user-defined function F, introduce not just F and F#limited, but also F#2 (which sits "above" F, just as F sits "above" F#limited) * In base case of SplitExpr, make use of F#2 functions (unless already inside an inlined predicate)
* Dafny: support for nested match expressionsGravatar rustanleino2011-03-01
|
* Updates to Answer files from recent changesGravatar rustanleino2011-03-01
|
* Dafny: Improved scheme for splitting expressions. Also, report each split ↵Gravatar rustanleino2011-02-19
| | | | in error messages.
* Dafny:Gravatar rustanleino2011-02-17
| | | | | | | | | | | | | | | | | | * Big change: Add type and allocatedness information everywhere in the Boogie translation. This not only fixes some potential soundness problems (see Test/dafny1/TypeAntecedents.dfy), but it also gives more information about the program. On the downside, it also requires discharging more antecedents in order to use some axioms. Another downside is that overall performance has gone down (however, this may be just an indirect consequence of the change, as it was in one investigated case). * Increase the applicability of function axioms (extending the coarse-grain function/module height mechanism used as an antecedent of function axioms). (Internally, this uses the new canCall mechanism.) * Extend language with "allocated( Expr )" expressions, which for any type of expression "Expr" says that "Expr" is allocated and has the expected type. * More details error messages about ill-defined expressions (internally, by using CheckWellformedness instead of "assert IsTotal") * Add axioms about idempotence of set union and intersection * The compiler does not support (the experimental feature) coupling invariants, so generate error if the compiler ever gets one * In the implementation, combine common behavior of MatchCaseStmt and MatchCaseExpr into a superclass MatchCase * Fixed error in translation of while(*)
* Dafny: Answer file to go with previously updated test fileGravatar rustanleino2011-02-04
|
* Dafny: every decreases clause implicitly ends with a never-ending sequence ↵Gravatar rustanleino2011-02-03
| | | | of TOP elements; this reduces the need for manually supplied decreases clauses (see the Outer/Inner example in Test/dafny0/Termination.dfy and the Substitute/SubstSeq example in Test/dafny1/Substitution.dfy).
* Dafny: allow self-calls in function postconditions--these simply refer to ↵Gravatar rustanleino2011-02-03
| | | | the result value of the current call