Class: ADSL::DS::DSDereference

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



695
696
697
# File 'lib/adsl/spass/spass_ds_extensions.rb', line 695

def prepare_action(translation)
  @objset.prepare_action translation
end

#resolve_action_objset(translation, ps, var) ⇒ Object



699
700
701
702
703
704
705
706
707
708
709
# File 'lib/adsl/spass/spass_ds_extensions.rb', line 699

def resolve_action_objset(translation, ps, var)
  translation.reserve_names :temp, :r do |temp, r|
    return FOL::Exists.new(temp, r, FOL::And.new(
      translation.prev_state[ps, r],
      translation.prev_state[ps, temp],
      @objset.resolve_action_objset(translation, ps, temp),
      @relation.left_link[r, temp],
      @relation.right_link[r, var]
    ))
  end
end

#resolve_invariant_objset(translation, var) ⇒ Object



711
712
713
714
715
716
717
718
719
720
721
# File 'lib/adsl/spass/spass_ds_extensions.rb', line 711

def resolve_invariant_objset(translation, var)
  translation.reserve_names :temp, :r do |temp, r|
    return FOL::Exists.new(temp, r, FOL::And.new(
      translation.invariant_state[temp],
      translation.invariant_state[r],
      @objset.resolve_invariant_objset(translation, temp),
      @relation.left_link[r, temp],
      @relation.right_link[r, var]
    ))
  end
end

#typeObject



231
232
233
# File 'lib/adsl/ds/data_store_spec.rb', line 231

def type
  @relation.to_class
end