Class: ADSL::FOL::PairwiseEqual

Inherits:
Object
  • Object
show all
Defined in:
lib/adsl/fol/first_order_logic.rb

Instance Method Summary collapse

Constructor Details

#initialize(*list) ⇒ PairwiseEqual

Returns a new instance of PairwiseEqual.

Raises:

  • (ArgumentError)


233
234
235
236
237
238
# 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

Instance Method Details

#resolve_spassObject



240
241
242
243
244
245
246
# 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