class PropLogic::Variable
Public Class Methods
new(name = nil)
click to toggle source
# File lib/prop_logic/variable.rb, line 3 def initialize(name = nil) @name = name || "v_#{object_id}" @terms = [].freeze freeze end
new()
click to toggle source
@raise NotImplementedError Term
is abstract class.
# File lib/prop_logic/term.rb, line 13 def initialize raise NotImplementedError, 'Term cannot be initialized' end
Public Instance Methods
assign(trues, falses, variables = nil)
click to toggle source
# File lib/prop_logic/variable.rb, line 39 def assign(trues, falses, variables = nil) if trues.include? self True elsif falses.include? self False else self end end
cnf?()
click to toggle source
# File lib/prop_logic/variable.rb, line 31 def cnf? true end
nnf?()
click to toggle source
# File lib/prop_logic/variable.rb, line 15 def nnf? true end
not()
click to toggle source
bypassing Term.get
@return [NotTerm] negated variable
# File lib/prop_logic/variable.rb, line 51 def not Term.__send__ :cached, NotTerm, self end
reduced?()
click to toggle source
# File lib/prop_logic/variable.rb, line 19 def reduced? true end
to_cnf()
click to toggle source
# File lib/prop_logic/variable.rb, line 23 def to_cnf self end
to_s(*)
click to toggle source
# File lib/prop_logic/variable.rb, line 11 def to_s(*) @name end
tseitin(pool)
click to toggle source
# File lib/prop_logic/variable.rb, line 27 def tseitin(pool) self end
variables()
click to toggle source
# File lib/prop_logic/variable.rb, line 35 def variables [self] end