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