use of kodkod.engine.hol.Proc.FOL in project org.alloytools.alloy by AlloyTools.
the class HOLTranslator method visit.
@Override
public Proc visit(QuantifiedFormula qf) {
assertNotSkolemizable(qf);
Formula qfFlipped = qf.body().quantify(qf.quantifier().opposite, qf.decls(), qf.domain());
Proc body = toProc(qfFlipped);
boolean firstOrder = true;
for (Decl decl : qf.decls()) if (decl.multiplicity() != Multiplicity.ONE) {
firstOrder = false;
break;
}
if (firstOrder && body instanceof FOL && noNewHOLSkolems(((FOL) body).bounds.skolems(), bounds.skolems()))
return new Proc.FOL(bounds, qf);
else
return new Proc.Some4All(bounds, qf, body);
}
Aggregations