Documentation

Complexity.Logics.Propositional.ClauseSet.Sparsification.PolyTime

Sparsification -- the step is polynomial-time #

The list-level sparsification step (Cslib.Logic.PL.CNF.Sparsification.next), the test for sparseness (Cslib.Logic.PL.CNF.Sparsification.isSparse) and normalization (Cslib.Logic.PL.CNF.Sparsification.normalize) are polynomial-time on the framed encoding of formulas, for any encoding of the variables. The width k is fixed, so a clause has a constant number of candidate hearts; the thresholds enter only through comparisons θ j ≤ n, which must themselves be polynomial-time in unary. They are for the explicit thresholds (Cslib.Logic.PL.ClauseSet.Sparsification.computableInPolyTime_threshold_le).

The thresholds may also be read from a runtime parameter p, as θ p: the …With certificates take the parameter as part of the input and charge its encoding, so one machine serves every parameter value. The certificates for fixed thresholds are their specializations to a constant parameter.

Main results #

References #