class ADSL::FOL::Exists

Public Class Methods

new(*params) click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 120
def initialize(*params)
  params = params.flatten
  raise ArgumentError, "At least a formula required" if params.length < 1
  @args = params.first(params.length - 1)
  @formula = params.last
end

Public Instance Methods

resolve_spass() click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 127
def resolve_spass
  args = @args.map{ |obj| obj.resolve_spass }
  formula = @formula.resolve_spass
  return formula if args.empty?
  return 'true' if formula == 'true'
  return 'false' if formula == 'false'
  "exists( [#{args.join(', ')}], #{formula})" 
end