diff options
author | rustanleino <unknown> | 2009-09-14 20:43:33 +0000 |
---|---|---|
committer | rustanleino <unknown> | 2009-09-14 20:43:33 +0000 |
commit | 6fa676b575e1ba70c03b258420f29ad74b821b54 (patch) | |
tree | 0ead8e60c4413e36e3f59d1dadf8f2ba37ee752c /Source/Core | |
parent | 23dcb26351cf28a59d6a413194dff2d8faf6c591 (diff) |
Dafny:
* Added DeclType(f)==C axioms, which for each field f says which class declares it.
Boogie:
* Changed behavior of free loop invariants. Now, a free loop invariant is ignored on the checking side, just like for free requires and free ensures. The new switch /alwaysAssumeFreeLoopInvariants flag gives the previous behavior.
* NOTE: I did NOT yet make the corresponding change for loop unrolling, but it is needed.
Diffstat (limited to 'Source/Core')
-rw-r--r-- | Source/Core/CommandLineOptions.ssc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/Core/CommandLineOptions.ssc b/Source/Core/CommandLineOptions.ssc index 1a25e283..d215de0d 100644 --- a/Source/Core/CommandLineOptions.ssc +++ b/Source/Core/CommandLineOptions.ssc @@ -112,7 +112,8 @@ namespace Microsoft.Boogie public enum SubsumptionOption { Never, NotForQuantifiers, Always }
public SubsumptionOption UseSubsumption = SubsumptionOption.Always;
- public bool ShowTrace = false;
+ public bool AlwaysAssumeFreeLoopInvariants = false;
+
public enum ShowEnvironment { Never, DuringPrint, Always }
public ShowEnvironment ShowEnv = ShowEnvironment.DuringPrint;
public bool DontShowLogo = false;
@@ -1106,6 +1107,7 @@ namespace Microsoft.Boogie ps.CheckBooleanFlag("noRemoveEmptyBlocks", ref RemoveEmptyBlocks, false) ||
ps.CheckBooleanFlag("traceverify", ref TraceVerify) ||
ps.CheckBooleanFlag("noConsistencyChecks", ref NoConsistencyChecks, true) ||
+ ps.CheckBooleanFlag("alwaysAssumeFreeLoopInvariants", ref AlwaysAssumeFreeLoopInvariants, true) ||
ps.CheckBooleanFlag("nologo", ref DontShowLogo) ||
ps.CheckBooleanFlag("noVerifyByDefault", ref NoVerifyByDefault) ||
ps.CheckBooleanFlag("useUncheckedContracts", ref UseUncheckedContracts) ||
@@ -1799,6 +1801,10 @@ namespace Microsoft.Boogie /traceverify : print debug output during verification condition generation
/subsumption:<c> : apply subsumption to asserted conditions:
0 - never, 1 - not for quantifiers, 2 (default) - always
+ /alwaysAssumeFreeLoopInvariants : usually, a free loop invariant (or assume
+ statement in that position) is ignored in checking contexts
+ (like other free things); this option includes these free
+ loop invariants as assumes in both contexts
/bv:<bv> : bitvector handling
n = none
z = native Z3 bitvectors (default)
|