Implements a hash table to abbreviate boolean expressions by new variables so that common sub-expressions can be shared.
Type | Description |
An abbreviation is a pair that describes a mapping from a QName to a Boolean expression. Since this mapping is partial (some names may not be bound), the second component is a BoolExpr option. |
|
An abbreviation table essentially consists of a map from boolean expressions to QNames. This mapping is viewed as abbreviation of the expression by a new boolean variable whose name is the QName. In contrast to the forward variant, new abbreviations can be created. To this end, the table has to generate new names which is done by storing in integer which is also the maximum number of boolean expressions abbreviated in the table. |
Function or value | Description |
Full Usage:
AbbrevBoolExpr abrTab boolExpr
Parameters:
AbbrevTable
boolExpr : BoolExpr
Returns: BoolExpr
|
Inserts a boolean expression in the table. The behavior is similar to StrongAbbrevBoolExpr, except variables, negations and boolean constants and variables phi. They are simply returned without creating a new abbreviation in the table.
|
Full Usage:
AbbrevConj abbrevs (t1, t2)
Parameters:
AbbrevTable
t1 : BoolExpr
t2 : BoolExpr
Returns: BoolExpr
|
Creates an expression that represents the boolean conjunction of t1 and t2 with its subterms abbreviated in the abbreviation table.
|
Full Usage:
AbbrevDisj abbrevs (t1, t2)
Parameters:
AbbrevTable
t1 : BoolExpr
t2 : BoolExpr
Returns: BoolExpr
|
Creates an expression that represents the boolean disjunction of t1 and t2 with its subterms abbreviated in the abbreviation table.
|
Full Usage:
AbbrevEqu abbrevs (t1, t2)
Parameters:
AbbrevTable
t1 : BoolExpr
t2 : BoolExpr
Returns: BoolExpr
|
Creates an expression that represents the boolean equivalence of t1 and t2 with its subterms abbreviated in the abbreviation table.
|
Full Usage:
AbbrevImpl abbrevs (t1, t2)
Parameters:
AbbrevTable
t1 : BoolExpr
t2 : BoolExpr
Returns: BoolExpr
|
Creates an expression that represents the boolean implication of t1 and t2 with its subterms abbreviated in the abbreviation table.
|
Full Usage:
AbbrevIte abbrevs (t1, t2, t3)
Parameters:
AbbrevTable
t1 : BoolExpr
t2 : BoolExpr
t3 : BoolExpr
Returns: BoolExpr
|
Creates an expression that represents the boolean if-then-else with its subterms abbreviated in the abbreviation table.
|
|
Creates an expression that represents the boolean negation of t with its subterms abbreviated in the abbreviation table.
|
|
Generates a new qname that is not abbreviated so far in the referenced abbreviation table.
|
|
|
|
|
|
Generates a new abbreviation table where the names of the variables used for the abbreviations start with two underscores and s. Note that the abbreviation tables must have different name stubs s.
|
|
printer of abbreviation abr
|
|
Printer function for an abbreviation table
|
|
Returns the qname associated with dfn in table given by abrTab If not found there, the parent table will be consulted. An InternalException will be raised if no entry is bound to dfn in any table.
|
Full Usage:
StrongAbbrevBoolExpr abrTab boolExpr
Parameters:
AbbrevTable
boolExpr : BoolExpr
Returns: BoolExpr
|
Inserts a boolean expression in the table. If the expression is already associated with a qname, return that qname, otherwise generate a new qname and associate it with the expression.
|