summaryrefslogtreecommitdiff
path: root/Test/dafny0/TypeParameters.dfy
Commit message (Collapse)AuthorAge
* When inlining the body of a predicate (in a proof obligation--via TrSplitExpr),Gravatar Rustan Leino2013-04-24
| | | | | | use the instantiated types of the predicate's type parameters. This delays the introduction of some boxes in the translation, which for some useful examples gives rise to better proving.
* fixed type resolution bug (http://boogie.codeplex.com/discussions/403801)Gravatar Rustan Leino2012-11-20
|
* Dafny: Since it's no longer true that all types support equality at run-time ↵Gravatar Unknown2012-06-21
| | | | (in particular, codatatypes), Dafny needs to check this. In these changes, Dafny supports the "(==)" suffix to type parameters, infers that suffix in some cases, and enforces equality support in many places. Refinement and datatypes still need more attention in the Dafny implementation.
* Fixed failing regression tests.Gravatar Jason Koenig2011-07-14
|
* Dafny: allow constructors only inside classes, removed semi-colons at end of ↵Gravatar Rustan Leino2011-07-11
| | | | body-less functions/methods
* Dafny: retired the "call" keywordGravatar Rustan Leino2011-05-26
|
* 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: Another bug fix in SplitExpr, having to do with generic results of ↵Gravatar rustanleino2010-06-09
| | | | function calls
* Dafny:Gravatar rustanleino2010-06-05
| | | | | | * Fixed bug in translation of well-formedness conditions * Added Test/dafny0/Celebrity.dfy * Added a harness to Test/vacid0/Composite.dfy
* Dafny:Gravatar rustanleino2010-03-11
| | | | | | * Enforce ghost vs. non-ghost separation * Allow ghost parameters and ghost locals * Functions are ghost, but allow the non-ghost "function method"
* Added resolution and translation of algebraic datatypes and (in function ↵Gravatar rustanleino2009-11-20
| | | | | | bodies) match expressions. Addressed a couple of todos, including checking the well-formedness of quantifiers and if-then-else expressions in function bodies.
* Redesigned the encoding of Dafny generics, including the built-in types set ↵Gravatar rustanleino2009-11-06
| | | | | | | | | | | | and seq. Regrettably, these changes--although improvements in Dafny's functionality--have caused Test/dafny0/BinaryTree.bpl and Test/dafny0/SchorrWaite.dfy to be significantly slower (the dafny0 test directory now takes 6:11 whereas it used to take 1:43). Improved some of the VSI-Benchmarks to use generics more fully, where the previous designed had just crashed. Included the previously commented-out loop invariants and assertions in VSI-Benchmarks/b8.dfy. Added a space in the pretty printing of Boogie coercion expressions.
* The Dafny call statement now automatically declares left-hand sides as local ↵Gravatar rustanleino2009-11-05
| | | | variables, if they were not already local variables.
* Initial set of files.Gravatar mikebarnett2009-07-15