Class: ADSL::DS::DSSubset

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



725
726
727
# File 'lib/adsl/spass/spass_ds_extensions.rb', line 725

def prepare_action(translation)
  @objset.prepare_action translation
end

#resolve_action_objset(translation, ps, var) ⇒ Object



729
730
731
732
733
734
735
736
737
738
# File 'lib/adsl/spass/spass_ds_extensions.rb', line 729

def resolve_action_objset(translation, ps, var)
  context = translation.context
  pred = translation.create_predicate :subset, context.level + 1
  translation.reserve_names context.p_names do |ps|
    translation.create_formula FOL::ForAll.new(ps, :o,
      FOL::Implies.new(pred[ps, :o], @objset.resolve_action_objset(translation, ps, :o))
    )
  end
  return pred[ps, var]
end

#resolve_invariant_objset(translation, var) ⇒ Object



740
741
742
743
744
745
746
# File 'lib/adsl/spass/spass_ds_extensions.rb', line 740

def resolve_invariant_objset(translation, var)
  pred = translation.create_predicate :subset, 1
  translation.create_formula FOL::ForAll.new(:o, 
    FOL::Implies.new(pred[:o], @objset.resolve_invariant_objset(translation, :o))
  )
  return pred[var]
end

#typeObject



200
201
202
# File 'lib/adsl/ds/data_store_spec.rb', line 200

def type
  @objset.type
end