Skip to content

modify a preprocessed cnf #12

@max-waters

Description

@max-waters

Coprocessor stores undo information which allows a model of the preprocessed CNF to be translated back into a model of the original CNF. Is it possible to use this undo information to go the other way? Given a variable from the original CNF, can it be determined which variable it has been mapped to in the preprocessed CNF?

The reason I ask is that I would like to modify a CNF after it has been preprocessed, and avoid having to repeat the preprocessing. Let's say I have an input CNF which looks like:

1 2 3 0 
-1 -3 4 0
... 

Coprocessor produces an optimised version of the CNF and some undo information. I'd then like to add a new clause into the CNF:

1 2 3 0 
-1 -3 4 0 
... 
2 0

Currently, I have to add 2 into the original CNF, and then run Coprocessor again. But, if I knew which variable 2 is mapped to in the optimised CNF, then it could be added directly into the optimised CNF instead.

Is this possible? I have read this description of the undo info format but it seems to be outdated -- I'm currently using the version of Coprocessor found here. I've also looked through various versions of the source code but can't figure out how the undo information works.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions