diff options
author | Dan Rosén <danr@chalmers.se> | 2014-07-07 17:24:46 -0700 |
---|---|---|
committer | Dan Rosén <danr@chalmers.se> | 2014-07-07 17:24:46 -0700 |
commit | 661faf59f8e1003cdbf339260d1293e8dd77f2df (patch) | |
tree | 37e11e8a86658fe4d69b38572f3b6fadd8d287c9 /Test/dafny0/MultiSets.dfy | |
parent | 8de9fcae1a91acce9a1e59f292f05a95c81b3dbc (diff) | |
parent | 93d9965a347b1a6ad70007822f01c2b032ea5436 (diff) |
Merge
Diffstat (limited to 'Test/dafny0/MultiSets.dfy')
-rw-r--r-- | Test/dafny0/MultiSets.dfy | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Test/dafny0/MultiSets.dfy b/Test/dafny0/MultiSets.dfy index 3d6034ad..3535f857 100644 --- a/Test/dafny0/MultiSets.dfy +++ b/Test/dafny0/MultiSets.dfy @@ -269,3 +269,29 @@ method MultiSetProperty0(s: multiset<object>, t: multiset<object>, p: object) assert s + (t - s) == t; // error
}
}
+
+// ---------- additional properties
+
+lemma UpperBoundOnOccurrenceCount(s: multiset<int>, x: int)
+ ensures 0 <= s[x] <= |s|;
+{
+}
+
+lemma MultisetCardinalityFromSequenceLength(s: seq<int>)
+ ensures |multiset(s)| == |s|;
+{
+}
+
+lemma Set_and_Multiset_Cardinalities(x: int, y: int)
+{
+ if * {
+ assert 1 <= |{x,y}| <= 2;
+ if x != y {
+ assert 2 <= |{x,y}|;
+ } else {
+ assert 2 <= |{x,y}|; // error
+ }
+ } else {
+ assert |multiset{x,y}| == 2;
+ }
+}
|