Skip to content

TermMapper does not track cnfized formulas #880

@Tomaqa

Description

@Tomaqa

Even though PartitionManager stores the mapping from a top-level formula to an internal, preprocessed one, mapping the formulas to the internal variables TermMapper may still be broken due to Cnfizer.
For example, formula (= x 0) is preprocessed to (and (<= x 0) (<= (- x) 0)).
However, TermMapper does not know about either of the formulas because (and (<= x 0) (<= (- x) 0)) breaks down to (<= x 0) and (<= (- x) 0) separately.
Hence, it is impossible to identify if (= x 0) or (and (<= x 0) (<= (- x) 0)) are present in the SMT solver via TermMapper::hasLit, used for example in MainSolver::getTermValue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions