Module: PropLogic

Extended by:
Functions
Defined in:
lib/prop_logic/term.rb,
lib/prop_logic/or_term.rb,
lib/prop_logic/version.rb,
lib/prop_logic/and_term.rb,
lib/prop_logic/not_term.rb,
lib/prop_logic/variable.rb,
lib/prop_logic/constants.rb,
lib/prop_logic/functions.rb,
lib/prop_logic/then_term.rb,
lib/prop_logic/sat_solver.rb,
lib/prop_logic/brute_force_sat_solver.rb

Defined Under Namespace

Modules: BruteForceSatSolver, Functions Classes: AndTerm, Constant, FalseConstant, NotTerm, OrTerm, Term, ThenTerm, TrueConstant, Variable

Constant Summary collapse

VERSION =
"0.1.0"
True =
TrueConstant.instance.freeze
False =
FalseConstant.instance.freeze
@@sat_solver =

default

PropLogic::BruteForceSatSolver

Class Method Summary collapse

Methods included from Functions

all_and, all_or, new_variable

Class Method Details

.all_combination(arr) ⇒ Object



18
19
20
21
22
# File 'lib/prop_logic/functions.rb', line 18

def all_combination(arr)
  0.upto(arr.length) do |num|
    arr.combination(num){|c| yield c}
  end
end

.sat_solverObject



5
6
7
# File 'lib/prop_logic/sat_solver.rb', line 5

def self.sat_solver
  @@sat_solver
end

.sat_solver=(engine) ⇒ Object

Raises:

  • (TypeError)


9
10
11
12
# File 'lib/prop_logic/sat_solver.rb', line 9

def self.sat_solver=(engine)
  raise TypeError unless engine.respond_to?(:call)
  @@sat_solver = engine
end