UnCoVer (Using Coverability for Verification)
|
This class prepares given rules to be used together with the minor order in the backward search. More...
#include <MinorRulePreparer.h>
Public Member Functions | |
MinorRulePreparer () | |
Generates a new instance of a MinorRulePreparer. More... | |
virtual | ~MinorRulePreparer () |
Destroys the current instance of this class. | |
virtual void | prepareRule (graphs::Rule const &rule, basic_types::CollectionCallback< graphs::Rule_sp > &callback) const override |
Takes a single rule and creates the prepared set of rules for this rule. More... | |
virtual void | prepareRule (graphs::UQRuleInstance const &rule, basic_types::CollectionCallback< graphs::UQRuleInstance_sp > &callback) const override |
Takes a single instantiation of a universally quantified rule and creates the prepared set of rules for this instantiation. More... | |
virtual bool | isNoOpRule (graphs::AnonRule const &rule) const override |
Checks if the given rule will only produce graphs already represented when the backward analysis is applied, i.e. More... | |
void | setOptimization (bool opt) |
Sets whether the rule preparation will be optimized, i.e. More... | |
bool | willOptimize () const |
Returns whether the rule preparation will be optimized, i.e. More... | |
Protected Attributes | |
bool | optimize |
Stores whether the rule preparation will be optimized. | |
This class prepares given rules to be used together with the minor order in the backward search.
Given rules L->R are thereby taken and the rule L->R->M is added instead for every minor morphism R->M.
Generates a new instance of a MinorRulePreparer.
No further instantiation is needed.
|
overridevirtual |
Checks if the given rule will only produce graphs already represented when the backward analysis is applied, i.e.
its application is not necessary in the first place. Does not (necessarily) check if the rule is a valid morphism! This function is only used for optimization. A special treatment of instantiations of universally quantified rules in not necessary for this check.
rule | the rule to be checked |
Implements RulePreparer.
|
overridevirtual |
Takes a single rule and creates the prepared set of rules for this rule.
Each newly generated rule is added via the given callback function.
rule | the rule which should be prepared |
callback | the callback defining where the newly generated rules will be added |
Implements RulePreparer.
|
overridevirtual |
Takes a single instantiation of a universally quantified rule and creates the prepared set of rules for this instantiation.
Each newly generated rule is added via the given callback function. Takes the special properties of universally quantified rules into account.
rule | an instantiation of a universally quantified rule which should be prepared |
callback | the callback defining where the newly generated rules will be added |
Implements RulePreparer.
|
inlineinherited |
Sets whether the rule preparation will be optimized, i.e.
the number of produced rules will be minimized.
opt | true, iff the rule preparation should be optimized |
|
inlineinherited |
Returns whether the rule preparation will be optimized, i.e.
the number if produced ruless will be minimized.