class ADSL::FOL::Equal
Public Class Methods
new(*subformulae)
click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 138 def initialize(*subformulae) @subformulae = subformulae.flatten raise ArgumentError, "At least two subformulae required" if @subformulae.length < 2 end
Public Instance Methods
resolve_spass()
click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 143 def resolve_spass return @subformulae.first.resolve_spass if @subformulae.length == 1 combinations = [] (@subformulae.length-1).times do |index| combinations << "equal(#{@subformulae[index].resolve_spass}, #{@subformulae[index+1].resolve_spass})" end return And.new(combinations).resolve_spass end