class ADSL::FOL::PairwiseEqual

Public Class Methods

new(*list) click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 233
def initialize(*list)
  list = list.flatten
  @list1 = list.first((list.length/2.0).ceil)
  @list2 = list.last((list.length/2.0).floor)
  raise ArgumentError, "Lists not of equal length: [#{@list1.join(", ")}], [#{@list2.join(", ")}]" if @list1.length != @list2.length
end

Public Instance Methods

resolve_spass() click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 240
def resolve_spass
  equalities = []
  @list1.length.times do |i|
    equalities << Equal.new(@list1[i], @list2[i])
  end
  return And.new(equalities).resolve_spass
end