summaryrefslogtreecommitdiff
path: root/Dafny/RefinementTransformer.cs
Commit message (Collapse)AuthorAge
* Dafny: changed iterators to become special cases of classesGravatar Rustan Leino2012-09-25
|
* Dafny: added iterators; for now, only parsing and resolving (and printing ↵Gravatar Rustan Leino2012-09-25
| | | | and refining), no compilation or verification
* Dafny: clone and merge attributes in refinementsGravatar Unknown2012-09-12
|
* Dafny: did a little to extend the support of labeled statements in ↵Gravatar Unknown2012-09-10
| | | | refinements (things like multiple labels are still not thought through very well)
* Dafny: improved checking of inherited postconditions (in refinements)Gravatar Unknown2012-09-10
|
* Dafny: allow 'decreases *' (that is, non-terminating recursion) on ↵Gravatar Rustan Leino2012-09-09
| | | | tail-recursive methods
* Dafny: for refinements, don't consider a newly provided predicate body to be ↵Gravatar Unknown2012-08-30
| | | | an extension--clients don't need to be reverified if the body is new, only an extensions to a previous definition need to be
* Dafny: fixed bug in reverifying allowing old locals to be modified.Gravatar Jason Koenig2012-08-01
|
* Dafny: reverify if the refining method modifies the heap.Gravatar Jason Koenig2012-08-01
|
* Dafny: fixed bug where expressions were not replaced.Gravatar Jason Koenig2012-08-01
|
* Dafny: added structural refinement checkGravatar Jason Koenig2012-07-29
|
* Dafny: compilation of abstract modules, including local definitions (as in ↵Gravatar Jason Koenig2012-07-17
| | | | | | | module A as B = C) * * * Dafny: compilation of abstract modules, including local definitions (as in module A as B = C)
* Dafny: update statements match up correctly in skeletons.Gravatar Jason Koenig2012-07-13
|
* Dafny: fixed bug in which old locals were not properly forbidden from being ↵Gravatar Jason Koenig2012-07-12
| | | | modified during refinement
* Dafny: labeled (and unlabled) block statements are now matched during ↵Gravatar Jason Koenig2012-07-12
| | | | refinement.
* Dafny: restored soundness for refinement by disallowing certain updates and ↵Gravatar Jason Koenig2012-07-11
| | | | method calls
* Dafny: fixed ghost checking for labeled (i.e. named) expressions, changed to ↵Gravatar Jason Koenig2012-07-10
| | | | parallel syntax, other minor fixes
* MergeGravatar Rustan Leino2012-07-09
|\
| * Dafny: added verification that replaced expressions are the same as the originalGravatar Jason Koenig2012-07-09
| |
| * Dafny: added named expressions and replacementGravatar Jason Koenig2012-07-09
| |
| * Dafny: types can now be qualified with full module pathsGravatar Jason Koenig2012-07-06
| |
* | Dafny: added copredicatesGravatar Rustan Leino2012-07-03
|/
* Dafny: MergeGravatar Jason Koenig2012-06-27
|\
* | Dafny: Fixed module bugsGravatar Jason Koenig2012-06-27
| |
* | Dafny: Implemented abstract modulesGravatar Jason Koenig2012-06-26
| |
| * Dafny: added contracts to IRewriter methodsGravatar Unknown2012-06-22
| |
| * Dafny: allow "assume ..." as a refining statement (provided it replaces an ↵Gravatar Unknown2012-06-22
| | | | | | | | "assume E")
| * Dafny: deal with equality-support issues in refinementsGravatar Unknown2012-06-22
| | | | | | | | Dafny: a small amount of refactoring and bug fixes
| * 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.
| * Dafny: improved refinement features; added staged version of the proof of ↵Gravatar Unknown2012-06-19
|/ | | | the Schorr-Waite algorithm (the staging features, as well as the newly added comments, make the verification much more digestible)
* Dafny: Changed the semantics of the assign-such-that statement "x :| P;" to ↵Gravatar Unknown2012-06-13
| | | | check the existence of a value. The previous "assume only" version is available by supplying the keyword "assume" in front of "P".
* Dafny: allow types to be qualified with the name of the module that declares ↵Gravatar Unknown2012-06-11
| | | | them (for now, this is supported only in type expressions and "new" allocations, not in places where the type name is used to qualify some other type member)
* Dafny: fixed bug in type cloning, as part of refinement machineryGravatar Unknown2012-06-11
|
* Dafny: removed support for the old keyword "unlimited" (all functions are ↵Gravatar Unknown2012-06-11
| | | | limited)
* Dafny: change labels to use a generic singly linked listGravatar Jason Koenig2012-06-06
|
* Dafny: Added map comprehensions and updated display syntaxGravatar Unknown2012-05-31
|
* Dafny: added finite mapsGravatar Unknown2012-05-25
|
* Dafny: fixed resolution bug for inductive datatypes (previous check did not ↵Gravatar Unknown2012-04-25
| | | | | | | handle generic datatypes correctly) Dafny: fixed compiler bug in inductive datatypes (missing type parameters in emitted code) Dafny: added "codatatype" declaration (syntax only for now)
* Dafny: support assign-such-that in var declarations in refinementsGravatar Unknown2012-03-15
|
* Dafny: added assign-such-that statements; syntax: x,y,a[i],o.f :| Expr;Gravatar Unknown2012-03-15
|
* Dafny: added ghost modules (the meaning is simply that such a module will ↵Gravatar Rustan Leino2012-03-07
| | | | | | | not be compiled) Dafny: improved :autocontracts heuristic for detecting "simple query method" Dafny: fixed some bugs
* Dafny: allow more skeleton statements in refinementsGravatar Unknown2012-03-02
|
* 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: 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: 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)