This class represents a reduction that replaces symbolic parameters with their constraint values.

# S4 method for Chain

# S4 method for Chain,Problem
accepts(object, problem)

# S4 method for Chain,Problem
perform(object, problem)

# S4 method for Chain,SolutionORList,list
invert(object, solution, inverse_data)


x, object

A Chain object.


A Problem object to check.


A Solution or list.


A list that contains the data encoding the original problem.

Methods (by generic)

  • accepts(object = Chain, problem = Problem): A problem is accepted if the sequence of reductions is valid. In particular, the i-th reduction must accept the output of the i-1th reduction, with the first reduction (self.reductions[0]) in the sequence taking as input the supplied problem.

  • perform(object = Chain, problem = Problem): Applies the chain to a problem and returns an equivalent problem.

  • invert(object = Chain, solution = SolutionORList, inverse_data = list): Performs the reduction on a problem and returns an equivalent problem.