daikon.inv
Class Joiner
Object
Invariant
Joiner
- All Implemented Interfaces:
- Serializable, Cloneable
- Direct Known Subclasses:
- AndJoiner, Implication
public abstract class Joiner
- extends Invariant
- See Also:
- Serialized Form
| Fields inherited from class Invariant |
CONFIDENCE_JUSTIFIED, CONFIDENCE_NEVER, CONFIDENCE_UNJUSTIFIED, debug, debugFlow, debugGuarding, debugIsObvious, debugIsWorthPrinting, debugPrint, debugPrintEquality, dkconfig_confidence_limit, dkconfig_fuzzy_ratio, dkconfig_simplify_define_predicates, falsified, isGuardingPredicate, min_mod_non_missing_samples, ppt, PROBABILITY_JUSTIFIED, PROBABILITY_NEVER, PROBABILITY_UNJUSTIFIED |
| Methods inherited from class Invariant |
add_sample, asInvClass, clear_falsified, clone_and_permute, clone, computeConfidence, conf_is_ge, confidence_and, confidence_and, confidence_or, createGuardedInvariant, createGuardingPredicate, enabled, enoughSamples, falsify, find, format_too_few_samples, format_unimplemented, format, formatFuzzy, get_comparability, get_ni_suppressions, getConfidence, getGuardingList, getGuardingList, hasUninterestingConstant, instantiate_dyn, instantiate_ok, instantiate, is_false, is_ni_suppressed, isActive, isAllPrestate, isExact, isExclusiveFormula, isObvious, isObviousDynamically_SomeInEquality, isObviousDynamically_SomeInEqualityHelper, isObviousDynamically, isObviousDynamically, isObviousStatically_AllInEquality, isObviousStatically_SomeInEquality, isObviousStatically_SomeInEqualityHelper, isObviousStatically, isObviousStatically, isReflexive, isValidExpression, isWorthPrinting, justified, log, log, logDetail, logOn, match, merge, mergeFormulasOk, permute, prob_and, prob_and, prob_is_ge, prob_or, repCheck, repr_prob, resurrect, simplify_format_double, simplify_format_long, simplify_format_string, state_match, toString, toString, transfer, usesVar, usesVar, usesVarDerived, valid_types, varNames |
left
public Invariant left
right
public Invariant right
Joiner
protected Joiner(PptSlice ppt)
Joiner
public Joiner(PptTopLevel ppt,
Invariant left,
Invariant right)
repr
public abstract String repr()
- Description copied from class:
Invariant
- For printing invariants, there are two interfaces:
repr gives a low-level representation
(repr_prop also prints the confidence), and
format gives a high-level representation for user output.
- Overrides:
repr in class Invariant
resurrect_done
protected Invariant resurrect_done(int[] permutation)
- Description copied from class:
Invariant
- Called on the new invariant just before resurrect() returns it to
allow subclasses to fix any information they might have cached
from the old Ppt and VarInfos.
- Specified by:
resurrect_done in class Invariant
format_using
public abstract String format_using(OutputFormat format)
- Specified by:
format_using in class Invariant
isValidEscExpression
public boolean isValidEscExpression()
- Overrides:
isValidEscExpression in class Invariant
- Returns:
- conjuction of mapping the same function of our
expresssions's VarInfos, in general. Subclasses may override if
they are able to handle generally-inexpressible properties in
special-case ways.
- See Also:
VarInfo.isValidEscExpression()
isObviousDerived
public boolean isObviousDerived()
isObviousImplied
public DiscardInfo isObviousImplied()
isSameInvariant
public boolean isSameInvariant(Invariant other)
- Overrides:
isSameInvariant in class Invariant
- Returns:
- true iff the argument is the "same" invariant as this.
Same, in this case, means a matching type, formula, and variable
names.
isSameFormula
public boolean isSameFormula(Invariant other)
- Overrides:
isSameFormula in class Invariant
- Returns:
- true iff the two invariants represent the same
mathematical formula. Does not consider the context such as
variable names, confidences, sample counts, value counts, or
related quantities. As a rule of thumb, if two invariants format
the same, this method returns true. Furthermore, in many cases,
if an invariant does not involve computed constants (as "x>c" and
"y=ax+b" do for constants a, b, and c), then this method vacuously
returns true.
isInteresting
public boolean isInteresting()
- Overrides:
isInteresting in class Invariant