Class: ADSL::DS::DSEitherLambdaObjset

Inherits:
DSNode show all
Defined in:
lib/adsl/ds/data_store_spec.rb,
lib/adsl/spass/spass_ds_extensions.rb

Instance Method Summary collapse

Methods inherited from DSNode

#list_entity_classes_read, #list_entity_classes_written_to, #replace, #replace_var

Instance Method Details

#prepare_action(translation) ⇒ Object



454
# File 'lib/adsl/spass/spass_ds_extensions.rb', line 454

def prepare_action(translation); end

#resolve_action_objset(translation, ps, o) ⇒ Object



456
457
458
459
460
461
462
463
464
465
466
467
468
# File 'lib/adsl/spass/spass_ds_extensions.rb', line 456

def resolve_action_objset(translation, ps, o)
  translation.reserve_names :r do |r|
    implications = []
    @either.blocks.length.times do |i|
      implications << FOL::Implies.new(@either.is_trues[i][r], @vars[i].resolve_action_objset(translation, ps, o))
    end
    
    return FOL::ForAll.new(:r, FOL::Implies.new(
      @either.resolution_link[ps, r],
      FOL::And.new(implications)
    ))
  end
end