class ADSL::FOL::Or
Attributes
objs[R]
Public Class Methods
new(*objs)
click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 86 def initialize(*objs) @objs = objs.flatten end
Public Instance Methods
resolve_spass()
click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 90 def resolve_spass children = @objs.map{ |child| child.resolve_spass } children = children.map{ |child| child.match('\Aor\((.*)\)\z') ? $1.split_by_zero_level_comma : child }.flatten children.delete_if{ |a| a == 'false' } return 'true' if children.include? 'true' return 'false' if children.empty? return children.first if children.length == 1 return "or(#{children.join(', ')})" end