class ADSL::FOL::Not
Public Class Methods
new(*formulae)
click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 52 def initialize(*formulae) @formulae = formulae.flatten raise ArgumentError, "At least one subformula required" if @formulae.empty? end
Public Instance Methods
resolve_spass()
click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 57 def resolve_spass children = @formulae.map{ |obj| obj.resolve_spass } children.delete_if{ |a| a == 'false' } return 'false' if children.include? 'true' return And.new(children.map{ |child| child.match('\Anot\((.*)\)\z') ? $1 : "not(#{child})" }).resolve_spass end