Class: ADSL::FOL::Exists

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

Instance Method Summary collapse

Constructor Details

#initialize(*params) ⇒ Exists

Returns a new instance of Exists.

Raises:

  • (ArgumentError)


120
121
122
123
124
125
# 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

Instance Method Details

#resolve_spassObject



127
128
129
130
131
132
133
134
# 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