summaryrefslogtreecommitdiff
path: root/Binaries
diff options
context:
space:
mode:
authorGravatar Jason Koenig <unknown>2012-06-26 17:06:33 -0700
committerGravatar Jason Koenig <unknown>2012-06-26 17:06:33 -0700
commit474402019659b954371e46891f0e6ac8679dd574 (patch)
tree90e2f8165348e855c12ab5c259d99ed1cdd827ba /Binaries
parente30d629ebd9c8249cafc55e63aa35bafdea6ee9f (diff)
Dafny: Implemented abstract modules
Diffstat (limited to 'Binaries')
-rw-r--r--Binaries/DafnyPrelude.bpl7
1 files changed, 7 insertions, 0 deletions
diff --git a/Binaries/DafnyPrelude.bpl b/Binaries/DafnyPrelude.bpl
index fef8fe1f..53d0b471 100644
--- a/Binaries/DafnyPrelude.bpl
+++ b/Binaries/DafnyPrelude.bpl
@@ -500,6 +500,13 @@ axiom (forall f: Field BoxType, i: int :: { MultiIndexField(f,i) }
function DeclType<T>(Field T): ClassName;
+type NameFamily;
+function DeclName<T>(Field T): NameFamily;
+function FieldOfDecl<alpha>(ClassName, NameFamily): Field alpha;
+axiom (forall<T> cl : ClassName, nm: NameFamily ::
+ {FieldOfDecl(cl, nm): Field T}
+ DeclType(FieldOfDecl(cl, nm): Field T) == cl && DeclName(FieldOfDecl(cl, nm): Field T) == nm);
+
// ---------------------------------------------------------------
// -- Allocatedness ----------------------------------------------
// ---------------------------------------------------------------