Class: ADSL::DS::DSForAll

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

#resolve_invariant_formula(translation) ⇒ Object



865
866
867
868
869
870
871
872
873
874
875
876
877
878
# File 'lib/adsl/spass/spass_ds_extensions.rb', line 865

def resolve_invariant_formula(translation)
  subformula = @subformula.resolve_invariant_formula translation
  var_constraints = []
  @vars.length.times do |index|
    var_constraints << @objsets[index].resolve_invariant_objset(translation, @vars[index].invariant_name)
  end
  return FOL::ForAll.new(@vars.map{ |v| v.invariant_name }, FOL::Implies.new(
    FOL::And.new(
      @vars.map{ |v| translation.invariant_state[v.invariant_name] },
      var_constraints
    ),
    subformula
  )).resolve_spass
end

#typeObject



262
263
264
# File 'lib/adsl/ds/data_store_spec.rb', line 262

def type
  :formula
end