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 =
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_solver ⇒ Object
5
6
7
|
# File 'lib/prop_logic/sat_solver.rb', line 5
def self.sat_solver
@@sat_solver
end
|
.sat_solver=(engine) ⇒ Object
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
|