edu.toronto.cs.mvset
Class MvSetMvRelation

java.lang.Object
  extended by edu.toronto.cs.mvset.MvSetMvRelation
All Implemented Interfaces:
MvRelation

public class MvSetMvRelation
extends java.lang.Object
implements MvRelation

MvSetMvRelation.java Created: Thu Jun 10 22:57:42 2004

Version:
Author:
Arie Gurfinkel

Field Summary
static boolean doAssert
           
 
Constructor Summary
MvSetMvRelation(MvSet _reln, MvSet _preVariablesCube, MvSet _postVariablesCube, int[] _preToPostMap, int[] _postToPreMap)
           
MvSetMvRelation(MvSet _reln, MvSet _invariant, MvSet _preVariablesCube, MvSet _postVariablesCube, int[] _preToPostMap, int[] _postToPreMap)
          Creates a new MvSetMvRelation instance.
MvSetMvRelation(MvSet _reln, MvSet _invariant, MvSet _invariantPost, MvSet _preVariablesCube, MvSet _postVariablesCube, int[] _preToPostMap, int[] _postToPreMap)
          Creates a new MvSetMvRelation instance.
 
Method Summary
 MvSet bwdImage(MvSet v)
          Computes the backward image (a.k.a, pre, EX) of v.
 MvSetMvRelation compose(MvSetMvRelation r)
          Computes a composition of two relations this ; r
 MvSet dualBwdImage(MvSet v)
          Computes the logical dual of backward image (a.k.a.
 MvSet fwdImage(MvSet v)
          Computes forward image (post) of v
 int[] getPostToPreMap()
          get map from post- to pre-state variables
 MvSet getPostVariablesCube()
          get cube of post-state variables
 int[] getPreToPostMap()
          get map from pre- to post-state variables
 MvSet getPreVariablesCube()
          return cube of pre-state variables
 void setTrans(MvSet v)
          Sets the transition part of the relation from an mvset over pre- and post- variables
 MvSet toMvSet()
          Converts this transformer to an MvSet over pre- and post-variables, if possible.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

doAssert

public static boolean doAssert
Constructor Detail

MvSetMvRelation

public MvSetMvRelation(MvSet _reln,
                       MvSet _preVariablesCube,
                       MvSet _postVariablesCube,
                       int[] _preToPostMap,
                       int[] _postToPreMap)

MvSetMvRelation

public MvSetMvRelation(MvSet _reln,
                       MvSet _invariant,
                       MvSet _preVariablesCube,
                       MvSet _postVariablesCube,
                       int[] _preToPostMap,
                       int[] _postToPreMap)
Creates a new MvSetMvRelation instance.

Parameters:
_reln - a MvSet value
_invariant - a MvSet value
_preVariablesCube - a MvSet value
_postVariablesCube - a MvSet value
_preToPostMap - an int[] value
_postToPreMap - an int[] value

MvSetMvRelation

public MvSetMvRelation(MvSet _reln,
                       MvSet _invariant,
                       MvSet _invariantPost,
                       MvSet _preVariablesCube,
                       MvSet _postVariablesCube,
                       int[] _preToPostMap,
                       int[] _postToPreMap)
Creates a new MvSetMvRelation instance.

Parameters:
_reln - a MvSet value
_invariant - a MvSet value
_invariantPost - a MvSet value
_preVariablesCube - a MvSet value
_postVariablesCube - a MvSet value
_preToPostMap - an int[] value
_postToPreMap - an int[] value
Method Detail

bwdImage

public MvSet bwdImage(MvSet v)
Description copied from interface: MvRelation
Computes the backward image (a.k.a, pre, EX) of v.

Specified by:
bwdImage in interface MvRelation
Parameters:
v - an input set
Returns:
the result of backward image

dualBwdImage

public MvSet dualBwdImage(MvSet v)
Description copied from interface: MvRelation
Computes the logical dual of backward image (a.k.a. AX) of v.

r.dualBwdImage (v) == r.bwdImage (v.not ()).not ()

Specified by:
dualBwdImage in interface MvRelation
Parameters:
v - an input set
Returns:
the result of dual backward image

fwdImage

public MvSet fwdImage(MvSet v)
Description copied from interface: MvRelation
Computes forward image (post) of v

Specified by:
fwdImage in interface MvRelation
Parameters:
v - an input set
Returns:
the result of forward image

toMvSet

public MvSet toMvSet()
Description copied from interface: MvRelation
Converts this transformer to an MvSet over pre- and post-variables, if possible.

Specified by:
toMvSet in interface MvRelation
Returns:
an MvSet representation of this transformer

setTrans

public void setTrans(MvSet v)
Description copied from interface: MvRelation
Sets the transition part of the relation from an mvset over pre- and post- variables

Specified by:
setTrans in interface MvRelation
Parameters:
v - a MvSet value

compose

public MvSetMvRelation compose(MvSetMvRelation r)
Computes a composition of two relations this ; r

Parameters:
r - a MvSetMvRelation value
Returns:
a MvSetMvRelation value

getPreVariablesCube

public MvSet getPreVariablesCube()
return cube of pre-state variables

Specified by:
getPreVariablesCube in interface MvRelation

getPostVariablesCube

public MvSet getPostVariablesCube()
get cube of post-state variables

Specified by:
getPostVariablesCube in interface MvRelation

getPreToPostMap

public int[] getPreToPostMap()
get map from pre- to post-state variables

Specified by:
getPreToPostMap in interface MvRelation

getPostToPreMap

public int[] getPostToPreMap()
get map from post- to pre-state variables

Specified by:
getPostToPreMap in interface MvRelation