K body = context.body();
private Stream<? extends Sentence> resolve(Context context, Module input) { checkContextValidity(context); final SortedMap<KVariable, K> vars = new TreeMap<>((v1, v2) -> v1.name().compareTo(v2.name())); K body = context.body(); K requiresHeat = context.requires(); K requiresCool = BooleanUtils.TRUE; K frozen = KApply(freezerLabel, vars.values().stream().collect(Collections.toList())); return Stream.of(freezer, Rule(KRewrite(cooled, KSequence(heated, frozen)), requiresHeat, BooleanUtils.TRUE, context.att().add("heat")), Rule(KRewrite(KSequence(heated, frozen), cooled), requiresCool, BooleanUtils.TRUE, context.att().add("cool")));
private Context resolve(Context context) { resetVars(); gatherVars(context.body()); gatherVars(context.requires()); gatherTerms(context.body(), true); gatherTerms(context.requires(), false); filterTerms(context.body(), true); filterTerms(context.requires(), false); return new Context( transform(context.body(), true), transform(context.requires(), false), context.att()); }
private Context resolve(Context context) { reset(); analyze(context.body()); analyze(context.requires()); finishAnalysis(); if (kore) { return new Context( addFreshCell(transform(context.body())), transform(context.requires()), context.att()); } return new Context( context.body(), addSideCondition(context.requires()), context.att()); }
public Sentence concretize(Sentence m) { if (m instanceof Rule) { Rule r = (Rule) m; return new Rule(concretize(r.body()), r.requires(), r.ensures(), r.att()); } else if (m instanceof Context) { Context c = (Context) m; return new Context(concretize(c.body()), c.requires(), c.att()); } else { return m; } } }