Source code checked in, #c58f4d07798a
Fix issue 139. Allow bound variables in nested case patterns to shadow variables declared outside the enclosing match.
View ArticleSource code checked in, #451abf6c17b0
Revert change 1997 (bfe7c149bef1). IDE performance. Don't delay the resolver until the editor is idle for 5 second.
View ArticleSource code checked in, #f354709009a5
Revised the $Is and $IsAlloc axioms for arrow terms. It is now possible to derived these predicates. More things can now be verified (including the problem reported in Issue #49).
View ArticleCommented Unassigned: postcondition fails unless postcondition is asserted [49]
The postcondition "ensures apply((i => i + 1), 5) == 6" fails verification (see code below). However, asserting the postcondition exactly ("assert apply((i => i + 1), 5) == 6;") inside the body...
View ArticleClosed Unassigned: postcondition fails unless postcondition is asserted [49]
The postcondition "ensures apply((i => i + 1), 5) == 6" fails verification (see code below). However, asserting the postcondition exactly ("assert apply((i => i + 1), 5) == 6;") inside the body...
View ArticleSource code checked in, #82a85d97f74a
Added test case to go with the recent fix of Issue #49 (changeset f354709009a5).
View ArticleNew Post: Generic traits
Thanks for your interest in traits. At the moment, there is no specific plan to extend the existing support of traits, since we have a number of development/support tasks of higher priority. However,...
View ArticleCreated Unassigned: Suppress warnings about shadowed variables [142]
With the `/warnShadowing` option, Dafny will issue a warning when a local variable shadows another variable (i.e., uses the same name). This is usually quite useful for avoiding the confusion that...
View ArticleNew Post: "reads" and "termination" errors
Hi, I have some "reads" and "termination" errors for the following code (http://rise4fun.com/Dafny/zHqA): class Tree{ var left : Tree; var right : Tree; var val : int; ghost var repr: set...
View ArticleSource code checked in, #b7970d4619b3
Fix issue 93. Add per-function fuel setting that can be adjusted locally based on context.
View ArticleEdited Unassigned: Zero fuel vs opaque [93]
In theory, giving a function a fuel of 0,0 should make it effectively opaque. However, in the example shown below this is not the case (compare the success of the assertion in the first instance of...
View ArticleClosed Unassigned: Zero fuel vs opaque [93]
In theory, giving a function a fuel of 0,0 should make it effectively opaque. However, in the example shown below this is not the case (compare the success of the assertion in the first instance of...
View ArticleNew Post: "reads" and "termination" errors
Yes, from left in left.repr and left.repr < repr, it follows that left in repr. However, where does left in left.repr come from? It can only come from left.Valid() and the definition of Valid. But...
View ArticleSource code checked in, #7dda1ec0dff4
Update module export error messages. Also for "import Y" if there is at least one exported view, but no exported view is marked as default, then it is an error.
View ArticleCommented Issue: LitInt appears in triggers, causes verification failures [76]
LitInt sometimes interferes with natural uses of forall, such as "forall i :: P(i, 3)", making programs harder to verify.```predicate P(x:int, y:int)lemma L1(x:int, y:int) requires y == 2; requires...
View ArticleClosed Issue: LitInt appears in triggers, causes verification failures [76]
LitInt sometimes interferes with natural uses of forall, such as "forall i :: P(i, 3)", making programs harder to verify.```predicate P(x:int, y:int)lemma L1(x:int, y:int) requires y == 2; requires...
View ArticleNew Post: strange verification result
Dafny fails to verify the following code. However, if I remove some irrelevant code, i.e. a main method to print out some text, verification succeed. Details follows:function lcp_rec (a:...
View ArticleCreated Unassigned: Crash with cached version of :fuel [143]
The following produces a crash in Dafny: Put the following program into a file:```function pred(i:int):int { i - 1 }predicate f(a:int, s:int) { a <= 0 || exists s0 :: f(pred(a), s0) }lemma...
View Article