learner
Class CartesianFTA

java.lang.Object
  extended by learner.FiniteTreeAutomata
      extended by learner.CartesianFTA

public class CartesianFTA
extends FiniteTreeAutomata

A cartesian FTA simply consists of two regular FTA's which are run in parallell.

See Also:
FiniteTreeAutomata

Nested Class Summary
 class CartesianFTA.CartesianState
          Another utility class, contains a tuple of regular states.
 
Field Summary
 
Fields inherited from class learner.FiniteTreeAutomata
name
 
Constructor Summary
CartesianFTA(FiniteTreeAutomata A, FiniteTreeAutomata B)
          Constructs a new Caretesian FTA from two regular FTAs.
 
Method Summary
 boolean accepts(Tree t)
          The method accepts returns true if the argument is in the language, and otherwise false.
 Tree getCounterexample()
          Find a large tree on which the internal ftas disagree.
 
Methods inherited from class learner.FiniteTreeAutomata
getAccepting, getSignature, getStates, getTable, run, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CartesianFTA

public CartesianFTA(FiniteTreeAutomata A,
                    FiniteTreeAutomata B)
Constructs a new Caretesian FTA from two regular FTAs.

Parameters:
A - a finite tree automata
B - and its mate!
Method Detail

accepts

public boolean accepts(Tree t)
Description copied from class: FiniteTreeAutomata
The method accepts returns true if the argument is in the language, and otherwise false. It does this by invoking the recursive method run on the argument tree.

Overrides:
accepts in class FiniteTreeAutomata
Parameters:
t - the labelled tree that is to be tested for membership
Returns:
true if tree is in the target language, false otherwise.

getCounterexample

public Tree getCounterexample()
Find a large tree on which the internal ftas disagree.

Returns:
a large counterexample to the conjecture that the internal fta's are equivalent