public static HashSet <LTSState> GFP(PredicateTransformer tau, LTS lts, Environment env) { var Q = Tuple.Create(new HashSet <LTSState>(lts.States), lts, env); var QPrime = tau(Q); while (QPrime.Item1.Count() != Q.Item1.Count()) { Q = QPrime; QPrime = tau(QPrime); } return(Q.Item1); }
/** * Creates a Transformer that calls a Predicate each time the transformer is used. * The transformer will return either Boolean.TRUE or Boolean.FALSE. * * @see org.apache.commons.collections.functors.PredicateTransformer * * @param predicate the predicate to run each time in the transformer, not null * @return the transformer * @throws IllegalArgumentException if the predicate is null */ public static Transformer asTransformer(Predicate predicate) { return(PredicateTransformer.getInstance(predicate)); }