edu.toronto.cs.mvset
Class SeqMvRelation

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

public class SeqMvRelation
extends java.lang.Object
implements MvRelation

Sequential composition of two relations Created: Fri Jun 10 11:12:12 2005

Version:
1.0
Author:
Arie Gurfinkel

Constructor Summary
SeqMvRelation(MvRelation _first, MvRelation _second)
          Creates a new SeqMvRelation instance.
 
Method Summary
 MvSet bwdImage(MvSet v)
          Computes the backward image (a.k.a, pre, EX) of v.
 MvSet dualBwdImage(MvSet v)
          Computes the logical dual of backward image (a.k.a.
 MvSet fwdImage(MvSet v)
          Computes forward image (post) of v
 MvRelation getFirst()
           
 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
 MvRelation getSecond()
           
 SeqMvRelation seqAfter(MvRelation v)
           
 SeqMvRelation seqBefore(MvRelation v)
           
 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
 

Constructor Detail

SeqMvRelation

public SeqMvRelation(MvRelation _first,
                     MvRelation _second)
Creates a new SeqMvRelation instance.

Parameters:
_first - a MvRelation value
_second - a MvRelation value
Method Detail

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

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

getFirst

public MvRelation getFirst()

getSecond

public MvRelation getSecond()

seqAfter

public SeqMvRelation seqAfter(MvRelation v)

seqBefore

public SeqMvRelation seqBefore(MvRelation v)

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

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

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