UnCoVer (Using Coverability for Verification)
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Classes | Typedefs | Functions
uncover::minors Namespace Reference

Contains implementations of classes from the uncover::analysis namespace for the minor ordering. More...

Classes

class  MinorOrder
 This class implements the Hypergraph Minor Ordering, as described in "Applying the Graph Minor Theorem to the Verification of Graph Transformation Systems" (Salil Joshi, Barbara König). More...
 
class  MinorPOCEnumerator
 Implements the abstract MinPOCEnumerator class for the minor ordering. More...
 
class  MinorRulePreparer
 This class prepares given rules to be used together with the minor order in the backward search. More...
 
class  OldMinorOrder
 This class is an old implementation of the Hypergraph Minor Ordering based on searching for disjoint paths. More...
 

Typedefs

typedef shared_ptr
< MinorRulePreparer
MinorRulePreparer_sp
 Alias for a shared pointer of a MinorRulePreparer.
 
typedef shared_ptr
< MinorRulePreparer const > 
MinorRulePreparer_csp
 Alias for a shared pointer of a constant MinorRulePreparer.
 

Functions

void generateIDEnumerator (vector< IDPartitionEnumerator > &enumList, unordered_set< IDType > const &genFrom, unordered_set< IDType > const &delVertices, AnonHypergraph const &graph)
 Adds one IDPartitionEnumerator to the given vector for each edge in genFrom, but only if the edge can be contracted in a way which is not also a simple deletion. More...
 
template<typename T >
void prepareRule_Impl (T const &rule, CollectionCallback< shared_ptr< T >> &callback, RulePreparer const &rulePreparer)
 Serves as an implementation of the MinorRulePreparer::prepareRule(...) variants for normal and UQRules. More...
 

Detailed Description

Contains implementations of classes from the uncover::analysis namespace for the minor ordering.

Enables the minor ordering to be used in the analysis.

Author
Jan Stückrath

Function Documentation

void uncover::minors::generateIDEnumerator ( vector< IDPartitionEnumerator > &  enumList,
unordered_set< IDType > const &  genFrom,
unordered_set< IDType > const &  delVertices,
AnonHypergraph const &  graph 
)

Adds one IDPartitionEnumerator to the given vector for each edge in genFrom, but only if the edge can be contracted in a way which is not also a simple deletion.

A real contraction is possible if the edge is incident to at least two different vertices which are not already marked to be deleted.

Parameters
enumListthe vector to which generated IDPartitionEnumerators will be added
genFromthe set of edges for which IDPartitionEnumerators should be generated
delVerticesthe set of vertices which are marked to be deleted
graphthe graph which contains all given edge and vertex IDs
void uncover::minors::prepareRule_Impl ( T const &  rule,
CollectionCallback< shared_ptr< T >> &  callback,
RulePreparer const &  rulePreparer 
)

Serves as an implementation of the MinorRulePreparer::prepareRule(...) variants for normal and UQRules.

Parameters
rulea reference to the rule to be prepared
callbacka callback for storing newly generated rules
rulePreparerthe RulePreparer used for preparation