Class: Lernen::Equiv::TransitionSystemSimulatorOracle

Inherits:
Oracle
  • Object
show all
Defined in:
lib/lernen/equiv/transition_system_simulator_oracle.rb

Overview

TransitionSystemSimulatorOracle provides an implementation of equivalence query that finds a counterexample by simulating the transition system.

Instance Attribute Summary

Attributes inherited from Oracle

#sul

Instance Method Summary collapse

Methods inherited from Oracle

#+, #stats

Constructor Details

#initialize(alphabet, automaton, sul) ⇒ TransitionSystemSimulatorOracle

: (

  Array[In] alphabet,
  Automaton::TransitionSystem[Conf, In, Out] spa,
  System::SUL[In, Out] sul
) -> void


21
22
23
24
25
26
# File 'lib/lernen/equiv/transition_system_simulator_oracle.rb', line 21

def initialize(alphabet, automaton, sul)
  super(sul)

  @alphabet = alphabet
  @automaton = automaton
end

Instance Method Details

#find_cex(hypothesis) ⇒ Object



29
30
31
32
33
# File 'lib/lernen/equiv/transition_system_simulator_oracle.rb', line 29

def find_cex(hypothesis)
  super

  Automaton::TransitionSystem.find_separating_word(@alphabet, @automaton, hypothesis)
end