Class: ADSL::FOL::Not
Instance Method Summary collapse
-
#initialize(*formulae) ⇒ Not
constructor
A new instance of Not.
- #resolve_spass ⇒ Object
Constructor Details
#initialize(*formulae) ⇒ Not
Returns a new instance of Not.
52 53 54 55 |
# 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 |
Instance Method Details
#resolve_spass ⇒ Object
57 58 59 60 61 62 |
# 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 |