class PropLogic::DefaultIncrementalSolver

Default implementation of incremental SAT solver. Provided for reference implementation and avoiding non-existent error. (Using normal solver, not incrementally)

Attributes

term[R]

Current term

Public Class Methods

new(term) click to toggle source

@param [Term] initial term

# File lib/prop_logic/default_incremental_solver.rb, line 9
def initialize(term)
  @term = term
end

Public Instance Methods

<<(*terms)
Alias for: add
add(*terms) click to toggle source

Adding new terms to this solver. @param [Term] terms to add. @return [DefaultIncrementalSolver] self

# File lib/prop_logic/default_incremental_solver.rb, line 19
def add(*terms)
  @term = @term.and(*terms)
  self
end
Also aliased as: <<
sat?() click to toggle source

Check satisfiability of terms. @return [Term] if satisfied @return [false] if unsatisfied

# File lib/prop_logic/default_incremental_solver.rb, line 29
def sat?
  @term.sat?
end