Class: ADSL::FOL::PairwiseEqual
- Defined in:
- lib/adsl/fol/first_order_logic.rb
Instance Method Summary collapse
-
#initialize(*list) ⇒ PairwiseEqual
constructor
A new instance of PairwiseEqual.
- #resolve_spass ⇒ Object
Constructor Details
#initialize(*list) ⇒ PairwiseEqual
Returns a new instance of PairwiseEqual.
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_spass ⇒ Object
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 |