diff --git a/key.core.wd/src/main/resources/de/uka/ilkd/key/proof/rules/wdGeneralRules.key b/key.core.wd/src/main/resources/de/uka/ilkd/key/proof/rules/wdGeneralRules.key index 4f450661d74..53554163432 100644 --- a/key.core.wd/src/main/resources/de/uka/ilkd/key/proof/rules/wdGeneralRules.key +++ b/key.core.wd/src/main/resources/de/uka/ilkd/key/proof/rules/wdGeneralRules.key @@ -2,6 +2,10 @@ * KeY is licensed under the GNU General Public License Version 2 * SPDX-License-Identifier: GPL-2.0-only */ +\sorts { + \generic E1, E2; +} + \schemaVariables { \formula f; \term any s, t; @@ -149,12 +153,13 @@ }; wd_Pair { - + \schemaVar \term E1 e1; + \schemaVar \term E2 e2; \find( - wd(pair(s, t)) + wd(pair(e1, e2)) ) \replacewith( - wd(s) & wd(t) + wd(e1) & wd(e2) ) \heuristics(simplify) }; diff --git a/key.core.wd/src/main/resources/de/uka/ilkd/key/proof/rules/wdLocSetRules.key b/key.core.wd/src/main/resources/de/uka/ilkd/key/proof/rules/wdLocSetRules.key index d774be56a51..cba41977cbf 100644 --- a/key.core.wd/src/main/resources/de/uka/ilkd/key/proof/rules/wdLocSetRules.key +++ b/key.core.wd/src/main/resources/de/uka/ilkd/key/proof/rules/wdLocSetRules.key @@ -2,6 +2,10 @@ * KeY is licensed under the GNU General Public License Version 2 * SPDX-License-Identifier: GPL-2.0-only */ +\sorts { + \generic E; +} + \schemaVariables { \term int i, j; \term Heap h; @@ -11,6 +15,8 @@ \term Object o; \term Field f; \term LocSet l, s; + \term E e; + \term Set s1, s2; } \rules(wdChecks:on) { @@ -67,7 +73,7 @@ wd_LocSet_Singleton { \find( - wd(singleton(o, f)) + wd(singleton(pair(o, f))) ) \varcond( \not \isArray(o), @@ -82,7 +88,7 @@ wd_LocSet_Singleton_Static { \find( - wd(singleton(o, f)) + wd(singleton(pair(o, f))) ) \varcond( \not \isArray(o), @@ -97,7 +103,7 @@ wd_LocSet_Singleton_Arr { \find( - wd(singleton(o, arr(i))) + wd(singleton(pair(o, arr(i)))) ) \varcond( \isArray(o) @@ -111,7 +117,7 @@ wd_LocSet_Singleton_Quant { \find( - \forall c; wd(singleton(o, f)) + \forall c; wd(singleton(pair(o, f))) ) \varcond( \not \isArray(o) @@ -125,20 +131,20 @@ wd_LocSet_Union { \find( - wd(union(l, s)) + wd(union(s1, s2)) ) \replacewith( - wd(l) & wd(s) + wd(s1) & wd(s2) ) \heuristics(simplify) }; wd_LocSet_Intersect { \find( - wd(intersect(l, s)) + wd(intersect(s1, s2)) ) \replacewith( - wd(l) & wd(s) + wd(s1) & wd(s2) ) \heuristics(simplify) }; @@ -146,10 +152,10 @@ wd_LocSet_Diff { \find( - wd(setMinus(l, s)) + wd(setMinus(s1, s2)) ) \replacewith( - wd(l) & wd(s) + wd(s1) & wd(s2) ) \heuristics(simplify) }; @@ -201,10 +207,10 @@ wd_LocSet_InfiniteUnion { \find( - wd(infiniteUnion{a;}(l)) + wd(infiniteUnion{a;}(s1)) ) \replacewith( - \forall a; wd(l) + \forall a; wd(s1) ) \heuristics(simplify) }; @@ -212,10 +218,10 @@ wd_LocSet_InfiniteUnion2 { \find( - wd(infiniteUnion{a, b;}(l)) + wd(infiniteUnion{a, b;}(s1)) ) \replacewith( - \forall a; (\forall b; wd(l)) + \forall a; (\forall b; wd(s1)) ) \heuristics(simplify) \displayname "wd_LocSet_InfiniteUnion" @@ -224,7 +230,7 @@ wd_LocSet_Pred_ElementOf { \find( - WD(elementOf(o, f, l)) + WD(elementOf(pair(o, f), l)) ) \varcond( \not \isStaticField(f) @@ -238,7 +244,7 @@ wd_LocSet_Pred_ElementOf_Static { \find( - WD(elementOf(o, f, l)) + WD(elementOf(pair(o, f), l)) ) \varcond( \isStaticField(f) @@ -252,20 +258,20 @@ wd_LocSet_Pred_Subset { \find( - WD(subset(l, s)) + WD(subset(s1, s2)) ) \replacewith( - wd(l) & wd(s) + wd(s1) & wd(s2) ) \heuristics(simplify) }; wd_LocSet_Pred_Disjoint { \find( - WD(disjoint(l, s)) + WD(disjoint(s1, s2)) ) \replacewith( - wd(l) & wd(s) + wd(s1) & wd(s2) ) \heuristics(simplify) }; diff --git a/key.core/build.gradle b/key.core/build.gradle index f8e5fcaffca..c6584ca35ab 100644 --- a/key.core/build.gradle +++ b/key.core/build.gradle @@ -402,7 +402,7 @@ tasks.register("testRAP", Test) { forkEvery = 1 // run the regression proofs on up to 10 parallel JVMs (overridable with -PrapForks=N) - maxParallelForks = (project.findProperty('rapForks') ?: '10') as int + maxParallelForks = (project.findProperty('rapForks') ?: '4') as int useJUnitPlatform() it.filter { it.includeTestsMatching "de.uka.ilkd.key.proof.runallproofs.gen.*" diff --git a/key.core/src/main/java/de/uka/ilkd/key/java/TypeConverter.java b/key.core/src/main/java/de/uka/ilkd/key/java/TypeConverter.java index 7f74121afa6..773da9f964d 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/java/TypeConverter.java +++ b/key.core/src/main/java/de/uka/ilkd/key/java/TypeConverter.java @@ -4,7 +4,6 @@ package de.uka.ilkd.key.java; -import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.TreeMap; @@ -47,13 +46,14 @@ public final class TypeConverter { // Maps LDT names to LDT instances. The map stays sorted by name so that getLDTFor visits // the theories in a fixed order, independent of the run. private final Map LDTs = new TreeMap<>(); + private final Map PLDTs = new TreeMap<>(); // The typed accessors below are called at high frequency from the proof-search strategy // (for example by the arithmetic heuristics for every candidate weighing), so lookups go // through this class-keyed map: a class hashes by identity, so a lookup costs no name // comparison. The map is filled generically when the theories are created; adding a new // theory needs no change in this class. - private final Map, LDT> ldtsByClass = new HashMap<>(); + private final Map, AbstractLDT> ldtsByClass = new HashMap<>(); /** the heap theory, kept directly because this class itself uses it throughout */ private HeapLDT heapLDT = null; @@ -64,15 +64,19 @@ public final class TypeConverter { } public void init() { - init(LDT.getNewLDTInstances(services)); + init(LDT.getNewLDTInstances(services), ParametricLDT.getNewLDTInstances(services)); } - private void init(Map map) { + private void init(Map map, Map pMap) { LDTs.putAll(map); for (LDT ldt : map.values()) { ldtsByClass.put(ldt.getClass(), ldt); } heapLDT = getLDT(HeapLDT.class); + PLDTs.putAll(pMap); + for (ParametricLDT ldt : pMap.values()) { + ldtsByClass.put(ldt.getClass(), ldt); + } } /** @@ -83,7 +87,7 @@ private void init(Map map) { * @return the theory instance of that class * @param the type of the theory */ - public T getLDT(Class ldtClass) { + public T getLDT(Class ldtClass) { return ldtClass.cast(ldtsByClass.get(ldtClass)); } @@ -98,10 +102,6 @@ public LDT getLDTFor(Sort s) { return null; } - private LDT getLDT(Name ldtName) { - return LDTs.get(ldtName); - } - public JavaDLTheory getJavaDLTheory() { return getLDT(JavaDLTheory.class); } @@ -156,12 +156,7 @@ public CharListLDT getCharListLDT() { return getLDT(CharListLDT.class); } - public Collection getLDTs() { - return LDTs.values(); - } - private JTerm translateOperator(Operator op, ExecutionContext ec) { - final JTerm[] subs = new JTerm[op.getArity()]; for (int i = 0, n = op.getArity(); i < n; i++) { subs[i] = convertToLogicElement(op.getExpressionAt(i), ec); @@ -176,7 +171,7 @@ private JTerm translateOperator(Operator op, ExecutionContext ec) { } } - LDT responsibleLDT = getResponsibleLDT(op, subs, services, ec); + AbstractLDT responsibleLDT = getResponsibleLDT(op, subs, services, ec); if (responsibleLDT != null) { return tb.func(responsibleLDT.getFunctionFor(op, services, ec), subs); } else if (op instanceof BinaryOperator bo @@ -393,9 +388,11 @@ private JTerm convertLiteralExpression(Literal lit) { if (lit instanceof NullLiteral) { return tb.NULL(); } else { - LDT ldt = LDTs.get(lit.getLDTName()); + AbstractLDT ldt = LDTs.get(lit.getLDTName()); if (ldt != null) { return ldt.translateLiteral(lit, services); + } else if ((ldt = PLDTs.get(lit.getLDTName())) != null) { + return ldt.translateLiteral(lit, services); } else { Debug.fail("Unknown literal type", lit); return null; @@ -563,6 +560,11 @@ public Expression convertToProgramElement(JTerm term) { return model.translateTerm(term, null, services); } } + for (ParametricLDT model : PLDTs.values()) { + if (model.hasLiteralFunction(function)) { + return model.translateTerm(term, null, services); + } + } } final ExtList children = new ExtList(); @@ -578,6 +580,11 @@ public Expression convertToProgramElement(JTerm term) { return model.translateTerm(term, children, services); } } + for (ParametricLDT model : PLDTs.values()) { + if (model.containsFunction(function)) { + return model.translateTerm(term, children, services); + } + } Expression tryTranslate = translateJavaCast(term, children); if (tryTranslate != null) { return tryTranslate; @@ -982,17 +989,22 @@ public boolean isBooleanType(Type t) { public TypeConverter copy(Services services) { TypeConverter TC = new TypeConverter(services); - TC.init(LDTs); + TC.init(LDTs, PLDTs); return TC; } - private LDT getResponsibleLDT(Operator op, JTerm[] subs, + private AbstractLDT getResponsibleLDT(Operator op, JTerm[] subs, Services services, ExecutionContext ec) { for (LDT ldt : LDTs.values()) { if (ldt.isResponsible(op, subs, services, ec)) { return ldt; } } + for (ParametricLDT ldt : PLDTs.values()) { + if (ldt.isResponsible(op, subs, services, ec)) { + return ldt; + } + } return null; } } diff --git a/key.core/src/main/java/de/uka/ilkd/key/ldt/AbstractLDT.java b/key.core/src/main/java/de/uka/ilkd/key/ldt/AbstractLDT.java new file mode 100644 index 00000000000..8fec99ac8f7 --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/ldt/AbstractLDT.java @@ -0,0 +1,159 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.ldt; + +import de.uka.ilkd.key.java.Services; +import de.uka.ilkd.key.java.ast.expression.Expression; +import de.uka.ilkd.key.java.ast.expression.Operator; +import de.uka.ilkd.key.java.ast.expression.literal.Literal; +import de.uka.ilkd.key.java.ast.reference.ExecutionContext; +import de.uka.ilkd.key.logic.JTerm; +import de.uka.ilkd.key.logic.TermServices; +import de.uka.ilkd.key.logic.op.ParametricFunctionDecl; + +import org.key_project.logic.Name; +import org.key_project.logic.Named; +import org.key_project.logic.Namespace; +import org.key_project.logic.op.Function; +import org.key_project.util.ExtList; + +import org.jspecify.annotations.Nullable; + +public abstract class AbstractLDT implements Named { + protected final Name name; + + /// the namespace of functions this LDT feels responsible for + private final Namespace functions = new Namespace<>(); + /// the namespace of parametric functions this LDT feels responsible for + private final Namespace parametricFunctions = new Namespace<>(); + + + protected AbstractLDT(Name name) { + this.name = name; + } + + /// adds a function to the LDT + /// + /// @return the added function (for convenience reasons) + protected final Function addFunction(Function f) { + functions.addSafely(f); + return f; + } + + /// adds a parametric function to the LDT + /// + /// @return the added parametric function (for convenience reasons) + protected final ParametricFunctionDecl addParametricFunction(ParametricFunctionDecl f) { + parametricFunctions.addSafely(f); + return f; + } + + /// looks up a function in the namespace and adds it to the LDT + /// + /// @param funcName the String with the name of the function to look up + /// @return the added function (for convenience reasons) + protected final F addFunction(TermServices services, String funcName) { + final Namespace funcNS = services.getNamespaces().functions(); + final Function f = funcNS.lookup(new Name(funcName)); + if (f == null) { + throw new RuntimeException("LDT: Function " + funcName + " not found.\n" + + "It seems that there are definitions missing from the .key files."); + } + return (F) addFunction(f); + } + + protected final ParametricFunctionDecl addParametricFunction(TermServices services, + String name) { + final ParametricFunctionDecl f = + services.getNamespaces().parametricFunctions().lookup(name); + assert f != null : "LDT: Parametric function " + name + " not found"; + return addParametricFunction(f); + } + + /// returns the basic functions of the model + /// + /// @return the basic functions of the model + protected final Namespace functions() { + return functions; + } + + @Override + public final Name name() { + return name; + } + + public boolean containsFunction(Function op) { + final var n = functions.lookup(op.name()); + return n == op; + } + + /// returns true if the LDT offers an operation for the given java operator and the logic + /// subterms + /// + /// @param op the de.uka.ilkd.key.java.expression.Operator to translate + /// @param subs the logic subterms of the java operator + /// @param services the Services + /// @param ec the ExecutionContext in which the expression is evaluated + /// @return true if the LDT offers an operation for the given java operator and the subterms + public abstract boolean isResponsible(Operator op, JTerm[] subs, + Services services, ExecutionContext ec); + + /// returns true if the LDT offers an operation for the given binary java operator and the logic + /// subterms + /// + /// @param op the de.uka.ilkd.key.java.expression.Operator to translate + /// @param left the left subterm of the java operator + /// @param right the right subterm of the java operator + /// @param services the Services + /// @param ec the ExecutionContext in which the expression is evaluated + /// @return true if the LDT offers an operation for the given java operator and the subterms + public abstract boolean isResponsible(Operator op, JTerm left, + JTerm right, Services services, ExecutionContext ec); + + /// returns true if the LDT offers an operation for the given unary java operator and the logic + /// subterms + /// + /// @param op the de.uka.ilkd.key.java.expression.Operator to translate + /// @param sub the logic subterms of the java operator + /// @param services the Services + /// @param ec the ExecutionContext in which the expression is evaluated + /// @return true if the LDT offers an operation for the given java operator and the subterm + public abstract boolean isResponsible(Operator op, JTerm sub, + TermServices services, ExecutionContext ec); + + /// translates a given literal to its logic counterpart + /// + /// @param lit the Literal to be translated + /// @return the Term that represents the given literal in its logic form + public abstract JTerm translateLiteral(Literal lit, Services services); + + /// returns the function symbol for the given _Java_ operator. + /// + /// @return the function symbol for the given operation, null if not supported in general or not + /// supported for this particular operator. + public abstract @Nullable Function getFunctionFor(Operator op, + Services services, ExecutionContext ec); + + /// get the function in this LDT for an operation identified by generic operationName. If the + /// LDT + /// does not support this named function, it should return null. + /// + /// This is used to resolve overloaded symbols. + /// + /// For example: "+" may map to "add" for integers, and to "addFloat" for floats. + /// + /// @param operationName non-null operationName for a generic function + /// @param services services to use + /// @return reference to the respective LDT-specific function for the operation, null if not + /// available + public @Nullable Function getFunctionFor(String operationName, Services services) { + // by default an LDT does not support overloaded symbols + return null; + } + + public abstract boolean hasLiteralFunction(Function f); + + /// Is called whenever `hasLiteralFunction()` returns true. + public abstract Expression translateTerm(JTerm t, ExtList children, Services services); +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/ldt/CharListLDT.java b/key.core/src/main/java/de/uka/ilkd/key/ldt/CharListLDT.java index 04d8238ef51..5afe680cd8b 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/ldt/CharListLDT.java +++ b/key.core/src/main/java/de/uka/ilkd/key/ldt/CharListLDT.java @@ -55,7 +55,7 @@ public final class CharListLDT extends LDT { // ------------------------------------------------------------------------- public CharListLDT(TermServices services) { - super(NAME, services.getNamespaces().sorts().lookup(SeqLDT.NAME), services); + super(NAME, services.getNamespaces().sorts().lookup(SeqLDT.NAME)); clIndexOfChar = addFunction(services, "clIndexOfChar"); clIndexOfCl = addFunction(services, "clIndexOfCl"); clLastIndexOfChar = addFunction(services, "clLastIndexOfChar"); diff --git a/key.core/src/main/java/de/uka/ilkd/key/ldt/JavaDLTheory.java b/key.core/src/main/java/de/uka/ilkd/key/ldt/JavaDLTheory.java index 3f841bfd2a5..eb4e11b77be 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/ldt/JavaDLTheory.java +++ b/key.core/src/main/java/de/uka/ilkd/key/ldt/JavaDLTheory.java @@ -66,7 +66,7 @@ public class JavaDLTheory extends LDT { // private final TermServices services; protected JavaDLTheory(TermServices services) { - super(NAME, FORMULA, services); + super(NAME, FORMULA); // this.services = services; } diff --git a/key.core/src/main/java/de/uka/ilkd/key/ldt/LDT.java b/key.core/src/main/java/de/uka/ilkd/key/ldt/LDT.java index fe11de64b3b..2d4ffcca432 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/ldt/LDT.java +++ b/key.core/src/main/java/de/uka/ilkd/key/ldt/LDT.java @@ -8,20 +8,12 @@ import de.uka.ilkd.key.java.Services; import de.uka.ilkd.key.java.ast.abstraction.Type; -import de.uka.ilkd.key.java.ast.expression.Expression; -import de.uka.ilkd.key.java.ast.expression.Operator; -import de.uka.ilkd.key.java.ast.expression.literal.Literal; -import de.uka.ilkd.key.java.ast.reference.ExecutionContext; import de.uka.ilkd.key.logic.JTerm; import de.uka.ilkd.key.logic.TermServices; -import de.uka.ilkd.key.logic.op.ParametricFunctionDecl; +import de.uka.ilkd.key.logic.sort.SortAlias; import org.key_project.logic.Name; -import org.key_project.logic.Named; -import org.key_project.logic.Namespace; -import org.key_project.logic.op.Function; import org.key_project.logic.sort.Sort; -import org.key_project.util.ExtList; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -33,98 +25,44 @@ * handling them. */ @NullMarked -public abstract class LDT implements Named { - - private final Name name; - - /** the main sort associated with the LDT */ - private final @Nullable Sort sort; - - /** the namespace of functions this LDT feels responsible for */ - private final Namespace functions = new Namespace<>(); - /// the namespace of parametric functions this LDT feels responsible for - private final Namespace parametricFunctions = new Namespace<>(); +public abstract class LDT extends AbstractLDT { + /** + * the main sort associated with the LDT + */ + protected final @Nullable Sort sort; // ------------------------------------------------------------------------- // constructors // ------------------------------------------------------------------------- protected LDT(Name name, TermServices services) { - sort = services.getNamespaces().sorts().lookup(name); + super(name); + var sort = services.getNamespaces().sorts().lookup(name); if (sort == null) { - throw new RuntimeException("LDT " + name + " not found.\n" - + "It seems that there are definitions missing from the .key files."); + SortAlias alias = services.getNamespaces().sortAliases().lookup(name); + sort = alias == null ? null : alias.aliasedSort(); + if (sort == null) { + throw new RuntimeException("LDT " + name + " not found.\n" + + "It seems that there are definitions missing from the .key files."); + } } - this.name = name; + this.sort = sort; } - protected LDT(Name name, Sort targetSort, TermServices services) { + protected LDT(Name name, @Nullable Sort targetSort) { + super(name); sort = targetSort; if (sort == null) { throw new RuntimeException("LDT " + name + " not found.\n" + "It seems that there are definitions missing from the .key files."); } - this.name = name; } // ------------------------------------------------------------------------- // protected methods // ------------------------------------------------------------------------- - /** - * adds a function to the LDT - * - * @return the added function (for convenience reasons) - */ - protected final Function addFunction(Function f) { - functions.addSafely(f); - return f; - } - - /** - * adds a parametric function to the LDT - * - * @return the added parametric function (for convenience reasons) - */ - protected final ParametricFunctionDecl addParametricFunction(ParametricFunctionDecl f) { - parametricFunctions.addSafely(f); - return f; - } - - /** - * looks up a function in the namespace and adds it to the LDT - * - * @param funcName the String with the name of the function to look up - * @return the added function (for convenience reasons) - */ - protected final F addFunction(TermServices services, String funcName) { - final Namespace funcNS = services.getNamespaces().functions(); - final Function f = funcNS.lookup(new Name(funcName)); - if (f == null) { - throw new RuntimeException("LDT: Function " + funcName + " not found.\n" - + "It seems that there are definitions missing from the .key files."); - } - return (F) addFunction(f); - } - - protected final ParametricFunctionDecl addParametricFunction(TermServices services, - String name) { - final ParametricFunctionDecl f = - services.getNamespaces().parametricFunctions().lookup(name); - assert f != null : "LDT: Parametric function " + name + " not found"; - return addParametricFunction(f); - } - - /** - * returns the basic functions of the model - * - * @return the basic functions of the model - */ - protected final Namespace functions() { - return functions; - } - // ------------------------------------------------------------------------- // public methods // ------------------------------------------------------------------------- @@ -136,7 +74,6 @@ protected final Namespace functions() { * Is it possible to implement LDTs as singletons? (Kai Wallisch 04/2014) */ public static Map getNewLDTInstances(Services s) { - // TreeMap ensures the map is sorted according to the natural order of its keys. Map ret = new TreeMap<>(); @@ -158,11 +95,6 @@ public static Map getNewLDTInstances(Services s) { return ret; } - @Override - public final Name name() { - return name; - } - @Override public final String toString() { return "LDT " + name() + " (" + targetSort() + ")"; @@ -175,97 +107,10 @@ public final Sort targetSort() { return sort; } - public boolean containsFunction(Function op) { - final var n = functions.lookup(op.name()); - return n == op; - } - // ------------------------------------------------------------------------- // abstract methods // ------------------------------------------------------------------------- - /** - * returns true if the LDT offers an operation for the given java operator and the logic - * subterms - * - * @param op the de.uka.ilkd.key.java.expression.Operator to translate - * @param subs the logic subterms of the java operator - * @param services the Services - * @param ec the ExecutionContext in which the expression is evaluated - * @return true if the LDT offers an operation for the given java operator and the subterms - */ - public abstract boolean isResponsible(Operator op, JTerm[] subs, - Services services, ExecutionContext ec); - - - /** - * returns true if the LDT offers an operation for the given binary java operator and the logic - * subterms - * - * @param op the de.uka.ilkd.key.java.expression.Operator to translate - * @param left the left subterm of the java operator - * @param right the right subterm of the java operator - * @param services the Services - * @param ec the ExecutionContext in which the expression is evaluated - * @return true if the LDT offers an operation for the given java operator and the subterms - */ - public abstract boolean isResponsible(Operator op, JTerm left, - JTerm right, Services services, ExecutionContext ec); - - - /** - * returns true if the LDT offers an operation for the given unary java operator and the logic - * subterms - * - * @param op the de.uka.ilkd.key.java.expression.Operator to translate - * @param sub the logic subterms of the java operator - * @param services the Services - * @param ec the ExecutionContext in which the expression is evaluated - * @return true if the LDT offers an operation for the given java operator and the subterm - */ - public abstract boolean isResponsible(Operator op, JTerm sub, - TermServices services, ExecutionContext ec); - - - /** - * translates a given literal to its logic counterpart - * - * @param lit the Literal to be translated - * @return the Term that represents the given literal in its logic form - */ - public abstract JTerm translateLiteral(Literal lit, Services services); - - /** - * returns the function symbol for the given Java operator. - * - * @return the function symbol for the given operation, null if not supported in general or not - * supported for this particular operator. - */ - public abstract Function getFunctionFor(Operator op, - Services services, ExecutionContext ec); - - /** - * get the function in this LDT for an operation identified by generic operationName. If the LDT - * does not support this named function, it should return null. - *

- * This is used to resolve overloaded symbols. - *

- * For example: "+" may map to "add" for integers, and to "addFloat" for floats. - * - * @param operationName non-null operationName for a generic function - * @param services services to use - * @return reference to the respective LDT-specific function for the operation, null if not - * available - */ - public @Nullable Function getFunctionFor(String operationName, Services services) { - // by default an LDT does not support overloaded symbols - return null; - } - - public abstract boolean hasLiteralFunction(Function f); - - /** Is called whenever hasLiteralFunction() returns true. */ - public abstract Expression translateTerm(JTerm t, ExtList children, Services services); public abstract Type getType(JTerm t); } diff --git a/key.core/src/main/java/de/uka/ilkd/key/ldt/LocSetLDT.java b/key.core/src/main/java/de/uka/ilkd/key/ldt/LocSetLDT.java index db75ba17b91..eafc6a43eb3 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/ldt/LocSetLDT.java +++ b/key.core/src/main/java/de/uka/ilkd/key/ldt/LocSetLDT.java @@ -3,6 +3,8 @@ * SPDX-License-Identifier: GPL-2.0-only */ package de.uka.ilkd.key.ldt; +import java.util.List; + import de.uka.ilkd.key.java.Services; import de.uka.ilkd.key.java.ast.abstraction.Type; import de.uka.ilkd.key.java.ast.expression.Expression; @@ -11,12 +13,15 @@ import de.uka.ilkd.key.java.ast.expression.literal.Literal; import de.uka.ilkd.key.java.ast.expression.operator.LogicFunctionalOperator; import de.uka.ilkd.key.java.ast.reference.ExecutionContext; +import de.uka.ilkd.key.logic.GenericArgument; import de.uka.ilkd.key.logic.JTerm; import de.uka.ilkd.key.logic.TermServices; +import de.uka.ilkd.key.logic.op.ParametricFunctionInstance; import org.key_project.logic.Name; import org.key_project.logic.op.Function; import org.key_project.util.ExtList; +import org.key_project.util.collection.ImmutableList; import org.jspecify.annotations.Nullable; @@ -43,27 +48,45 @@ public final class LocSetLDT extends LDT { private final Function subset; private final Function disjoint; private final Function createdInHeap; + private final Function pair; - public LocSetLDT(TermServices services) { + public LocSetLDT(Services services) { super(NAME, services); - empty = addFunction(services, "empty"); + empty = getInstantiatedFunction("empty", services); allLocs = addFunction(services, "allLocs"); - singleton = addFunction(services, "singleton"); - union = addFunction(services, "union"); - intersect = addFunction(services, "intersect"); - setMinus = addFunction(services, "setMinus"); - infiniteUnion = addFunction(services, "infiniteUnion"); + singleton = getInstantiatedFunction("singleton", services); + union = getInstantiatedFunction("union", services); + intersect = getInstantiatedFunction("intersect", services); + setMinus = getInstantiatedFunction("setMinus", services); + infiniteUnion = getInstantiatedFunction("infiniteUnion", services); allFields = addFunction(services, "allFields"); allObjects = addFunction(services, "allObjects"); arrayRange = addFunction(services, "arrayRange"); freshLocs = addFunction(services, "freshLocs"); - elementOf = addFunction(services, "elementOf"); - subset = addFunction(services, "subset"); - disjoint = addFunction(services, "disjoint"); + elementOf = getInstantiatedFunction("elementOf", services); + subset = getInstantiatedFunction("subset", services); + disjoint = getInstantiatedFunction("disjoint", services); createdInHeap = addFunction(services, "createdInHeap"); + pair = getInstantiatedFunction("pair", services, ImmutableList.fromList(List.of( + new GenericArgument(services.getNamespaces().sorts().lookup("java.lang.Object")), + new GenericArgument(services.getNamespaces().sorts().lookup("Field"))))); } + private Function getInstantiatedFunction(String name, Services services, + ImmutableList args) { + return ParametricFunctionInstance.get(addParametricFunction(services, name), args, + services); + } + + private Function getInstantiatedFunction(String name, Services services) { + return getInstantiatedFunction( + name, + services, + ImmutableList.fromList(List.of( + new GenericArgument( + services.getNamespaces().sortAliases().lookup("Loc").aliasedSort())))); + } public Function getEmpty() { return empty; @@ -139,6 +162,9 @@ public Function getCreatedInHeap() { return createdInHeap; } + public Function getPair() { + return pair; + } @Override public boolean isResponsible(Operator op, JTerm[] subs, diff --git a/key.core/src/main/java/de/uka/ilkd/key/ldt/ParametricLDT.java b/key.core/src/main/java/de/uka/ilkd/key/ldt/ParametricLDT.java new file mode 100644 index 00000000000..820a232f983 --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/ldt/ParametricLDT.java @@ -0,0 +1,65 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.ldt; + +import java.util.Map; +import java.util.TreeMap; + +import de.uka.ilkd.key.java.Services; +import de.uka.ilkd.key.logic.TermServices; +import de.uka.ilkd.key.logic.sort.ParametricSortDecl; + +import org.key_project.logic.Name; + +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +/// An "LDT" or "language data type" class corresponds to a standard rule file shipped with KeY. +/// Usually, this rule file declares a sort (such as "int") and a number of operators. The LDT class +/// provides a programming interface to access these entities, and it assists the type converter in +/// handling them. +/// +/// This class is for parametric types, e.g., `Set`. +@NullMarked +public abstract class ParametricLDT extends AbstractLDT { + /// the main parametric sort associated with the LDT + private final @Nullable ParametricSortDecl sort; + + + protected ParametricLDT(Name name, TermServices services) { + super(name); + sort = services.getNamespaces().parametricSorts().lookup(name); + if (sort == null) { + throw new RuntimeException("LDT " + name + " not found.\n" + + "It seems that there are definitions missing from the .key files."); + } + } + + /* + * Use this method to instantiate all LDTs. It returns a map that takes as input the name of an + * LDT and returns an instance of the corresponding LDT. + * + * Is it possible to implement LDTs as singletons? (Kai Wallisch 04/2014) + */ + public static Map getNewLDTInstances(Services s) { + // TreeMap ensures the map is sorted according to the natural order of its keys. + Map ret = new TreeMap<>(); + + ret.put(SetLDT.NAME, new SetLDT(s)); + + return ret; + } + + @Override + public final String toString() { + return "Parametric LDT " + name() + " (" + targetSort() + ")"; + } + + /** + * Returns the sort associated with the LDT. + */ + public final ParametricSortDecl targetSort() { + return sort; + } +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/ldt/SetLDT.java b/key.core/src/main/java/de/uka/ilkd/key/ldt/SetLDT.java new file mode 100644 index 00000000000..16c473aa290 --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/ldt/SetLDT.java @@ -0,0 +1,128 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.ldt; + +import de.uka.ilkd.key.java.Services; +import de.uka.ilkd.key.java.ast.expression.Expression; +import de.uka.ilkd.key.java.ast.expression.Operator; +import de.uka.ilkd.key.java.ast.expression.literal.Literal; +import de.uka.ilkd.key.java.ast.reference.ExecutionContext; +import de.uka.ilkd.key.logic.JTerm; +import de.uka.ilkd.key.logic.TermServices; +import de.uka.ilkd.key.logic.op.ParametricFunctionDecl; + +import org.key_project.logic.Name; +import org.key_project.logic.op.Function; +import org.key_project.util.ExtList; + +import org.jspecify.annotations.Nullable; + +public final class SetLDT extends ParametricLDT { + public static final Name NAME = new Name("Set"); + + private final ParametricFunctionDecl empty; + private final ParametricFunctionDecl singleton; + private final ParametricFunctionDecl union; + private final ParametricFunctionDecl intersect; + private final ParametricFunctionDecl setMinus; + private final ParametricFunctionDecl infiniteUnion; + private final ParametricFunctionDecl card; + private final ParametricFunctionDecl elementOf; + private final ParametricFunctionDecl subset; + private final ParametricFunctionDecl disjoint; + + + public SetLDT(TermServices services) { + super(NAME, services); + + empty = addParametricFunction(services, "empty"); + singleton = addParametricFunction(services, "singleton"); + union = addParametricFunction(services, "union"); + intersect = addParametricFunction(services, "intersect"); + setMinus = addParametricFunction(services, "setMinus"); + infiniteUnion = addParametricFunction(services, "infiniteUnion"); + card = addParametricFunction(services, "sCard"); + elementOf = addParametricFunction(services, "elementOf"); + subset = addParametricFunction(services, "subset"); + disjoint = addParametricFunction(services, "disjoint"); + } + + public ParametricFunctionDecl getEmpty() { + return empty; + } + + public ParametricFunctionDecl getSingleton() { + return singleton; + } + + public ParametricFunctionDecl getUnion() { + return union; + } + + public ParametricFunctionDecl getIntersect() { + return intersect; + } + + public ParametricFunctionDecl getSetMinus() { + return setMinus; + } + + public ParametricFunctionDecl getInfiniteUnion() { + return infiniteUnion; + } + + public ParametricFunctionDecl getCard() { + return card; + } + + public ParametricFunctionDecl getElementOf() { + return elementOf; + } + + public ParametricFunctionDecl getSubset() { + return subset; + } + + public ParametricFunctionDecl getDisjoint() { + return disjoint; + } + + @Override + public boolean isResponsible(Operator op, JTerm[] subs, Services services, + ExecutionContext ec) { + return false; + } + + @Override + public boolean isResponsible(Operator op, JTerm left, JTerm right, Services services, + ExecutionContext ec) { + return false; + } + + @Override + public boolean isResponsible(Operator op, JTerm sub, TermServices services, + ExecutionContext ec) { + return false; + } + + @Override + public JTerm translateLiteral(Literal lit, Services services) { + return null; + } + + @Override + public @Nullable Function getFunctionFor(Operator op, Services services, ExecutionContext ec) { + return null; + } + + @Override + public boolean hasLiteralFunction(Function f) { + return false; + } + + @Override + public Expression translateTerm(JTerm t, ExtList children, Services services) { + return null; + } +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/logic/TermBuilder.java b/key.core/src/main/java/de/uka/ilkd/key/logic/TermBuilder.java index c290f920b27..830a045c44b 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/logic/TermBuilder.java +++ b/key.core/src/main/java/de/uka/ilkd/key/logic/TermBuilder.java @@ -854,14 +854,18 @@ public JTerm exactInstance(Sort s, JTerm t) { // ------------------------------ public JTerm pair(JTerm first, JTerm second) { - final Namespace funcNS = services.getNamespaces().functions(); - final Function f = funcNS.lookup(new Name("pair")); + final Namespace funcNS = + services.getNamespaces().parametricFunctions(); + final ParametricFunctionDecl f = funcNS.lookup(new Name("pair")); if (f == null) { throw new RuntimeException("LDT: Function pair not found.\n" + "It seems that there are definitions missing from the .key files."); } - return func(f, first, second); + return func(ParametricFunctionInstance.get(f, + ImmutableList.fromList( + List.of(new GenericArgument(first.sort()), new GenericArgument(second.sort()))), + services), first, second); } @@ -1387,7 +1391,13 @@ public JTerm allLocs() { } public JTerm singleton(JTerm o, JTerm f) { - return func(services.getTypeConverter().getLocSetLDT().getSingleton(), o, f); + LocSetLDT locSetLDT = services.getTypeConverter().getLocSetLDT(); + return func(locSetLDT.getSingleton(), locSetPair(o, f)); + } + + public JTerm locSetPair(JTerm o, JTerm f) { + LocSetLDT locSetLDT = services.getTypeConverter().getLocSetLDT(); + return func(locSetLDT.getPair(), o, f); } public JTerm union(JTerm s1, JTerm s2) { @@ -1494,7 +1504,7 @@ public JTerm elementOf(JTerm o, JTerm f, JTerm s) { if (s.op() == ldt.getEmpty()) { return ff(); } else { - return func(ldt.getElementOf(), o, f, s); + return func(ldt.getElementOf(), locSetPair(o, f), s); } } diff --git a/key.core/src/main/java/de/uka/ilkd/key/logic/op/QualifierWrapper.java b/key.core/src/main/java/de/uka/ilkd/key/logic/op/QualifierWrapper.java deleted file mode 100644 index a9951462fbd..00000000000 --- a/key.core/src/main/java/de/uka/ilkd/key/logic/op/QualifierWrapper.java +++ /dev/null @@ -1,58 +0,0 @@ -/* This file is part of KeY - https://key-project.org - * KeY is licensed under the GNU General Public License Version 2 - * SPDX-License-Identifier: GPL-2.0-only */ -package de.uka.ilkd.key.logic.op; - -import java.util.WeakHashMap; - -import org.key_project.logic.TerminalSyntaxElement; - -/** - *

- * This class is a wrapper primarily used in logic operations where qualifiers, i.e., objects that - * partly define a function but are not part of the syntax tree, - * are referenced multiple times, such as in {@link ObserverFunction} and - * {@link SortDependingFunction}. For example, for a function like {@code int::cast}, the - * {@code int} sort is part of the function and should be considered when comparing it or traversing - * the function. - *

- *

- * But because sorts are not terms or operators, they are not part of a term's syntax tree. - * This wrapper allows objects like sorts to appear in the syntax tree. - *

- *

- * The class further ensures that two wrappers are referentially equal iff the wrapped objects are - * equal. - *

- * - * @param The type of the qualifier object being wrapped. - */ -public class QualifierWrapper implements TerminalSyntaxElement { - private final T qualifier; - - private static final WeakHashMap> INSTANCES = new WeakHashMap<>(); - - private QualifierWrapper(T qualifier) { - this.qualifier = qualifier; - } - - /** - * Get the instance for this qualifier. If none exist yet, create one. - * - * @param qualifier the qualifier for which we create an instance - * @return new instance - * @param The type of the qualifier object being wrapped. - */ - synchronized static QualifierWrapper get(T qualifier) { - if (INSTANCES.containsKey(qualifier)) { - return (QualifierWrapper) INSTANCES.get(qualifier); - } - var q = new QualifierWrapper<>(qualifier); - INSTANCES.put(qualifier, q); - return q; - } - - public T getQualifier() { - return qualifier; - } -} diff --git a/key.core/src/main/java/de/uka/ilkd/key/logic/sort/ParametricSortInstance.java b/key.core/src/main/java/de/uka/ilkd/key/logic/sort/ParametricSortInstance.java index 72358312360..a3758dcd2b2 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/logic/sort/ParametricSortInstance.java +++ b/key.core/src/main/java/de/uka/ilkd/key/logic/sort/ParametricSortInstance.java @@ -12,6 +12,7 @@ import de.uka.ilkd.key.rule.inst.SVInstantiations; import org.key_project.logic.Name; +import org.key_project.logic.SyntaxElement; import org.key_project.logic.sort.AbstractSort; import org.key_project.logic.sort.Sort; import org.key_project.util.Strings; @@ -22,7 +23,7 @@ import org.jspecify.annotations.NonNull; /// Concrete sort of a parametric sort. -public final class ParametricSortInstance extends AbstractSort { +public final class ParametricSortInstance extends AbstractSort implements SyntaxElement { /** * Thread-safe Interning of parametric sort instances so that equal instances are the same * object. @@ -176,7 +177,7 @@ public boolean isComplete(SVInstantiations instMap) { return true; } - /// Get the sort if this parametric sort with all generics instantiated with `instMap`. + /// Get the sort of this parametric sort with all generics instantiated with `instMap`. public Sort resolveSort(SVInstantiations instMap, Services services) { ImmutableList newArgs = ImmutableList.nil(); for (int i = args.size() - 1; i >= 0; i--) { @@ -210,4 +211,14 @@ public boolean containsGenericSort() { } return false; } + + @Override + public int getChildCount() { + return args.size(); + } + + @Override + public @NonNull SyntaxElement getChild(int n) { + return Objects.requireNonNull(args.get(n)); + } } diff --git a/key.core/src/main/java/de/uka/ilkd/key/pp/LogicPrinter.java b/key.core/src/main/java/de/uka/ilkd/key/pp/LogicPrinter.java index 35952bf71db..0f4524e19d5 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/pp/LogicPrinter.java +++ b/key.core/src/main/java/de/uka/ilkd/key/pp/LogicPrinter.java @@ -1353,21 +1353,15 @@ public void printObserver(JTerm t, JTerm tacitHeap) { } public void printSingleton(JTerm t) { - assert t.arity() == 2; - layouter.startTerm(2); - layouter.print("{(").beginC(0); + assert t.arity() == 1; + layouter.startTerm(1); + layouter.print("{").beginC(0); layouter.markStartSub(); printTerm(t.sub(0)); layouter.markEndSub(); - layouter.print(",").brk(1, 0); - - layouter.markStartSub(); - printTerm(t.sub(1)); - layouter.markEndSub(); - - layouter.print(")}").end(); + layouter.print("}").end(); } public void printSeqSingleton(JTerm t, String lDelimiter, String rDelimiter) { @@ -1380,29 +1374,34 @@ public void printSeqSingleton(JTerm t, String lDelimiter, String rDelimiter) { layouter.print(rDelimiter).end(); } - public void printElementOf(JTerm t) { - assert t.arity() == 3; - layouter.startTerm(3); - - layouter.print("(").beginC(0); - + public void printPair(JTerm t) { + assert t.arity() == 2; + layouter.startTerm(2); + layouter.print("("); layouter.markStartSub(); printTerm(t.sub(0)); layouter.markEndSub(); + layouter.print(", "); + layouter.markStartSub(); + printTerm(t.sub(1)); + layouter.markEndSub(); + layouter.print(")"); + } - layouter.print(",").brk(1, 0); + public void printElementOf(JTerm t) { + assert t.arity() == 2; + layouter.startTerm(2); layouter.markStartSub(); - printTerm(t.sub(1)); + printTerm(t.sub(0)); layouter.markEndSub(); - layouter.print(")").end(); layouter.print(" "); layouter.keyWord("\\in"); layouter.print(" "); layouter.markStartSub(); - printTerm(t.sub(2)); + printTerm(t.sub(1)); layouter.markEndSub(); } @@ -1412,26 +1411,17 @@ public void printElementOf(JTerm t, String symbol) { return; } - assert t.arity() == 3; - layouter.startTerm(3); - - layouter.print("(").beginC(0); + assert t.arity() == 2; + layouter.startTerm(2); layouter.markStartSub(); printTerm(t.sub(0)); layouter.markEndSub(); - layouter.print(",").brk(1, 0); - - layouter.markStartSub(); - printTerm(t.sub(1)); - layouter.markEndSub(); - - layouter.print(")").end(); layouter.print(symbol); layouter.markStartSub(); - printTerm(t.sub(2)); + printTerm(t.sub(1)); layouter.markEndSub(); } diff --git a/key.core/src/main/java/de/uka/ilkd/key/pp/Notation.java b/key.core/src/main/java/de/uka/ilkd/key/pp/Notation.java index d6f29fcf676..f7745153cf7 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/pp/Notation.java +++ b/key.core/src/main/java/de/uka/ilkd/key/pp/Notation.java @@ -465,6 +465,16 @@ public void print(JTerm t, LogicPrinter sp) { } } + public static final class PairNotation extends Notation { + public PairNotation() { + super(130); + } + + public void print(JTerm t, LogicPrinter sp) { + sp.printPair(t); + } + } + /** * The standard concrete syntax for conditional terms if (phi) (t1) (t2). */ diff --git a/key.core/src/main/java/de/uka/ilkd/key/pp/NotationInfo.java b/key.core/src/main/java/de/uka/ilkd/key/pp/NotationInfo.java index 1abfcafe7a6..260ca9f0998 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/pp/NotationInfo.java +++ b/key.core/src/main/java/de/uka/ilkd/key/pp/NotationInfo.java @@ -322,6 +322,8 @@ private HashMap createPrettyNotation(Services services) { // set operators final LocSetLDT setLDT = services.getTypeConverter().getLocSetLDT(); + tbl.put(((ParametricFunctionInstance) setLDT.getPair()).getBase(), + new Notation.PairNotation()); tbl.put(setLDT.getSingleton(), new Notation.SingletonNotation()); tbl.put(setLDT.getUnion(), new Notation.Infix("\\cup", PRIORITY_ATOM, PRIORITY_TOP, PRIORITY_TOP)); diff --git a/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/ParametricFunctionHead.java b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/ParametricFunctionHead.java index b79dbf80847..1dad3d165fe 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/ParametricFunctionHead.java +++ b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/ParametricFunctionHead.java @@ -7,8 +7,6 @@ import de.uka.ilkd.key.logic.GenericArgument; import de.uka.ilkd.key.logic.op.ParametricFunctionInstance; -import de.uka.ilkd.key.logic.sort.GenericSort; -import de.uka.ilkd.key.logic.sort.ParametricSortInstance; import org.key_project.logic.Term; import org.key_project.prover.rules.instantiation.MatchResultInfo; @@ -17,13 +15,7 @@ import org.key_project.prover.rules.matcher.vm.instruction.MatchInstruction; import org.key_project.prover.rules.matcher.vm.instruction.VMInstruction; -import org.jspecify.annotations.Nullable; - -import static de.uka.ilkd.key.rule.match.vm.instructions.JavaDLMatchVMInstructionSet.getCheckNodeKindInstruction; -import static de.uka.ilkd.key.rule.match.vm.instructions.JavaDLMatchVMInstructionSet.getMatchGenericSortInstruction; -import static de.uka.ilkd.key.rule.match.vm.instructions.JavaDLMatchVMInstructionSet.getMatchIdentityInstruction; -import static de.uka.ilkd.key.rule.match.vm.instructions.JavaDLMatchVMInstructionSet.getSimilarParametricFunctionInstruction; -import static de.uka.ilkd.key.rule.match.vm.instructions.JavaDLMatchVMInstructionSet.gotoNextInstruction; +import static de.uka.ilkd.key.rule.match.vm.instructions.JavaDLMatchVMInstructionSet.*; /** * Match head for a {@link ParametricFunctionInstance} (a function symbol instantiated with sort @@ -51,23 +43,14 @@ private ParametricFunctionHead(ParametricFunctionInstance pfi, MatchInstruction /** * @param pfi the parametric function instance pattern - * @return a head for {@code pfi}, or {@code null} if a generic argument uses a parametric sort - * instance (which the matchers do not handle; then the caller falls back) + * @return a head for {@code pfi} */ - public static @Nullable ParametricFunctionHead of(ParametricFunctionInstance pfi) { + public static ParametricFunctionHead of(ParametricFunctionInstance pfi) { final int argCount = pfi.getChildCount(); final MatchInstruction[] argMatchers = new MatchInstruction[argCount]; for (int i = 0; i < argCount; i++) { final GenericArgument arg = (GenericArgument) pfi.getChild(i); - if (arg.sort() instanceof GenericSort gs) { - argMatchers[i] = getMatchGenericSortInstruction(gs); - } else if (arg.sort() instanceof ParametricSortInstance) { - return null; - } else { - // identity suffices: equal instances intern to one shared object, arguments - // included (pinned by ParametricFunctionInterningTest) - argMatchers[i] = getMatchIdentityInstruction(arg); - } + argMatchers[i] = getMatchInstructionForSortArgument(arg); } return new ParametricFunctionHead(pfi, getSimilarParametricFunctionInstruction(pfi), argMatchers); @@ -86,15 +69,14 @@ public void emit(List out) { @Override public MatchProgram compileHeadCheck() { - final MatchInstruction sim = similar; - final MatchInstruction[] args = argMatchers; + final MatchProgram sim = similar::match; return (element, mc, services) -> { if (!(((Term) element).op() instanceof ParametricFunctionInstance actualPfi)) { return null; } MatchResultInfo r = sim.match(actualPfi, mc, services); - for (int i = 0; r != null && i < args.length; i++) { - r = args[i].match(actualPfi.getChild(i), r, services); + for (int i = 0; r != null && i < argMatchers.length; i++) { + r = argMatchers[i].match(actualPfi.getChild(i), r, services); } return r; }; diff --git a/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/JavaDLMatchVMInstructionSet.java b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/JavaDLMatchVMInstructionSet.java index bf4db7ab5a9..e87b7818c65 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/JavaDLMatchVMInstructionSet.java +++ b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/JavaDLMatchVMInstructionSet.java @@ -4,9 +4,11 @@ package de.uka.ilkd.key.rule.match.vm.instructions; import de.uka.ilkd.key.java.ast.JavaProgramElement; +import de.uka.ilkd.key.logic.GenericArgument; import de.uka.ilkd.key.logic.label.TermLabel; import de.uka.ilkd.key.logic.op.*; import de.uka.ilkd.key.logic.sort.GenericSort; +import de.uka.ilkd.key.logic.sort.ParametricSortInstance; import org.key_project.logic.SyntaxElement; import org.key_project.logic.op.QuantifiableVariable; @@ -106,6 +108,16 @@ public static SimilarParametricFunctionInstruction getSimilarParametricFunctionI return new SimilarParametricFunctionInstruction(psi); } + public static MatchInstruction getMatchInstructionForSortArgument(GenericArgument arg) { + // ensures that dispatch does not happen in matching code + return switch (arg.sort()) { + case GenericSort gs -> new MatchGenericSortInstruction(gs); + case ParametricSortInstance psi when psi.containsGenericSort() -> + new MatchParametricSortInstruction(psi); + default -> new MatchBySortIdentityInstruction(arg.sort()); + }; + } + public static MatchIdentityInstruction getMatchIdentityInstruction( SyntaxElement syntaxElement) { return new MatchIdentityInstruction(syntaxElement); diff --git a/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/MatchBySortIdentityInstruction.java b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/MatchBySortIdentityInstruction.java new file mode 100644 index 00000000000..70eb4781a7d --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/MatchBySortIdentityInstruction.java @@ -0,0 +1,33 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.rule.match.vm.instructions; + +import de.uka.ilkd.key.logic.GenericArgument; + +import org.key_project.logic.LogicServices; +import org.key_project.logic.SyntaxElement; +import org.key_project.logic.sort.Sort; +import org.key_project.prover.rules.instantiation.MatchResultInfo; +import org.key_project.prover.rules.matcher.vm.instruction.MatchInstruction; + +import org.jspecify.annotations.Nullable; + +/** + * Matches a GenericArgument by the identity of its sort + */ +public class MatchBySortIdentityInstruction implements MatchInstruction { + private final Sort patternSort; + + public MatchBySortIdentityInstruction(Sort patternSort) { + this.patternSort = patternSort; + } + + @Override + public @Nullable MatchResultInfo match(SyntaxElement actualElement, + MatchResultInfo matchConditions, LogicServices services) { + return actualElement instanceof GenericArgument(Sort sort) && sort == patternSort + ? matchConditions + : null; + } +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/MatchGenericSortInstruction.java b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/MatchGenericSortInstruction.java index 110b6f60a06..3a8a100b691 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/MatchGenericSortInstruction.java +++ b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/MatchGenericSortInstruction.java @@ -4,7 +4,6 @@ package de.uka.ilkd.key.rule.match.vm.instructions; import de.uka.ilkd.key.logic.GenericArgument; -import de.uka.ilkd.key.logic.op.QualifierWrapper; import de.uka.ilkd.key.logic.sort.GenericSort; import de.uka.ilkd.key.rule.inst.GenericSortCondition; import de.uka.ilkd.key.rule.inst.SVInstantiations; @@ -63,11 +62,6 @@ public MatchResultInfo match(SyntaxElement actualElement, MatchResultInfo mc, if (actualElement instanceof GenericArgument(Sort sort)) { return matchSorts(sort, mc, services); } - if (actualElement instanceof QualifierWrapper w - && w.getQualifier() instanceof Sort sort) { - return matchSorts(sort, mc, services); - } return null; } - } diff --git a/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/MatchParametricSortInstruction.java b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/MatchParametricSortInstruction.java new file mode 100644 index 00000000000..7b8532c7477 --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/MatchParametricSortInstruction.java @@ -0,0 +1,55 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.rule.match.vm.instructions; + +import de.uka.ilkd.key.logic.GenericArgument; +import de.uka.ilkd.key.logic.sort.ParametricSortDecl; +import de.uka.ilkd.key.logic.sort.ParametricSortInstance; + +import org.key_project.logic.LogicServices; +import org.key_project.logic.SyntaxElement; +import org.key_project.logic.sort.Sort; +import org.key_project.prover.rules.instantiation.MatchResultInfo; +import org.key_project.prover.rules.matcher.vm.instruction.MatchInstruction; + +import org.jspecify.annotations.Nullable; + +import static de.uka.ilkd.key.rule.match.vm.instructions.JavaDLMatchVMInstructionSet.getMatchInstructionForSortArgument; + +/** + * Matches a parametric sort instance + */ +public final class MatchParametricSortInstruction implements MatchInstruction { + private final ParametricSortDecl base; + private final MatchInstruction[] argMatchers; + + MatchParametricSortInstruction(ParametricSortInstance psi) { + this.base = psi.getBase(); + this.argMatchers = new MatchInstruction[psi.getArgs().size()]; + int i = 0; + for (GenericArgument arg : psi.getArgs()) { + argMatchers[i++] = getMatchInstructionForSortArgument(arg); + } + } + + @Override + public @Nullable MatchResultInfo match(SyntaxElement actualElement, MatchResultInfo mc, + LogicServices services) { + if (!(actualElement instanceof GenericArgument(Sort sort)) + || !(sort instanceof ParametricSortInstance source) + || source.getBase() != base) { + return null; + } + MatchResultInfo r = mc; + int i = 0; + // same base implies same arity (asserted in ParametricSortInstance.get) + for (GenericArgument sourceArg : source.getArgs()) { + r = argMatchers[i++].match(sourceArg, r, services); + if (r == null) { + return null; + } + } + return r; + } +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/SimilarParametricFunctionInstruction.java b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/SimilarParametricFunctionInstruction.java index e698878c190..39f30b70419 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/SimilarParametricFunctionInstruction.java +++ b/key.core/src/main/java/de/uka/ilkd/key/rule/match/vm/instructions/SimilarParametricFunctionInstruction.java @@ -15,7 +15,7 @@ /** * Matches a parametric function instance "up to generic arguments": the source operator must be an * instance of the same base function as the pattern's. The generic arguments themselves are - * matched afterwards by their own instructions (a generic-sort match or an identity check per + * matched afterward by their own instructions (a generic-sort match or an identity check per * argument). */ public class SimilarParametricFunctionInstruction implements MatchInstruction { diff --git a/key.core/src/main/java/de/uka/ilkd/key/speclang/njml/JmlTermFactory.java b/key.core/src/main/java/de/uka/ilkd/key/speclang/njml/JmlTermFactory.java index face00a3139..3c62534b830 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/speclang/njml/JmlTermFactory.java +++ b/key.core/src/main/java/de/uka/ilkd/key/speclang/njml/JmlTermFactory.java @@ -163,7 +163,7 @@ private JTerm getFields(JTerm t) { final JTerm sub1 = getFields(t.sub(1)); return tb.union(sub0, sub1); } else if (t.op().equals(locSetLDT.getSingleton())) { - return tb.allObjects(t.sub(1)); + return tb.allObjects(t.sub(0).sub(1)); } else { throw exc.createException0("Inacceptable field expression: " + t); } diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/ComponentStrategy.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/ComponentStrategy.java index c68ef3ab5ab..707c3376626 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/strategy/ComponentStrategy.java +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/ComponentStrategy.java @@ -11,12 +11,15 @@ import org.key_project.prover.rules.RuleSet; +import org.jspecify.annotations.Nullable; + public interface ComponentStrategy extends Strategy { enum StrategyAspect { Cost, Instantiation, Approval; } /// The strategy's cost dispatcher. + @Nullable RuleSetDispatchFeature getDispatcher(StrategyAspect aspect); /// The rule sets this strategy is designed to handle. diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/FOLStrategy.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/FOLStrategy.java index c4cda4a412e..df761fb94bb 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/strategy/FOLStrategy.java +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/FOLStrategy.java @@ -66,7 +66,7 @@ public class FOLStrategy extends AbstractFeatureStrategy implements ComponentStr public FOLStrategy(Proof proof, StrategyProperties strategyProperties) { super(proof); - this.strategyProperties = (StrategyProperties) strategyProperties.clone(); + this.strategyProperties = strategyProperties.clone(); this.tf = new ArithTermFeatures(getServices().getTypeConverter().getIntegerLDT()); this.ff = new FormulaTermFeatures(this.tf); @@ -296,10 +296,6 @@ protected void setupFormulaNormalisation(RuleSetDispatchFeature d) { ScaleFeature.createScaled(FindDepthFeature.getInstance(), 20)), inftyConst())); - bindRuleSet(d, "setEqualityBlastingRight", longConst(-100)); - - - bindRuleSet(d, "elimQuantifier", -1000); bindRuleSet(d, "elimQuantifierWithCast", 50); diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/JavaCardDLStrategy.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/JavaCardDLStrategy.java index d3a856e7572..82875fa1ddf 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/strategy/JavaCardDLStrategy.java +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/JavaCardDLStrategy.java @@ -8,7 +8,6 @@ import java.util.concurrent.atomic.AtomicLong; import de.uka.ilkd.key.ldt.HeapLDT; -import de.uka.ilkd.key.ldt.LocSetLDT; import de.uka.ilkd.key.proof.Goal; import de.uka.ilkd.key.proof.Proof; import de.uka.ilkd.key.rule.BuiltInRule; @@ -193,19 +192,6 @@ private RuleSetDispatchFeature setupCostComputationF() { bindRuleSet(d, "test_gen_quan", inftyConst()); bindRuleSet(d, "test_gen_quan_num", inftyConst()); - // This is moved here instead of FOLStrategy, because it deals only w/ loc sets - if (!StrategyProperties.QUANTIFIERS_NONE - .equals( - strategyProperties.getProperty(StrategyProperties.QUANTIFIERS_OPTIONS_KEY))) { - final LocSetLDT locSetLDT = getServices().getTypeConverter().getLocSetLDT(); - bindRuleSet(d, "cnf_setComm", - add(SetsSmallerThanFeature.create(instOf("commRight"), instOf("commLeft"), - locSetLDT), - NotInScopeOfModalityFeature.INSTANCE, longConst(-800))); - } else { - bindRuleSet(d, "cnf_setComm", inftyConst()); - } - bindRuleSet(d, "simplify_literals", // ifZero ( ConstraintStrengthenFeatureUC.create(proof), // longConst ( 0 ), diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/LocSetStrategy.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/LocSetStrategy.java new file mode 100644 index 00000000000..3fcd69c2da2 --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/LocSetStrategy.java @@ -0,0 +1,149 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.strategy; + +import java.util.HashSet; +import java.util.Set; + +import de.uka.ilkd.key.proof.Goal; +import de.uka.ilkd.key.proof.Proof; +import de.uka.ilkd.key.rule.BuiltInRule; +import de.uka.ilkd.key.strategy.feature.MatchedAssumesFeature; +import de.uka.ilkd.key.strategy.feature.PolynomialValuesCmpFeature; +import de.uka.ilkd.key.strategy.feature.RuleSetDispatchFeature; +import de.uka.ilkd.key.strategy.termProjection.FocusFormulaProjection; + +import org.key_project.logic.Name; +import org.key_project.prover.proof.ProofGoal; +import org.key_project.prover.rules.RuleApp; +import org.key_project.prover.rules.RuleSet; +import org.key_project.prover.sequent.PosInOccurrence; +import org.key_project.prover.strategy.costbased.MutableState; +import org.key_project.prover.strategy.costbased.RuleAppCost; + +import org.jspecify.annotations.Nullable; + +/// Strategy for location sets +/// Do not create directly; use [SetStrategyFactory] instead. +public class LocSetStrategy extends AbstractFeatureStrategy implements ComponentStrategy { + public static final Name NAME = new Name("LocSet Strategy"); + + private final RuleSetDispatchFeature costComputationDispatcher; + + private final boolean stopAtFirstNonCloseableGoal; + private final LocSetTermFeatures lsf; + + public LocSetStrategy(Proof proof, StrategyProperties strategyProperties) { + super(proof); + this.lsf = new LocSetTermFeatures( + getServices().getTypeConverter().getLDT(de.uka.ilkd.key.ldt.SetLDT.class), + getServices().getTypeConverter().getLocSetLDT(), + getServices().getTypeConverter().getHeapLDT()); + costComputationDispatcher = setupCostComputationF(); + + stopAtFirstNonCloseableGoal = + strategyProperties.getProperty(StrategyProperties.STOPMODE_OPTIONS_KEY) + .equals(StrategyProperties.STOPMODE_NONCLOSE); + } + + private RuleSetDispatchFeature setupCostComputationF() { + final RuleSetDispatchFeature d = new RuleSetDispatchFeature(); + /// ensures that blasting rules are only applied if the focus formula + /// contains a constructor whose rules need to decompose a locations + /// avoid split up + /// at the moment it is not as general as it could be, e.g. it ignores equalities in the + /// rest of the sequent (e.g, ==> l \in allObjects(f) would lead to an application but + /// allObjects(f) = EQ ==> l \in EQ not) + bindRuleSet(d, "locSetEqualityBlastingRight", + ifZero(applyTF(FocusFormulaProjection.INSTANCE, lsf.requireLocationDecomposition), + longConst(-100), longConst(-80))); + + bindRuleSet(d, "locSetArrayRangeMerge", + add(ifZero(MatchedAssumesFeature.INSTANCE, + add(PolynomialValuesCmpFeature.leq(instOf("lower"), instOf("upper")), + PolynomialValuesCmpFeature.lt(instOf("upper"), instOf("lower2")), + PolynomialValuesCmpFeature.leq(instOf("lower2"), instOf("upper2"))), + longConst(0)), + longConst(-4000))); + + bindRuleSet(d, "locSetArrayRangeInterNested", + add(ifZero(MatchedAssumesFeature.INSTANCE, + add(PolynomialValuesCmpFeature.leq(instOf("lower"), instOf("lower2")), + PolynomialValuesCmpFeature.leq(instOf("upper2"), instOf("upper"))), + longConst(0)), + longConst(-4000))); + + bindRuleSet(d, "locSetArrayRangeInterNested2", + add(ifZero(MatchedAssumesFeature.INSTANCE, + add(PolynomialValuesCmpFeature.leq(instOf("lower2"), instOf("lower")), + PolynomialValuesCmpFeature.leq(instOf("upper"), instOf("upper2"))), + longConst(0)), + longConst(-4000))); + + bindRuleSet(d, "locSetArrayRangeInterDisjoint", + add(ifZero(MatchedAssumesFeature.INSTANCE, + PolynomialValuesCmpFeature.lt(instOf("upper"), instOf("lower2")), + longConst(0)), + longConst(-4000))); + + bindRuleSet(d, "locSetArrayRangeInterDisjoint2", + add(ifZero(MatchedAssumesFeature.INSTANCE, + PolynomialValuesCmpFeature.lt(instOf("upper2"), instOf("lower")), + longConst(0)), + longConst(-4000))); + return d; + } + + @Override + public boolean isResponsibleFor(RuleSet rs) { + return costComputationDispatcher.get(rs) != null; + } + + @Override + public boolean isStopAtFirstNonCloseableGoal() { + return stopAtFirstNonCloseableGoal; + } + + @Override + public boolean isApprovedApp(RuleApp app, PosInOccurrence pio, Goal goal) { + return true; + } + + @Override + public RuleAppCost instantiateApp(RuleApp app, PosInOccurrence pio, Goal goal, + MutableState mState) { + return longConst(0).computeCost(app, pio, goal, mState); + } + + @Override + public Name name() { + return NAME; + } + + @Override + public > RuleAppCost computeCost(RuleApp app, + PosInOccurrence pos, GOAL goal, MutableState mState) { + return this.costComputationDispatcher.computeCost(app, pos, goal, mState); + } + + @Override + public Set getResponsibilities(StrategyAspect aspect) { + var set = new HashSet(); + RuleSetDispatchFeature dispatcher = getDispatcher(aspect); + if (dispatcher != null) { + set.addAll(dispatcher.ruleSets()); + } + return set; + } + + @Override + public @Nullable RuleSetDispatchFeature getDispatcher(StrategyAspect aspect) { + return aspect == StrategyAspect.Cost ? costComputationDispatcher : null; + } + + @Override + public boolean isResponsibleFor(BuiltInRule rule) { + return false; + } +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/LocSetStrategyFactory.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/LocSetStrategyFactory.java new file mode 100644 index 00000000000..52b0b8792b7 --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/LocSetStrategyFactory.java @@ -0,0 +1,27 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.strategy; + +import de.uka.ilkd.key.proof.Proof; +import de.uka.ilkd.key.strategy.definition.StrategySettingsDefinition; + +import org.key_project.logic.Name; + +/// Creates [LocSetStrategy]. +public class LocSetStrategyFactory implements StrategyFactory { + @Override + public LocSetStrategy create(Proof proof, StrategyProperties strategyProperties) { + return new LocSetStrategy(proof, strategyProperties); + } + + @Override + public StrategySettingsDefinition getSettingsDefinition() { + return new StrategySettingsDefinition("LocSet Options"); + } + + @Override + public Name name() { + return LocSetStrategy.NAME; + } +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/LocSetTermFeatures.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/LocSetTermFeatures.java new file mode 100644 index 00000000000..7a533e36bb8 --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/LocSetTermFeatures.java @@ -0,0 +1,51 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.strategy; + +import de.uka.ilkd.key.ldt.HeapLDT; +import de.uka.ilkd.key.ldt.LocSetLDT; +import de.uka.ilkd.key.ldt.SetLDT; + +import org.key_project.logic.op.Function; +import org.key_project.prover.strategy.costbased.termfeature.TermFeature; + +/// Term features for location sets +class LocSetTermFeatures extends SetTermFeatures { + + LocSetTermFeatures(SetLDT sets, LocSetLDT locSets, HeapLDT heaps) { + super(sets); + + allLocs = locSets.getAllLocs(); + arrayRange = locSets.getArrayRange(); + allFields = locSets.getAllFields(); + allObjects = locSets.getAllObjects(); + arr = heaps.getArr(); + + allLocsF = op(allLocs); + arrayRangeF = op(arrayRange); + allFieldsF = op(allFields); + allObjectsF = op(allObjects); + arrF = op(arr); + + requireLocationDecomposition = some(or(arrayRangeF, allFieldsF, allObjectsF, arrF)); + } + + final Function allLocs; + final Function arrayRange; + final Function allFields; + final Function allObjects; + final Function arr; + + final TermFeature allLocsF; + final TermFeature arrayRangeF; + final TermFeature allFieldsF; + final TermFeature allObjectsF; + final TermFeature arrF; + + /** + * Axiomatisation or lemmas for these constructors require decomposition + * of a location into its components + */ + final TermFeature requireLocationDecomposition; +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/ModularJavaDLStrategyFactory.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/ModularJavaDLStrategyFactory.java index a570a021a21..f5bf6ce4800 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/strategy/ModularJavaDLStrategyFactory.java +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/ModularJavaDLStrategyFactory.java @@ -24,7 +24,9 @@ public class ModularJavaDLStrategyFactory implements StrategyFactory { private final List componentFactories = Arrays.asList(new JFOLStrategyFactory(), - new IntegerStrategyFactory(), new SymExStrategyFactory(), new StringStrategyFactory(), + new IntegerStrategyFactory(), + new SetStrategyFactory(), new LocSetStrategyFactory(), + new SymExStrategyFactory(), new StringStrategyFactory(), new JavaCardDLStrategyFactory()); /** diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/SetStrategy.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/SetStrategy.java new file mode 100644 index 00000000000..e4adec94f3e --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/SetStrategy.java @@ -0,0 +1,126 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.strategy; + +import java.util.HashSet; +import java.util.Set; + +import de.uka.ilkd.key.ldt.SetLDT; +import de.uka.ilkd.key.proof.Goal; +import de.uka.ilkd.key.proof.Proof; +import de.uka.ilkd.key.rule.BuiltInRule; +import de.uka.ilkd.key.strategy.feature.MatchedAssumesFeature; +import de.uka.ilkd.key.strategy.feature.RuleSetDispatchFeature; +import de.uka.ilkd.key.strategy.feature.SetsSmallerThanFeature; + +import org.key_project.logic.Name; +import org.key_project.prover.proof.ProofGoal; +import org.key_project.prover.rules.RuleApp; +import org.key_project.prover.rules.RuleSet; +import org.key_project.prover.sequent.PosInOccurrence; +import org.key_project.prover.strategy.costbased.MutableState; +import org.key_project.prover.strategy.costbased.RuleAppCost; +import org.key_project.prover.strategy.costbased.feature.Feature; +import org.key_project.prover.strategy.costbased.termfeature.TermFeature; + +import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.Nullable; + +/// Strategy for the sort generic theory of sets. +/// Do not create directly; use [SetStrategyFactory] instead. +public class SetStrategy extends AbstractFeatureStrategy implements ComponentStrategy { + public static final Name NAME = new Name("Set Strategy"); + + private final RuleSetDispatchFeature costComputationDispatcher; + + private final boolean stopAtFirstNonCloseableGoal; + private final SetTermFeatures stf; + + public SetStrategy(Proof proof, StrategyProperties strategyProperties) { + super(proof); + stf = new SetTermFeatures(getServices().getTypeConverter().getLDT(SetLDT.class)); + costComputationDispatcher = setupCostComputationF(); + + stopAtFirstNonCloseableGoal = + strategyProperties.getProperty(StrategyProperties.STOPMODE_OPTIONS_KEY) + .equals(StrategyProperties.STOPMODE_NONCLOSE); + } + + private RuleSetDispatchFeature setupCostComputationF() { + final RuleSetDispatchFeature d = new RuleSetDispatchFeature(); + bindRuleSet(d, "setEqualityBlastingRight", longConst(-90)); + + // Distribution duplicates the distributed set, so it is allowed only + // where a resulting set is known to collapse. + final TermFeature collapses = or(stf.emptyF, stf.singletonF); + final Feature operandCollapses = or(applyTF("distributedSet", collapses), + applyTF("unionLeft", collapses), applyTF("unionRight", collapses)); + bindRuleSet(d, "setDist", + add(ifZero(MatchedAssumesFeature.INSTANCE, operandCollapses, longConst(0)), + longConst(-2000))); + + bindRuleSet(d, "setAssoc", longConst(-850)); + + // Always on, independent of the quantifier treatment: e.g. union(l, s) = union(s, l) + // closes after one swap where it would otherwise need blasting the sets. + bindRuleSet(d, "setComm", + add(applyTF("commLeft", not(or(stf.unionF, stf.intersectF))), + applyTF("commRight", not(or(stf.unionF, stf.intersectF))), + SetsSmallerThanFeature.create(instOf("commRight"), instOf("commLeft"), stf), + longConst(-800))); + return d; + } + + @Override + public boolean isResponsibleFor(RuleSet rs) { + return costComputationDispatcher.get(rs) != null; + } + + @Override + public boolean isStopAtFirstNonCloseableGoal() { + return stopAtFirstNonCloseableGoal; + } + + @Override + public boolean isApprovedApp(RuleApp app, PosInOccurrence pio, Goal goal) { + return true; + } + + @Override + public RuleAppCost instantiateApp(RuleApp app, PosInOccurrence pio, Goal goal, + MutableState mState) { + return longConst(0).computeCost(app, pio, goal, mState); + } + + @Override + public Name name() { + return NAME; + } + + @Override + public > RuleAppCost computeCost(RuleApp app, + PosInOccurrence pos, GOAL goal, MutableState mState) { + return this.costComputationDispatcher.computeCost(app, pos, goal, mState); + } + + @Override + public Set getResponsibilities(StrategyAspect aspect) { + var set = new HashSet(); + RuleSetDispatchFeature dispatcher = getDispatcher(aspect); + if (dispatcher != null) { + set.addAll(dispatcher.ruleSets()); + } + return set; + } + + @Override + public @Nullable RuleSetDispatchFeature getDispatcher(StrategyAspect aspect) { + return aspect == StrategyAspect.Cost ? costComputationDispatcher : null; + } + + @Override + public boolean isResponsibleFor(BuiltInRule rule) { + return false; + } +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/SetStrategyFactory.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/SetStrategyFactory.java new file mode 100644 index 00000000000..a65aaa1d8b3 --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/SetStrategyFactory.java @@ -0,0 +1,27 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.strategy; + +import de.uka.ilkd.key.proof.Proof; +import de.uka.ilkd.key.strategy.definition.StrategySettingsDefinition; + +import org.key_project.logic.Name; + +/// Creates [SetStrategy]. +public class SetStrategyFactory implements StrategyFactory { + @Override + public SetStrategy create(Proof proof, StrategyProperties strategyProperties) { + return new SetStrategy(proof, strategyProperties); + } + + @Override + public StrategySettingsDefinition getSettingsDefinition() { + return new StrategySettingsDefinition("Set Options"); + } + + @Override + public Name name() { + return SetStrategy.NAME; + } +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/SetTermFeatures.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/SetTermFeatures.java new file mode 100644 index 00000000000..86aeffa4f75 --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/SetTermFeatures.java @@ -0,0 +1,59 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.strategy; + +import de.uka.ilkd.key.ldt.SetLDT; +import de.uka.ilkd.key.logic.op.ParametricFunctionDecl; + +import org.key_project.prover.strategy.costbased.termfeature.TermFeature; + +/// Term features for the theory of sets. +public class SetTermFeatures extends StaticFeatureCollection { + + SetTermFeatures(SetLDT sets) { + empty = sets.getEmpty(); + singleton = sets.getSingleton(); + union = sets.getUnion(); + intersect = sets.getIntersect(); + setMinus = sets.getSetMinus(); + infiniteUnion = sets.getInfiniteUnion(); + card = sets.getCard(); + elementOf = sets.getElementOf(); + subset = sets.getSubset(); + disjoint = sets.getDisjoint(); + + emptyF = opBase(empty); + singletonF = opBase(singleton); + unionF = opBase(union); + intersectF = opBase(intersect); + setMinusF = opBase(setMinus); + infiniteUnionF = opBase(infiniteUnion); + cardF = opBase(card); + elementOfF = opBase(elementOf); + subsetF = opBase(subset); + disjointF = opBase(disjoint); + } + + public final ParametricFunctionDecl empty; + public final ParametricFunctionDecl singleton; + public final ParametricFunctionDecl union; + public final ParametricFunctionDecl intersect; + public final ParametricFunctionDecl setMinus; + public final ParametricFunctionDecl infiniteUnion; + public final ParametricFunctionDecl card; + public final ParametricFunctionDecl elementOf; + public final ParametricFunctionDecl subset; + public final ParametricFunctionDecl disjoint; + + final TermFeature emptyF; + final TermFeature singletonF; + final TermFeature unionF; + final TermFeature intersectF; + final TermFeature setMinusF; + final TermFeature infiniteUnionF; + final TermFeature cardF; + final TermFeature elementOfF; + final TermFeature subsetF; + final TermFeature disjointF; +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/StaticFeatureCollection.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/StaticFeatureCollection.java index ff469a87a57..9881f7b17c1 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/strategy/StaticFeatureCollection.java +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/StaticFeatureCollection.java @@ -7,6 +7,7 @@ import de.uka.ilkd.key.logic.JTerm; import de.uka.ilkd.key.logic.label.ParameterlessTermLabel; import de.uka.ilkd.key.logic.label.TermLabel; +import de.uka.ilkd.key.logic.op.ParametricFunctionDecl; import de.uka.ilkd.key.proof.Goal; import de.uka.ilkd.key.rule.*; import de.uka.ilkd.key.rule.merge.MergeRule; @@ -14,6 +15,7 @@ import de.uka.ilkd.key.strategy.quantifierHeuristics.LiteralsSmallerThanFeature; import de.uka.ilkd.key.strategy.termProjection.*; import de.uka.ilkd.key.strategy.termfeature.EqTermFeature; +import de.uka.ilkd.key.strategy.termfeature.ParametricFunctionBaseTermFeature; import org.key_project.logic.Name; import org.key_project.logic.PosInTerm; @@ -329,10 +331,18 @@ protected static TermFeature op(Operator op) { return OperatorTF.create(op); } + protected static TermFeature opBase(ParametricFunctionDecl base) { + return ParametricFunctionBaseTermFeature.create(base); + } + protected static TermFeature rec(TermFeature cond, TermFeature summand) { return RecSubTermFeature.create(cond, summand); } + protected static TermFeature some(TermFeature f) { + return not(rec(any(), not(f))); + } + protected static TermFeature sub(TermFeature sub0) { return SubTermFeature.create(new TermFeature[] { sub0 }); } diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/feature/SetsSmallerThanFeature.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/feature/SetsSmallerThanFeature.java index a94a3192ec1..19adf492342 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/strategy/feature/SetsSmallerThanFeature.java +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/feature/SetsSmallerThanFeature.java @@ -3,9 +3,10 @@ * SPDX-License-Identifier: GPL-2.0-only */ package de.uka.ilkd.key.strategy.feature; -import de.uka.ilkd.key.ldt.LocSetLDT; +import de.uka.ilkd.key.logic.op.ParametricFunctionInstance; import de.uka.ilkd.key.proof.Goal; import de.uka.ilkd.key.rule.TacletApp; +import de.uka.ilkd.key.strategy.SetTermFeatures; import org.key_project.logic.Term; import org.key_project.prover.sequent.PosInOccurrence; @@ -18,20 +19,20 @@ public class SetsSmallerThanFeature extends SmallerThanFeature { private final ProjectionToTerm left, right; - private final LocSetLDT locSetLDT; + private final SetTermFeatures setFeatures; private SetsSmallerThanFeature(ProjectionToTerm left, ProjectionToTerm right, - LocSetLDT locSetLDT) { + SetTermFeatures setFeatures) { this.left = left; this.right = right; - this.locSetLDT = locSetLDT; + this.setFeatures = setFeatures; } public static Feature create(ProjectionToTerm left, ProjectionToTerm right, - LocSetLDT locSetLDT) { - return new SetsSmallerThanFeature(left, right, locSetLDT); + SetTermFeatures setFeatures) { + return new SetsSmallerThanFeature(left, right, setFeatures); } @@ -62,9 +63,10 @@ protected boolean origLessThan(Term leftTerm, Term rightTerm, PosInOccurrence po private class LiteralCollector extends Collector { protected void collect(Term te) { - final var op = te.op(); - if (op == locSetLDT.getUnion() || op == locSetLDT.getIntersect() - || op == locSetLDT.getDisjoint()) { + if (te.op() instanceof ParametricFunctionInstance pfi + && (pfi.getBase() == setFeatures.union + || pfi.getBase() == setFeatures.intersect + || pfi.getBase() == setFeatures.disjoint)) { collect(te.sub(0)); collect(te.sub(1)); } else { diff --git a/key.core/src/main/java/de/uka/ilkd/key/strategy/termfeature/ParametricFunctionBaseTermFeature.java b/key.core/src/main/java/de/uka/ilkd/key/strategy/termfeature/ParametricFunctionBaseTermFeature.java new file mode 100644 index 00000000000..cd919bdd796 --- /dev/null +++ b/key.core/src/main/java/de/uka/ilkd/key/strategy/termfeature/ParametricFunctionBaseTermFeature.java @@ -0,0 +1,39 @@ +/* This file is part of KeY - https://key-project.org + * KeY is licensed under the GNU General Public License Version 2 + * SPDX-License-Identifier: GPL-2.0-only */ +package de.uka.ilkd.key.strategy.termfeature; + +import de.uka.ilkd.key.logic.op.ParametricFunctionDecl; +import de.uka.ilkd.key.logic.op.ParametricFunctionInstance; + +import org.key_project.logic.LogicServices; +import org.key_project.logic.Term; +import org.key_project.prover.strategy.costbased.MutableState; +import org.key_project.prover.strategy.costbased.termfeature.BinaryTermFeature; +import org.key_project.prover.strategy.costbased.termfeature.TermFeature; + +/** + * Returns zero iff the term's operator is an instance of the given parametric function + * (independent of their sorts). + * Similar as + * {@link org.key_project.prover.strategy.costbased.termfeature.OperatorTF} + * but for a parametric function symbols. + */ +public class ParametricFunctionBaseTermFeature extends BinaryTermFeature { + + private final ParametricFunctionDecl base; + + private ParametricFunctionBaseTermFeature(ParametricFunctionDecl base) { + this.base = base; + } + + public static TermFeature create(ParametricFunctionDecl base) { + return new ParametricFunctionBaseTermFeature(base); + } + + @Override + protected boolean filter(Term t, MutableState mState, LogicServices services) { + return t.op() instanceof ParametricFunctionInstance instance + && instance.getBase() == base; + } +} diff --git a/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/DefaultTacletTranslator.java b/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/DefaultTacletTranslator.java index 514348f840e..6fe2867482b 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/DefaultTacletTranslator.java +++ b/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/DefaultTacletTranslator.java @@ -29,12 +29,9 @@ * */ public class DefaultTacletTranslator extends AbstractSkeletonGenerator { - - static private final int ANTE = 0; static private final int SUCC = 1; - private enum TacletSections { REPLACE, ADD, ASSUM, FIND; @@ -43,7 +40,6 @@ public JTerm getDefaultValue(TermServices services) { } } - /** * Translates the replace and add pattern of a goal template to: find=replace->add
* Use this method if you want to translate a taclet, where the find pattern is a term. @@ -146,8 +142,6 @@ private JTerm translateReplaceAndAddSequent(TacletGoalTemplate template, int typ */ @Override public JTerm translate(Taclet taclet, TermServices services) throws IllegalTacletException { - - TermBuilder tb = services.getTermBuilder(); // the standard translation of the patterns. @@ -166,22 +160,17 @@ public JTerm translate(Taclet taclet, TermServices services) throws IllegalTacle ImmutableList list = ImmutableList.nil(); for (TacletGoalTemplate template : taclet.goalTemplates()) { - if (taclet instanceof AntecTaclet) { list = list.append(translateReplaceAndAddSequent(template, ANTE, services)); - } else if (taclet instanceof SuccTaclet) { list = list.append(translateReplaceAndAddSequent(template, SUCC, services)); - } else if (taclet instanceof RewriteTaclet rwTaclet) { if (rwTaclet.find().sort().equals(JavaDLTheory.FORMULA)) { int polarity = getPolarity(rwTaclet); list = list.append( translateReplaceAndAddFormula(template, find, polarity, services)); - } else { list = list.append(translateReplaceAndAddTerm(template, find, services)); - } } else if (taclet instanceof NoFindTaclet) { list = list.append(translateReplaceAndAddSequent(template, SUCC, services)); @@ -196,7 +185,6 @@ public JTerm translate(Taclet taclet, TermServices services) throws IllegalTacle } } - if (taclet instanceof AntecTaclet || taclet instanceof SuccTaclet) { if (taclet instanceof AntecTaclet) { find = tb.not(find); diff --git a/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/DefaultLemmaGenerator.java b/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/DefaultLemmaGenerator.java index 37182cb3678..339fa596b38 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/DefaultLemmaGenerator.java +++ b/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/DefaultLemmaGenerator.java @@ -85,7 +85,7 @@ public String visit(Taclet taclet, boolean visitAddrules) { if (!assumptions.isEmpty() && Objects.equals(appRestr, ApplicationRestriction.NONE)) { // any restriction is fine. The polarity switches are equiv - // to"inSequentState" in this respect. + // to "inSequentState" in this respect. failureOccurred("The given taclet " + taclet.name() + " has \\ignoreUpdateLevel set or is not set to \\inSequentState."); } @@ -140,8 +140,6 @@ protected final JTerm getInstantiation(Taclet owner, SchemaVariable var, if (instantiation == null) { instantiation = createInstantiation(owner, var, services); mapping.put(var, instantiation); - - } return instantiation; } diff --git a/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/GenericRemovingLemmaGenerator.java b/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/GenericRemovingLemmaGenerator.java index cff63c1c317..4fc4297cd41 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/GenericRemovingLemmaGenerator.java +++ b/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/GenericRemovingLemmaGenerator.java @@ -3,14 +3,14 @@ * SPDX-License-Identifier: GPL-2.0-only */ package de.uka.ilkd.key.taclettranslation.lemma; -import java.util.HashMap; -import java.util.Map; +import java.util.*; import de.uka.ilkd.key.java.Services; import de.uka.ilkd.key.logic.GenericArgument; import de.uka.ilkd.key.logic.TermServices; import de.uka.ilkd.key.logic.op.ParametricFunctionInstance; import de.uka.ilkd.key.logic.sort.GenericSort; +import de.uka.ilkd.key.logic.sort.ParametricSortInstance; import de.uka.ilkd.key.logic.sort.ProxySort; import org.key_project.logic.op.Operator; @@ -30,27 +30,34 @@ * For every generic sort, precisely one proxy sort is introduced. */ public class GenericRemovingLemmaGenerator extends DefaultLemmaGenerator { - /** * The map from generic sorts to proxy sorts. */ private final Map sortMap = new HashMap<>(); - /** * {@inheritDoc} *

- * The generic removing implementation replaces sort depending functions if their sort argument + * The generic removing implementation replaces parametric functions if their sort argument * is a generic sort. */ @Override protected Operator replaceOp(Operator op, TermServices services) { - if (op instanceof ParametricFunctionInstance pfi && pfi.getArgs().size() == 1) { - Sort sort = pfi.getArgs().head().sort(); - Sort repSort = replaceSort(sort, services); - if (sort != repSort) { + if (op instanceof ParametricFunctionInstance pfi) { + List newArgs = new LinkedList<>(); + boolean changed = false; + for (var arg : pfi.getArgs()) { + final var sort = arg.sort(); + if (sort.containsGenericSort()) { + newArgs.add(new GenericArgument(replaceSort(sort, services))); + changed = true; + } else { + newArgs.add(arg); + } + } + if (changed) { op = ParametricFunctionInstance.get(pfi.getBase(), - ImmutableList.of(new GenericArgument(repSort)), (Services) services); + ImmutableList.fromList(newArgs), (Services) services); } } @@ -65,18 +72,29 @@ protected Operator replaceOp(Operator op, TermServices services) { */ @Override protected Sort replaceSort(Sort sort, TermServices services) { - if (sort instanceof GenericSort) { - - Sort cached = sortMap.get(sort); - if (cached != null) { - return cached; + Sort cached = sortMap.get(sort); + if (cached != null) { + return cached; + } + if (sort instanceof GenericSort gs) { + Sort declared = services.getNamespaces().sorts().lookup(gs.name()); + if (declared instanceof ProxySort declaredProxy) { + sortMap.put(gs, declaredProxy); + return declaredProxy; } - - ImmutableSet extSorts = replaceSorts(sort.extendsSorts(), services); - ProxySort result = new ProxySort(sort.name(), extSorts); - sortMap.put(sort, result); + ImmutableSet extSorts = replaceSorts(gs.extendsSorts(), services); + ProxySort result = new ProxySort(gs.name(), extSorts); + sortMap.put(gs, result); return result; - + } else if (sort instanceof ParametricSortInstance psi && psi.containsGenericSort()) { + List newArgs = new ArrayList<>(psi.getArgs().size()); + for (var arg : psi.getArgs()) { + newArgs.add(new GenericArgument(replaceSort(arg.sort(), services))); + } + ParametricSortInstance newSort = ParametricSortInstance.get(psi.getBase(), + ImmutableList.fromList(newArgs), (Services) services); + sortMap.put(sort, newSort); + return newSort; } else { return sort; } diff --git a/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/ProofObligationCreator.java b/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/ProofObligationCreator.java index 18b3f49e530..7d3cb7e7e6d 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/ProofObligationCreator.java +++ b/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/ProofObligationCreator.java @@ -50,7 +50,6 @@ private String createName(ProofAggregate[] singleProofs) { */ public ProofAggregate create(ImmutableSet taclets, InitConfig[] initConfigs, ImmutableSet axioms, Collection listeners) { - ProofAggregate[] singleProofs = new ProofAggregate[taclets.size()]; for (LoaderListener listener : listeners) { diff --git a/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/TacletSoundnessPOLoader.java b/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/TacletSoundnessPOLoader.java index bedea3fd63c..1ad60bb5003 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/TacletSoundnessPOLoader.java +++ b/key.core/src/main/java/de/uka/ilkd/key/taclettranslation/lemma/TacletSoundnessPOLoader.java @@ -274,11 +274,8 @@ private boolean isUsedOnlyForProvingTaclets() { private ProofAggregate createProof(ProofEnvironment proofEnvForTaclets, ImmutableSet tacletsToProve, ImmutableSet axioms, ImmutableList loadedTaclets) { - - ProofObligationCreator creator = new ProofObligationCreator(); - List tacletsToProveList = new ArrayList<>(); for (Taclet taclet : tacletsToProve) { tacletsToProveList.add(taclet); @@ -290,12 +287,10 @@ private ProofAggregate createProof(ProofEnvironment proofEnvForTaclets, proofConfigs[i].registerRules(tacletsToProve, AxiomJustification.INSTANCE); tacletLoader.manageAvailableTaclets(proofConfigs[i], tacletsToProveList.get(i)); - } ProofAggregate p = creator.create(tacletsToProve, proofConfigs, axioms, listeners); - if (isUsedOnlyForProvingTaclets()) { for (InitConfig proofConfig : proofConfigs) { for (Taclet taclet : proofConfig.getTaclets()) { diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/adtProgramDecompositionRules.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/adtProgramDecompositionRules.key index 41673020323..050673ec540 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/adtProgramDecompositionRules.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/adtProgramDecompositionRules.key @@ -109,7 +109,7 @@ \schemaVar \formula post; \find(\modality{#allmodal}{.. #v = \singleton(#seObj.#a); ...}\endmodality (post)) - \replacewith({#v := singleton(#seObj, #memberPVToField(#a))}\modality{#allmodal}{.. ...}\endmodality (post)) + \replacewith({#v := singleton(pair(#seObj, #memberPVToField(#a)))}\modality{#allmodal}{.. ...}\endmodality (post)) \heuristics(simplify_prog) \displayname "singletonAssignment" diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/classicalLogic/formulaNormalisationRules.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/classicalLogic/formulaNormalisationRules.key index 233410f6632..1af0fcbada9 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/classicalLogic/formulaNormalisationRules.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/classicalLogic/formulaNormalisationRules.key @@ -638,32 +638,32 @@ // verified with KeY -- RB 12.10.2013 elim_exists_sub_1 { - \schemaVar \variables LocSet locVar; - \schemaVar \term LocSet locSetTermLeft, locSetTermRight; + \schemaVar \variables Set locVar; + \schemaVar \term Set locSetTermLeft, locSetTermRight; - \find(\exists locVar; (subset(locVar, locSetTermRight) & subset(locSetTermLeft, locVar))) + \find(\exists locVar; (subset(locVar, locSetTermRight) & subset(locSetTermLeft, locVar))) \varcond(\notFreeIn(locVar, locSetTermLeft, locSetTermRight)) - \replacewith(subset(locSetTermLeft, locSetTermRight)) + \replacewith(subset(locSetTermLeft, locSetTermRight)) \heuristics(elimQuantifier) }; // verified with KeY -- RB 12.10.2013 elim_exists_sub_1_or_phi { - \schemaVar \variables LocSet locVar; - \schemaVar \term LocSet locSetTermLeft, locSetTermRight; + \schemaVar \variables Set locVar; + \schemaVar \term Set locSetTermLeft, locSetTermRight; - \find(\exists locVar; ((subset(locVar, locSetTermRight) & subset(locSetTermLeft, locVar)) | phi)) + \find(\exists locVar; ((subset(locVar, locSetTermRight) & subset(locSetTermLeft, locVar)) | phi)) \varcond(\notFreeIn(locVar, locSetTermLeft, locSetTermRight)) - \replacewith(subset(locSetTermLeft, locSetTermRight) | \exists locVar; phi) + \replacewith(subset(locSetTermLeft, locSetTermRight) | \exists locVar; phi) \heuristics(elimQuantifier) }; // verified with KeY -- RB 12.10.2013 elim_exists_sub_1_and_phi { - \schemaVar \variables LocSet locVar; - \schemaVar \term LocSet locSetTerm; + \schemaVar \variables Set locVar; + \schemaVar \term Set locSetTerm; - \find(\exists locVar; (subset(locVar, locSetTerm) & subset(locSetTerm, locVar) & phi)) + \find(\exists locVar; (subset(locVar, locSetTerm) & subset(locSetTerm, locVar) & phi)) \varcond(\notFreeIn(locVar, locSetTerm)) \replacewith(\exists locVar; (locVar = locSetTerm & phi)) \heuristics(elimQuantifier) @@ -674,7 +674,7 @@ \schemaVar \variables LocSet locVar; \schemaVar \term LocSet locSetTerm; - \find(\forall locVar; subset(locVar, locSetTerm)) + \find(\forall locVar; subset>(locVar, locSetTerm)) \varcond(\notFreeIn(locVar, locSetTerm)) \replacewith(locSetTerm = allLocs) \heuristics(elimQuantifier) @@ -682,23 +682,23 @@ // verified with KeY -- RB 12.10.2013 elim_forall_subOfAll { - \schemaVar \variables LocSet locVar; - \schemaVar \term LocSet locSetTerm; + \schemaVar \variables Set locVar; + \schemaVar \term Set locSetTerm; - \find(\forall locVar; subset(locSetTerm, locVar)) + \find(\forall locVar; subset(locSetTerm, locVar)) \varcond(\notFreeIn(locVar, locSetTerm)) - \replacewith(locSetTerm = empty) + \replacewith(locSetTerm = empty) \heuristics(elimQuantifier) }; // verified with KeY -- RB 12.10.2013 elim_forall_subOfAll_and_phi { - \schemaVar \variables LocSet locVar; - \schemaVar \term LocSet locSetTerm; + \schemaVar \variables Set locVar; + \schemaVar \term Set locSetTerm; - \find(\forall locVar; (subset(locSetTerm, locVar) & phi)) + \find(\forall locVar; (subset(locSetTerm, locVar) & phi)) \varcond(\notFreeIn(locVar, locSetTerm)) - \replacewith(locSetTerm = empty & \forall locVar; phi) + \replacewith(locSetTerm = empty & \forall locVar; phi) \heuristics(elimQuantifier) }; @@ -707,7 +707,7 @@ \schemaVar \variables LocSet locVar; \schemaVar \term LocSet locSetTerm; - \find(\forall locVar; (subset(locVar, locSetTerm) & phi)) + \find(\forall locVar; (subset>(locVar, locSetTerm) & phi)) \varcond(\notFreeIn(locVar, locSetTerm)) \replacewith(locSetTerm = allLocs & \forall locVar; phi) \heuristics(elimQuantifier) @@ -715,10 +715,10 @@ // verified with KeY -- RB 12.10.2013 elim_forall_eqSet_imp_phi { - \schemaVar \variables LocSet locVar; - \schemaVar \term LocSet locSetTerm; + \schemaVar \variables Set locVar; + \schemaVar \term Set locSetTerm; - \find(\forall locVar; ((subset(locVar, locSetTerm) & subset(locSetTerm, locVar)) -> phi)) + \find(\forall locVar; ((subset(locVar, locSetTerm) & subset(locSetTerm, locVar)) -> phi)) \varcond(\notFreeIn(locVar, locSetTerm)) \replacewith(\forall locVar; (locSetTerm = locVar -> phi)) \heuristics(elimQuantifier) diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/genericRules.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/genericRules.key index cbf448a1960..9d1b4016d5e 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/genericRules.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/genericRules.key @@ -45,13 +45,13 @@ \rules { firstOfPair { - \find(first(pair(t, t1))) + \find(first(pair(t, t1))) \replacewith(t) \heuristics(concrete) }; secondOfPair { - \find(second(pair(t, t1))) + \find(second(pair(t, t1))) \replacewith(t1) \heuristics(concrete) }; diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/heapRules.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/heapRules.key index b27fbe81135..d4089afb714 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/heapRules.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/heapRules.key @@ -23,7 +23,7 @@ \replacewith(\forall f; (\forall o; - ( elementOf(o, f, locs) + ( elementOf(pair(o, f), locs) | !o = null & !select(heapOld, o, java.lang.Object::#$created) = TRUE | select(heapNew, o, f) = select(heapOld, o, f)))) @@ -83,8 +83,8 @@ \find(select(anon(h, s, h2), o, f)) - \replacewith(\if(elementOf(o, f, s) & f != java.lang.Object::#$created - | elementOf(o, f, freshLocs(h))) + \replacewith(\if(elementOf(pair(o, f), s) & f != java.lang.Object::#$created + | elementOf(pair(o, f), freshLocs(h))) \then(select(h2, o, f)) \else(select(h, o, f))) \heuristics(semantics_blasting) @@ -101,7 +101,7 @@ \find(select(memset(h, s, x), o, f)) - \replacewith(\if(elementOf(o, f, s) & f != java.lang.Object::#$created) + \replacewith(\if(elementOf(pair(o, f), s) & f != java.lang.Object::#$created) \then((beta)x) \else(select(h, o, f))) \heuristics(semantics_blasting) @@ -114,8 +114,8 @@ // rule. The rule is proven correct within KeY using the rules // selectCreatedOfAnon and selectOfAnon on the cut-formula // \forall Heap h2; - // ( select(anon(v_h_0, empty, h2), null, java.lang.Object::#$created) = - // select(anon(v_h_0, empty, h2), null, java.lang.Object::#$created) ) . + // ( select(anon(v_h_0, empty, h2), null, java.lang.Object::#$created) = + // select(anon(v_h_0, empty, h2), null, java.lang.Object::#$created) ) . // See comment on selectCreatedOfAnon. nullCreated { \schemaVar \variables Heap h; @@ -349,8 +349,8 @@ \inSequentState \replacewith( - \if(elementOf(o, f, s) & f != java.lang.Object::#$created - | elementOf(o, f, freshLocs(h))) + \if(elementOf(pair(o, f), s) & f != java.lang.Object::#$created + | elementOf(pair(o, f), freshLocs(h))) \then(select(h2, o, f)) \else(select(h, o, f)) = sk ==>) @@ -379,7 +379,7 @@ \inSequentState \replacewith( - \if(elementOf(o, f, s) & f != java.lang.Object::#$created) + \if(elementOf(pair(o, f), s) & f != java.lang.Object::#$created) \then((beta)x) \else(select(h, o, f)) = sk ==>) @@ -568,7 +568,7 @@ \schemaVar \term Heap h; \schemaVar \term any x; - \find(memset(h, empty, x)) + \find(memset(h, empty, x)) \replacewith(h) @@ -683,15 +683,16 @@ onlyCreatedObjectsAreInLocSets { \schemaVar \term Heap h; - \schemaVar \term Object o, o2; - \schemaVar \term Field f, f2; + \schemaVar \term Object o; + \schemaVar \term Field f; + \schemaVar \term Loc l; \assumes(wellFormed(h) ==>) - \find(elementOf(o2, f2, select(h, o, f)) ==>) + \find(elementOf(l, select(h, o, f)) ==>) - \add(o2 = null + \add(first(l) = null | select(h, - o2, + first(l), java.lang.Object::#$created) = TRUE ==>) \heuristics(inReachableStateImplication) @@ -700,15 +701,16 @@ onlyCreatedObjectsAreInLocSetsFinal { \schemaVar \term Heap h; - \schemaVar \term Object o, o2; - \schemaVar \term Field f, f2; + \schemaVar \term Object o; + \schemaVar \term Field f; + \schemaVar \term Loc l; \assumes(wellFormed(h) ==>) - \find(elementOf(o2, f2, final(o, f)) ==>) + \find(elementOf(l, final(o, f)) ==>) - \add(o2 = null + \add(first(l) = null | select(h, - o2, + first(l), java.lang.Object::#$created) = TRUE ==>) \heuristics(inReachableStateImplication) @@ -1034,14 +1036,13 @@ onlyCreatedObjectsAreObservedInLocSets { \schemaVar \term Heap h; \schemaVar \term LocSet obs; - \schemaVar \term Object o; - \schemaVar \term Field f; + \schemaVar \term Loc l; - \find(elementOf(o, f, obs) ==>) + \find(elementOf(l, obs) ==>) \varcond(\isObserver(obs, h)) - \add(o = null - | select(h, o, java.lang.Object::#$created) = TRUE ==>) + \add(first(l) = null + | select(h, first(l), java.lang.Object::#$created) = TRUE ==>) \heuristics(inReachableStateImplication) \generate(\EQ(obs)) diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/ldt.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/ldt.key index 1c0fd9f4436..b37ed9c3569 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/ldt.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/ldt.key @@ -22,14 +22,14 @@ "./float/floatHeader.key", "./reals/realHeader.key", heap, + wellfound, + "./set/set.key", "./locset/locSets.key", "./permission/permission.key", reach, "./sequence/seq.key", - "./set/set.key", stringDef, map, freeADT, - wellfound, "./string/charListHeader.key", types; diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/locset/locSets.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/locset/locSets.key index be74f91a6dc..6ca87ff32a5 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/locset/locSets.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/locset/locSets.key @@ -6,37 +6,17 @@ // Find the rules in file locSetRules.key \sorts { - LocSet; + \alias Loc = Pair; + \alias LocSet = Set; } \functions { // unique function symbols - /*! The empty location set which does not contain any elements. */ - \unique LocSet empty; - /*! The unique location set containing all locations, i.e. elementOf(o, f, allLocs) will always return true for an arbitrary Field f and Object o. */ \unique LocSet allLocs; // other constructors - /*! Converts a single location to a locations set with one element. */ - LocSet singleton(Object, Field); - - /*! Union between two location sets. */ - LocSet union(LocSet, LocSet); - - /*! Intersection between two location sets. */ - LocSet intersect(LocSet, LocSet); - - /*! Realizes relative complement (a.k.a. set difference) between two locations sets. It takes as arguments - two location sets and returns another location set which contains all elements from the first argument - except those that are elements of the second argument. */ - LocSet setMinus(LocSet, LocSet); - - /*! Takes as argument a term of type LocSet, which may contain a free variable. The term represents a family - of locations sets, which is parameterized by the unbound variable. The returned location set is the union - over all members of the parameterized family. */ - LocSet infiniteUnion {true}(LocSet); /*! The set that contains all locations which belong to the object o given as argument. @@ -60,21 +40,5 @@ } \predicates { - /*! This is the set theoretic membership predicate to be used for location sets. - - It takes three arguments: The first two (an Object and a Field) make up the location and the - third is the location set against which membership is tested. */ - elementOf(Object, Field, LocSet); - - /*! This is the set theoretic subset predicate to be used for location sets. - - A location set A is subset of another location set B iff every element of A is also element of B.*/ - subset(LocSet, LocSet); - - /*! This binary predicate models disjointness of location sets. - - disjoint(A,B) is true iff A and B have an empty intersection, - it is thus equivalent to intersect(A,B) = empty.*/ - disjoint(LocSet, LocSet); createdInHeap(LocSet, Heap); } diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/locset/locSetsRules.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/locset/locSetsRules.key index 27265dd5d1c..206536c859c 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/locset/locSetsRules.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/locset/locSetsRules.key @@ -11,116 +11,38 @@ // axioms for elementOf // -------------------------------------------------------------------------- - elementOfEmpty { - \schemaVar \term Object o; - \schemaVar \term Field f; - - \find(elementOf(o, f, empty)) - - \replacewith(false) - - \heuristics(concrete) - }; - elementOfAllLocs { - \schemaVar \term Object o; - \schemaVar \term Field f; + \schemaVar \term Loc l; - \find(elementOf(o, f, allLocs)) + \find(elementOf(l, allLocs)) \replacewith(true) \heuristics(concrete) }; - elementOfSingleton { - \schemaVar \term Object o, o2; - \schemaVar \term Field f, f2; - - \find(elementOf(o, f, singleton(o2, f2))) - - \replacewith(o = o2 & f = f2) - - \heuristics(simplify) - }; - - elementOfUnion { - \schemaVar \term Object o; - \schemaVar \term Field f; - \schemaVar \term LocSet s, s2; - - \find(elementOf(o, f, union(s, s2))) - - \replacewith(elementOf(o, f, s) | elementOf(o, f, s2)) - - \heuristics(simplify_enlarging) - \generate(\EQ(union(s, s2))) - }; - - elementOfIntersect { - \schemaVar \term Object o; - \schemaVar \term Field f; - \schemaVar \term LocSet s, s2; - - \find(elementOf(o, f, intersect(s, s2))) - - \replacewith(elementOf(o, f, s) & elementOf(o, f, s2)) - - \heuristics(simplify_enlarging) - \generate(\EQ(intersect(s, s2))) - }; - - elementOfSetMinus { - \schemaVar \term Object o; - \schemaVar \term Field f; - \schemaVar \term LocSet s, s2; - - \find(elementOf(o, f, setMinus(s, s2))) - - \replacewith(elementOf(o, f, s) & !elementOf(o, f, s2)) - - \heuristics(simplify_enlarging) - \generate(\EQ(setMinus(s, s2))) - }; - - elementOfInfiniteUnion { - \schemaVar \term Object o; - \schemaVar \term Field f; - \schemaVar \variables alpha av; - \schemaVar \term LocSet s; - - \find(elementOf(o, f, infiniteUnion{av;}(s))) - \varcond(\notFreeIn(av, o, f)) - - \replacewith(\exists av; elementOf(o, f, s)) - - \heuristics(simplify) - \generate(\EQ(infiniteUnion{av;}(s))) - }; - elementOfInfiniteUnion2Vars { - \schemaVar \term Object o; - \schemaVar \term Field f; + \schemaVar \term Loc l; \schemaVar \variables alpha av; \schemaVar \variables beta bv; \schemaVar \term LocSet s; - \find(elementOf(o, f, infiniteUnion{av, bv;}(s))) - \varcond(\notFreeIn(av, o, f), \notFreeIn(bv, o, f)) + \find(elementOf(l, infiniteUnion{av, bv;}(s))) + \varcond(\notFreeIn(av, l), \notFreeIn(bv, l)) - \replacewith(\exists av; \exists bv; elementOf(o, f, s)) + \replacewith(\exists av; \exists bv; elementOf(l, s)) \heuristics(simplify) - \generate(\EQ(infiniteUnion{av, bv;}(s))) + \generate(\EQ(infiniteUnion{av, bv;}(s))) }; elementOfAllFields { - \schemaVar \term Object o, o2; - \schemaVar \term Field f; + \schemaVar \term Pair p; + \schemaVar \term Object o2; - \find(elementOf(o, f, allFields(o2))) + \find(elementOf(p, allFields(o2))) - \replacewith(o = o2) + \replacewith(first(p) = o2) \heuristics(concrete) }; @@ -133,27 +55,28 @@ }; elementOfAllObjects { - \schemaVar \term Object o; - \schemaVar \term Field f, f2; + \schemaVar \term Loc l; + \schemaVar \term Field f2; - \find(elementOf(o, f, allObjects(f2))) + \find(elementOf(l, allObjects(f2))) - \replacewith(f = f2) + \replacewith(second(l) = f2) \heuristics(concrete) + \generate(\EQ(allObjects(f2))) }; // change upper to exclusive (in line with other definitions?) elementOfArrayRange { - \schemaVar \term Object o, o2; - \schemaVar \term Field f; + \schemaVar \term Object o2; + \schemaVar \term Loc l; \schemaVar \term int lower, upper; \schemaVar \variables int iv; - \find(elementOf(o, f, arrayRange(o2, lower, upper))) - \varcond(\notFreeIn(iv, f, lower, upper)) + \find(elementOf(l, arrayRange(o2, lower, upper))) + \varcond(\notFreeIn(iv, l, lower, upper)) - \replacewith(o = o2 & \exists iv; (f = arr(iv) & lower <= iv & iv <= upper)) + \replacewith(first(l) = o2 & \exists iv; (second(l) = arr(iv) & lower <= iv & iv <= upper)) \heuristics(simplify_enlarging) \generate(\EQ(arrayRange(o2, lower, upper) : simplify)) @@ -164,7 +87,7 @@ \schemaVar \term Object o, o2; \schemaVar \term int idx, lower, upper; - \find(elementOf(o, arr(idx), arrayRange(o2, lower, upper))) + \find(elementOf(pair(o, arr(idx)), arrayRange(o2, lower, upper))) \replacewith(o = o2 & lower <= idx & idx <= upper) @@ -172,34 +95,20 @@ }; elementOfFreshLocs { - \schemaVar \term Object o; - \schemaVar \term Field f; + \schemaVar \term Pair p; \schemaVar \term Heap h; - \find(elementOf(o, f, freshLocs(h))) + \find(elementOf(p, freshLocs(h))) - \replacewith(o != null & !select(h, o, java.lang.Object::#$created) = TRUE) + \replacewith(first(p) != null & !select(h, first(p), java.lang.Object::#$created) = TRUE) \heuristics(concrete) - }; + } // -------------------------------------------------------------------------- // axioms for set predicates (reduce to elementOf) // -------------------------------------------------------------------------- - equalityToElementOf { - \schemaVar \term LocSet s, s2; - \schemaVar \variables Object ov; - \schemaVar \variables Field fv; - - \find(s = s2) - \varcond(\notFreeIn(ov, s, s2), \notFreeIn(fv, s, s2)) - - \replacewith(\forall ov; \forall fv; (elementOf(ov, fv, s) <-> elementOf(ov, fv, s2))) - - \heuristics(semantics_blasting) - }; - // proven with KeY (CS) equalityToElementOfRight { \schemaVar \term LocSet s, s2; @@ -209,204 +118,36 @@ \find( ==> s = s2) \varcond(\notFreeIn(ov, s, s2), \notFreeIn(fv, s, s2)) - \replacewith( ==> \forall ov; \forall fv; (elementOf(ov, fv, s) <-> elementOf(ov, fv, s2))) + \replacewith( ==> \forall ov; \forall fv; (elementOf(pair(ov, fv), s) <-> elementOf(pair(ov, fv), s2))) - \heuristics(setEqualityBlastingRight) + \heuristics(locSetEqualityBlastingRight) }; - emptyEqualsSingleton { - \schemaVar \term Object o; - \schemaVar \term Field f; - - \find(empty = singleton(o, f)) - - \replacewith(false) - - \heuristics(concrete) - }; - - singletonEqualsEmpty { - \schemaVar \term Object o; - \schemaVar \term Field f; - - \find(singleton(o, f) = empty) - \replacewith(false) - - \heuristics(concrete) - }; - - unionWithSingletonEqualsUnionWithSingleton { - \schemaVar \term LocSet s1, s2; - \schemaVar \term Object o; - \schemaVar \term Field f; - - \find(union(s1, singleton(o, f)) = union(s2, singleton(o, f))) - - \replacewith(setMinus(s1, singleton(o, f)) = setMinus(s2, singleton(o, f))) - // TODO: why is this a simplification? (DB) - \heuristics(simplify) - }; - - unionWithSingletonEqualsUnionWithSingleton_2 { - \schemaVar \term LocSet s1, s2; - \schemaVar \term Object o; - \schemaVar \term Field f; - - \find(union(singleton(o, f), s1) = union(singleton(o, f), s2)) - - \replacewith(setMinus(s1, singleton(o, f)) = setMinus(s2, singleton(o, f))) - - \heuristics(simplify) - }; - - subsetToElementOf { + subsetToElementOfLocSet { \schemaVar \term LocSet s, s2; \schemaVar \variables Object ov; \schemaVar \variables Field fv; - \find(subset(s, s2)) + \find(subset(s, s2)) \varcond(\notFreeIn(ov, s, s2), \notFreeIn(fv, s, s2)) - \replacewith(\forall ov; \forall fv; (elementOf(ov, fv, s) -> elementOf(ov, fv, s2))) + \replacewith(\forall ov; \forall fv; (elementOf(pair(ov, fv), s) -> elementOf(pair(ov, fv), s2))) \heuristics(semantics_blasting) // \heuristics(simplify) }; // proven with KeY (CS) - subsetToElementOfRight { + subsetToElementOfLocSetRight { \schemaVar \term LocSet s, s2; \schemaVar \variables Object ov; \schemaVar \variables Field fv; - \find( ==> subset(s, s2)) + \find( ==> subset(s, s2)) \varcond(\notFreeIn(ov, s, s2), \notFreeIn(fv, s, s2)) - \replacewith( ==> \forall ov; \forall fv; (elementOf(ov, fv, s) -> elementOf(ov, fv, s2))) + \replacewith( ==> \forall ov; \forall fv; (elementOf(pair(ov, fv), s) -> elementOf(pair(ov, fv), s2))) - \heuristics(setEqualityBlastingRight) - }; - - // proven with KeY (CS) - elementOfSubsetImpliesElementOfSuperset { - \schemaVar \term LocSet s, s2; - \schemaVar \term Object o; - \schemaVar \term Field f; - - \assumes(subset(s, s2) ==>) - - \find(elementOf(o, f, s) ==>) - - \add(elementOf(o, f, s2) ==>) - - \heuristics(simplify_enlarging) - }; - - // proven with KeY (CS) - noElementOfSupersetImpliesNoElementOfSubset { - \schemaVar \term LocSet s, s2; - \schemaVar \term Object o; - \schemaVar \term Field f; - - \assumes(subset(s, s2) ==>) - \find( ==> elementOf(o, f, s2)) - \add( ==> elementOf(o, f, s)) - - \heuristics(simplify_enlarging) - }; - - // proven with KeY (CS) - subsetSingletonLeft { - \schemaVar \term LocSet s; - \schemaVar \term Object o; - \schemaVar \term Field f; - - \find(subset(singleton(o, f), s)) - - \replacewith(elementOf(o, f, s)) - - \heuristics(simplify) - // proven with KeY (CS) - \generate(\EQ(singleton(o, f))) - }; - - // proven with KeY (CS) - subsetSingletonRight { - \schemaVar \term LocSet s; - \schemaVar \term Object o; - \schemaVar \term Field f; - - \find(subset(s, singleton(o, f))) - - \replacewith(s = empty | s = singleton(o, f)) - - \heuristics(simplify) - // proven with KeY (CS) - \generate(\EQ(singleton(o, f))) - }; - - // proven with KeY (CS) - subsetUnionLeft { - \schemaVar \term LocSet s, s2, s3; - - \find(subset(union(s, s2), s3)) - - \replacewith(subset(s, s3) & subset(s2, s3)) - - \heuristics(simplify_enlarging) - // proven with KeY (CS) - \generate(\EQ(union(s, s2))) - }; - - // proven with KeY (CS) - subsetOfUnionWithItSelf1 { - \schemaVar \term LocSet s, s2; - - \find(subset(s, union(s, s2))) - - \replacewith(true) - - \heuristics(concrete) - // proven with KeY (CS) - \generate(\EQ(union(s, s2))) - }; - - // proven with KeY (CS) - subsetOfUnionWithItSelf2 { - \schemaVar \term LocSet s, s2; - - \find(subset(s, union(s2, s))) - - \replacewith(true) - - \heuristics(concrete) - // proven with KeY (CS) - \generate(\EQ(union(s2, s))) - }; - - - // proven with KeY (CS) - subsetOfIntersectWithItSelf1 { - \schemaVar \term LocSet s, s2; - - \find(subset(s, intersect(s, s2))) - - \replacewith(subset(s, s2)) - - \heuristics(concrete) - // proven with KeY (CS) - \generate(\EQ(intersect(s, s2))) - }; - - // proven with KeY (CS) - subsetOfIntersectWithItSelf2 { - \schemaVar \term LocSet s, s2; - - \find(subset(s, intersect(s2, s))) - - \replacewith(subset(s, s2)) - - \heuristics(concrete) - \generate(\EQ(intersect(s2, s))) + \heuristics(locSetEqualityBlastingRight) }; // proven with KeY (CS) @@ -415,130 +156,35 @@ \schemaVar \term Object o; \schemaVar \term Field f; - \assumes(subset(allFields(o), s) ==>) - \find(elementOf(o, f, s)) + \assumes(subset(allFields(o), s) ==>) + \find(elementOf(pair(o, f), s)) \replacewith(true) \heuristics(concrete) }; - // proven with KeY (CS) - elementOfSubsetOfUnion1 { - \schemaVar \term LocSet s, s2, s3; - \schemaVar \term Object o; - \schemaVar \term Field f; - \schemaVar \term Heap h; - - \assumes(subset(s, union(s2, s3)), - ==> elementOf(o, f, s2)) - \find(elementOf(o, f, s)) - - \add(elementOf(o, f, s) <-> elementOf(o, f, intersect(s, s3)) ==>) - - \heuristics(simplify_enlarging) - }; - - // proven with KeY (CS) - elementOfSubsetOfUnion2 { - \schemaVar \term LocSet s, s2, s3; - \schemaVar \term Object o; - \schemaVar \term Field f; - \schemaVar \term Heap h; - - \assumes(subset(s, union(s2, s3)), - ==> elementOf(o, f, s3)) - \find(elementOf(o, f, s)) - - \add(elementOf(o, f, s) <-> elementOf(o, f, intersect(s, s2)) ==>) - - \heuristics(simplify_enlarging) - }; - - disjointToElementOf { + disjointToElementOfLocSet { \schemaVar \term LocSet s, s2; \schemaVar \variables Object ov; \schemaVar \variables Field fv; - \find(disjoint(s, s2)) + \find(disjoint(s, s2)) \varcond(\notFreeIn(ov, s, s2), \notFreeIn(fv, s, s2)) - \replacewith(\forall ov; \forall fv; (!elementOf(ov, fv, s) | !elementOf(ov, fv, s2))) + \replacewith(\forall ov; \forall fv; (!elementOf(pair(ov, fv), s) | !elementOf(pair(ov, fv), s2))) \heuristics(semantics_blasting) // \heuristics(simplify) }; - // proven with KeY (CS) - disjointDefinition { - \schemaVar \term LocSet s, s2; - - \find(disjoint(s, s2)) - - \replacewith(intersect(s, s2) = empty) - // \heuristics(semantics_blasting) - \heuristics(simplify) - }; - - // proven with KeY (CS) - disjointNotInOtherLocset1 { - \schemaVar \term LocSet s, s2; - \schemaVar \term Object o; - \schemaVar \term Field f; - - \assumes(intersect(s, s2) = empty ==>) - \find(elementOf(o, f, s) ==>) - - \add( ==> elementOf(o, f, s2)) - - \heuristics(simplify_enlarging) - }; - - // proven with KeY (CS) - disjointNotInOtherLocset2 { - \schemaVar \term LocSet s, s2; - \schemaVar \term Object o; - \schemaVar \term Field f; - - \assumes(intersect(s, s2) = empty ==>) - \find(elementOf(o, f, s2) ==>) - - \add( ==> elementOf(o, f, s)) - - \heuristics(simplify_enlarging) - }; - - // proven with KeY (CS) - disjointAndSubset1 { - \schemaVar \term LocSet s, s2, s3; - - \assumes(intersect(s2, s3) = empty ==>) - \find(subset(s, s2) ==>) - - \add(intersect(s, s3) = empty ==>) - - \heuristics(simplify_enlarging) - }; - - // proven with KeY (CS) - disjointAndSubset2 { - \schemaVar \term LocSet s, s2, s3; - - \assumes(intersect(s2, s3) = empty ==>) - \find(subset(s, s3) ==>) - - \add(intersect(s, s2) = empty ==>) - - \heuristics(simplify_enlarging) - }; - // proven with KeY (CS) disjointAllFields { \schemaVar \term LocSet s; \schemaVar \term Object o; \schemaVar \term Field f; - \assumes(intersect(allFields(o), s) = empty ==>) - \find(elementOf(o, f, s)) + \assumes(intersect(allFields(o), s) = empty ==>) + \find(elementOf(pair(o, f), s)) \replacewith(false) @@ -550,7 +196,7 @@ \schemaVar \term Object o, o2; \schemaVar \term Field f; - \find(intersect(allFields(o), allFields(o2)) = empty) + \find(intersect(allFields(o), allFields(o2)) = empty) \replacewith(o != o2) @@ -563,95 +209,25 @@ \schemaVar \term Object o; \schemaVar \term Field f; - \assumes(intersect(allObjects(f), s) = empty ==>) - \find(elementOf(o, f, s)) + \assumes(intersect(allObjects(f), s) = empty ==>) + \find(elementOf(pair(o, f), s)) \replacewith(false) \heuristics(concrete) }; - // proven with KeY (CS) - disjointInfiniteUnion { - \schemaVar \term LocSet s, s2; - \schemaVar \term Object o; - \schemaVar \term Field f; - \schemaVar \variables int iv; - - \find(intersect(infiniteUnion{iv;}(s2), s) = empty) - \varcond(\notFreeIn(iv, s)) - - \replacewith(\forall iv; (intersect(s2, s) = empty)) - - \heuristics(simplify) - }; - - // proven with KeY (CS) - disjointInfiniteUnion_2 { - \schemaVar \term LocSet s, s2; - \schemaVar \term Object o; - \schemaVar \term Field f; - \schemaVar \variables int iv; - - \find(intersect(s, infiniteUnion{iv;}(s2)) = empty) - \varcond(\notFreeIn(iv, s)) - - \replacewith(\forall iv; (intersect(s, s2) = empty)) - - \heuristics(simplify) - }; - // proven with KeY (CS) intersectAllFieldsFreshLocs { \schemaVar \term Object o; \schemaVar \term Field f; \schemaVar \term Heap h; - \find(intersect(allFields(o), freshLocs(h)) = empty) + \find(intersect(allFields(o), freshLocs(h)) = empty) \replacewith(o = null | select(h, o, java.lang.Object::#$created) = TRUE) \heuristics(simplify) }; - // proven with KeY (CS) - disjointAndSubset_3 { - \schemaVar \term LocSet s1, s2, s3, s4; - - \assumes(intersect(s1, s2) = empty ==>) - \find(subset(s4, union(s2, s3)) ==>) - \add(intersect(s1, s3) = empty -> intersect(s1, s4) = empty ==>) - \heuristics(simplify_enlarging) - }; - - // proven with KeY (CS) - disjointAndSubset_4 { - \schemaVar \term LocSet s1, s2, s3, s4; - - \assumes(intersect(s1, s2) = empty ==>) - \find(subset(s4, union(s3, s2)) ==>) - \add(intersect(s1, s3) = empty -> intersect(s1, s4) = empty ==>) - \heuristics(simplify_enlarging) - }; - - // proven with KeY (CS) - disjointAndSubset_5 { - \schemaVar \term LocSet s1, s2, s3, s4; - - \assumes(intersect(s2, s1) = empty ==>) - \find(subset(s4, union(s2, s3)) ==>) - \add(intersect(s1, s3) = empty -> intersect(s1, s4) = empty ==>) - \heuristics(simplify_enlarging) - }; - - // proven with KeY (CS) - disjointAndSubset_6 { - \schemaVar \term LocSet s1, s2, s3, s4; - - \assumes(intersect(s2, s1) = empty ==>) - \find(subset(s4, union(s3, s2)) ==>) - \add(intersect(s1, s3) = empty -> intersect(s1, s4) = empty ==>) - \heuristics(simplify_enlarging) - }; - createdInHeapToElementOf { \schemaVar \term LocSet s; \schemaVar \term Heap h; @@ -661,93 +237,40 @@ \find(createdInHeap(s, h)) \varcond(\notFreeIn(ov, s, h), \notFreeIn(fv, s, h)) - \replacewith(\forall ov; \forall fv; (elementOf(ov, fv, s) + \replacewith(\forall ov; \forall fv; (elementOf(pair(ov, fv), s) -> ov = null | select(h, ov, java.lang.Object::#$created) = TRUE)) \heuristics(classAxiom) }; // -------------------------------------------------------------------------- - // equality rules + // lemmas for allLocs // -------------------------------------------------------------------------- - // Proven in KeY (DD: 2025-02-20) - \lemma - equalityOfSingleton { - \schemaVar \term Object o1, o2; - \schemaVar \term Field f1, f2; - - \find(singleton(o1, f1) = singleton(o2, f2)) - - \replacewith(o1 = o2 & f1 = f2) - - \heuristics(simplify) - }; - - // -------------------------------------------------------------------------- - // lemmata for empty and allLocs - // -------------------------------------------------------------------------- - - unionWithEmpty { - \schemaVar \term LocSet s; - - \find(union(empty, s)) - - \replacewith(s) - - \heuristics(concrete) - }; - unionWithAllLocs { \schemaVar \term LocSet s; - \find(union(allLocs, s)) + \find(union(allLocs, s)) \replacewith(allLocs) \heuristics(concrete) }; - intersectWithEmpty { - \schemaVar \term LocSet s; - - \find(intersect(empty, s)) - - \replacewith(empty) - - \heuristics(concrete) - }; - intersectWithAllLocs { \schemaVar \term LocSet s; - \find(intersect(allLocs, s)) + \find(intersect(allLocs, s)) \replacewith(s) \heuristics(concrete) }; - // the following set of rules should be the only one needed - // for empty elimination as the strategies take care to commute the - // the empty set always on the second place - // the other rules are left for backward proof loading copatibility - // begin - unionWithEmptyRight { - \schemaVar \term LocSet s; - - \find(union(s, empty)) - - \replacewith(s) - - \displayname "unionWithEmpty" - \heuristics(concrete) - }; - unionWithAllLocsRight { \schemaVar \term LocSet s; - \find(union(s, allLocs)) + \find(union(s, allLocs)) \replacewith(allLocs) @@ -755,21 +278,10 @@ \heuristics(concrete) }; - intersectWithEmptyRight { - \schemaVar \term LocSet s; - - \find(intersect(s, empty)) - - \replacewith(empty) - - \displayname "intersectWithEmpty" - \heuristics(concrete) - }; - intersectWithAllLocsRight { \schemaVar \term LocSet s; - \find(intersect(s, allLocs)) + \find(intersect(s, allLocs)) \replacewith(s) @@ -780,157 +292,343 @@ // end - setMinusWithEmpty1 { + setMinusWithAllLocs { \schemaVar \term LocSet s; - \find(setMinus(s, empty)) + \find(setMinus(s, allLocs)) - \replacewith(s) + \replacewith(empty) - \displayname "setMinusWithEmpty" + \displayname "setMinusWithAllLocs" \heuristics(concrete) }; - setMinusWithEmpty2 { + // -------------------------------------------------------------------------- + // lemmas for subset + // -------------------------------------------------------------------------- + + subsetWithAllLocs { \schemaVar \term LocSet s; - \find(setMinus(empty, s)) + \find(subset(s, allLocs)) - \replacewith(empty) + \replacewith(true) - \displayname "setMinusWithEmpty" + \displayname "subsetOfAllLocs" // should be the name, but for backward compatibility only displayname \heuristics(concrete) }; - setMinusWithAllLocs { + subsetWithAllLocs2 { \schemaVar \term LocSet s; - \find(setMinus(s, allLocs)) - - \replacewith(empty) + \find(subset(allLocs, s)) + \replacewith(s = allLocs) - \displayname "setMinusWithAllLocs" + \displayname "subsetWithAllLocs" \heuristics(concrete) }; // -------------------------------------------------------------------------- - // lemmata for subset + // lemmas for disjoint // -------------------------------------------------------------------------- - subsetWithEmpty { - \schemaVar \term LocSet s; - - \find(subset(empty, s)) - - \replacewith(true) - - \heuristics(concrete) + \lemma + disjointArrayRanges { + \schemaVar \term Object o1, o2; + \schemaVar \term int lower1, upper1, lower2, upper2; + \find(intersect(arrayRange(o1, lower1, upper1), arrayRange(o2, lower2, upper2)) = empty) + \replacewith(!(o1 = o2 & lower1 <= upper1 & lower2 <= upper2 & ((lower1 <= lower2 & lower2 <= upper1) | (lower2 <= lower1 & lower1 <= upper2)))) + \heuristics(simplify) }; - subsetOfEmpty { - \schemaVar \term LocSet s; - - \find(subset(s, empty)) + \lemma + disjointArrayRangeAllFields1 { + \schemaVar \term Object o1, o2; + \schemaVar \term int lower2, upper2; + \find(intersect(allFields(o1), arrayRange(o2, lower2, upper2)) = empty) + \replacewith(!(o1 = o2 & lower2 <= upper2)) + \heuristics(simplify) + \displayname "disjointArrayRangeAllFields" + }; - \replacewith(s = empty) + \lemma + disjointArrayRangeAllFields2 { + \schemaVar \term Object o1, o2; + \schemaVar \term int lower1, upper1; + \find(intersect(arrayRange(o1, lower1, upper1), allFields(o2)) = empty) + \replacewith(!(o1 = o2 & lower1 <= upper1)) + \heuristics(simplify) + \displayname "disjointArrayRangeAllFields" + }; + \lemma + disjointAllObjects2 { + \schemaVar \term Field f1, f2; + \find(intersect(allObjects(f1), allObjects(f2)) = empty) + \replacewith(f1 != f2) \heuristics(concrete) - }; + \displayname "disjointAllObjects" + } - subsetWithAllLocs { - \schemaVar \term LocSet s; + \lemma + arrayRangeEmpty { + \schemaVar \term Object o, o2; + \schemaVar \term int lower, upper; + \find(arrayRange(o, lower, upper) = empty) + \replacewith(upper < lower) + \heuristics(simplify) + } - \find(subset(s, allLocs)) + \lemma + intersectAllFieldsAllObjects { + \schemaVar \term Object o; + \schemaVar \term Field f; + \find(intersect(allFields(o), allObjects(f))) + \replacewith(singleton(pair(o, f))) + \heuristics(simplify) + \generate(\EQ(allFields(o))) + \displayname "intersectAllFieldsAllObjects" + } - \replacewith(true) + \lemma + intersectAllFieldsAllObjects2 { + \schemaVar \term Object o; + \schemaVar \term Field f; + \find(intersect(allObjects(f), allFields(o))) + \replacewith(singleton(pair(o, f))) + \heuristics(simplify) + \generate(\EQ(allObjects(f))) + \displayname "intersectAllFieldsAllObjects" + } - \displayname "subsetOfAllLocs" // should be the name, but for backward compatibility only displayname + \lemma + disjointAllFieldsSingleton { + \schemaVar \term Object o, o2; + \schemaVar \term Field f; + \find(intersect(allFields(o), singleton(pair(o2, f))) = empty) + \replacewith(o != o2) \heuristics(concrete) - }; - - subsetWithAllLocs2 { - \schemaVar \term LocSet s; - - \find(subset(allLocs, s)) - \replacewith(s = allLocs) + \displayname "disjointAllFieldsSingleton" + } - \displayname "subsetWithAllLocs" + \lemma + disjointAllFieldsSingleton2 { + \schemaVar \term Object o, o2; + \schemaVar \term Field f; + \find(intersect(singleton(pair(o2, f)), allFields(o)) = empty) + \replacewith(o != o2) \heuristics(concrete) - }; + \displayname "disjointAllFieldsSingleton" + } - // -------------------------------------------------------------------------- - // lemmata for disjoint - // -------------------------------------------------------------------------- + \lemma + intersectAllFieldsSingletonSame { + \schemaVar \term Object o; + \schemaVar \term Field f; + \find(intersect(allFields(o), singleton(pair(o, f)))) + \replacewith(singleton(pair(o, f))) + \heuristics(simplify) + \displayname "intersectAllFieldsSingleton" + } - disjointWithEmpty { - \schemaVar \term LocSet s; + \lemma + intersectAllFieldsSingletonSame2 { + \schemaVar \term Object o; + \schemaVar \term Field f; + \find(intersect(singleton(pair(o, f)), allFields(o))) + \replacewith(singleton(pair(o, f))) + \heuristics(simplify) + \displayname "intersectAllFieldsSingleton" + } - \find(disjoint(empty, s)) + \lemma + intersectAllFieldsSingletonDiff { + \schemaVar \term Object o, o2; + \schemaVar \term Field f; + \assumes( ==> o = o2) + \find(intersect(allFields(o), singleton(pair(o2, f)))) + \replacewith(empty) + \heuristics(simplify) + \displayname "intersectAllFieldsSingleton" + } - \replacewith(true) + \lemma + intersectAllFieldsSingletonDiff2 { + \schemaVar \term Object o, o2; + \schemaVar \term Field f; + \assumes( ==> o = o2) + \find(intersect(singleton(pair(o2, f)), allFields(o))) + \replacewith(empty) + \heuristics(simplify) + \displayname "intersectAllFieldsSingleton" + } + + \lemma + disjointAllObjectsSingleton { + \schemaVar \term Object o; + \schemaVar \term Field f, f2; + \find(intersect(allObjects(f), singleton(pair(o, f2))) = empty) + \replacewith(f != f2) + \heuristics(concrete) + \displayname "disjointAllObjectsSingleton" + } + \lemma + disjointAllObjectsSingleton2 { + \schemaVar \term Object o; + \schemaVar \term Field f, f2; + \find(intersect(singleton(pair(o, f2)), allObjects(f)) = empty) + \replacewith(f != f2) \heuristics(concrete) - }; + \displayname "disjointAllObjectsSingleton" + } \lemma - disjointWithSingleton1 { - \schemaVar \term LocSet s; + intersectAllObjectsSingletonSame { \schemaVar \term Object o; \schemaVar \term Field f; - \find(intersect(s, singleton(o, f)) = empty) - \replacewith(!elementOf(o, f, s)) + \find(intersect(allObjects(f), singleton(pair(o, f)))) + \replacewith(singleton(pair(o, f))) \heuristics(simplify) - \displayname "disjointWithSingleton" - }; + \displayname "intersectAllObjectsSingleton" + } \lemma - disjointWithSingleton2 { - \schemaVar \term LocSet s; + intersectAllObjectsSingletonSame2 { \schemaVar \term Object o; \schemaVar \term Field f; - \find(intersect(singleton(o, f), s) = empty) - \replacewith(!elementOf(o, f, s)) + \find(intersect(singleton(pair(o, f)), allObjects(f))) + \replacewith(singleton(pair(o, f))) \heuristics(simplify) - \displayname "disjointWithSingleton" - }; + \displayname "intersectAllObjectsSingleton" + } \lemma - disjointArrayRanges { - \schemaVar \term Object o1, o2; - \schemaVar \term int lower1, upper1, lower2, upper2; - \find(intersect(arrayRange(o1, lower1, upper1), arrayRange(o2, lower2, upper2)) = empty) - \replacewith(!(o1 = o2 & lower1 <= upper1 & lower2 <= upper2 & ((lower1 <= lower2 & lower2 <= upper1) | (lower2 <= lower1 & lower1 <= upper2)))) + intersectAllObjectsSingletonDiff { + \schemaVar \term Object o; + \schemaVar \term Field f, f2; + \assumes( ==> f = f2) + \find(intersect(allObjects(f), singleton(pair(o, f2)))) + \replacewith(empty) \heuristics(simplify) - }; + \displayname "intersectAllObjectsSingleton" + } \lemma - disjointArrayRangeAllFields1 { - \schemaVar \term Object o1, o2; - \schemaVar \term int lower2, upper2; - \find(intersect(allFields(o1), arrayRange(o2, lower2, upper2)) = empty) - \replacewith(!(o1 = o2 & lower2 <= upper2)) + intersectAllObjectsSingletonDiff2 { + \schemaVar \term Object o; + \schemaVar \term Field f, f2; + \assumes( ==> f = f2) + \find(intersect(singleton(pair(o, f2)), allObjects(f))) + \replacewith(empty) \heuristics(simplify) - \displayname "disjointArrayRangeAllFields" - }; + \displayname "intersectAllObjectsSingleton" + } \lemma - disjointArrayRangeAllFields2 { - \schemaVar \term Object o1, o2; - \schemaVar \term int lower1, upper1; - \find(intersect(arrayRange(o1, lower1, upper1), allFields(o2)) = empty) - \replacewith(!(o1 = o2 & lower1 <= upper1)) + intersectArrayRangeAllFieldsSame { + \schemaVar \term Object o; + \schemaVar \term int lower, upper; + \find(intersect(arrayRange(o, lower, upper), allFields(o))) + \replacewith(arrayRange(o, lower, upper)) \heuristics(simplify) - \displayname "disjointArrayRangeAllFields" - }; + \displayname "intersectArrayRangeAllFields" + } + + \lemma + intersectArrayRangeAllFieldsSame2 { + \schemaVar \term Object o; + \schemaVar \term int lower, upper; + \find(intersect(allFields(o), arrayRange(o, lower, upper))) + \replacewith(arrayRange(o, lower, upper)) + \heuristics(simplify) + \displayname "intersectArrayRangeAllFields" + } + + \lemma + intersectArrayRangeAllFieldsDiff { + \schemaVar \term Object o, o2; + \schemaVar \term int lower, upper; + \assumes( ==> o = o2) + \find(intersect(arrayRange(o, lower, upper), allFields(o2))) + \replacewith(empty) + \heuristics(simplify) + \displayname "intersectArrayRangeAllFields" + } + + \lemma + intersectArrayRangeAllFieldsDiff2 { + \schemaVar \term Object o, o2; + \schemaVar \term int lower, upper; + \assumes( ==> o = o2) + \find(intersect(allFields(o2), arrayRange(o, lower, upper))) + \replacewith(empty) + \heuristics(simplify) + \displayname "intersectArrayRangeAllFields" + } + + \lemma + unionArrayRangeAdjacent { + \schemaVar \term Object o; + \schemaVar \term int lower, upper, lower2, upper2; + \find(union(arrayRange(o, lower, upper), arrayRange(o, lower2, upper2))) + \replacewith(\if(lower <= upper & lower2 = add(upper, 1) & upper < upper2) \then(arrayRange(o, lower, upper2)) \else(union(arrayRange(o, lower, upper), arrayRange(o, lower2, upper2)))) + \heuristics(locSetArrayRangeMerge) + \generate(\EQ(arrayRange(o, lower, upper))) + } + + \lemma + intersectArrayRangesNested { + \schemaVar \term Object o; + \schemaVar \term int lower, upper, lower2, upper2; + \find(intersect(arrayRange(o, lower, upper), arrayRange(o, lower2, upper2))) + \replacewith(\if(lower <= lower2 & upper2 <= upper) \then(arrayRange(o, lower2, upper2)) \else(intersect(arrayRange(o, lower, upper), arrayRange(o, lower2, upper2)))) + \heuristics(locSetArrayRangeInterNested) + \generate(\EQ(arrayRange(o, lower, upper))) + \displayname "intersectArrayRangesNested" + } + + \lemma + intersectArrayRangesNested2 { + \schemaVar \term Object o; + \schemaVar \term int lower, upper, lower2, upper2; + \find(intersect(arrayRange(o, lower, upper), arrayRange(o, lower2, upper2))) + \replacewith(\if(lower2 <= lower & upper <= upper2) \then(arrayRange(o, lower, upper)) \else(intersect(arrayRange(o, lower, upper), arrayRange(o, lower2, upper2)))) + \heuristics(locSetArrayRangeInterNested2) + \generate(\EQ(arrayRange(o, lower2, upper2))) + \displayname "intersectArrayRangesNested" + } + + \lemma + intersectArrayRangesDisjoint { + \schemaVar \term Object o; + \schemaVar \term int lower, upper, lower2, upper2; + \find(intersect(arrayRange(o, lower, upper), arrayRange(o, lower2, upper2))) + \replacewith(\if(upper < lower2) \then(empty) \else(intersect(arrayRange(o, lower, upper), arrayRange(o, lower2, upper2)))) + \heuristics(locSetArrayRangeInterDisjoint) + \generate(\EQ(arrayRange(o, lower, upper))) + \displayname "intersectArrayRangesDisjoint" + } + + \lemma + intersectArrayRangesDisjoint2 { + \schemaVar \term Object o; + \schemaVar \term int lower, upper, lower2, upper2; + \find(intersect(arrayRange(o, lower, upper), arrayRange(o, lower2, upper2))) + \replacewith(\if(upper2 < lower) \then(empty) \else(intersect(arrayRange(o, lower, upper), arrayRange(o, lower2, upper2)))) + \heuristics(locSetArrayRangeInterDisjoint2) + \generate(\EQ(arrayRange(o, lower2, upper2))) + \displayname "intersectArrayRangesDisjoint" + } // -------------------------------------------------------------------------- - // lemmata for createdInHeap + // lemmas for createdInHeap // -------------------------------------------------------------------------- createdInHeapWithEmpty { \schemaVar \term Heap h; - \find(createdInHeap(empty, h)) + \find(createdInHeap(empty, h)) \replacewith(true) @@ -938,41 +636,40 @@ }; createdInHeapWithSingleton { - \schemaVar \term Object o; - \schemaVar \term Field f; + \schemaVar \term Loc l; \schemaVar \term Heap h; - \find(createdInHeap(singleton(o, f), h)) + \find(createdInHeap(singleton(l), h)) - \replacewith(o = null | select(h, o, java.lang.Object::#$created) = TRUE) + \replacewith(first(l) = null | select(h, first(l), java.lang.Object::#$created) = TRUE) \heuristics(simplify_enlarging) - \generate(\EQ(singleton(o, f))) + \generate(\EQ(singleton(l))) }; createdInHeapWithUnion { \schemaVar \term LocSet s, s2; \schemaVar \term Heap h; - \find( ==> createdInHeap(union(s, s2), h)) + \find( ==> createdInHeap(union(s, s2), h)) \replacewith( ==> createdInHeap(s, h)); \replacewith( ==> createdInHeap(s2, h)) \heuristics(simplify_enlarging) - \generate(\EQ(union(s, s2))) + \generate(\EQ(union(s, s2))) }; createdInHeapWithSetMinusFreshLocs { \schemaVar \term LocSet s; \schemaVar \term Heap h; - \find(createdInHeap(setMinus(s, freshLocs(h)), h)) + \find(createdInHeap(setMinus(s, freshLocs(h)), h)) \replacewith(true) \heuristics(concrete) - \generate(\EQ(setMinus(s, freshLocs(h)))) + \generate(\EQ(setMinus(s, freshLocs(h)))) }; createdInHeapWithAllFields { @@ -1027,7 +724,7 @@ }; // -------------------------------------------------------------------------- - // other lemmata for proving createdness + // other lemmas for proving createdness // -------------------------------------------------------------------------- referencedObjectIsCreatedRight { @@ -1077,311 +774,6 @@ \heuristics(concrete) }; - // -------------------------------------------------------------------------- - // some other lemmata - // -------------------------------------------------------------------------- - - // proven with KeY (CS) - unionEqualsEmpty { - \schemaVar \term LocSet s, s2, s3; - - \find(union(s, s2) = empty) - - \replacewith(s = empty & s2 = empty) - - \heuristics(simplify_enlarging) - // proven with KeY (CS) - \generate(\EQ(union(s, s2))) - }; - - // proven with KeY (CS) - setMinusOfUnion { - \schemaVar \term LocSet s, s2, s3; - - \find(setMinus(union(s, s2), s3)) - - \replacewith(union(setMinus(s, s3), setMinus(s2, s3))) - - \heuristics(simplify_enlarging) - // proven with KeY (CS) - \generate(\EQ(union(s, s2))) - }; - - // proven with KeY (CS) - subsetWithSetMinusLeft { - \schemaVar \term LocSet s, s2, s3; - - \find(subset(setMinus(s, s2), s3)) - - \replacewith(subset(s, union(s2, s3))) - - \heuristics(simplify_enlarging) - // proven with KeY (CS) - \generate(\EQ(setMinus(s, s2))) - }; - - unionWithItself { - \schemaVar \term LocSet s; - - \find(union(s, s)) - - \replacewith(s) - - \heuristics(concrete) - }; - - intersectWithItself { - \schemaVar \term LocSet s; - - \find(intersect(s, s)) - - \replacewith(s) - - \heuristics(concrete) - }; - - // one of the two below should be obsolete after completing term ordering (not yet done) - distributeIntersection { - \schemaVar \term LocSet s1, s2, s3; - - \find(intersect(s1, union(s2, s3))) - - \replacewith(union(intersect(s1, s2), intersect(s1, s3))) - - \heuristics(simplify_enlarging) - }; - - distributeIntersection_2 { - \schemaVar \term LocSet s1, s2, s3; - - \find(intersect(union(s2, s3), s1)) - - \replacewith(union(intersect(s2, s1), intersect(s3, s1))) - - \heuristics(simplify_enlarging) - }; - - intersectWithSingleton { - \schemaVar \term LocSet s; - \schemaVar \term Object o; - \schemaVar \term Field f; - - \find(intersect(singleton(o, f), s)) - - \replacewith(\if(elementOf(o, f, s)) \then(singleton(o, f)) \else(empty)) - - \heuristics(simplify_enlarging) - }; - - setMinusItself { - \schemaVar \term LocSet s; - - \find(setMinus(s, s)) - - \replacewith(empty) - - \heuristics(concrete) - }; - - setMinusSingleton { - \schemaVar \term LocSet s; - \schemaVar \term Object o; - \schemaVar \term Field f; - - \assumes( ==> elementOf(o, f, s)) - - \find(setMinus(s, singleton(o, f))) - - \replacewith(s) - - \heuristics(simplify) - }; - - intersectionSetMinusItself { - \schemaVar \term LocSet s1, s2; - - \find(intersect(setMinus(s1, s2), s2)) - - \replacewith(empty) - - \heuristics(concrete) - }; - - intersectionSetMinusItself_2 { - \schemaVar \term LocSet s1, s2; - - \find(intersect(s2, setMinus(s1, s2))) - - \replacewith(empty) - - \heuristics(concrete) - }; - - unionIntersectItself { - \schemaVar \term LocSet s1, s2; - - \find(union(intersect(s1, s2), s1)) - - \replacewith(s1) - - \heuristics(simplify) - }; - - unionIntersectItself_2 { - \schemaVar \term LocSet s1, s2; - - \find(union(intersect(s2, s1), s1)) - - \replacewith(s1) - - \heuristics(simplify) - }; - - unionIntersectItself_3 { - \schemaVar \term LocSet s1, s2, s; - - \find(union(union(s, intersect(s1, s2)), s1)) - - \replacewith(union(s, s1)) - - \heuristics(simplify) - }; - - unionIntersectItself_4 { - \schemaVar \term LocSet s1, s2, s; - - \find(union(union(s, intersect(s2, s1)), s1)) - - \replacewith(union(s, s1)) - - \heuristics(simplify) - }; - - unionIntersectItself_5 { - \schemaVar \term LocSet s1, s2, s; - - \find(union(union(intersect(s1, s2), s), s1)) - - \replacewith(union(s, s1)) - - \heuristics(simplify) - }; - - unionIntersectItself_6 { - \schemaVar \term LocSet s1, s2, s; - - \find(union(union(intersect(s2, s1), s), s1)) - - \replacewith(union(s, s1)) - - \heuristics(simplify) - }; - - infiniteUnionUnused { - \schemaVar \variables alpha av; - \schemaVar \term LocSet s; - - \find(infiniteUnion{av;}(s)) - \varcond(\notFreeIn(av, s)) - - \replacewith(s) - - \heuristics(concrete) - }; - - subsetOfItself { - \schemaVar \term LocSet s; - - \find(subset(s, s)) - - \replacewith(true) - - \heuristics(concrete) - }; - - // really needed for efficiency? - elementOfGuardedSet { - \schemaVar \term Object o; - \schemaVar \term Field f; - \schemaVar \formula phi; - \schemaVar \term LocSet s; - - \find(elementOf(o, f, \if(phi) \then(s) \else(empty))) - - \replacewith(phi & elementOf(o, f, s)) - - \heuristics(concrete) - }; - - commuteDisjoint { - \schemaVar \term LocSet commLeft, commRight; - - \find(disjoint(commLeft, commRight)) - \replacewith(disjoint(commRight, commLeft)) - - \heuristics(cnf_setComm) - }; - - commuteUnion { - \schemaVar \term LocSet commLeft, commRight; - - \find(union(commLeft, commRight)) - - \replacewith(union(commRight, commLeft)) - - \heuristics(cnf_setComm) - }; - - commuteUnion_2 { - \schemaVar \term LocSet commLeft, commRight, s; - - \find(union(union(s, commLeft), commRight)) - - \replacewith(union(union(s, commRight), commLeft)) - - \heuristics(cnf_setComm) - }; - - commuteIntersection { - \schemaVar \term LocSet commLeft, commRight; - - \find(intersect(commLeft, commRight)) - - \replacewith(intersect(commRight, commLeft)) - - \heuristics(cnf_setComm) - }; - - commuteIntersection_2 { - \schemaVar \term LocSet commLeft, commRight, s; - - \find(intersect(intersect(s, commLeft), commRight)) - - \replacewith(intersect(intersect(s, commRight), commLeft)) - - \heuristics(cnf_setComm) - }; - - associativeLawUnion { - \schemaVar \term LocSet s1, s2, s3; - - \find(union(s1, union(s2, s3))) - - \replacewith(union(union(s1, s2), s3)) - - \heuristics(conjNormalForm) - }; - - associativeLawIntersect { - \schemaVar \term LocSet s1, s2, s3; - - \find(intersect(s1, intersect(s2, s3))) - - \replacewith(intersect(intersect(s1, s2), s3)) - - \heuristics(conjNormalForm) - }; - // -------------------------------------------------------------------------- // work-a-round to use \infinite_union in JML set statements // -------------------------------------------------------------------------- @@ -1393,12 +785,12 @@ \schemaVar \term Heap h; \schemaVar \variables int j; - \find(allElementsOfArray(h, array, singleton(o, f))) + \find(allElementsOfArray(h, array, singleton(pair(o, f)))) \varcond(\notFreeIn(j, h), \notFreeIn(j, array), \notFreeIn(j, o, f)) - \replacewith(infiniteUnion{j;}(\if(0 <= j & j < length(array)) - \then(singleton(select(h, array, arr(j)), f)) - \else(empty))) + \replacewith(infiniteUnion{j;}(\if(0 <= j & j < length(array)) + \then(singleton(pair(select(h, array, arr(j)), f))) + \else(empty))) \heuristics(simplify) }; @@ -1412,9 +804,9 @@ \find(allElementsOfArray(h, array, allFields(o))) \varcond(\notFreeIn(j, h), \notFreeIn(j, array)) - \replacewith(infiniteUnion{j;}(\if(0 <= j & j < length(array)) + \replacewith(infiniteUnion{j;}(\if(0 <= j & j < length(array)) \then(allFields(select(h, array, arr(j)))) - \else(empty))) + \else(empty))) \heuristics(simplify) }; @@ -1425,13 +817,12 @@ \schemaVar \term Heap h; \schemaVar \variables int j; - \find(allElementsOfArrayLocsets(h, array, singleton(o, f))) + \find(allElementsOfArrayLocsets(h, array, singleton(pair(o, f)))) \varcond(\notFreeIn(j, h), \notFreeIn(j, array), \notFreeIn(j, o, f)) - \replacewith(infiniteUnion{j;}(\if(0 <= j & j < length(array)) + \replacewith(infiniteUnion{j;}(\if(0 <= j & j < length(array)) \then(select(h, select(h, array, arr(j)), f)) - \else(empty))) + \else(empty))) \heuristics(simplify) }; - } diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/pairRules.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/pairRules.key new file mode 100644 index 00000000000..d2ed4cfb2a8 --- /dev/null +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/pairRules.key @@ -0,0 +1,15 @@ +\sorts { + \generic E1, E2; +} + +\rules { + pairAxiom { + \schemaVar \term Pair p; + \schemaVar \variables E1 e1; + \schemaVar \variables E2 e2; + + \find(p) + \varcond(\notFreeIn(e1, p), \notFreeIn(e2, p)) + \add(\exists e1; \exists e2; (pair(e1, e2) = p) ==>) + } +} diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/precRules.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/precRules.key index ce8d469dd12..64c2e02573d 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/precRules.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/precRules.key @@ -2,8 +2,11 @@ * KeY is licensed under the GNU General Public License Version 2 * SPDX-License-Identifier: GPL-2.0-only */ -\rules { +\sorts { + \generic S, S1, S2, S3, S4; +} +\rules { precOfInt { \schemaVar \term int a; \schemaVar \term int b; @@ -18,9 +21,9 @@ precOfIntPair { \schemaVar \term int a; \schemaVar \term int b; - \schemaVar \term any x; + \schemaVar \term S x; - \find(prec(a, pair(b, x))) + \find(prec(a, pair(b, x))) \replacewith(0 <= a & a <= b) @@ -30,9 +33,9 @@ precOfPairInt { \schemaVar \term int a; \schemaVar \term int b; - \schemaVar \term any x; + \schemaVar \term S x; - \find(prec(pair(a, x), b)) + \find(prec(pair(a, x), b)) \replacewith(0 <= a & a < b) @@ -40,12 +43,12 @@ }; precOfPair { - \schemaVar \term any a1; - \schemaVar \term any a2; - \schemaVar \term any b1; - \schemaVar \term any b2; + \schemaVar \term S1 a1; + \schemaVar \term S2 a2; + \schemaVar \term S3 b1; + \schemaVar \term S4 b2; - \find(prec(pair(a1, b1), pair(a2, b2))) + \find(prec(pair(a1, b1), pair(a2, b2))) \replacewith(prec(a1, a2) | (a1 = a2 & prec(b1, b2))) diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/reachRules.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/reachRules.key index 76953e045ec..ea344c3e7d9 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/reachRules.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/reachRules.key @@ -22,7 +22,7 @@ \notFreeIn(fv, o), \notFreeIn(fv, o2)) - \replacewith(o != null & o2 != null & \exists fv; (elementOf(o, fv, s) & select(h, o, fv) = o2)) + \replacewith(o != null & o2 != null & \exists fv; (elementOf(pair(o, fv), s) & select(h, o, fv) = o2)) \heuristics(simplify) }; @@ -252,11 +252,11 @@ \notFreeIn(nv, n)) "Dependencies changed": - \add( ==> !(\exists nv; (nv < n & reach(h, s, o, o3, nv)) & elementOf(o3, f, s))); + \add( ==> !(\exists nv; (nv < n & reach(h, s, o, o3, nv)) & elementOf(pair(o3, f), s))); "Dependencies unchanged": \replacewith(reach(h, s, o, o2, n)) - \add(!(\exists nv; (nv < n & reach(h, s, o, o3, nv)) & elementOf(o3, f, s)) ==>) + \add(!(\exists nv; (nv < n & reach(h, s, o, o3, nv)) & elementOf(pair(o3, f), s)) ==>) \generate(\EQ(store(h, o3, f, x))) }; @@ -295,11 +295,11 @@ \notFreeIn(nv, n)) "Dependencies changed": - \add( ==> \forall ov; \forall fv; !(elementOf(ov, fv, s2) & \exists nv; (nv < n & reach(h, s, o, ov, nv)) & elementOf(ov, fv, s))); + \add( ==> \forall ov; \forall fv; !(elementOf(pair(ov, fv), s2) & \exists nv; (nv < n & reach(h, s, o, ov, nv)) & elementOf(pair(ov, fv), s))); "Dependencies unchanged": \replacewith(reach(h, s, o, o2, n)) - \add(\forall ov; \forall fv; !(elementOf(ov, fv, s2) & \exists nv; (nv < n & reach(h, s, o, ov, nv)) & elementOf(ov, fv, s)) ==>) + \add(\forall ov; \forall fv; !(elementOf(pair(ov, fv), s2) & \exists nv; (nv < n & reach(h, s, o, ov, nv)) & elementOf(pair(ov, fv), s)) ==>) }; reachDependenciesAnonCoarse { @@ -336,11 +336,11 @@ \notFreeIn(nv, n)) "Dependencies changed": - \add( ==> \forall ov; \forall fv; !(elementOf(ov, fv, s2) & \exists nv; (reach(h, s, o, ov, nv)) & elementOf(ov, fv, s))); + \add( ==> \forall ov; \forall fv; !(elementOf(pair(ov, fv), s2) & \exists nv; (reach(h, s, o, ov, nv)) & elementOf(pair(ov, fv), s))); "Dependencies unchanged": \replacewith(reach(h, s, o, o2, n)) - \add(\forall ov; \forall fv; !(elementOf(ov, fv, s2) & \exists nv; (reach(h, s, o, ov, nv)) & elementOf(ov, fv, s)) ==>) + \add(\forall ov; \forall fv; !(elementOf(pair(ov, fv), s2) & \exists nv; (reach(h, s, o, ov, nv)) & elementOf(pair(ov, fv), s)) ==>) }; only_created_objects_are_reachable { @@ -363,12 +363,12 @@ \schemaVar \term int n; \assumes( ==> o = null) - \find(reach(anon(h, empty, h2), s, o, o2, n)) + \find(reach(anon(h, empty, h2), s, o, o2, n)) \replacewith(reach(h, s, o, o2, n)); \add( ==> wellFormed(h) & select(h, o, java.lang.Object::#$created) = TRUE) \heuristics(simplify) - \generate(\EQ(anon(h, empty, h2))) + \generate(\EQ(anon(h, empty, h2))) }; } diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/ruleSetsDeclarations.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/ruleSetsDeclarations.key index cfd234be07b..19799405c70 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/ruleSetsDeclarations.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/ruleSetsDeclarations.key @@ -258,10 +258,20 @@ cnf_expandIfThenElse; elimQuantifierWithCast; pullOutQuantifierUnifying; - cnf_setComm; - // LocSets + // Sets setEqualityBlastingRight; + setComm; + setAssoc; + setDist; + + // LocSets + locSetEqualityBlastingRight; + locSetArrayRangeMerge; + locSetArrayRangeInterNested; + locSetArrayRangeInterNested2; + locSetArrayRangeInterDisjoint; + locSetArrayRangeInterDisjoint2; // heap simplification pull_out_select; diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/sequence/seqRules.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/sequence/seqRules.key index 16902decb0b..48c772a98b3 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/sequence/seqRules.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/sequence/seqRules.key @@ -871,7 +871,7 @@ lower, upper, array, - singleton(o, f) + singleton(pair(o, f)) ) ) \varcond( diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/set/set.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/set/set.key index 449ee368bc7..bc55f185ef7 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/set/set.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/set/set.key @@ -8,20 +8,41 @@ } \functions { - \unique Set sEmpty; + /*! The empty set which does not contain any elements. */ + \unique Set empty; // other constructors - Set sSingleton(T); - Set sUnion(Set, Set); - Set sIntersect(Set, Set); - Set sSetMinus(Set, Set); - Set sInfiniteUnion{true}(Set); + /*! Converts a single element to a set with one element. */ + Set singleton(T); + /*! Union between two sets. */ + Set union(Set, Set); + /*! Intersection between two sets. */ + Set intersect(Set, Set); + /*! Realizes relative complement (a.k.a. set difference) between two sets. It takes as arguments + two sets and returns another set which contains all elements from the first argument + except those that are elements of the second argument. */ + Set setMinus(Set, Set); + /*! Takes as argument a term of type Set, which may contain a free variable. The term represents a family + of sets, which is parameterized by the unbound variable. The returned set is the union + over all members of the parameterized family. */ + Set infiniteUnion{true}(Set); int sCard(Set); } \predicates { - sElementOf(T, Set); - sSubset(Set, Set); - sDisjoint(Set, Set); + /*! This is the set theoretic membership predicate to be used for sets. + + It takes two arguments: The first is the element and the + second is the set against which membership is tested. */ + elementOf(T, Set); + /*! This is the set theoretic subset predicate to be used for sets. + + A set A is subset of another set B iff every element of A is also element of B.*/ + subset(Set, Set); + /*! This binary predicate models disjointness of sets. + + disjoint(A,B) is true iff A and B have an empty intersection, + it is thus equivalent to intersect(A,B) = empty.*/ + disjoint(Set, Set); } diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/set/setRules.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/set/setRules.key index 7284a2da096..02d772a5314 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/set/setRules.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/set/setRules.key @@ -3,57 +3,57 @@ * SPDX-License-Identifier: GPL-2.0-only */ \schemaVariables { - \term T a, b; - \term Set s, t; + \term T a, b, e; + \term Set s, s1, s2, s3, s4, t; } \rules { // -------------------------------------------------------------------------- - // axioms for sElementOf + // axioms for elementOf // -------------------------------------------------------------------------- - sElementOfSEmpty { - \find(sElementOf(a, sEmpty)) + elementOfEmpty { + \find(elementOf(a, empty)) \replacewith(false) \heuristics(concrete) }; - sElementOfSSingleton { - \find(sElementOf(a, sSingleton(b))) + elementOfSingleton { + \find(elementOf(a, singleton(b))) \replacewith(a = b) \heuristics(simplify) }; - sElementOfSUnion { - \find(sElementOf(a, sUnion(s, t))) - \replacewith(sElementOf(a, s) | sElementOf(a, t)) + elementOfUnion { + \find(elementOf(a, union(s, t))) + \replacewith(elementOf(a, s) | elementOf(a, t)) \heuristics(simplify_enlarging) - \generate(\EQ(sUnion(s, t))) + \generate(\EQ(union(s, t))) }; - sElementOfSIntersect { - \find(sElementOf(a, sIntersect(s, t))) - \replacewith(sElementOf(a, s) & sElementOf(a, t)) + elementOfIntersect { + \find(elementOf(a, intersect(s, t))) + \replacewith(elementOf(a, s) & elementOf(a, t)) \heuristics(simplify_enlarging) - \generate(\EQ(sIntersect(s, t))) + \generate(\EQ(intersect(s, t))) }; - sElementOfSSetMinus { - \find(sElementOf(a, sSetMinus(s, t))) - \replacewith(sElementOf(a, s) & !sElementOf(a, t)) + elementOfSetMinus { + \find(elementOf(a, setMinus(s, t))) + \replacewith(elementOf(a, s) & !elementOf(a, t)) \heuristics(simplify_enlarging) - \generate(\EQ(sSetMinus(s, t))) + \generate(\EQ(setMinus(s, t))) }; - sElementOfSInfiniteUnion { + elementOfInfiniteUnion { // TODO: alpha or any (was like this already in locSetsRules)? \schemaVar \variables alpha av; - \find(sElementOf(a, sInfiniteUnion{av;}(s))) + \find(elementOf(a, infiniteUnion{av;}(s))) \varcond(\notFreeIn(av, a)) - \replacewith(\exists av; sElementOf(a, s)) + \replacewith(\exists av; elementOf(a, s)) \heuristics(simplify) - \generate(\EQ(sInfiniteUnion{av;}(s))) + \generate(\EQ(infiniteUnion{av;}(s))) }; // -------------------------------------------------------------------------- @@ -65,71 +65,848 @@ \heuristics(inReachableStateImplication) }; - sCardSEmpty { - \find(sCard(sEmpty)) + sCardempty { + \find(sCard(empty)) \replacewith(0) \heuristics(concrete) }; - sCardSSingleton { - \find(sCard(sSingleton(b))) + sCardsingleton { + \find(sCard(singleton(b))) \replacewith(1) \heuristics(simplify) }; // -------------------------------------------------------------------------- - // axioms for set predicates (reduce to sElementOf) + // axioms for set predicates (reduce to elementOf) // -------------------------------------------------------------------------- - sEmptyEqualsSSingleton { - \find(sEmpty = sSingleton(a)) + emptyEqualsSingleton { + \find(empty = singleton(a)) \replacewith(false) \heuristics(concrete) }; - sSingletonEqualsSEmpty { - \find(sSingleton(a) = sEmpty) + singletonEqualsEmpty { + \find(singleton(a) = empty) \replacewith(false) \heuristics(concrete) }; - sUnionWithSSingletonEqualsSUnionWithSSingleton { - \find(sUnion(s, sSingleton(a)) = sUnion(t, sSingleton(a))) + unionWithSingletonEqualsUnionWithSingleton { + \find(union(s, singleton(a)) = union(t, singleton(a))) - \replacewith(sSetMinus(s, sSingleton(a)) = sSetMinus(t, sSingleton(a))) + \replacewith(setMinus(s, singleton(a)) = setMinus(t, singleton(a))) \heuristics(simplify) }; - sUnionWithSSingletonEqualsSUnionWithSSingleton_2 { - \find(sUnion(sSingleton(a), s) = sUnion(sSingleton(a), t)) - \replacewith(sSetMinus(s, sSingleton(a)) = sSetMinus(t, sSingleton(a))) + unionWithSingletonEqualsUnionWithSingleton_2 { + \find(union(singleton(a), s) = union(singleton(a), t)) + \replacewith(setMinus(s, singleton(a)) = setMinus(t, singleton(a))) \heuristics(simplify) }; - equalityToSElementOf { + equalityToElementOf { \schemaVar \variables T av; \find(s = t) \varcond(\notFreeIn(av, s, t)) - \replacewith(\forall av; (sElementOf(av, s) <-> sElementOf(av, t))) - //\heuristics(semantics_blasting) - \heuristics(simplify_enlarging) + \replacewith(\forall av; (elementOf(av, s) <-> elementOf(av, t))) + \heuristics(semantics_blasting) + //\heuristics(simplify_enlarging) }; - sSubsetToSElementOf { + setEqualityToElementOfRight { \schemaVar \variables T av; - \find(sSubset(s, t)) + \find( ==> s = t) \varcond(\notFreeIn(av, s, t)) - \replacewith(\forall av; (sElementOf(av, s) -> sElementOf(av, t))) - //\heuristics(semantics_blasting) - \heuristics(simplify_enlarging) + \replacewith( ==> \forall av; (elementOf(av, s) <-> elementOf(av, t))) + \heuristics(setEqualityBlastingRight) + } + + subsetToElementOf { + \schemaVar \variables T av; + \find(subset(s, t)) + \varcond(\notFreeIn(av, s, t)) + \replacewith(\forall av; (elementOf(av, s) -> elementOf(av, t))) + \heuristics(semantics_blasting) + //\heuristics(simplify_enlarging) }; - sDisjointToSElementOf { + \lemma + subsetToElementOfRight { + \schemaVar \variables T av; + \find( ==> subset(s, t)) + \varcond(\notFreeIn(av, s, t)) + \replacewith( ==> \forall av; (elementOf(av, s) -> elementOf(av, t))) + \heuristics(setEqualityBlastingRight) + } + + disjointToElementOf { \schemaVar \variables T av; - \find(sDisjoint(s, t)) + \find(disjoint(s, t)) \varcond(\notFreeIn(av, s, t)) - \replacewith(\forall av; (!sElementOf(av, s) | !sElementOf(av, t))) -// \heuristics(semantics_blasting) + \replacewith(\forall av; (!elementOf(av, s) | !elementOf(av, t))) + \heuristics(semantics_blasting) + }; + + // proven with KeY (CS) + elementOfSubsetImpliesElementOfSuperset { + \assumes(subset(s, s2) ==>) + + \find(elementOf(e, s) ==>) + + \add(elementOf(e, s2) ==>) + + \heuristics(simplify_enlarging) + }; + + // proven with KeY (CS) + noElementOfSupersetImpliesNoElementOfSubset { + \assumes(subset(s, s2) ==>) + \find( ==> elementOf(e, s2)) + \add( ==> elementOf(e, s)) + + \heuristics(simplify_enlarging) + }; + + // proven with KeY (CS) + subsetSingletonLeft { + \find(subset(singleton(e), s)) + + \replacewith(elementOf(e, s)) + + \heuristics(simplify) + // proven with KeY (CS) + \generate(\EQ(singleton(e))) + }; + + // proven with KeY (CS) + subsetSingletonRight { + \find(subset(s, singleton(e))) + + \replacewith(s = empty | s = singleton(e)) + + \heuristics(simplify) + // proven with KeY (CS) + \generate(\EQ(singleton(e))) + }; + + // proven with KeY (CS) + subsetUnionLeft { + \find(subset(union(s, s2), s3)) + + \replacewith(subset(s, s3) & subset(s2, s3)) + + \heuristics(simplify_enlarging) + // proven with KeY (CS) + \generate(\EQ(union(s, s2))) + }; + + // proven with KeY (CS) + subsetOfUnionWithItSelf1 { + \find(subset(s, union(s, s2))) + + \replacewith(true) + + \heuristics(concrete) + // proven with KeY (CS) + \generate(\EQ(union(s, s2))) + }; + + // proven with KeY (CS) + subsetOfUnionWithItSelf2 { + \find(subset(s, union(s2, s))) + + \replacewith(true) + + \heuristics(concrete) + // proven with KeY (CS) + \generate(\EQ(union(s2, s))) + }; + + + // proven with KeY (CS) + subsetOfIntersectWithItSelf1 { + \find(subset(s, intersect(s, s2))) + + \replacewith(subset(s, s2)) + + \heuristics(concrete) + // proven with KeY (CS) + \generate(\EQ(intersect(s, s2))) + }; + + // proven with KeY (CS) + subsetOfIntersectWithItSelf2 { + \find(subset(s, intersect(s2, s))) + + \replacewith(subset(s, s2)) + + \heuristics(concrete) + \generate(\EQ(intersect(s2, s))) + }; + + // proven with KeY (CS) + elementOfSubsetOfUnion1 { + \assumes(subset(s, union(s2, s3)), + ==> elementOf(e, s2)) + \find(elementOf(e, s)) + + \add(elementOf(e, s) <-> elementOf(e, intersect(s, s3)) ==>) + + \heuristics(simplify_enlarging) + }; + + // proven with KeY (CS) + elementOfSubsetOfUnion2 { + \assumes(subset(s, union(s2, s3)), + ==> elementOf(e, s3)) + \find(elementOf(e, s)) + + \add(elementOf(e, s) <-> elementOf(e, intersect(s, s2)) ==>) + + \heuristics(simplify_enlarging) + }; + + // proven with KeY (CS) + disjointDefinition { + \find(disjoint(s, s2)) + + \replacewith(intersect(s, s2) = empty) + // \heuristics(semantics_blasting) + \heuristics(simplify) + }; + + // proven with KeY (CS) + disjointNotInOtherSet1 { + \assumes(intersect(s, s2) = empty ==>) + \find(elementOf(e, s) ==>) + + \add( ==> elementOf(e, s2)) + + \heuristics(simplify_enlarging) + }; + + // proven with KeY (CS) + disjointNotInOtherSet2 { + \assumes(intersect(s, s2) = empty ==>) + \find(elementOf(e, s2) ==>) + + \add( ==> elementOf(e, s)) + + \heuristics(simplify_enlarging) + }; + + // proven with KeY (CS) + disjointAndSubset1 { + \assumes(intersect(s2, s3) = empty ==>) + \find(subset(s, s2) ==>) + + \add(intersect(s, s3) = empty ==>) + + \heuristics(simplify_enlarging) + }; + + // proven with KeY (CS) + disjointAndSubset2 { + \assumes(intersect(s2, s3) = empty ==>) + \find(subset(s, s3) ==>) + + \add(intersect(s, s2) = empty ==>) + + \heuristics(simplify_enlarging) + }; + + // proven with KeY (CS) + disjointInfiniteUnion { + \schemaVar \variables int iv; + + \find(intersect(infiniteUnion{iv;}(s2), s) = empty) + \varcond(\notFreeIn(iv, s)) + + \replacewith(\forall iv; (intersect(s2, s) = empty)) + + \heuristics(simplify) + }; + + // proven with KeY (CS) + disjointInfiniteUnion_2 { + \schemaVar \variables int iv; + + \find(intersect(s, infiniteUnion{iv;}(s2)) = empty) + \varcond(\notFreeIn(iv, s)) + + \replacewith(\forall iv; (intersect(s, s2) = empty)) + + \heuristics(simplify) + }; + + // proven with KeY (CS) + disjointAndSubset_3 { + \assumes(intersect(s1, s2) = empty ==>) + \find(subset(s4, union(s2, s3)) ==>) + \add(intersect(s1, s3) = empty -> intersect(s1, s4) = empty ==>) + \heuristics(simplify_enlarging) + }; + + // proven with KeY (CS) + disjointAndSubset_4 { + \assumes(intersect(s1, s2) = empty ==>) + \find(subset(s4, union(s3, s2)) ==>) + \add(intersect(s1, s3) = empty -> intersect(s1, s4) = empty ==>) + \heuristics(simplify_enlarging) + }; + + // proven with KeY (CS) + disjointAndSubset_5 { + \assumes(intersect(s2, s1) = empty ==>) + \find(subset(s4, union(s2, s3)) ==>) + \add(intersect(s1, s3) = empty -> intersect(s1, s4) = empty ==>) + \heuristics(simplify_enlarging) + }; + + // proven with KeY (CS) + disjointAndSubset_6 { + \assumes(intersect(s2, s1) = empty ==>) + \find(subset(s4, union(s3, s2)) ==>) + \add(intersect(s1, s3) = empty -> intersect(s1, s4) = empty ==>) \heuristics(simplify_enlarging) }; + + // -------------------------------------------------------------------------- + // equality rules + // -------------------------------------------------------------------------- + + // Proven in KeY (DD: 2025-02-20) + \lemma + equalityOfSingleton { + \schemaVar \term T e1, e2; + + \find(singleton(e1) = singleton(e2)) + + \replacewith(e1 = e2) + + \heuristics(simplify) + }; + + // -------------------------------------------------------------------------- + // lemmas for empty + // -------------------------------------------------------------------------- + + unionWithEmpty { + \find(union(empty, s)) + + \replacewith(s) + + \heuristics(concrete) + }; + + intersectWithEmpty { + \find(intersect(empty, s)) + + \replacewith(empty) + + \heuristics(concrete) + }; + + // the following set of rules should be the only one needed + // for empty elimination as the strategies take care to commute the + // the empty set always on the second place + // the other rules are left for backward proof loading compatibility + // begin + unionWithEmptyRight { + \find(union(s, empty)) + + \replacewith(s) + + \displayname "unionWithEmpty" + \heuristics(concrete) + }; + + intersectWithEmptyRight { + \find(intersect(s, empty)) + + \replacewith(empty) + + \displayname "intersectWithEmpty" + \heuristics(concrete) + }; + + setMinusWithEmpty1 { + \find(setMinus(s, empty)) + + \replacewith(s) + + \displayname "setMinusWithEmpty" + \heuristics(concrete) + }; + + setMinusWithEmpty2 { + \find(setMinus(empty, s)) + + \replacewith(empty) + + \displayname "setMinusWithEmpty" + \heuristics(concrete) + }; + + // -------------------------------------------------------------------------- + // lemmas for subset + // -------------------------------------------------------------------------- + + subsetWithEmpty { + \find(subset(empty, s)) + + \replacewith(true) + + \heuristics(concrete) + }; + + subsetOfEmpty { + \find(subset(s, empty)) + + \replacewith(s = empty) + + \heuristics(concrete) + }; + + // -------------------------------------------------------------------------- + // lemmas for disjoint + // -------------------------------------------------------------------------- + + disjointWithEmpty { + \find(disjoint(empty, s)) + + \replacewith(true) + + \heuristics(concrete) + }; + + \lemma + disjointWithSingleton1 { + \find(intersect(s, singleton(e)) = empty) + \replacewith(!elementOf(e, s)) + \heuristics(simplify) + \displayname "disjointWithSingleton" + }; + + \lemma + disjointWithSingleton2 { + \find(intersect(singleton(e), s) = empty) + \replacewith(!elementOf(e, s)) + \heuristics(simplify) + \displayname "disjointWithSingleton" + }; + + // -------------------------------------------------------------------------- + // some other lemmas + // -------------------------------------------------------------------------- + + // proven with KeY (CS) + unionEqualsEmpty { + \find(union(s, s2) = empty) + + \replacewith(s = empty & s2 = empty) + + \heuristics(simplify_enlarging) + // proven with KeY (CS) + \generate(\EQ(union(s, s2))) + }; + + \lemma + intersectUnionEqualsEmpty { + \find(intersect(union(s, s2), t) = empty) + + \replacewith(intersect(s, t) = empty & intersect(s2, t) = empty) + + \heuristics(simplify_enlarging) + \generate(\EQ(union(s, s2))) + } + + \lemma + intersectUnionEqualsEmpty2 { + \find(intersect(t, union(s, s2)) = empty) + + \replacewith(intersect(t, s) = empty & intersect(t, s2) = empty) + + \heuristics(simplify_enlarging) + \generate(\EQ(union(s, s2))) + } + + // proven with KeY (CS) + setMinusOfUnion { + \schemaVar \term Set distributedSet, unionLeft, unionRight; + + \find(setMinus(union(unionLeft, unionRight), distributedSet)) + + \replacewith(union(setMinus(unionLeft, distributedSet), + setMinus(unionRight, distributedSet))) + + \heuristics(setDist) + // proven with KeY (CS) + \generate(\EQ(union(unionLeft, unionRight))) + }; + + // proven with KeY (CS) + subsetWithSetMinusLeft { + \find(subset(setMinus(s, s2), s3)) + + \replacewith(subset(s, union(s2, s3))) + + \heuristics(simplify_enlarging) + // proven with KeY (CS) + \generate(\EQ(setMinus(s, s2))) + }; + + unionWithItself { + \find(union(s, s)) + + \replacewith(s) + + \heuristics(concrete) + }; + + intersectWithItself { + \find(intersect(s, s)) + + \replacewith(s) + + \heuristics(concrete) + }; + + distributeIntersection { + \schemaVar \term Set distributedSet, unionLeft, unionRight; + + \find(intersect(distributedSet, union(unionLeft, unionRight))) + + \replacewith(union(intersect(distributedSet, unionLeft), + intersect(distributedSet, unionRight))) + + \heuristics(setDist) + \generate(\EQ(union(unionLeft, unionRight))) + }; + + distributeIntersection2 { + \schemaVar \term Set distributedSet, unionLeft, unionRight; + + \find(intersect(union(unionLeft, unionRight), distributedSet)) + + \replacewith(union(intersect(unionLeft, distributedSet), + intersect(unionRight, distributedSet))) + + \heuristics(setDist) + \generate(\EQ(union(unionLeft, unionRight))) + }; + + intersectWithSingleton { + \find(intersect(singleton(e), s)) + + \replacewith(\if(elementOf(e, s)) \then(singleton(e)) \else(empty)) + + \heuristics(simplify_enlarging) + }; + + setMinusItself { + \find(setMinus(s, s)) + + \replacewith(empty) + + \heuristics(concrete) + }; + + setMinusSingleton { + \assumes( ==> elementOf(e, s)) + + \find(setMinus(s, singleton(e))) + + \replacewith(s) + + \heuristics(simplify) + }; + + setMinusWithSingleton { + \find(setMinus(singleton(e), s)) + + \replacewith(\if(elementOf(e, s)) \then(empty) \else(singleton(e))) + + \heuristics(simplify_enlarging) + } + + intersectionSetMinusItself { + \find(intersect(setMinus(s1, s2), s2)) + + \replacewith(empty) + + \heuristics(concrete) + }; + + intersectionSetMinusItself_2 { + \find(intersect(s2, setMinus(s1, s2))) + + \replacewith(empty) + + \heuristics(concrete) + }; + + unionIntersectItself { + \find(union(intersect(s1, s2), s1)) + + \replacewith(s1) + + \heuristics(simplify) + }; + + unionIntersectItself_2 { + \find(union(intersect(s2, s1), s1)) + + \replacewith(s1) + + \heuristics(simplify) + }; + + unionIntersectItself_3 { + \find(union(union(s, intersect(s1, s2)), s1)) + + \replacewith(union(s, s1)) + + \heuristics(simplify) + }; + + unionIntersectItself_4 { + \find(union(union(s, intersect(s2, s1)), s1)) + + \replacewith(union(s, s1)) + + \heuristics(simplify) + }; + + \lemma + unionIntersectItself5 { + \find(union(s1, intersect(s1, s2))) + + \replacewith(s1) + + \heuristics(simplify) + \generate(\EQ(intersect(s1, s2))) + \displayname "unionIntersectItself" + } + + \lemma + unionIntersectItself6 { + \find(union(s1, intersect(s2, s1))) + + \replacewith(s1) + + \heuristics(simplify) + \generate(\EQ(intersect(s2, s1))) + \displayname "unionIntersectItself" + } + + \lemma + intersectUnionItself { + \find(intersect(union(s1, s2), s1)) + + \replacewith(s1) + + \heuristics(simplify) + \generate(\EQ(union(s1, s2))) + \displayname "intersectUnionItself" + } + + \lemma + intersectUnionItself2 { + \find(intersect(union(s2, s1), s1)) + + \replacewith(s1) + + \heuristics(simplify) + \generate(\EQ(union(s2, s1))) + \displayname "intersectUnionItself" + } + + \lemma + intersectUnionItself3 { + \find(intersect(s1, union(s1, s2))) + + \replacewith(s1) + + \heuristics(simplify) + \generate(\EQ(union(s1, s2))) + \displayname "intersectUnionItself" + } + + \lemma + intersectUnionItself4 { + \find(intersect(s1, union(s2, s1))) + + \replacewith(s1) + + \heuristics(simplify) + \generate(\EQ(union(s2, s1))) + \displayname "intersectUnionItself" + } + + \lemma + subsetIntersectLeft { + \find(subset(intersect(s1, s2), s1)) + + \replacewith(true) + + \heuristics(concrete) + \generate(\EQ(intersect(s1, s2))) + \displayname "subsetIntersectLeft" + } + + \lemma + subsetIntersectLeft2 { + \find(subset(intersect(s2, s1), s1)) + + \replacewith(true) + + \heuristics(concrete) + \generate(\EQ(intersect(s2, s1))) + \displayname "subsetIntersectLeft" + } + + \lemma + unionSetMinusItself { + \find(union(setMinus(s1, s2), s2)) + + \replacewith(union(s1, s2)) + + \heuristics(simplify) + \generate(\EQ(setMinus(s1, s2))) + \displayname "unionSetMinusItself" + } + + \lemma + unionSetMinusItself2 { + \find(union(s2, setMinus(s1, s2))) + + \replacewith(union(s2, s1)) + + \heuristics(simplify) + \generate(\EQ(setMinus(s1, s2))) + \displayname "unionSetMinusItself" + } + + \lemma + setMinusEqualsEmpty { + \find(setMinus(s1, s2) = empty) + + \replacewith(subset(s1, s2)) + + \heuristics(simplify) + \generate(\EQ(setMinus(s1, s2))) + } + + unionIntersectItself_5 { + \find(union(union(intersect(s1, s2), s), s1)) + + \replacewith(union(s, s1)) + + \heuristics(simplify) + }; + + unionIntersectItself_6 { + \find(union(union(intersect(s2, s1), s), s1)) + + \replacewith(union(s, s1)) + + \heuristics(simplify) + }; + + infiniteUnionUnused { + \schemaVar \variables alpha av; + \find(infiniteUnion{av;}(s)) + \varcond(\notFreeIn(av, s)) + + \replacewith(s) + + \heuristics(concrete) + }; + + subsetOfItself { + \find(subset(s, s)) + + \replacewith(true) + + \heuristics(concrete) + }; + + // really needed for efficiency? + elementOfGuardedSet { + \schemaVar \formula phi; + + \find(elementOf(e, \if(phi) \then(s) \else(empty))) + + \replacewith(phi & elementOf(e, s)) + + \heuristics(concrete) + }; + + commuteDisjoint { + \schemaVar \term Set commLeft, commRight; + + \find(disjoint(commLeft, commRight)) + \replacewith(disjoint(commRight, commLeft)) + + \heuristics(setComm) + }; + + commuteUnion { + \schemaVar \term Set commLeft, commRight; + + \find(union(commLeft, commRight)) + + \replacewith(union(commRight, commLeft)) + + \heuristics(setComm) + }; + + commuteUnion_2 { + \schemaVar \term Set commLeft, commRight; + + \find(union(union(s, commLeft), commRight)) + + \replacewith(union(union(s, commRight), commLeft)) + + \heuristics(setComm) + }; + + commuteIntersection { + \schemaVar \term Set commLeft, commRight; + + \find(intersect(commLeft, commRight)) + + \replacewith(intersect(commRight, commLeft)) + + \heuristics(setComm) + }; + + commuteIntersection_2 { + \schemaVar \term Set commLeft, commRight; + + \find(intersect(intersect(s, commLeft), commRight)) + + \replacewith(intersect(intersect(s, commRight), commLeft)) + + \heuristics(setComm) + }; + + associativeLawUnion { + \find(union(s1, union(s2, s3))) + + \replacewith(union(union(s1, s2), s3)) + + \heuristics(setAssoc) + }; + + associativeLawIntersect { + \find(intersect(s1, intersect(s2, s3))) + + \replacewith(intersect(intersect(s1, s2), s3)) + + \heuristics(setAssoc) + }; } diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/standardRules.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/standardRules.key index ebbbb59ad82..bbf905407c2 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/standardRules.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/standardRules.key @@ -40,6 +40,8 @@ \include genericRules; // must go before heap, seq \include booleanRules; \include epsilon; +\include "./set/setRules.key"; // Must go before locSet +\include pairRules; // Must go before locSet \include "./locset/locSetsRules.key"; // must go before heap \include heapRules; \include "./permission/permissionRules.key"; @@ -47,7 +49,6 @@ \include "./sequence/seqCoreRules.key", "./sequence/seqRules.key"; \include "./sequence/seqPerm.key"; \include "./sequence/seqPerm2.key"; -\include "./set/setRules.key"; // rules for Java (order does not matter, since not provable anyway) \include javaRules; diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/string/regExAxioms.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/string/regExAxioms.key index 0a313515554..40b19dfa0ed 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/string/regExAxioms.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/string/regExAxioms.key @@ -28,7 +28,7 @@ ) \else( \if(nTimes = 0) \then( - string = empty + string = empty ) \else( \exists endIdx; ( endIdx >= 0 & diff --git a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/wellfound.key b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/wellfound.key index 8c8cefff393..602dbe4617b 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/wellfound.key +++ b/key.core/src/main/resources/de/uka/ilkd/key/proof/rules/wellfound.key @@ -21,19 +21,20 @@ // the measuredBy in the assumptions. \sorts { - Pair; + \generic E1, E2; + Pair; } \functions { // The constructor is unique which makes it also an injection. /*! Return the (unique) ordered pair of two specified elements. */ - \unique Pair pair(any, any); + \unique Pair pair(E1, E2); /*! Return the first element of an ordered pair. */ - any first(Pair); + E1 first(Pair); /*! Return the second element of an ordered pair. */ - any second(Pair); + E2 second(Pair); } \predicates { diff --git a/key.core/src/main/resources/de/uka/ilkd/key/smt/newsmt2/Heap.DefinedSymbolsHandler.preamble.xml b/key.core/src/main/resources/de/uka/ilkd/key/smt/newsmt2/Heap.DefinedSymbolsHandler.preamble.xml index c3b40ae335d..eda183bda3f 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/smt/newsmt2/Heap.DefinedSymbolsHandler.preamble.xml +++ b/key.core/src/main/resources/de/uka/ilkd/key/smt/newsmt2/Heap.DefinedSymbolsHandler.preamble.xml @@ -13,8 +13,8 @@ (anon(h, ls, h2), o, f)<> = - \if(elementOf(o, f, ls) & f != java.lang.Object::#$created - | elementOf(o, f, freshLocs(h))) + \if(elementOf(pair(o, f), ls) & f != java.lang.Object::#$created + | elementOf(pair(o, f), freshLocs(h))) \then(select(h2, o, f)) \else(select(h, o, f)) ]]> @@ -22,7 +22,7 @@ (memset(h, s, x), o, f)<> = - \if(elementOf(o, f, s) & f != java.lang.Object::#$created) + \if(elementOf(pair(o, f), s) & f != java.lang.Object::#$created) \then(x) \else(select(h, o, f)) ]]> diff --git a/key.core/src/main/resources/de/uka/ilkd/key/smt/newsmt2/LocSet.DefinedSymbolsHandler.preamble.xml b/key.core/src/main/resources/de/uka/ilkd/key/smt/newsmt2/LocSet.DefinedSymbolsHandler.preamble.xml index e3414e6ca38..44585c8a8af 100644 --- a/key.core/src/main/resources/de/uka/ilkd/key/smt/newsmt2/LocSet.DefinedSymbolsHandler.preamble.xml +++ b/key.core/src/main/resources/de/uka/ilkd/key/smt/newsmt2/LocSet.DefinedSymbolsHandler.preamble.xml @@ -1,37 +1,22 @@ - - \forall Object o; \forall Field f; ( elementOf(o,f,empty)<<Trigger>> <-> false ) - - - - \forall Object o; \forall Field f; \forall LocSet l1; \forall LocSet l2; - ( elementOf(o, f, union(l1, l2))<<Trigger>> <-> elementOf(o,f,l1) | elementOf(o,f,l2) ) - - - \forall Object o; \forall Field f; ( elementOf(o,f,allLocs)<<Trigger>> <-> true ) + \forall Object o; \forall Field f; ( elementOf<Loc>(pair<Object,Field>(o,f),allLocs)<<Trigger>> <-> true ) > <-> + ( elementOf(pair(o,f),freshLocs(h))<> <-> o != null & !select(h,o,java.lang.Object::#$created)=TRUE ) ]]> - - \forall Object o; \forall Field f; \forall Object o2; \forall Field f2; - ( elementOf(o,f, singleton(o2,f2))<<Trigger>> <-> - o = o2 & f = f2 ) - - > <-> + ( elementOf(pair(o,f), allFields(o2))<> <-> o = o2 ) ]]> > <-> + (elementOf(pair(o,f), arrayRange(o2, lo, hi))<> <-> o = o2 & \exists int iv; (f = arr(iv) & lo <= iv & iv <= hi)) ]]> diff --git a/key.core/src/main/resources/de/uka/ilkd/key/smt/newsmt2/Set.DefinedSymbolsHandler.preamble.xml b/key.core/src/main/resources/de/uka/ilkd/key/smt/newsmt2/Set.DefinedSymbolsHandler.preamble.xml new file mode 100644 index 00000000000..5216121139c --- /dev/null +++ b/key.core/src/main/resources/de/uka/ilkd/key/smt/newsmt2/Set.DefinedSymbolsHandler.preamble.xml @@ -0,0 +1,14 @@ + + \forall any e; ( elementOf<any>(e,empty<any>)<<Trigger>> <-> false ) + + + + \forall any e; \forall Set<any> s1; \forall Set<any> s2; + ( elementOf<any>(e, union<any>(s1, s2))<<Trigger>> <-> elementOf<any>(e,s1) | elementOf<any>(e,s2) ) + + + + \forall any e1; \forall any e2; + ( elementOf<any>(e1, singleton<any>(e2))<<Trigger>> <-> + e1 = e2 ) + diff --git a/key.core/src/test/java/de/uka/ilkd/key/nparser/TestTacletEquality.java b/key.core/src/test/java/de/uka/ilkd/key/nparser/TestTacletEquality.java index 345e00579a2..30c5fadff1f 100644 --- a/key.core/src/test/java/de/uka/ilkd/key/nparser/TestTacletEquality.java +++ b/key.core/src/test/java/de/uka/ilkd/key/nparser/TestTacletEquality.java @@ -26,7 +26,6 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -128,7 +127,7 @@ public static void createNewOracle() { } } - @Test + // @Test public void createOracle() { createNewOracle(); } diff --git a/key.core/src/test/java/de/uka/ilkd/key/parser/TestTermParserHeap.java b/key.core/src/test/java/de/uka/ilkd/key/parser/TestTermParserHeap.java index 0066b48b046..01202ee94f2 100644 --- a/key.core/src/test/java/de/uka/ilkd/key/parser/TestTermParserHeap.java +++ b/key.core/src/test/java/de/uka/ilkd/key/parser/TestTermParserHeap.java @@ -61,14 +61,14 @@ public void testAllFieldsSelector() throws Exception { @Test public void testLocationSets() throws Exception { String pp = "{(a, testTermParserHeap.A::#f)}"; - String verbose = "singleton(a,testTermParserHeap.A::#f)"; + String verbose = "singleton(pair(a,testTermParserHeap.A::#f))"; comparePrettySyntaxAgainstVerboseSyntax(pp, verbose); - comparePrettySyntaxAgainstVerboseSyntax("{}", "empty"); + comparePrettySyntaxAgainstVerboseSyntax("{}", "empty"); pp = "{(a, testTermParserHeap.A::#f), (a, testTermParserHeap.A::#f), (a, testTermParserHeap.A::#f)}"; JTerm expected = parseTerm( - "union(union(singleton(a,testTermParserHeap.A::#f),singleton(a,testTermParserHeap.A::#f)),singleton(a,testTermParserHeap.A::#f))"); + "union(union(singleton(pair(a,testTermParserHeap.A::#f)),singleton(pair(a,testTermParserHeap.A::#f))),singleton(pair(a,testTermParserHeap.A::#f)))"); verifyParsing(expected, pp); } @@ -92,11 +92,12 @@ public void testBracketHeapUpdate() throws Exception { String complicatedHeapPretty = "heap[a.f := 4][create(a)][memset({}, 1)][anon(allLocs, heap)]"; String complicatedHeapVerbose = - "anon(memset(create(store(heap, a, testTermParserHeap.A::#f, 4), a), empty, 1), allLocs, heap)"; + "anon(memset(create(store(heap, a, testTermParserHeap.A::#f, 4), a), empty, 1), allLocs, heap)"; comparePrettySyntaxAgainstVerboseSyntax(complicatedHeapPretty, complicatedHeapVerbose); String prettySyntax = "a.f@h[anon({}, h2)]"; - String verboseSyntax = "select(anon(h, empty, h2), a, testTermParserHeap.A::#f)"; + String verboseSyntax = + "select(anon(h, empty, h2), a, testTermParserHeap.A::#f)"; comparePrettySyntaxAgainstVerboseSyntax(prettySyntax, verboseSyntax); /* diff --git a/key.core/src/test/java/de/uka/ilkd/key/pp/LogicPrinterTest.java b/key.core/src/test/java/de/uka/ilkd/key/pp/LogicPrinterTest.java index 083f659b9f2..c063c85bbda 100644 --- a/key.core/src/test/java/de/uka/ilkd/key/pp/LogicPrinterTest.java +++ b/key.core/src/test/java/de/uka/ilkd/key/pp/LogicPrinterTest.java @@ -73,7 +73,7 @@ void printAnonUpdateTerm1() { \\programVariables { Object o; } \\problem { - anon(store(h1, o, fld, null), union(union(allFields(o), singleton(o,fld)), allObjects(fld)), h2) = h3 + anon(store(h1, o, fld, null), union(union(allFields(o), singleton(pair(o,fld))), allObjects(fld)), h2) = h3 } """) .loadCompleteProblem().getProblem().succedent().getFirst().formula(); diff --git a/key.core/src/test/java/de/uka/ilkd/key/speclang/ContractFactoryTest.java b/key.core/src/test/java/de/uka/ilkd/key/speclang/ContractFactoryTest.java index 05d8518082d..e652c973b60 100644 --- a/key.core/src/test/java/de/uka/ilkd/key/speclang/ContractFactoryTest.java +++ b/key.core/src/test/java/de/uka/ilkd/key/speclang/ContractFactoryTest.java @@ -90,7 +90,7 @@ public void testCombineEqualModifiable() throws SLTranslationException { @ signals_only RuntimeException; @*/"""; JTerm woLabels = calculateCombinedModifiableWOLabels(contract); - assertEquals("empty", woLabels.toString()); + assertEquals("empty>", woLabels.toString()); } /** @@ -117,7 +117,7 @@ public void testCombineEmptyModifiable() throws SLTranslationException { @ signals_only RuntimeException; @*/"""; JTerm woLabels = calculateCombinedModifiableWOLabels(contract); - assertEquals("empty<>", woLabels.toString()); + assertEquals("empty><>", woLabels.toString()); } /** @@ -144,9 +144,10 @@ public void testCombineDifferentModifiable() throws SLTranslationException { @ signals_only RuntimeException; @*/"""; JTerm woLabels = calculateCombinedModifiableWOLabels(contract); - assertEquals("intersect(if-then-else(equals(a,Z(5(#))),empty,allLocs)," - + "if-then-else(not(equals(a,Z(5(#)))),singleton(self,testPackage.TestClass::#l)," - + "allLocs))", + assertEquals( + "intersect>(if-then-else(equals(a,Z(5(#))),empty>,allLocs)," + + "if-then-else(not(equals(a,Z(5(#)))),singleton>(pair(self,testPackage.TestClass::#l))," + + "allLocs))", woLabels.toString()); } diff --git a/key.core/src/test/resources/de/uka/ilkd/key/nparser/taclets.old.txt b/key.core/src/test/resources/de/uka/ilkd/key/nparser/taclets.old.txt index e2af31cd506..fdce0efb410 100644 --- a/key.core/src/test/resources/de/uka/ilkd/key/nparser/taclets.old.txt +++ b/key.core/src/test/resources/de/uka/ilkd/key/nparser/taclets.old.txt @@ -1,5 +1,5 @@ # This files contains representation of taclets, which are accepted and revised. -# Date: Tue Aug 11 14:35:00 CEST 2026 +# Date: Sun Aug 16 12:25:27 CEST 2026 == abortJavaCardTransactionAPI (abortJavaCardTransactionAPI) ========================================= abortJavaCardTransactionAPI { @@ -33,8 +33,8 @@ Choices: (programRules:Java & JavaCard:on)} == accDefinition (accDefinition) ========================================= accDefinition { \find(acc(h,s,o,o2)) -\varcond(\notFreeIn(fv (variable), o2 (deltaObject term)), \notFreeIn(fv (variable), o (java.lang.Object term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(fv (variable), h (Heap term))) -\replacewith(and(and(not(equals(o,null)),not(equals(o2,null))),exists{fv (variable)}(and(elementOf(o,fv,s),equals(select(h,o,fv),o2))))) +\varcond(\notFreeIn(fv (variable), o2 (deltaObject term)), \notFreeIn(fv (variable), o (java.lang.Object term)), \notFreeIn(fv (variable), s (Set> term)), \notFreeIn(fv (variable), h (Heap term))) +\replacewith(and(and(not(equals(o,null)),not(equals(o2,null))),exists{fv (variable)}(and(elementOf>(pair(o,fv),s),equals(select(h,o,fv),o2))))) \heuristics(simplify) Choices: reach:on} ----------------------------------------------------- @@ -566,8 +566,8 @@ Choices: programRules:Java} ----------------------------------------------------- == allFieldsSubsetOf (allFieldsSubsetOf) ========================================= allFieldsSubsetOf { -\assumes ([subset(allFields(o),s)]==>[]) -\find(elementOf(o,f,s)) +\assumes ([subset>(allFields(o),s)]==>[]) +\find(elementOf>(pair(o,f),s)) \replacewith(true) \heuristics(concrete) Choices: programRules:Java} @@ -1132,6 +1132,13 @@ arrayLengthNotNegative { \heuristics(inReachableStateImplication) Choices: programRules:Java} ----------------------------------------------------- +== arrayRangeEmpty (arrayRangeEmpty) ========================================= +arrayRangeEmpty { +\find(equals(arrayRange(o,lower,upper),empty>)) +\replacewith(lt(upper,lower)) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- == array_post_declaration (array_post_declaration) ========================================= array_post_declaration { \find(#allmodal ((modal operator))|{{ .. @@ -1234,8 +1241,8 @@ Choices: (programRules:Java & assertions:safe)} == assignableDefinition (assignableDefinition) ========================================= assignableDefinition { \find(assignable(heapNew,heapOld,locs)) -\varcond(\notFreeIn(f (variable), heapNew (Heap term)), \notFreeIn(f (variable), heapOld (Heap term)), \notFreeIn(f (variable), locs (LocSet term)), \notFreeIn(o (variable), heapNew (Heap term)), \notFreeIn(o (variable), heapOld (Heap term)), \notFreeIn(o (variable), locs (LocSet term))) -\replacewith(all{f (variable)}(all{o (variable)}(or(or(elementOf(o,f,locs),and(not(equals(o,null)),not(equals(select(heapOld,o,java.lang.Object::#$created),TRUE)))),equals(select(heapNew,o,f),select(heapOld,o,f)))))) +\varcond(\notFreeIn(f (variable), heapNew (Heap term)), \notFreeIn(f (variable), heapOld (Heap term)), \notFreeIn(f (variable), locs (Set> term)), \notFreeIn(o (variable), heapNew (Heap term)), \notFreeIn(o (variable), heapOld (Heap term)), \notFreeIn(o (variable), locs (Set> term))) +\replacewith(all{f (variable)}(all{o (variable)}(or(or(elementOf>(pair(o,f),locs),and(not(equals(o,null)),not(equals(select(heapOld,o,java.lang.Object::#$created),TRUE)))),equals(select(heapNew,o,f),select(heapOld,o,f)))))) \heuristics(delayedExpansion) Choices: programRules:Java} ----------------------------------------------------- @@ -2035,17 +2042,17 @@ Choices: programRules:Java} ----------------------------------------------------- == associativeLawIntersect (associativeLawIntersect) ========================================= associativeLawIntersect { -\find(intersect(s1,intersect(s2,s3))) -\replacewith(intersect(intersect(s1,s2),s3)) -\heuristics(conjNormalForm) -Choices: programRules:Java} +\find(intersect(s1,intersect(s2,s3))) +\replacewith(intersect(intersect(s1,s2),s3)) +\heuristics(setAssoc) +Choices: true} ----------------------------------------------------- == associativeLawUnion (associativeLawUnion) ========================================= associativeLawUnion { -\find(union(s1,union(s2,s3))) -\replacewith(union(union(s1,s2),s3)) -\heuristics(conjNormalForm) -Choices: programRules:Java} +\find(union(s1,union(s2,s3))) +\replacewith(union(union(s1,s2),s3)) +\heuristics(setAssoc) +Choices: true} ----------------------------------------------------- == atan2IsNaN (atan2IsNaN) ========================================= atan2IsNaN { @@ -3648,38 +3655,38 @@ Choices: (programRules:Java & JavaCard:on)} ----------------------------------------------------- == commuteDisjoint (commuteDisjoint) ========================================= commuteDisjoint { -\find(disjoint(commLeft,commRight)) -\replacewith(disjoint(commRight,commLeft)) -\heuristics(cnf_setComm) -Choices: programRules:Java} +\find(disjoint(commLeft,commRight)) +\replacewith(disjoint(commRight,commLeft)) +\heuristics(setComm) +Choices: true} ----------------------------------------------------- == commuteIntersection (commuteIntersection) ========================================= commuteIntersection { -\find(intersect(commLeft,commRight)) -\replacewith(intersect(commRight,commLeft)) -\heuristics(cnf_setComm) -Choices: programRules:Java} +\find(intersect(commLeft,commRight)) +\replacewith(intersect(commRight,commLeft)) +\heuristics(setComm) +Choices: true} ----------------------------------------------------- == commuteIntersection_2 (commuteIntersection_2) ========================================= commuteIntersection_2 { -\find(intersect(intersect(s,commLeft),commRight)) -\replacewith(intersect(intersect(s,commRight),commLeft)) -\heuristics(cnf_setComm) -Choices: programRules:Java} +\find(intersect(intersect(s,commLeft),commRight)) +\replacewith(intersect(intersect(s,commRight),commLeft)) +\heuristics(setComm) +Choices: true} ----------------------------------------------------- == commuteUnion (commuteUnion) ========================================= commuteUnion { -\find(union(commLeft,commRight)) -\replacewith(union(commRight,commLeft)) -\heuristics(cnf_setComm) -Choices: programRules:Java} +\find(union(commLeft,commRight)) +\replacewith(union(commRight,commLeft)) +\heuristics(setComm) +Choices: true} ----------------------------------------------------- == commuteUnion_2 (commuteUnion_2) ========================================= commuteUnion_2 { -\find(union(union(s,commLeft),commRight)) -\replacewith(union(union(s,commRight),commLeft)) -\heuristics(cnf_setComm) -Choices: programRules:Java} +\find(union(union(s,commLeft),commRight)) +\replacewith(union(union(s,commRight),commLeft)) +\heuristics(setComm) +Choices: true} ----------------------------------------------------- == commute_and (commute_and) ========================================= commute_and { @@ -5162,8 +5169,8 @@ Choices: true} == createdInHeapToElementOf (createdInHeapToElementOf) ========================================= createdInHeapToElementOf { \find(createdInHeap(s,h)) -\varcond(\notFreeIn(fv (variable), h (Heap term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), h (Heap term)), \notFreeIn(ov (variable), s (LocSet term))) -\replacewith(all{ov (variable)}(all{fv (variable)}(imp(elementOf(ov,fv,s),or(equals(ov,null),equals(select(h,ov,java.lang.Object::#$created),TRUE)))))) +\varcond(\notFreeIn(fv (variable), h (Heap term)), \notFreeIn(fv (variable), s (Set> term)), \notFreeIn(ov (variable), h (Heap term)), \notFreeIn(ov (variable), s (Set> term))) +\replacewith(all{ov (variable)}(all{fv (variable)}(imp(elementOf>(pair(ov,fv),s),or(equals(ov,null),equals(select(h,ov,java.lang.Object::#$created),TRUE)))))) \heuristics(classAxiom) Choices: programRules:Java} ----------------------------------------------------- @@ -5199,7 +5206,7 @@ Choices: programRules:Java} ----------------------------------------------------- == createdInHeapWithEmpty (createdInHeapWithEmpty) ========================================= createdInHeapWithEmpty { -\find(createdInHeap(empty,h)) +\find(createdInHeap(empty>,h)) \replacewith(true) \heuristics(concrete) Choices: programRules:Java} @@ -5207,7 +5214,7 @@ Choices: programRules:Java} == createdInHeapWithObserver (createdInHeapWithObserver) ========================================= createdInHeapWithObserver { \find(==>createdInHeap(obs,h)) -\varcond(\isObserver (obs (LocSet term), h (Heap term))) +\varcond(\isObserver (obs (Set> term), h (Heap term))) \replacewith([]==>[wellFormed(h)]) \heuristics(concrete) Choices: programRules:Java} @@ -5216,21 +5223,21 @@ Choices: programRules:Java} createdInHeapWithObserverEQ { \assumes ([equals(obs,EQ)]==>[]) \find(==>createdInHeap(EQ,h)) -\varcond(\isObserver (obs (LocSet term), h (Heap term))) +\varcond(\isObserver (obs (Set> term), h (Heap term))) \replacewith([]==>[wellFormed(h)]) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == createdInHeapWithSelect (createdInHeapWithSelect) ========================================= createdInHeapWithSelect { -\find(==>createdInHeap(select(h,o,f),h)) +\find(==>createdInHeap(select>>(h,o,f),h)) \replacewith([]==>[wellFormed(h)]) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == createdInHeapWithSelectEQ (createdInHeapWithSelectEQ) ========================================= createdInHeapWithSelectEQ { -\assumes ([equals(select(h,o,f),EQ)]==>[]) +\assumes ([equals(select>>(h,o,f),EQ)]==>[]) \find(==>createdInHeap(EQ,h)) \replacewith([]==>[wellFormed(h)]) \heuristics(concrete) @@ -5238,14 +5245,14 @@ Choices: programRules:Java} ----------------------------------------------------- == createdInHeapWithSetMinusFreshLocs (createdInHeapWithSetMinusFreshLocs) ========================================= createdInHeapWithSetMinusFreshLocs { -\find(createdInHeap(setMinus(s,freshLocs(h)),h)) +\find(createdInHeap(setMinus>(s,freshLocs(h)),h)) \replacewith(true) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == createdInHeapWithSetMinusFreshLocsEQ (createdInHeapWithSetMinusFreshLocsEQ) ========================================= createdInHeapWithSetMinusFreshLocsEQ { -\assumes ([equals(setMinus(s,freshLocs(h)),EQ)]==>[]) +\assumes ([equals(setMinus>(s,freshLocs(h)),EQ)]==>[]) \find(createdInHeap(EQ,h)) \replacewith(true) \heuristics(concrete) @@ -5253,22 +5260,22 @@ Choices: programRules:Java} ----------------------------------------------------- == createdInHeapWithSingleton (createdInHeapWithSingleton) ========================================= createdInHeapWithSingleton { -\find(createdInHeap(singleton(o,f),h)) -\replacewith(or(equals(o,null),equals(select(h,o,java.lang.Object::#$created),TRUE))) +\find(createdInHeap(singleton>(l),h)) +\replacewith(or(equals(first(l),null),equals(select(h,first(l),java.lang.Object::#$created),TRUE))) \heuristics(simplify_enlarging) Choices: programRules:Java} ----------------------------------------------------- == createdInHeapWithSingletonEQ (createdInHeapWithSingletonEQ) ========================================= createdInHeapWithSingletonEQ { -\assumes ([equals(singleton(o,f),EQ)]==>[]) +\assumes ([equals(singleton>(l),EQ)]==>[]) \find(createdInHeap(EQ,h)) -\replacewith(or(equals(o,null),equals(select(h,o,java.lang.Object::#$created),TRUE))) +\replacewith(or(equals(first(l),null),equals(select(h,first(l),java.lang.Object::#$created),TRUE))) \heuristics(simplify_enlarging) Choices: programRules:Java} ----------------------------------------------------- == createdInHeapWithUnion (createdInHeapWithUnion) ========================================= createdInHeapWithUnion { -\find(==>createdInHeap(union(s,s2),h)) +\find(==>createdInHeap(union>(s,s2),h)) \replacewith([]==>[createdInHeap(s2,h)]) ; \replacewith([]==>[createdInHeap(s,h)]) \heuristics(simplify_enlarging) @@ -5276,7 +5283,7 @@ Choices: programRules:Java} ----------------------------------------------------- == createdInHeapWithUnionEQ (createdInHeapWithUnionEQ) ========================================= createdInHeapWithUnionEQ { -\assumes ([equals(union(s,s2),EQ)]==>[]) +\assumes ([equals(union>(s,s2),EQ)]==>[]) \find(==>createdInHeap(EQ,h)) \replacewith([]==>[createdInHeap(s2,h)]) ; \replacewith([]==>[createdInHeap(s,h)]) @@ -5459,9 +5466,9 @@ Choices: true} ----------------------------------------------------- == definitionAllElementsOfArray (definitionAllElementsOfArray) ========================================= definitionAllElementsOfArray { -\find(allElementsOfArray(h,array,singleton(o,f))) +\find(allElementsOfArray(h,array,singleton>(pair(o,f)))) \varcond(\notFreeIn(j (variable), f (Field term)), \notFreeIn(j (variable), o (java.lang.Object term)), \notFreeIn(j (variable), array (java.lang.Object term)), \notFreeIn(j (variable), h (Heap term))) -\replacewith(infiniteUnion{j (variable)}(if-then-else(and(leq(Z(0(#)),j),lt(j,length(array))),singleton(select(h,array,arr(j)),f),empty))) +\replacewith(infiniteUnion>{j (variable)}(if-then-else(and(leq(Z(0(#)),j),lt(j,length(array))),singleton>(pair(select(h,array,arr(j)),f)),empty>))) \heuristics(simplify) Choices: programRules:Java} ----------------------------------------------------- @@ -5469,15 +5476,15 @@ Choices: programRules:Java} definitionAllElementsOfArray2 { \find(allElementsOfArray(h,array,allFields(o))) \varcond(\notFreeIn(j (variable), array (java.lang.Object term)), \notFreeIn(j (variable), h (Heap term))) -\replacewith(infiniteUnion{j (variable)}(if-then-else(and(leq(Z(0(#)),j),lt(j,length(array))),allFields(select(h,array,arr(j))),empty))) +\replacewith(infiniteUnion>{j (variable)}(if-then-else(and(leq(Z(0(#)),j),lt(j,length(array))),allFields(select(h,array,arr(j))),empty>))) \heuristics(simplify) Choices: programRules:Java} ----------------------------------------------------- == definitionAllElementsOfArrayLocsets (definitionAllElementsOfArrayLocsets) ========================================= definitionAllElementsOfArrayLocsets { -\find(allElementsOfArrayLocsets(h,array,singleton(o,f))) +\find(allElementsOfArrayLocsets(h,array,singleton>(pair(o,f)))) \varcond(\notFreeIn(j (variable), f (Field term)), \notFreeIn(j (variable), o (java.lang.Object term)), \notFreeIn(j (variable), array (java.lang.Object term)), \notFreeIn(j (variable), h (Heap term))) -\replacewith(infiniteUnion{j (variable)}(if-then-else(and(leq(Z(0(#)),j),lt(j,length(array))),select(h,select(h,array,arr(j)),f),empty))) +\replacewith(infiniteUnion>{j (variable)}(if-then-else(and(leq(Z(0(#)),j),lt(j,length(array))),select>>(h,select(h,array,arr(j)),f),empty>))) \heuristics(simplify) Choices: programRules:Java} ----------------------------------------------------- @@ -5533,7 +5540,7 @@ Choices: sequences:on} ----------------------------------------------------- == definitionSeqdefWorkaround2 (definitionSeqdefWorkaround2) ========================================= definitionSeqdefWorkaround2 { -\find(seq_def_workaround2(h,lower,upper,array,singleton(o,f))) +\find(seq_def_workaround2(h,lower,upper,array,singleton>(pair(o,f)))) \varcond(\notFreeIn(j (variable), upper (int term)), \notFreeIn(j (variable), lower (int term)), \notFreeIn(j (variable), array (java.lang.Object term)), \notFreeIn(j (variable), f (Field term)), \notFreeIn(j (variable), h (Heap term))) \replacewith(seqDef{j (variable)}(lower,upper,select(h,select(h,array,arr(j)),f))) \heuristics(concrete) @@ -5657,163 +5664,206 @@ Choices: programRules:Java} ----------------------------------------------------- == disjointAllFields (disjointAllFields) ========================================= disjointAllFields { -\assumes ([equals(intersect(allFields(o),s),empty)]==>[]) -\find(elementOf(o,f,s)) +\assumes ([equals(intersect>(allFields(o),s),empty>)]==>[]) +\find(elementOf>(pair(o,f),s)) \replacewith(false) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- +== disjointAllFieldsSingleton (disjointAllFieldsSingleton) ========================================= +disjointAllFieldsSingleton { +\find(equals(intersect>(allFields(o),singleton>(pair(o2,f))),empty>)) +\replacewith(not(equals(o,o2))) +\heuristics(concrete) +Choices: programRules:Java} +----------------------------------------------------- +== disjointAllFieldsSingleton2 (disjointAllFieldsSingleton) ========================================= +disjointAllFieldsSingleton2 { +\find(equals(intersect>(singleton>(pair(o2,f)),allFields(o)),empty>)) +\replacewith(not(equals(o,o2))) +\heuristics(concrete) +Choices: programRules:Java} +----------------------------------------------------- == disjointAllFields_2 (disjointAllFields_2) ========================================= disjointAllFields_2 { -\find(equals(intersect(allFields(o),allFields(o2)),empty)) +\find(equals(intersect>(allFields(o),allFields(o2)),empty>)) \replacewith(not(equals(o,o2))) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == disjointAllObjects (disjointAllObjects) ========================================= disjointAllObjects { -\assumes ([equals(intersect(allObjects(f),s),empty)]==>[]) -\find(elementOf(o,f,s)) +\assumes ([equals(intersect>(allObjects(f),s),empty>)]==>[]) +\find(elementOf>(pair(o,f),s)) \replacewith(false) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- +== disjointAllObjects2 (disjointAllObjects) ========================================= +disjointAllObjects2 { +\find(equals(intersect>(allObjects(f1),allObjects(f2)),empty>)) +\replacewith(not(equals(f1,f2))) +\heuristics(concrete) +Choices: programRules:Java} +----------------------------------------------------- +== disjointAllObjectsSingleton (disjointAllObjectsSingleton) ========================================= +disjointAllObjectsSingleton { +\find(equals(intersect>(allObjects(f),singleton>(pair(o,f2))),empty>)) +\replacewith(not(equals(f,f2))) +\heuristics(concrete) +Choices: programRules:Java} +----------------------------------------------------- +== disjointAllObjectsSingleton2 (disjointAllObjectsSingleton) ========================================= +disjointAllObjectsSingleton2 { +\find(equals(intersect>(singleton>(pair(o,f2)),allObjects(f)),empty>)) +\replacewith(not(equals(f,f2))) +\heuristics(concrete) +Choices: programRules:Java} +----------------------------------------------------- == disjointAndSubset1 (disjointAndSubset1) ========================================= disjointAndSubset1 { -\assumes ([equals(intersect(s2,s3),empty)]==>[]) -\find(subset(s,s2)==>) -\add [equals(intersect(s,s3),empty)]==>[] +\assumes ([equals(intersect(s2,s3),empty)]==>[]) +\find(subset(s,s2)==>) +\add [equals(intersect(s,s3),empty)]==>[] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == disjointAndSubset2 (disjointAndSubset2) ========================================= disjointAndSubset2 { -\assumes ([equals(intersect(s2,s3),empty)]==>[]) -\find(subset(s,s3)==>) -\add [equals(intersect(s,s2),empty)]==>[] +\assumes ([equals(intersect(s2,s3),empty)]==>[]) +\find(subset(s,s3)==>) +\add [equals(intersect(s,s2),empty)]==>[] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == disjointAndSubset_3 (disjointAndSubset_3) ========================================= disjointAndSubset_3 { -\assumes ([equals(intersect(s1,s2),empty)]==>[]) -\find(subset(s4,union(s2,s3))==>) -\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[] +\assumes ([equals(intersect(s1,s2),empty)]==>[]) +\find(subset(s4,union(s2,s3))==>) +\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == disjointAndSubset_4 (disjointAndSubset_4) ========================================= disjointAndSubset_4 { -\assumes ([equals(intersect(s1,s2),empty)]==>[]) -\find(subset(s4,union(s3,s2))==>) -\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[] +\assumes ([equals(intersect(s1,s2),empty)]==>[]) +\find(subset(s4,union(s3,s2))==>) +\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == disjointAndSubset_5 (disjointAndSubset_5) ========================================= disjointAndSubset_5 { -\assumes ([equals(intersect(s2,s1),empty)]==>[]) -\find(subset(s4,union(s2,s3))==>) -\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[] +\assumes ([equals(intersect(s2,s1),empty)]==>[]) +\find(subset(s4,union(s2,s3))==>) +\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == disjointAndSubset_6 (disjointAndSubset_6) ========================================= disjointAndSubset_6 { -\assumes ([equals(intersect(s2,s1),empty)]==>[]) -\find(subset(s4,union(s3,s2))==>) -\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[] +\assumes ([equals(intersect(s2,s1),empty)]==>[]) +\find(subset(s4,union(s3,s2))==>) +\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == disjointArrayRangeAllFields1 (disjointArrayRangeAllFields) ========================================= disjointArrayRangeAllFields1 { -\find(equals(intersect(allFields(o1),arrayRange(o2,lower2,upper2)),empty)) +\find(equals(intersect>(allFields(o1),arrayRange(o2,lower2,upper2)),empty>)) \replacewith(not(and(equals(o1,o2),leq(lower2,upper2)))) \heuristics(simplify) Choices: programRules:Java} ----------------------------------------------------- == disjointArrayRangeAllFields2 (disjointArrayRangeAllFields) ========================================= disjointArrayRangeAllFields2 { -\find(equals(intersect(arrayRange(o1,lower1,upper1),allFields(o2)),empty)) +\find(equals(intersect>(arrayRange(o1,lower1,upper1),allFields(o2)),empty>)) \replacewith(not(and(equals(o1,o2),leq(lower1,upper1)))) \heuristics(simplify) Choices: programRules:Java} ----------------------------------------------------- == disjointArrayRanges (disjointArrayRanges) ========================================= disjointArrayRanges { -\find(equals(intersect(arrayRange(o1,lower1,upper1),arrayRange(o2,lower2,upper2)),empty)) +\find(equals(intersect>(arrayRange(o1,lower1,upper1),arrayRange(o2,lower2,upper2)),empty>)) \replacewith(not(and(and(and(equals(o1,o2),leq(lower1,upper1)),leq(lower2,upper2)),or(and(leq(lower1,lower2),leq(lower2,upper1)),and(leq(lower2,lower1),leq(lower1,upper2)))))) \heuristics(simplify) Choices: programRules:Java} ----------------------------------------------------- == disjointDefinition (disjointDefinition) ========================================= disjointDefinition { -\find(disjoint(s,s2)) -\replacewith(equals(intersect(s,s2),empty)) +\find(disjoint(s,s2)) +\replacewith(equals(intersect(s,s2),empty)) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == disjointInfiniteUnion (disjointInfiniteUnion) ========================================= disjointInfiniteUnion { -\find(equals(intersect(infiniteUnion{iv (variable)}(s2),s),empty)) -\varcond(\notFreeIn(iv (variable), s (LocSet term))) -\replacewith(all{iv (variable)}(equals(intersect(s2,s),empty))) +\find(equals(intersect(infiniteUnion{iv (variable)}(s2),s),empty)) +\varcond(\notFreeIn(iv (variable), s (Set term))) +\replacewith(all{iv (variable)}(equals(intersect(s2,s),empty))) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == disjointInfiniteUnion_2 (disjointInfiniteUnion_2) ========================================= disjointInfiniteUnion_2 { -\find(equals(intersect(s,infiniteUnion{iv (variable)}(s2)),empty)) -\varcond(\notFreeIn(iv (variable), s (LocSet term))) -\replacewith(all{iv (variable)}(equals(intersect(s,s2),empty))) +\find(equals(intersect(s,infiniteUnion{iv (variable)}(s2)),empty)) +\varcond(\notFreeIn(iv (variable), s (Set term))) +\replacewith(all{iv (variable)}(equals(intersect(s,s2),empty))) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- -== disjointNotInOtherLocset1 (disjointNotInOtherLocset1) ========================================= -disjointNotInOtherLocset1 { -\assumes ([equals(intersect(s,s2),empty)]==>[]) -\find(elementOf(o,f,s)==>) -\add []==>[elementOf(o,f,s2)] +== disjointNotInOtherSet1 (disjointNotInOtherSet1) ========================================= +disjointNotInOtherSet1 { +\assumes ([equals(intersect(s,s2),empty)]==>[]) +\find(elementOf(e,s)==>) +\add []==>[elementOf(e,s2)] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- -== disjointNotInOtherLocset2 (disjointNotInOtherLocset2) ========================================= -disjointNotInOtherLocset2 { -\assumes ([equals(intersect(s,s2),empty)]==>[]) -\find(elementOf(o,f,s2)==>) -\add []==>[elementOf(o,f,s)] +== disjointNotInOtherSet2 (disjointNotInOtherSet2) ========================================= +disjointNotInOtherSet2 { +\assumes ([equals(intersect(s,s2),empty)]==>[]) +\find(elementOf(e,s2)==>) +\add []==>[elementOf(e,s)] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == disjointToElementOf (disjointToElementOf) ========================================= disjointToElementOf { -\find(disjoint(s,s2)) -\varcond(\notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), s (LocSet term))) -\replacewith(all{ov (variable)}(all{fv (variable)}(or(not(elementOf(ov,fv,s)),not(elementOf(ov,fv,s2)))))) +\find(disjoint(s,t)) +\varcond(\notFreeIn(av (variable), t (Set term)), \notFreeIn(av (variable), s (Set term))) +\replacewith(all{av (variable)}(or(not(elementOf(av,s)),not(elementOf(av,t))))) +\heuristics(semantics_blasting) +Choices: true} +----------------------------------------------------- +== disjointToElementOfLocSet (disjointToElementOfLocSet) ========================================= +disjointToElementOfLocSet { +\find(disjoint>(s,s2)) +\varcond(\notFreeIn(fv (variable), s2 (Set> term)), \notFreeIn(fv (variable), s (Set> term)), \notFreeIn(ov (variable), s2 (Set> term)), \notFreeIn(ov (variable), s (Set> term))) +\replacewith(all{ov (variable)}(all{fv (variable)}(or(not(elementOf>(pair(ov,fv),s)),not(elementOf>(pair(ov,fv),s2)))))) \heuristics(semantics_blasting) Choices: programRules:Java} ----------------------------------------------------- == disjointWithEmpty (disjointWithEmpty) ========================================= disjointWithEmpty { -\find(disjoint(empty,s)) +\find(disjoint(empty,s)) \replacewith(true) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == disjointWithSingleton1 (disjointWithSingleton) ========================================= disjointWithSingleton1 { -\find(equals(intersect(s,singleton(o,f)),empty)) -\replacewith(not(elementOf(o,f,s))) +\find(equals(intersect(s,singleton(e)),empty)) +\replacewith(not(elementOf(e,s))) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == disjointWithSingleton2 (disjointWithSingleton) ========================================= disjointWithSingleton2 { -\find(equals(intersect(singleton(o,f),s),empty)) -\replacewith(not(elementOf(o,f,s))) +\find(equals(intersect(singleton(e),s),empty)) +\replacewith(not(elementOf(e,s))) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == dismissNonSelectedField (dismissNonSelectedField) ========================================= dismissNonSelectedField { @@ -5880,17 +5930,33 @@ Choices: true} ----------------------------------------------------- == distributeIntersection (distributeIntersection) ========================================= distributeIntersection { -\find(intersect(s1,union(s2,s3))) -\replacewith(union(intersect(s1,s2),intersect(s1,s3))) -\heuristics(simplify_enlarging) -Choices: programRules:Java} +\find(intersect(distributedSet,union(unionLeft,unionRight))) +\replacewith(union(intersect(distributedSet,unionLeft),intersect(distributedSet,unionRight))) +\heuristics(setDist) +Choices: true} ----------------------------------------------------- -== distributeIntersection_2 (distributeIntersection_2) ========================================= -distributeIntersection_2 { -\find(intersect(union(s2,s3),s1)) -\replacewith(union(intersect(s2,s1),intersect(s3,s1))) -\heuristics(simplify_enlarging) -Choices: programRules:Java} +== distributeIntersection2 (distributeIntersection2) ========================================= +distributeIntersection2 { +\find(intersect(union(unionLeft,unionRight),distributedSet)) +\replacewith(union(intersect(unionLeft,distributedSet),intersect(unionRight,distributedSet))) +\heuristics(setDist) +Choices: true} +----------------------------------------------------- +== distributeIntersection2EQ (distributeIntersection2EQ) ========================================= +distributeIntersection2EQ { +\assumes ([equals(union(unionLeft,unionRight),EQ)]==>[]) +\find(intersect(EQ,distributedSet)) +\replacewith(union(intersect(unionLeft,distributedSet),intersect(unionRight,distributedSet))) +\heuristics(setDist) +Choices: true} +----------------------------------------------------- +== distributeIntersectionEQ (distributeIntersectionEQ) ========================================= +distributeIntersectionEQ { +\assumes ([equals(union(unionLeft,unionRight),EQ)]==>[]) +\find(intersect(distributedSet,EQ)) +\replacewith(union(intersect(distributedSet,unionLeft),intersect(distributedSet,unionRight))) +\heuristics(setDist) +Choices: true} ----------------------------------------------------- == divAddMultDenom (divAddMultDenom) ========================================= divAddMultDenom { @@ -6254,36 +6320,44 @@ Choices: programRules:Java} ----------------------------------------------------- == elementOfAllFields (elementOfAllFields) ========================================= elementOfAllFields { -\find(elementOf(o,f,allFields(o2))) -\replacewith(equals(o,o2)) +\find(elementOf>(p,allFields(o2))) +\replacewith(equals(first(p),o2)) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == elementOfAllLocs (elementOfAllLocs) ========================================= elementOfAllLocs { -\find(elementOf(o,f,allLocs)) +\find(elementOf>(l,allLocs)) \replacewith(true) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == elementOfAllObjects (elementOfAllObjects) ========================================= elementOfAllObjects { -\find(elementOf(o,f,allObjects(f2))) -\replacewith(equals(f,f2)) +\find(elementOf>(l,allObjects(f2))) +\replacewith(equals(second(l),f2)) +\heuristics(concrete) +Choices: programRules:Java} +----------------------------------------------------- +== elementOfAllObjectsEQ (elementOfAllObjectsEQ) ========================================= +elementOfAllObjectsEQ { +\assumes ([equals(allObjects(f2),EQ)]==>[]) +\find(elementOf>(l,EQ)) +\replacewith(equals(second(l),f2)) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == elementOfArrayRange (elementOfArrayRange) ========================================= elementOfArrayRange { -\find(elementOf(o,f,arrayRange(o2,lower,upper))) -\varcond(\notFreeIn(iv (variable), upper (int term)), \notFreeIn(iv (variable), lower (int term)), \notFreeIn(iv (variable), f (Field term))) -\replacewith(and(equals(o,o2),exists{iv (variable)}(and(and(equals(f,arr(iv)),leq(lower,iv)),leq(iv,upper))))) +\find(elementOf>(l,arrayRange(o2,lower,upper))) +\varcond(\notFreeIn(iv (variable), upper (int term)), \notFreeIn(iv (variable), lower (int term)), \notFreeIn(iv (variable), l (Pair term))) +\replacewith(and(equals(first(l),o2),exists{iv (variable)}(and(and(equals(second(l),arr(iv)),leq(lower,iv)),leq(iv,upper))))) \heuristics(simplify_enlarging) Choices: programRules:Java} ----------------------------------------------------- == elementOfArrayRangeConcrete (elementOfArrayRangeConcrete) ========================================= elementOfArrayRangeConcrete { -\find(elementOf(o,arr(idx),arrayRange(o2,lower,upper))) +\find(elementOf>(pair(o,arr(idx)),arrayRange(o2,lower,upper))) \replacewith(and(and(equals(o,o2),leq(lower,idx)),leq(idx,upper))) \heuristics(simplify) Choices: programRules:Java} @@ -6291,142 +6365,142 @@ Choices: programRules:Java} == elementOfArrayRangeEQ (elementOfArrayRangeEQ) ========================================= elementOfArrayRangeEQ { \assumes ([equals(arrayRange(o2,lower,upper),EQ)]==>[]) -\find(elementOf(o,f,EQ)) -\varcond(\notFreeIn(iv (variable), upper (int term)), \notFreeIn(iv (variable), lower (int term)), \notFreeIn(iv (variable), f (Field term))) -\replacewith(and(equals(o,o2),exists{iv (variable)}(and(and(equals(f,arr(iv)),leq(lower,iv)),leq(iv,upper))))) +\find(elementOf>(l,EQ)) +\varcond(\notFreeIn(iv (variable), upper (int term)), \notFreeIn(iv (variable), lower (int term)), \notFreeIn(iv (variable), l (Pair term))) +\replacewith(and(equals(first(l),o2),exists{iv (variable)}(and(and(equals(second(l),arr(iv)),leq(lower,iv)),leq(iv,upper))))) \heuristics(simplify) Choices: programRules:Java} ----------------------------------------------------- == elementOfEmpty (elementOfEmpty) ========================================= elementOfEmpty { -\find(elementOf(o,f,empty)) +\find(elementOf(a,empty)) \replacewith(false) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfFreshLocs (elementOfFreshLocs) ========================================= elementOfFreshLocs { -\find(elementOf(o,f,freshLocs(h))) -\replacewith(and(not(equals(o,null)),not(equals(select(h,o,java.lang.Object::#$created),TRUE)))) +\find(elementOf>(p,freshLocs(h))) +\replacewith(and(not(equals(first(p),null)),not(equals(select(h,first(p),java.lang.Object::#$created),TRUE)))) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == elementOfGuardedSet (elementOfGuardedSet) ========================================= elementOfGuardedSet { -\find(elementOf(o,f,if-then-else(phi,s,empty))) -\replacewith(and(phi,elementOf(o,f,s))) +\find(elementOf(e,if-then-else(phi,s,empty))) +\replacewith(and(phi,elementOf(e,s))) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfInfiniteUnion (elementOfInfiniteUnion) ========================================= elementOfInfiniteUnion { -\find(elementOf(o,f,infiniteUnion{av (variable)}(s))) -\varcond(\notFreeIn(av (variable), f (Field term)), \notFreeIn(av (variable), o (java.lang.Object term))) -\replacewith(exists{av (variable)}(elementOf(o,f,s))) +\find(elementOf(a,infiniteUnion{av (variable)}(s))) +\varcond(\notFreeIn(av (variable), a (T term))) +\replacewith(exists{av (variable)}(elementOf(a,s))) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfInfiniteUnion2Vars (elementOfInfiniteUnion2Vars) ========================================= elementOfInfiniteUnion2Vars { -\find(elementOf(o,f,infiniteUnion{av (variable),bv (variable)}(s))) -\varcond(\notFreeIn(bv (variable), f (Field term)), \notFreeIn(bv (variable), o (java.lang.Object term)), \notFreeIn(av (variable), f (Field term)), \notFreeIn(av (variable), o (java.lang.Object term))) -\replacewith(exists{av (variable)}(exists{bv (variable)}(elementOf(o,f,s)))) +\find(elementOf>(l,infiniteUnion>{av (variable),bv (variable)}(s))) +\varcond(\notFreeIn(bv (variable), l (Pair term)), \notFreeIn(av (variable), l (Pair term))) +\replacewith(exists{av (variable)}(exists{bv (variable)}(elementOf>(l,s)))) \heuristics(simplify) Choices: programRules:Java} ----------------------------------------------------- == elementOfInfiniteUnion2VarsEQ (elementOfInfiniteUnion2VarsEQ) ========================================= elementOfInfiniteUnion2VarsEQ { -\assumes ([equals(infiniteUnion{av (variable),bv (variable)}(s),EQ)]==>[]) -\find(elementOf(o,f,EQ)) -\varcond(\notFreeIn(bv (variable), f (Field term)), \notFreeIn(bv (variable), o (java.lang.Object term)), \notFreeIn(av (variable), f (Field term)), \notFreeIn(av (variable), o (java.lang.Object term))) -\replacewith(exists{av (variable)}(exists{bv (variable)}(elementOf(o,f,s)))) +\assumes ([equals(infiniteUnion>{av (variable),bv (variable)}(s),EQ)]==>[]) +\find(elementOf>(l,EQ)) +\varcond(\notFreeIn(bv (variable), l (Pair term)), \notFreeIn(av (variable), l (Pair term))) +\replacewith(exists{av (variable)}(exists{bv (variable)}(elementOf>(l,s)))) \heuristics(simplify) Choices: programRules:Java} ----------------------------------------------------- == elementOfInfiniteUnionEQ (elementOfInfiniteUnionEQ) ========================================= elementOfInfiniteUnionEQ { -\assumes ([equals(infiniteUnion{av (variable)}(s),EQ)]==>[]) -\find(elementOf(o,f,EQ)) -\varcond(\notFreeIn(av (variable), f (Field term)), \notFreeIn(av (variable), o (java.lang.Object term))) -\replacewith(exists{av (variable)}(elementOf(o,f,s))) +\assumes ([equals(infiniteUnion{av (variable)}(s),EQ)]==>[]) +\find(elementOf(a,EQ)) +\varcond(\notFreeIn(av (variable), a (T term))) +\replacewith(exists{av (variable)}(elementOf(a,s))) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfIntersect (elementOfIntersect) ========================================= elementOfIntersect { -\find(elementOf(o,f,intersect(s,s2))) -\replacewith(and(elementOf(o,f,s),elementOf(o,f,s2))) +\find(elementOf(a,intersect(s,t))) +\replacewith(and(elementOf(a,s),elementOf(a,t))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfIntersectEQ (elementOfIntersectEQ) ========================================= elementOfIntersectEQ { -\assumes ([equals(intersect(s,s2),EQ)]==>[]) -\find(elementOf(o,f,EQ)) -\replacewith(and(elementOf(o,f,s),elementOf(o,f,s2))) +\assumes ([equals(intersect(s,t),EQ)]==>[]) +\find(elementOf(a,EQ)) +\replacewith(and(elementOf(a,s),elementOf(a,t))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfSetMinus (elementOfSetMinus) ========================================= elementOfSetMinus { -\find(elementOf(o,f,setMinus(s,s2))) -\replacewith(and(elementOf(o,f,s),not(elementOf(o,f,s2)))) +\find(elementOf(a,setMinus(s,t))) +\replacewith(and(elementOf(a,s),not(elementOf(a,t)))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfSetMinusEQ (elementOfSetMinusEQ) ========================================= elementOfSetMinusEQ { -\assumes ([equals(setMinus(s,s2),EQ)]==>[]) -\find(elementOf(o,f,EQ)) -\replacewith(and(elementOf(o,f,s),not(elementOf(o,f,s2)))) +\assumes ([equals(setMinus(s,t),EQ)]==>[]) +\find(elementOf(a,EQ)) +\replacewith(and(elementOf(a,s),not(elementOf(a,t)))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfSingleton (elementOfSingleton) ========================================= elementOfSingleton { -\find(elementOf(o,f,singleton(o2,f2))) -\replacewith(and(equals(o,o2),equals(f,f2))) +\find(elementOf(a,singleton(b))) +\replacewith(equals(a,b)) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfSubsetImpliesElementOfSuperset (elementOfSubsetImpliesElementOfSuperset) ========================================= elementOfSubsetImpliesElementOfSuperset { -\assumes ([subset(s,s2)]==>[]) -\find(elementOf(o,f,s)==>) -\add [elementOf(o,f,s2)]==>[] +\assumes ([subset(s,s2)]==>[]) +\find(elementOf(e,s)==>) +\add [elementOf(e,s2)]==>[] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfSubsetOfUnion1 (elementOfSubsetOfUnion1) ========================================= elementOfSubsetOfUnion1 { -\assumes ([subset(s,union(s2,s3))]==>[elementOf(o,f,s2)]) -\find(elementOf(o,f,s)) -\add [equiv(elementOf(o,f,s),elementOf(o,f,intersect(s,s3)))]==>[] +\assumes ([subset(s,union(s2,s3))]==>[elementOf(e,s2)]) +\find(elementOf(e,s)) +\add [equiv(elementOf(e,s),elementOf(e,intersect(s,s3)))]==>[] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfSubsetOfUnion2 (elementOfSubsetOfUnion2) ========================================= elementOfSubsetOfUnion2 { -\assumes ([subset(s,union(s2,s3))]==>[elementOf(o,f,s3)]) -\find(elementOf(o,f,s)) -\add [equiv(elementOf(o,f,s),elementOf(o,f,intersect(s,s2)))]==>[] +\assumes ([subset(s,union(s2,s3))]==>[elementOf(e,s3)]) +\find(elementOf(e,s)) +\add [equiv(elementOf(e,s),elementOf(e,intersect(s,s2)))]==>[] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfUnion (elementOfUnion) ========================================= elementOfUnion { -\find(elementOf(o,f,union(s,s2))) -\replacewith(or(elementOf(o,f,s),elementOf(o,f,s2))) +\find(elementOf(a,union(s,t))) +\replacewith(or(elementOf(a,s),elementOf(a,t))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elementOfUnionEQ (elementOfUnionEQ) ========================================= elementOfUnionEQ { -\assumes ([equals(union(s,s2),EQ)]==>[]) -\find(elementOf(o,f,EQ)) -\replacewith(or(elementOf(o,f,s),elementOf(o,f,s2))) +\assumes ([equals(union(s,t),EQ)]==>[]) +\find(elementOf(a,EQ)) +\replacewith(or(elementOf(a,s),elementOf(a,t))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == elimGcdEq (elimGcdEq) ========================================= elimGcdEq { @@ -6718,25 +6792,25 @@ Choices: true} ----------------------------------------------------- == elim_exists_sub_1 (elim_exists_sub_1) ========================================= elim_exists_sub_1 { -\find(exists{locVar (variable)}(and(subset(locVar,locSetTermRight),subset(locSetTermLeft,locVar)))) -\varcond(\notFreeIn(locVar (variable), locSetTermRight (LocSet term)), \notFreeIn(locVar (variable), locSetTermLeft (LocSet term))) -\replacewith(subset(locSetTermLeft,locSetTermRight)) +\find(exists{locVar (variable)}(and(subset(locVar,locSetTermRight),subset(locSetTermLeft,locVar)))) +\varcond(\notFreeIn(locVar (variable), locSetTermRight (Set term)), \notFreeIn(locVar (variable), locSetTermLeft (Set term))) +\replacewith(subset(locSetTermLeft,locSetTermRight)) \heuristics(elimQuantifier) Choices: true} ----------------------------------------------------- == elim_exists_sub_1_and_phi (elim_exists_sub_1_and_phi) ========================================= elim_exists_sub_1_and_phi { -\find(exists{locVar (variable)}(and(and(subset(locVar,locSetTerm),subset(locSetTerm,locVar)),phi))) -\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term))) +\find(exists{locVar (variable)}(and(and(subset(locVar,locSetTerm),subset(locSetTerm,locVar)),phi))) +\varcond(\notFreeIn(locVar (variable), locSetTerm (Set term))) \replacewith(exists{locVar (variable)}(and(equals(locVar,locSetTerm),phi))) \heuristics(elimQuantifier) Choices: true} ----------------------------------------------------- == elim_exists_sub_1_or_phi (elim_exists_sub_1_or_phi) ========================================= elim_exists_sub_1_or_phi { -\find(exists{locVar (variable)}(or(and(subset(locVar,locSetTermRight),subset(locSetTermLeft,locVar)),phi))) -\varcond(\notFreeIn(locVar (variable), locSetTermRight (LocSet term)), \notFreeIn(locVar (variable), locSetTermLeft (LocSet term))) -\replacewith(or(subset(locSetTermLeft,locSetTermRight),exists{locVar (variable)}(phi))) +\find(exists{locVar (variable)}(or(and(subset(locVar,locSetTermRight),subset(locSetTermLeft,locVar)),phi))) +\varcond(\notFreeIn(locVar (variable), locSetTermRight (Set term)), \notFreeIn(locVar (variable), locSetTermLeft (Set term))) +\replacewith(or(subset(locSetTermLeft,locSetTermRight),exists{locVar (variable)}(phi))) \heuristics(elimQuantifier) Choices: true} ----------------------------------------------------- @@ -6902,8 +6976,8 @@ Choices: true} ----------------------------------------------------- == elim_forall_eqSet_imp_phi (elim_forall_eqSet_imp_phi) ========================================= elim_forall_eqSet_imp_phi { -\find(all{locVar (variable)}(imp(and(subset(locVar,locSetTerm),subset(locSetTerm,locVar)),phi))) -\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term))) +\find(all{locVar (variable)}(imp(and(subset(locVar,locSetTerm),subset(locSetTerm,locVar)),phi))) +\varcond(\notFreeIn(locVar (variable), locSetTerm (Set term))) \replacewith(all{locVar (variable)}(imp(equals(locSetTerm,locVar),phi))) \heuristics(elimQuantifier) Choices: true} @@ -6966,42 +7040,42 @@ Choices: true} ----------------------------------------------------- == elim_forall_subOfAll (elim_forall_subOfAll) ========================================= elim_forall_subOfAll { -\find(all{locVar (variable)}(subset(locSetTerm,locVar))) -\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term))) -\replacewith(equals(locSetTerm,empty)) +\find(all{locVar (variable)}(subset(locSetTerm,locVar))) +\varcond(\notFreeIn(locVar (variable), locSetTerm (Set term))) +\replacewith(equals(locSetTerm,empty)) \heuristics(elimQuantifier) Choices: true} ----------------------------------------------------- == elim_forall_subOfAll_and_phi (elim_forall_subOfAll_and_phi) ========================================= elim_forall_subOfAll_and_phi { -\find(all{locVar (variable)}(and(subset(locSetTerm,locVar),phi))) -\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term))) -\replacewith(and(equals(locSetTerm,empty),all{locVar (variable)}(phi))) +\find(all{locVar (variable)}(and(subset(locSetTerm,locVar),phi))) +\varcond(\notFreeIn(locVar (variable), locSetTerm (Set term))) +\replacewith(and(equals(locSetTerm,empty),all{locVar (variable)}(phi))) \heuristics(elimQuantifier) Choices: true} ----------------------------------------------------- == elim_forall_superOfAll (elim_forall_superOfAll) ========================================= elim_forall_superOfAll { -\find(all{locVar (variable)}(subset(locVar,locSetTerm))) -\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term))) +\find(all{locVar (variable)}(subset>(locVar,locSetTerm))) +\varcond(\notFreeIn(locVar (variable), locSetTerm (Set> term))) \replacewith(equals(locSetTerm,allLocs)) \heuristics(elimQuantifier) Choices: true} ----------------------------------------------------- == elim_forall_superOfAll_and_phi (elim_forall_superOfAll_and_phi) ========================================= elim_forall_superOfAll_and_phi { -\find(all{locVar (variable)}(and(subset(locVar,locSetTerm),phi))) -\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term))) +\find(all{locVar (variable)}(and(subset>(locVar,locSetTerm),phi))) +\varcond(\notFreeIn(locVar (variable), locSetTerm (Set> term))) \replacewith(and(equals(locSetTerm,allLocs),all{locVar (variable)}(phi))) \heuristics(elimQuantifier) Choices: true} ----------------------------------------------------- == emptyEqualsSingleton (emptyEqualsSingleton) ========================================= emptyEqualsSingleton { -\find(equals(empty,singleton(o,f))) +\find(equals(empty,singleton(a))) \replacewith(false) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == emptyModality (emptyModality) ========================================= emptyModality { @@ -7295,35 +7369,27 @@ Choices: true} ----------------------------------------------------- == equalityOfSingleton (equalityOfSingleton) ========================================= equalityOfSingleton { -\find(equals(singleton(o1,f1),singleton(o2,f2))) -\replacewith(and(equals(o1,o2),equals(f1,f2))) +\find(equals(singleton(e1),singleton(e2))) +\replacewith(equals(e1,e2)) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == equalityToElementOf (equalityToElementOf) ========================================= equalityToElementOf { -\find(equals(s,s2)) -\varcond(\notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), s (LocSet term))) -\replacewith(all{ov (variable)}(all{fv (variable)}(equiv(elementOf(ov,fv,s),elementOf(ov,fv,s2))))) +\find(equals(s,t)) +\varcond(\notFreeIn(av (variable), t (Set term)), \notFreeIn(av (variable), s (Set term))) +\replacewith(all{av (variable)}(equiv(elementOf(av,s),elementOf(av,t)))) \heuristics(semantics_blasting) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == equalityToElementOfRight (equalityToElementOfRight) ========================================= equalityToElementOfRight { \find(==>equals(s,s2)) -\varcond(\notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), s (LocSet term))) -\replacewith([]==>[all{ov (variable)}(all{fv (variable)}(equiv(elementOf(ov,fv,s),elementOf(ov,fv,s2))))]) -\heuristics(setEqualityBlastingRight) +\varcond(\notFreeIn(fv (variable), s2 (Set> term)), \notFreeIn(fv (variable), s (Set> term)), \notFreeIn(ov (variable), s2 (Set> term)), \notFreeIn(ov (variable), s (Set> term))) +\replacewith([]==>[all{ov (variable)}(all{fv (variable)}(equiv(elementOf>(pair(ov,fv),s),elementOf>(pair(ov,fv),s2))))]) +\heuristics(locSetEqualityBlastingRight) Choices: programRules:Java} ----------------------------------------------------- -== equalityToSElementOf (equalityToSElementOf) ========================================= -equalityToSElementOf { -\find(equals(s,t)) -\varcond(\notFreeIn(av (variable), t (Set term)), \notFreeIn(av (variable), s (Set term))) -\replacewith(all{av (variable)}(equiv(sElementOf(av,s),sElementOf(av,t)))) -\heuristics(simplify_enlarging) -Choices: true} ------------------------------------------------------ == equalityToSelect (equalityToSelect) ========================================= equalityToSelect { \find(equals(h,h2)) @@ -9520,7 +9586,7 @@ Choices: (programRules:Java & JavaCard:on)} ----------------------------------------------------- == firstOfPair (firstOfPair) ========================================= firstOfPair { -\find(first(pair(t,t1))) +\find(first(pair(t,t1))) \replacewith(t) \heuristics(concrete) Choices: true} @@ -9682,7 +9748,7 @@ Choices: sequences:on} getOfSeqConcatEQ { \assumes ([equals(seqConcat(seq,seq2),EQ)]==>[]) \find(seqGet(EQ,idx)) -\replacewith(if-then-else(lt(idx,seqLen(seq)),seqGet(seq,idx),seqGet(seq2,sub(idx,seqLen(seq))))) +\replacewith(if-then-else(lt(idx,seqLen(seq)),seqGet(seq,idx),seqGet(seq2,sub(idx,seqLen(seq))))) \heuristics(no_self_application, simplify_enlarging) Choices: sequences:on} ----------------------------------------------------- @@ -11305,11 +11371,11 @@ Choices: programRules:Java} ----------------------------------------------------- == infiniteUnionUnused (infiniteUnionUnused) ========================================= infiniteUnionUnused { -\find(infiniteUnion{av (variable)}(s)) -\varcond(\notFreeIn(av (variable), s (LocSet term))) +\find(infiniteUnion{av (variable)}(s)) +\varcond(\notFreeIn(av (variable), s (Set term))) \replacewith(s) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == insert_constant_string_value (insert_constant_string_value) ========================================= insert_constant_string_value { @@ -11586,72 +11652,342 @@ int_induction { Choices: true} ----------------------------------------------------- +== intersectAllFieldsAllObjects (intersectAllFieldsAllObjects) ========================================= +intersectAllFieldsAllObjects { +\find(intersect>(allFields(o),allObjects(f))) +\replacewith(singleton>(pair(o,f))) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectAllFieldsAllObjects2 (intersectAllFieldsAllObjects) ========================================= +intersectAllFieldsAllObjects2 { +\find(intersect>(allObjects(f),allFields(o))) +\replacewith(singleton>(pair(o,f))) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectAllFieldsAllObjects2EQ (intersectAllFieldsAllObjectsEQ) ========================================= +intersectAllFieldsAllObjects2EQ { +\assumes ([equals(allObjects(f),EQ)]==>[]) +\find(intersect>(EQ,allFields(o))) +\replacewith(singleton>(pair(o,f))) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectAllFieldsAllObjectsEQ (intersectAllFieldsAllObjectsEQ) ========================================= +intersectAllFieldsAllObjectsEQ { +\assumes ([equals(allFields(o),EQ)]==>[]) +\find(intersect>(EQ,allObjects(f))) +\replacewith(singleton>(pair(o,f))) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- == intersectAllFieldsFreshLocs (intersectAllFieldsFreshLocs) ========================================= intersectAllFieldsFreshLocs { -\find(equals(intersect(allFields(o),freshLocs(h)),empty)) +\find(equals(intersect>(allFields(o),freshLocs(h)),empty>)) \replacewith(or(equals(o,null),equals(select(h,o,java.lang.Object::#$created),TRUE))) \heuristics(simplify) Choices: programRules:Java} ----------------------------------------------------- +== intersectAllFieldsSingletonDiff (intersectAllFieldsSingleton) ========================================= +intersectAllFieldsSingletonDiff { +\assumes ([]==>[equals(o,o2)]) +\find(intersect>(allFields(o),singleton>(pair(o2,f)))) +\replacewith(empty>) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectAllFieldsSingletonDiff2 (intersectAllFieldsSingleton) ========================================= +intersectAllFieldsSingletonDiff2 { +\assumes ([]==>[equals(o,o2)]) +\find(intersect>(singleton>(pair(o2,f)),allFields(o))) +\replacewith(empty>) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectAllFieldsSingletonSame (intersectAllFieldsSingleton) ========================================= +intersectAllFieldsSingletonSame { +\find(intersect>(allFields(o),singleton>(pair(o,f)))) +\replacewith(singleton>(pair(o,f))) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectAllFieldsSingletonSame2 (intersectAllFieldsSingleton) ========================================= +intersectAllFieldsSingletonSame2 { +\find(intersect>(singleton>(pair(o,f)),allFields(o))) +\replacewith(singleton>(pair(o,f))) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectAllObjectsSingletonDiff (intersectAllObjectsSingleton) ========================================= +intersectAllObjectsSingletonDiff { +\assumes ([]==>[equals(f,f2)]) +\find(intersect>(allObjects(f),singleton>(pair(o,f2)))) +\replacewith(empty>) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectAllObjectsSingletonDiff2 (intersectAllObjectsSingleton) ========================================= +intersectAllObjectsSingletonDiff2 { +\assumes ([]==>[equals(f,f2)]) +\find(intersect>(singleton>(pair(o,f2)),allObjects(f))) +\replacewith(empty>) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectAllObjectsSingletonSame (intersectAllObjectsSingleton) ========================================= +intersectAllObjectsSingletonSame { +\find(intersect>(allObjects(f),singleton>(pair(o,f)))) +\replacewith(singleton>(pair(o,f))) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectAllObjectsSingletonSame2 (intersectAllObjectsSingleton) ========================================= +intersectAllObjectsSingletonSame2 { +\find(intersect>(singleton>(pair(o,f)),allObjects(f))) +\replacewith(singleton>(pair(o,f))) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangeAllFieldsDiff (intersectArrayRangeAllFields) ========================================= +intersectArrayRangeAllFieldsDiff { +\assumes ([]==>[equals(o,o2)]) +\find(intersect>(arrayRange(o,lower,upper),allFields(o2))) +\replacewith(empty>) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangeAllFieldsDiff2 (intersectArrayRangeAllFields) ========================================= +intersectArrayRangeAllFieldsDiff2 { +\assumes ([]==>[equals(o,o2)]) +\find(intersect>(allFields(o2),arrayRange(o,lower,upper))) +\replacewith(empty>) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangeAllFieldsSame (intersectArrayRangeAllFields) ========================================= +intersectArrayRangeAllFieldsSame { +\find(intersect>(arrayRange(o,lower,upper),allFields(o))) +\replacewith(arrayRange(o,lower,upper)) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangeAllFieldsSame2 (intersectArrayRangeAllFields) ========================================= +intersectArrayRangeAllFieldsSame2 { +\find(intersect>(allFields(o),arrayRange(o,lower,upper))) +\replacewith(arrayRange(o,lower,upper)) +\heuristics(simplify) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangesDisjoint (intersectArrayRangesDisjoint) ========================================= +intersectArrayRangesDisjoint { +\find(intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2))) +\replacewith(if-then-else(lt(upper,lower2),empty>,intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2)))) +\heuristics(locSetArrayRangeInterDisjoint) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangesDisjoint2 (intersectArrayRangesDisjoint) ========================================= +intersectArrayRangesDisjoint2 { +\find(intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2))) +\replacewith(if-then-else(lt(upper2,lower),empty>,intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2)))) +\heuristics(locSetArrayRangeInterDisjoint2) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangesDisjoint2EQ (intersectArrayRangesDisjointEQ) ========================================= +intersectArrayRangesDisjoint2EQ { +\assumes ([equals(arrayRange(o,lower2,upper2),EQ)]==>[]) +\find(intersect>(arrayRange(o,lower,upper),EQ)) +\replacewith(if-then-else(lt(upper2,lower),empty>,intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2)))) +\heuristics(locSetArrayRangeInterDisjoint2) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangesDisjointEQ (intersectArrayRangesDisjointEQ) ========================================= +intersectArrayRangesDisjointEQ { +\assumes ([equals(arrayRange(o,lower,upper),EQ)]==>[]) +\find(intersect>(EQ,arrayRange(o,lower2,upper2))) +\replacewith(if-then-else(lt(upper,lower2),empty>,intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2)))) +\heuristics(locSetArrayRangeInterDisjoint) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangesNested (intersectArrayRangesNested) ========================================= +intersectArrayRangesNested { +\find(intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2))) +\replacewith(if-then-else(and(leq(lower,lower2),leq(upper2,upper)),arrayRange(o,lower2,upper2),intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2)))) +\heuristics(locSetArrayRangeInterNested) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangesNested2 (intersectArrayRangesNested) ========================================= +intersectArrayRangesNested2 { +\find(intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2))) +\replacewith(if-then-else(and(leq(lower2,lower),leq(upper,upper2)),arrayRange(o,lower,upper),intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2)))) +\heuristics(locSetArrayRangeInterNested2) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangesNested2EQ (intersectArrayRangesNestedEQ) ========================================= +intersectArrayRangesNested2EQ { +\assumes ([equals(arrayRange(o,lower2,upper2),EQ)]==>[]) +\find(intersect>(arrayRange(o,lower,upper),EQ)) +\replacewith(if-then-else(and(leq(lower2,lower),leq(upper,upper2)),arrayRange(o,lower,upper),intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2)))) +\heuristics(locSetArrayRangeInterNested2) +Choices: programRules:Java} +----------------------------------------------------- +== intersectArrayRangesNestedEQ (intersectArrayRangesNestedEQ) ========================================= +intersectArrayRangesNestedEQ { +\assumes ([equals(arrayRange(o,lower,upper),EQ)]==>[]) +\find(intersect>(EQ,arrayRange(o,lower2,upper2))) +\replacewith(if-then-else(and(leq(lower,lower2),leq(upper2,upper)),arrayRange(o,lower2,upper2),intersect>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2)))) +\heuristics(locSetArrayRangeInterNested) +Choices: programRules:Java} +----------------------------------------------------- +== intersectUnionEqualsEmpty (intersectUnionEqualsEmpty) ========================================= +intersectUnionEqualsEmpty { +\find(equals(intersect(union(s,s2),t),empty)) +\replacewith(and(equals(intersect(s,t),empty),equals(intersect(s2,t),empty))) +\heuristics(simplify_enlarging) +Choices: true} +----------------------------------------------------- +== intersectUnionEqualsEmpty2 (intersectUnionEqualsEmpty2) ========================================= +intersectUnionEqualsEmpty2 { +\find(equals(intersect(t,union(s,s2)),empty)) +\replacewith(and(equals(intersect(t,s),empty),equals(intersect(t,s2),empty))) +\heuristics(simplify_enlarging) +Choices: true} +----------------------------------------------------- +== intersectUnionEqualsEmpty2EQ (intersectUnionEqualsEmpty2EQ) ========================================= +intersectUnionEqualsEmpty2EQ { +\assumes ([equals(union(s,s2),EQ)]==>[]) +\find(equals(intersect(t,EQ),empty)) +\replacewith(and(equals(intersect(t,s),empty),equals(intersect(t,s2),empty))) +\heuristics(simplify_enlarging) +Choices: true} +----------------------------------------------------- +== intersectUnionEqualsEmptyEQ (intersectUnionEqualsEmptyEQ) ========================================= +intersectUnionEqualsEmptyEQ { +\assumes ([equals(union(s,s2),EQ)]==>[]) +\find(equals(intersect(EQ,t),empty)) +\replacewith(and(equals(intersect(s,t),empty),equals(intersect(s2,t),empty))) +\heuristics(simplify_enlarging) +Choices: true} +----------------------------------------------------- +== intersectUnionItself (intersectUnionItself) ========================================= +intersectUnionItself { +\find(intersect(union(s1,s2),s1)) +\replacewith(s1) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== intersectUnionItself2 (intersectUnionItself) ========================================= +intersectUnionItself2 { +\find(intersect(union(s2,s1),s1)) +\replacewith(s1) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== intersectUnionItself2EQ (intersectUnionItselfEQ) ========================================= +intersectUnionItself2EQ { +\assumes ([equals(union(s2,s1),EQ)]==>[]) +\find(intersect(EQ,s1)) +\replacewith(s1) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== intersectUnionItself3 (intersectUnionItself) ========================================= +intersectUnionItself3 { +\find(intersect(s1,union(s1,s2))) +\replacewith(s1) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== intersectUnionItself3EQ (intersectUnionItselfEQ) ========================================= +intersectUnionItself3EQ { +\assumes ([equals(union(s1,s2),EQ)]==>[]) +\find(intersect(s1,EQ)) +\replacewith(s1) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== intersectUnionItself4 (intersectUnionItself) ========================================= +intersectUnionItself4 { +\find(intersect(s1,union(s2,s1))) +\replacewith(s1) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== intersectUnionItself4EQ (intersectUnionItselfEQ) ========================================= +intersectUnionItself4EQ { +\assumes ([equals(union(s2,s1),EQ)]==>[]) +\find(intersect(s1,EQ)) +\replacewith(s1) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== intersectUnionItselfEQ (intersectUnionItselfEQ) ========================================= +intersectUnionItselfEQ { +\assumes ([equals(union(s1,s2),EQ)]==>[]) +\find(intersect(EQ,s1)) +\replacewith(s1) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- == intersectWithAllLocs (intersectWithAllLocs) ========================================= intersectWithAllLocs { -\find(intersect(allLocs,s)) +\find(intersect>(allLocs,s)) \replacewith(s) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == intersectWithAllLocsRight (intersectWithAllLocs) ========================================= intersectWithAllLocsRight { -\find(intersect(s,allLocs)) +\find(intersect>(s,allLocs)) \replacewith(s) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == intersectWithEmpty (intersectWithEmpty) ========================================= intersectWithEmpty { -\find(intersect(empty,s)) -\replacewith(empty) +\find(intersect(empty,s)) +\replacewith(empty) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == intersectWithEmptyRight (intersectWithEmpty) ========================================= intersectWithEmptyRight { -\find(intersect(s,empty)) -\replacewith(empty) +\find(intersect(s,empty)) +\replacewith(empty) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == intersectWithItself (intersectWithItself) ========================================= intersectWithItself { -\find(intersect(s,s)) +\find(intersect(s,s)) \replacewith(s) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == intersectWithSingleton (intersectWithSingleton) ========================================= intersectWithSingleton { -\find(intersect(singleton(o,f),s)) -\replacewith(if-then-else(elementOf(o,f,s),singleton(o,f),empty)) +\find(intersect(singleton(e),s)) +\replacewith(if-then-else(elementOf(e,s),singleton(e),empty)) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == intersectionSetMinusItself (intersectionSetMinusItself) ========================================= intersectionSetMinusItself { -\find(intersect(setMinus(s1,s2),s2)) -\replacewith(empty) +\find(intersect(setMinus(s1,s2),s2)) +\replacewith(empty) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == intersectionSetMinusItself_2 (intersectionSetMinusItself_2) ========================================= intersectionSetMinusItself_2 { -\find(intersect(s2,setMinus(s1,s2))) -\replacewith(empty) +\find(intersect(s2,setMinus(s1,s2))) +\replacewith(empty) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == intro (intro) ========================================= intro { -\add [equals(t,sk)]==>[] +\add [equals(t,sk)]==>[] Choices: true} ----------------------------------------------------- @@ -12969,7 +13305,7 @@ Choices: true} ----------------------------------------------------- == memsetEmpty (memsetEmpty) ========================================= memsetEmpty { -\find(memset(h,empty,x)) +\find(memset(h,empty>,x)) \replacewith(h) \heuristics(concrete) Choices: programRules:Java} @@ -13879,11 +14215,11 @@ Choices: true} ----------------------------------------------------- == noElementOfSupersetImpliesNoElementOfSubset (noElementOfSupersetImpliesNoElementOfSubset) ========================================= noElementOfSupersetImpliesNoElementOfSubset { -\assumes ([subset(s,s2)]==>[]) -\find(==>elementOf(o,f,s2)) -\add []==>[elementOf(o,f,s)] +\assumes ([subset(s,s2)]==>[]) +\find(==>elementOf(e,s2)) +\add []==>[elementOf(e,s)] \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == nonNull (nonNull) ========================================= nonNull { @@ -13989,32 +14325,32 @@ Choices: programRules:Java} == onlyCreatedObjectsAreInLocSets (onlyCreatedObjectsAreInLocSets) ========================================= onlyCreatedObjectsAreInLocSets { \assumes ([wellFormed(h)]==>[]) -\find(elementOf(o2,f2,select(h,o,f))==>) -\add [or(equals(o2,null),equals(select(h,o2,java.lang.Object::#$created),TRUE))]==>[] +\find(elementOf>(l,select>>(h,o,f))==>) +\add [or(equals(first(l),null),equals(select(h,first(l),java.lang.Object::#$created),TRUE))]==>[] \heuristics(inReachableStateImplication) Choices: programRules:Java} ----------------------------------------------------- == onlyCreatedObjectsAreInLocSetsEQ (onlyCreatedObjectsAreInLocSetsEQ) ========================================= onlyCreatedObjectsAreInLocSetsEQ { -\assumes ([wellFormed(h),equals(select(h,o,f),EQ)]==>[]) -\find(elementOf(o2,f2,EQ)==>) -\add [or(equals(o2,null),equals(select(h,o2,java.lang.Object::#$created),TRUE))]==>[] +\assumes ([wellFormed(h),equals(select>>(h,o,f),EQ)]==>[]) +\find(elementOf>(l,EQ)==>) +\add [or(equals(first(l),null),equals(select(h,first(l),java.lang.Object::#$created),TRUE))]==>[] \heuristics(inReachableStateImplication) Choices: programRules:Java} ----------------------------------------------------- == onlyCreatedObjectsAreInLocSetsFinal (onlyCreatedObjectsAreInLocSetsFinal) ========================================= onlyCreatedObjectsAreInLocSetsFinal { \assumes ([wellFormed(h)]==>[]) -\find(elementOf(o2,f2,final(o,f))==>) -\add [or(equals(o2,null),equals(select(h,o2,java.lang.Object::#$created),TRUE))]==>[] +\find(elementOf>(l,final>>(o,f))==>) +\add [or(equals(first(l),null),equals(select(h,first(l),java.lang.Object::#$created),TRUE))]==>[] \heuristics(inReachableStateImplication) Choices: programRules:Java} ----------------------------------------------------- == onlyCreatedObjectsAreInLocSetsFinalEQ (onlyCreatedObjectsAreInLocSetsFinalEQ) ========================================= onlyCreatedObjectsAreInLocSetsFinalEQ { -\assumes ([wellFormed(h),equals(final(o,f),EQ)]==>[]) -\find(elementOf(o2,f2,EQ)==>) -\add [or(equals(o2,null),equals(select(h,o2,java.lang.Object::#$created),TRUE))]==>[] +\assumes ([wellFormed(h),equals(final>>(o,f),EQ)]==>[]) +\find(elementOf>(l,EQ)==>) +\add [or(equals(first(l),null),equals(select(h,first(l),java.lang.Object::#$created),TRUE))]==>[] \heuristics(inReachableStateImplication) Choices: programRules:Java} ----------------------------------------------------- @@ -14028,18 +14364,18 @@ Choices: programRules:Java} ----------------------------------------------------- == onlyCreatedObjectsAreObservedInLocSets (onlyCreatedObjectsAreObservedInLocSets) ========================================= onlyCreatedObjectsAreObservedInLocSets { -\find(elementOf(o,f,obs)==>) -\varcond(\isObserver (obs (LocSet term), h (Heap term))) -\add [or(equals(o,null),equals(select(h,o,java.lang.Object::#$created),TRUE))]==>[] +\find(elementOf>(l,obs)==>) +\varcond(\isObserver (obs (Set> term), h (Heap term))) +\add [or(equals(first(l),null),equals(select(h,first(l),java.lang.Object::#$created),TRUE))]==>[] \heuristics(inReachableStateImplication) Choices: programRules:Java} ----------------------------------------------------- == onlyCreatedObjectsAreObservedInLocSetsEQ (onlyCreatedObjectsAreObservedInLocSetsEQ) ========================================= onlyCreatedObjectsAreObservedInLocSetsEQ { \assumes ([equals(obs,EQ)]==>[]) -\find(elementOf(o,f,EQ)==>) -\varcond(\isObserver (obs (LocSet term), h (Heap term))) -\add [or(equals(o,null),equals(select(h,o,java.lang.Object::#$created),TRUE))]==>[] +\find(elementOf>(l,EQ)==>) +\varcond(\isObserver (obs (Set> term), h (Heap term))) +\add [or(equals(first(l),null),equals(select(h,first(l),java.lang.Object::#$created),TRUE))]==>[] \heuristics(inReachableStateImplication) Choices: programRules:Java} ----------------------------------------------------- @@ -14047,7 +14383,7 @@ Choices: programRules:Java} onlyCreatedObjectsAreReferenced { \assumes ([wellFormed(h)]==>[]) \find(select(h,o,f)) -\add [or(equals(select(h,o,f),null),equals(select(h,select(h,o,f),java.lang.Object::#$created),TRUE))]==>[] +\add [or(equals(select(h,o,f),null),equals(select(h,select(h,o,f),java.lang.Object::#$created),TRUE))]==>[] \heuristics(inReachableStateImplication) Choices: programRules:Java} ----------------------------------------------------- @@ -14115,6 +14451,14 @@ orRight { \find(==>or(b,c)) \replacewith([]==>[b,c]) \heuristics(alpha) +Choices: true} +----------------------------------------------------- +== pairAxiom (pairAxiom) ========================================= +pairAxiom { +\find(p) +\varcond(\notFreeIn(e2 (variable), p (Pair term)), \notFreeIn(e1 (variable), p (Pair term))) +\add [exists{e1 (variable)}(exists{e2 (variable)}(equals(pair(e1,e2),p)))]==>[] + Choices: true} ----------------------------------------------------- == parallelWithSkip1 (parallelWithSkip1) ========================================= @@ -14761,21 +15105,21 @@ Choices: true} ----------------------------------------------------- == precOfIntPair (precOfIntPair) ========================================= precOfIntPair { -\find(prec(a,pair(b,x))) +\find(prec(a,pair(b,x))) \replacewith(and(leq(Z(0(#)),a),leq(a,b))) \heuristics(simplify) Choices: true} ----------------------------------------------------- == precOfPair (precOfPair) ========================================= precOfPair { -\find(prec(pair(a1,b1),pair(a2,b2))) +\find(prec(pair(a1,b1),pair(a2,b2))) \replacewith(or(prec(a1,a2),and(equals(a1,a2),prec(b1,b2)))) \heuristics(simplify) Choices: true} ----------------------------------------------------- == precOfPairInt (precOfPairInt) ========================================= precOfPairInt { -\find(prec(pair(a,x),b)) +\find(prec(pair(a,x),b)) \replacewith(and(leq(Z(0(#)),a),lt(a,b))) \heuristics(simplify) Choices: true} @@ -15016,7 +15360,7 @@ Choices: true} == reachAddOne (reachAddOne) ========================================= reachAddOne { \find(reach(h,s,o,o2,add(Z(1(#)),n))) -\varcond(\notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (LocSet term)), \notFreeIn(ov (variable), h (Heap term))) +\varcond(\notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (Set> term)), \notFreeIn(ov (variable), h (Heap term))) \replacewith(and(and(and(geq(n,Z(neglit(1(#)))),not(equals(o,null))),not(equals(o2,null))),or(and(equals(n,Z(neglit(1(#)))),equals(o,o2)),exists{ov (variable)}(and(reach(h,s,o,ov,n),acc(h,s,ov,o2)))))) \heuristics(simplify) Choices: reach:on} @@ -15024,7 +15368,7 @@ Choices: reach:on} == reachAddOne2 (reachAddOne2) ========================================= reachAddOne2 { \find(reach(h,s,o,o2,add(n,Z(1(#))))) -\varcond(\notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (LocSet term)), \notFreeIn(ov (variable), h (Heap term))) +\varcond(\notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (Set> term)), \notFreeIn(ov (variable), h (Heap term))) \replacewith(and(and(and(geq(n,Z(neglit(1(#)))),not(equals(o,null))),not(equals(o2,null))),or(and(equals(n,Z(neglit(1(#)))),equals(o,o2)),exists{ov (variable)}(and(reach(h,s,o,ov,n),acc(h,s,ov,o2)))))) \heuristics(simplify) Choices: reach:on} @@ -15032,7 +15376,7 @@ Choices: reach:on} == reachDefinition (reachDefinition) ========================================= reachDefinition { \find(reach(h,s,o,o2,n)) -\varcond(\notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (LocSet term)), \notFreeIn(ov (variable), h (Heap term))) +\varcond(\notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (Set> term)), \notFreeIn(ov (variable), h (Heap term))) \replacewith(and(and(and(geq(n,Z(0(#))),not(equals(o,null))),not(equals(o2,null))),or(and(equals(n,Z(0(#))),equals(o,o2)),exists{ov (variable)}(and(reach(h,s,o,ov,sub(n,Z(1(#)))),acc(h,s,ov,o2)))))) Choices: reach:on} @@ -15040,27 +15384,27 @@ Choices: reach:on} == reachDependenciesAnon (reachDependenciesAnon) ========================================= reachDependenciesAnon { \find(reach(anon(h,s2,h2),s,o,o2,n)) -\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (LocSet term)), \notFreeIn(nv (variable), h2 (Heap term)), \notFreeIn(nv (variable), s2 (LocSet term)), \notFreeIn(nv (variable), h (Heap term)), \notFreeIn(fv (variable), n (int term)), \notFreeIn(fv (variable), o2 (java.lang.Object term)), \notFreeIn(fv (variable), o (java.lang.Object term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(fv (variable), h2 (Heap term)), \notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), h (Heap term)), \notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (LocSet term)), \notFreeIn(ov (variable), h2 (Heap term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), h (Heap term))) -\add [all{ov (variable)}(all{fv (variable)}(not(and(and(elementOf(ov,fv,s2),exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,ov,nv)))),elementOf(ov,fv,s)))))]==>[] \replacewith(reach(h,s,o,o2,n)) ; -\add []==>[all{ov (variable)}(all{fv (variable)}(not(and(and(elementOf(ov,fv,s2),exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,ov,nv)))),elementOf(ov,fv,s)))))] +\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (Set> term)), \notFreeIn(nv (variable), h2 (Heap term)), \notFreeIn(nv (variable), s2 (Set> term)), \notFreeIn(nv (variable), h (Heap term)), \notFreeIn(fv (variable), n (int term)), \notFreeIn(fv (variable), o2 (java.lang.Object term)), \notFreeIn(fv (variable), o (java.lang.Object term)), \notFreeIn(fv (variable), s (Set> term)), \notFreeIn(fv (variable), h2 (Heap term)), \notFreeIn(fv (variable), s2 (Set> term)), \notFreeIn(fv (variable), h (Heap term)), \notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (Set> term)), \notFreeIn(ov (variable), h2 (Heap term)), \notFreeIn(ov (variable), s2 (Set> term)), \notFreeIn(ov (variable), h (Heap term))) +\add [all{ov (variable)}(all{fv (variable)}(not(and(and(elementOf>(pair(ov,fv),s2),exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,ov,nv)))),elementOf>(pair(ov,fv),s)))))]==>[] \replacewith(reach(h,s,o,o2,n)) ; +\add []==>[all{ov (variable)}(all{fv (variable)}(not(and(and(elementOf>(pair(ov,fv),s2),exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,ov,nv)))),elementOf>(pair(ov,fv),s)))))] Choices: reach:on} ----------------------------------------------------- == reachDependenciesAnonCoarse (reachDependenciesAnonCoarse) ========================================= reachDependenciesAnonCoarse { \find(reach(anon(h,s2,h2),s,o,o2,n)) -\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (LocSet term)), \notFreeIn(nv (variable), h2 (Heap term)), \notFreeIn(nv (variable), s2 (LocSet term)), \notFreeIn(nv (variable), h (Heap term)), \notFreeIn(fv (variable), n (int term)), \notFreeIn(fv (variable), o2 (java.lang.Object term)), \notFreeIn(fv (variable), o (java.lang.Object term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(fv (variable), h2 (Heap term)), \notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), h (Heap term)), \notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (LocSet term)), \notFreeIn(ov (variable), h2 (Heap term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), h (Heap term))) -\add [all{ov (variable)}(all{fv (variable)}(not(and(and(elementOf(ov,fv,s2),exists{nv (variable)}(reach(h,s,o,ov,nv))),elementOf(ov,fv,s)))))]==>[] \replacewith(reach(h,s,o,o2,n)) ; -\add []==>[all{ov (variable)}(all{fv (variable)}(not(and(and(elementOf(ov,fv,s2),exists{nv (variable)}(reach(h,s,o,ov,nv))),elementOf(ov,fv,s)))))] +\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (Set> term)), \notFreeIn(nv (variable), h2 (Heap term)), \notFreeIn(nv (variable), s2 (Set> term)), \notFreeIn(nv (variable), h (Heap term)), \notFreeIn(fv (variable), n (int term)), \notFreeIn(fv (variable), o2 (java.lang.Object term)), \notFreeIn(fv (variable), o (java.lang.Object term)), \notFreeIn(fv (variable), s (Set> term)), \notFreeIn(fv (variable), h2 (Heap term)), \notFreeIn(fv (variable), s2 (Set> term)), \notFreeIn(fv (variable), h (Heap term)), \notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (Set> term)), \notFreeIn(ov (variable), h2 (Heap term)), \notFreeIn(ov (variable), s2 (Set> term)), \notFreeIn(ov (variable), h (Heap term))) +\add [all{ov (variable)}(all{fv (variable)}(not(and(and(elementOf>(pair(ov,fv),s2),exists{nv (variable)}(reach(h,s,o,ov,nv))),elementOf>(pair(ov,fv),s)))))]==>[] \replacewith(reach(h,s,o,o2,n)) ; +\add []==>[all{ov (variable)}(all{fv (variable)}(not(and(and(elementOf>(pair(ov,fv),s2),exists{nv (variable)}(reach(h,s,o,ov,nv))),elementOf>(pair(ov,fv),s)))))] Choices: reach:on} ----------------------------------------------------- == reachDependenciesStore (reachDependenciesStore) ========================================= reachDependenciesStore { \find(reach(store(h,o3,f,x),s,o,o2,n)) -\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (LocSet term)), \notFreeIn(nv (variable), x (any term)), \notFreeIn(nv (variable), f (Field term)), \notFreeIn(nv (variable), o3 (java.lang.Object term)), \notFreeIn(nv (variable), h (Heap term))) -\add [not(and(exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,o3,nv))),elementOf(o3,f,s)))]==>[] \replacewith(reach(h,s,o,o2,n)) ; -\add []==>[not(and(exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,o3,nv))),elementOf(o3,f,s)))] +\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (Set> term)), \notFreeIn(nv (variable), x (any term)), \notFreeIn(nv (variable), f (Field term)), \notFreeIn(nv (variable), o3 (java.lang.Object term)), \notFreeIn(nv (variable), h (Heap term))) +\add [not(and(exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,o3,nv))),elementOf>(pair(o3,f),s)))]==>[] \replacewith(reach(h,s,o,o2,n)) ; +\add []==>[not(and(exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,o3,nv))),elementOf>(pair(o3,f),s)))] Choices: reach:on} ----------------------------------------------------- @@ -15068,9 +15412,9 @@ Choices: reach:on} reachDependenciesStoreEQ { \assumes ([equals(store(h,o3,f,x),EQ)]==>[]) \find(reach(EQ,s,o,o2,n)) -\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (LocSet term)), \notFreeIn(nv (variable), x (any term)), \notFreeIn(nv (variable), f (Field term)), \notFreeIn(nv (variable), o3 (java.lang.Object term)), \notFreeIn(nv (variable), h (Heap term))) -\add [not(and(exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,o3,nv))),elementOf(o3,f,s)))]==>[] \replacewith(reach(h,s,o,o2,n)) ; -\add []==>[not(and(exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,o3,nv))),elementOf(o3,f,s)))] +\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (Set> term)), \notFreeIn(nv (variable), x (any term)), \notFreeIn(nv (variable), f (Field term)), \notFreeIn(nv (variable), o3 (java.lang.Object term)), \notFreeIn(nv (variable), h (Heap term))) +\add [not(and(exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,o3,nv))),elementOf>(pair(o3,f),s)))]==>[] \replacewith(reach(h,s,o,o2,n)) ; +\add []==>[not(and(exists{nv (variable)}(and(lt(nv,n),reach(h,s,o,o3,nv))),elementOf>(pair(o3,f),s)))] Choices: reach:on} ----------------------------------------------------- @@ -15156,7 +15500,7 @@ Choices: reach:on} == reach_does_not_depend_on_fresh_locs (reach_does_not_depend_on_fresh_locs) ========================================= reach_does_not_depend_on_fresh_locs { \assumes ([]==>[equals(o,null)]) -\find(reach(anon(h,empty,h2),s,o,o2,n)) +\find(reach(anon(h,empty>,h2),s,o,o2,n)) \add []==>[and(wellFormed(h),equals(select(h,o,java.lang.Object::#$created),TRUE))] ; \replacewith(reach(h,s,o,o2,n)) \heuristics(simplify) @@ -15164,7 +15508,7 @@ Choices: reach:on} ----------------------------------------------------- == reach_does_not_depend_on_fresh_locsEQ (reach_does_not_depend_on_fresh_locsEQ) ========================================= reach_does_not_depend_on_fresh_locsEQ { -\assumes ([equals(anon(h,empty,h2),EQ)]==>[equals(o,null)]) +\assumes ([equals(anon(h,empty>,h2),EQ)]==>[equals(o,null)]) \find(reach(EQ,s,o,o2,n)) \add []==>[and(wellFormed(h),equals(select(h,o,java.lang.Object::#$created),TRUE))] ; \replacewith(reach(h,s,o,o2,n)) @@ -15345,7 +15689,7 @@ Choices: programRules:Java} repeatAxiom { \find(match(repeat(rexp,nTimes),string)) \varcond(\notFreeIn(endIdx (variable), string (Seq term)), \notFreeIn(endIdx (variable), nTimes (int term)), \notFreeIn(endIdx (variable), rexp (RegEx term))) -\replacewith(if-then-else(lt(nTimes,Z(0(#))),false,if-then-else(equals(nTimes,Z(0(#))),equals(string,empty),exists{endIdx (variable)}(and(and(and(geq(endIdx,Z(0(#))),leq(endIdx,seqLen(string))),match(rexp,seqSub(string,Z(0(#)),endIdx))),match(repeat(rexp,sub(nTimes,Z(1(#)))),seqSub(string,endIdx,seqLen(string)))))))) +\replacewith(if-then-else(lt(nTimes,Z(0(#))),false,if-then-else(equals(nTimes,Z(0(#))),equals(string,empty),exists{endIdx (variable)}(and(and(and(geq(endIdx,Z(0(#))),leq(endIdx,seqLen(string))),match(rexp,seqSub(string,Z(0(#)),endIdx))),match(repeat(rexp,sub(nTimes,Z(1(#)))),seqSub(string,endIdx,seqLen(string)))))))) Choices: Strings:on} ----------------------------------------------------- @@ -15620,140 +15964,20 @@ sCardNonNegative { \heuristics(inReachableStateImplication) Choices: true} ----------------------------------------------------- -== sCardSEmpty (sCardSEmpty) ========================================= -sCardSEmpty { -\find(sCard(sEmpty)) +== sCardempty (sCardempty) ========================================= +sCardempty { +\find(sCard(empty)) \replacewith(Z(0(#))) \heuristics(concrete) Choices: true} ----------------------------------------------------- -== sCardSSingleton (sCardSSingleton) ========================================= -sCardSSingleton { -\find(sCard(sSingleton(b))) +== sCardsingleton (sCardsingleton) ========================================= +sCardsingleton { +\find(sCard(singleton(b))) \replacewith(Z(1(#))) \heuristics(simplify) Choices: true} ----------------------------------------------------- -== sDisjointToSElementOf (sDisjointToSElementOf) ========================================= -sDisjointToSElementOf { -\find(sDisjoint(s,t)) -\varcond(\notFreeIn(av (variable), t (Set term)), \notFreeIn(av (variable), s (Set term))) -\replacewith(all{av (variable)}(or(not(sElementOf(av,s)),not(sElementOf(av,t))))) -\heuristics(simplify_enlarging) -Choices: true} ------------------------------------------------------ -== sElementOfSEmpty (sElementOfSEmpty) ========================================= -sElementOfSEmpty { -\find(sElementOf(a,sEmpty)) -\replacewith(false) -\heuristics(concrete) -Choices: true} ------------------------------------------------------ -== sElementOfSInfiniteUnion (sElementOfSInfiniteUnion) ========================================= -sElementOfSInfiniteUnion { -\find(sElementOf(a,sInfiniteUnion{av (variable)}(s))) -\varcond(\notFreeIn(av (variable), a (T term))) -\replacewith(exists{av (variable)}(sElementOf(a,s))) -\heuristics(simplify) -Choices: true} ------------------------------------------------------ -== sElementOfSInfiniteUnionEQ (sElementOfSInfiniteUnionEQ) ========================================= -sElementOfSInfiniteUnionEQ { -\assumes ([equals(sInfiniteUnion{av (variable)}(s),EQ)]==>[]) -\find(sElementOf(a,EQ)) -\varcond(\notFreeIn(av (variable), a (T term))) -\replacewith(exists{av (variable)}(sElementOf(a,s))) -\heuristics(simplify) -Choices: true} ------------------------------------------------------ -== sElementOfSIntersect (sElementOfSIntersect) ========================================= -sElementOfSIntersect { -\find(sElementOf(a,sIntersect(s,t))) -\replacewith(and(sElementOf(a,s),sElementOf(a,t))) -\heuristics(simplify_enlarging) -Choices: true} ------------------------------------------------------ -== sElementOfSIntersectEQ (sElementOfSIntersectEQ) ========================================= -sElementOfSIntersectEQ { -\assumes ([equals(sIntersect(s,t),EQ)]==>[]) -\find(sElementOf(a,EQ)) -\replacewith(and(sElementOf(a,s),sElementOf(a,t))) -\heuristics(simplify_enlarging) -Choices: true} ------------------------------------------------------ -== sElementOfSSetMinus (sElementOfSSetMinus) ========================================= -sElementOfSSetMinus { -\find(sElementOf(a,sSetMinus(s,t))) -\replacewith(and(sElementOf(a,s),not(sElementOf(a,t)))) -\heuristics(simplify_enlarging) -Choices: true} ------------------------------------------------------ -== sElementOfSSetMinusEQ (sElementOfSSetMinusEQ) ========================================= -sElementOfSSetMinusEQ { -\assumes ([equals(sSetMinus(s,t),EQ)]==>[]) -\find(sElementOf(a,EQ)) -\replacewith(and(sElementOf(a,s),not(sElementOf(a,t)))) -\heuristics(simplify_enlarging) -Choices: true} ------------------------------------------------------ -== sElementOfSSingleton (sElementOfSSingleton) ========================================= -sElementOfSSingleton { -\find(sElementOf(a,sSingleton(b))) -\replacewith(equals(a,b)) -\heuristics(simplify) -Choices: true} ------------------------------------------------------ -== sElementOfSUnion (sElementOfSUnion) ========================================= -sElementOfSUnion { -\find(sElementOf(a,sUnion(s,t))) -\replacewith(or(sElementOf(a,s),sElementOf(a,t))) -\heuristics(simplify_enlarging) -Choices: true} ------------------------------------------------------ -== sElementOfSUnionEQ (sElementOfSUnionEQ) ========================================= -sElementOfSUnionEQ { -\assumes ([equals(sUnion(s,t),EQ)]==>[]) -\find(sElementOf(a,EQ)) -\replacewith(or(sElementOf(a,s),sElementOf(a,t))) -\heuristics(simplify_enlarging) -Choices: true} ------------------------------------------------------ -== sEmptyEqualsSSingleton (sEmptyEqualsSSingleton) ========================================= -sEmptyEqualsSSingleton { -\find(equals(sEmpty,sSingleton(a))) -\replacewith(false) -\heuristics(concrete) -Choices: true} ------------------------------------------------------ -== sSingletonEqualsSEmpty (sSingletonEqualsSEmpty) ========================================= -sSingletonEqualsSEmpty { -\find(equals(sSingleton(a),sEmpty)) -\replacewith(false) -\heuristics(concrete) -Choices: true} ------------------------------------------------------ -== sSubsetToSElementOf (sSubsetToSElementOf) ========================================= -sSubsetToSElementOf { -\find(sSubset(s,t)) -\varcond(\notFreeIn(av (variable), t (Set term)), \notFreeIn(av (variable), s (Set term))) -\replacewith(all{av (variable)}(imp(sElementOf(av,s),sElementOf(av,t)))) -\heuristics(simplify_enlarging) -Choices: true} ------------------------------------------------------ -== sUnionWithSSingletonEqualsSUnionWithSSingleton (sUnionWithSSingletonEqualsSUnionWithSSingleton) ========================================= -sUnionWithSSingletonEqualsSUnionWithSSingleton { -\find(equals(sUnion(s,sSingleton(a)),sUnion(t,sSingleton(a)))) -\replacewith(equals(sSetMinus(s,sSingleton(a)),sSetMinus(t,sSingleton(a)))) -\heuristics(simplify) -Choices: true} ------------------------------------------------------ -== sUnionWithSSingletonEqualsSUnionWithSSingleton_2 (sUnionWithSSingletonEqualsSUnionWithSSingleton_2) ========================================= -sUnionWithSSingletonEqualsSUnionWithSSingleton_2 { -\find(equals(sUnion(sSingleton(a),s),sUnion(sSingleton(a),t))) -\replacewith(equals(sSetMinus(s,sSingleton(a)),sSetMinus(t,sSingleton(a)))) -\heuristics(simplify) -Choices: true} ------------------------------------------------------ == sameTypeFalse (sameTypeFalse) ========================================= sameTypeFalse { \assumes ([equals(exactInstance(x1),TRUE),equals(exactInstance(x2),TRUE)]==>[]) @@ -15845,7 +16069,7 @@ Choices: true} ----------------------------------------------------- == secondOfPair (secondOfPair) ========================================= secondOfPair { -\find(second(pair(t,t1))) +\find(second(pair(t,t1))) \replacewith(t1) \heuristics(concrete) Choices: true} @@ -15883,7 +16107,7 @@ Choices: programRules:Java} == selectOfAnon (selectOfAnon) ========================================= selectOfAnon { \find(select(anon(h,s,h2),o,f)) -\replacewith(if-then-else(or(and(elementOf(o,f,s),not(equals(f,java.lang.Object::#$created))),elementOf(o,f,freshLocs(h))),select(h2,o,f),select(h,o,f))) +\replacewith(if-then-else(or(and(elementOf>(pair(o,f),s),not(equals(f,java.lang.Object::#$created))),elementOf>(pair(o,f),freshLocs(h))),select(h2,o,f),select(h,o,f))) \heuristics(semantics_blasting) Choices: programRules:Java} ----------------------------------------------------- @@ -15891,7 +16115,7 @@ Choices: programRules:Java} selectOfAnonEQ { \assumes ([equals(anon(h,s,h2),EQ)]==>[]) \find(select(EQ,o,f)) -\replacewith(if-then-else(or(and(elementOf(o,f,s),not(equals(f,java.lang.Object::#$created))),elementOf(o,f,freshLocs(h))),select(h2,o,f),select(h,o,f))) +\replacewith(if-then-else(or(and(elementOf>(pair(o,f),s),not(equals(f,java.lang.Object::#$created))),elementOf>(pair(o,f),freshLocs(h))),select(h2,o,f),select(h,o,f))) \heuristics(simplify_heap_high_costs) Choices: programRules:Java} ----------------------------------------------------- @@ -15929,7 +16153,7 @@ Choices: programRules:Java} == selectOfMemset (selectOfMemset) ========================================= selectOfMemset { \find(select(memset(h,s,x),o,f)) -\replacewith(if-then-else(and(elementOf(o,f,s),not(equals(f,java.lang.Object::#$created))),cast(x),select(h,o,f))) +\replacewith(if-then-else(and(elementOf>(pair(o,f),s),not(equals(f,java.lang.Object::#$created))),cast(x),select(h,o,f))) \heuristics(semantics_blasting) Choices: programRules:Java} ----------------------------------------------------- @@ -15937,7 +16161,7 @@ Choices: programRules:Java} selectOfMemsetEQ { \assumes ([equals(memset(h,s,x),EQ)]==>[]) \find(select(EQ,o,f)) -\replacewith(if-then-else(and(elementOf(o,f,s),not(equals(f,java.lang.Object::#$created))),cast(x),select(h,o,f))) +\replacewith(if-then-else(and(elementOf>(pair(o,f),s),not(equals(f,java.lang.Object::#$created))),cast(x),select(h,o,f))) \heuristics(simplify_heap_high_costs) Choices: programRules:Java} ----------------------------------------------------- @@ -16281,6 +16505,14 @@ sequentialToParallel3 { \heuristics(update_join) Choices: true} ----------------------------------------------------- +== setEqualityToElementOfRight (setEqualityToElementOfRight) ========================================= +setEqualityToElementOfRight { +\find(==>equals(s,t)) +\varcond(\notFreeIn(av (variable), t (Set term)), \notFreeIn(av (variable), s (Set term))) +\replacewith([]==>[all{av (variable)}(equiv(elementOf(av,s),elementOf(av,t)))]) +\heuristics(setEqualityBlastingRight) +Choices: true} +----------------------------------------------------- == setIntersectUnfoldLeft (setIntersectUnfold) ========================================= setIntersectUnfoldLeft { \find(#allmodal ((modal operator))|{{ .. @@ -16317,35 +16549,50 @@ setJavaCardTransient { \heuristics(simplify_prog) Choices: (programRules:Java & JavaCard:on)} ----------------------------------------------------- +== setMinusEqualsEmpty (setMinusEqualsEmpty) ========================================= +setMinusEqualsEmpty { +\find(equals(setMinus(s1,s2),empty)) +\replacewith(subset(s1,s2)) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== setMinusEqualsEmptyEQ (setMinusEqualsEmptyEQ) ========================================= +setMinusEqualsEmptyEQ { +\assumes ([equals(setMinus(s1,s2),EQ)]==>[]) +\find(equals(EQ,empty)) +\replacewith(subset(s1,s2)) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- == setMinusItself (setMinusItself) ========================================= setMinusItself { -\find(setMinus(s,s)) -\replacewith(empty) +\find(setMinus(s,s)) +\replacewith(empty) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == setMinusOfUnion (setMinusOfUnion) ========================================= setMinusOfUnion { -\find(setMinus(union(s,s2),s3)) -\replacewith(union(setMinus(s,s3),setMinus(s2,s3))) -\heuristics(simplify_enlarging) -Choices: programRules:Java} +\find(setMinus(union(unionLeft,unionRight),distributedSet)) +\replacewith(union(setMinus(unionLeft,distributedSet),setMinus(unionRight,distributedSet))) +\heuristics(setDist) +Choices: true} ----------------------------------------------------- == setMinusOfUnionEQ (setMinusOfUnionEQ) ========================================= setMinusOfUnionEQ { -\assumes ([equals(union(s,s2),EQ)]==>[]) -\find(setMinus(EQ,s3)) -\replacewith(union(setMinus(s,s3),setMinus(s2,s3))) -\heuristics(simplify_enlarging) -Choices: programRules:Java} +\assumes ([equals(union(unionLeft,unionRight),EQ)]==>[]) +\find(setMinus(EQ,distributedSet)) +\replacewith(union(setMinus(unionLeft,distributedSet),setMinus(unionRight,distributedSet))) +\heuristics(setDist) +Choices: true} ----------------------------------------------------- == setMinusSingleton (setMinusSingleton) ========================================= setMinusSingleton { -\assumes ([]==>[elementOf(o,f,s)]) -\find(setMinus(s,singleton(o,f))) +\assumes ([]==>[elementOf(e,s)]) +\find(setMinus(s,singleton(e))) \replacewith(s) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == setMinusUnfoldLeft (setMinusUnfold) ========================================= setMinusUnfoldLeft { @@ -16375,24 +16622,31 @@ Choices: programRules:Java} ----------------------------------------------------- == setMinusWithAllLocs (setMinusWithAllLocs) ========================================= setMinusWithAllLocs { -\find(setMinus(s,allLocs)) -\replacewith(empty) +\find(setMinus>(s,allLocs)) +\replacewith(empty>) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == setMinusWithEmpty1 (setMinusWithEmpty) ========================================= setMinusWithEmpty1 { -\find(setMinus(s,empty)) +\find(setMinus(s,empty)) \replacewith(s) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == setMinusWithEmpty2 (setMinusWithEmpty) ========================================= setMinusWithEmpty2 { -\find(setMinus(empty,s)) -\replacewith(empty) +\find(setMinus(empty,s)) +\replacewith(empty) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} +----------------------------------------------------- +== setMinusWithSingleton (setMinusWithSingleton) ========================================= +setMinusWithSingleton { +\find(setMinus(singleton(e),s)) +\replacewith(if-then-else(elementOf(e,s),empty,singleton(e))) +\heuristics(simplify_enlarging) +Choices: true} ----------------------------------------------------- == setUnionUnfoldLeft (setUnionUnfold) ========================================= setUnionUnfoldLeft { @@ -16523,7 +16777,7 @@ simplifySelectOfAnon { \find(select(anon(h,s,h2),o,f)) \sameUpdateLevel\inSequentState\replacewith(sk) \heuristics(concrete) -Choices: programRules:Java}] \replacewith([equals(if-then-else(or(and(elementOf(o,f,s),not(equals(f,java.lang.Object::#$created))),elementOf(o,f,freshLocs(h))),select(h2,o,f),select(h,o,f)),sk)]==>[]) +Choices: programRules:Java}] \replacewith([equals(if-then-else(or(and(elementOf>(pair(o,f),s),not(equals(f,java.lang.Object::#$created))),elementOf>(pair(o,f),freshLocs(h))),select(h2,o,f),select(h,o,f)),sk)]==>[]) \heuristics(simplify_select) Choices: programRules:Java} ----------------------------------------------------- @@ -16535,7 +16789,7 @@ simplifySelectOfAnonEQ { \find(select(EQ,o,f)) \sameUpdateLevel\inSequentState\replacewith(sk) \heuristics(concrete) -Choices: programRules:Java}] \replacewith([equals(if-then-else(or(and(elementOf(o,f,s),not(equals(f,java.lang.Object::#$created))),elementOf(o,f,freshLocs(h))),select(h2,o,f),select(h,o,f)),sk)]==>[]) +Choices: programRules:Java}] \replacewith([equals(if-then-else(or(and(elementOf>(pair(o,f),s),not(equals(f,java.lang.Object::#$created))),elementOf>(pair(o,f),freshLocs(h))),select(h2,o,f),select(h,o,f)),sk)]==>[]) \heuristics(simplify_select) Choices: programRules:Java} ----------------------------------------------------- @@ -16569,7 +16823,7 @@ simplifySelectOfMemset { \find(select(memset(h,s,x),o,f)) \sameUpdateLevel\inSequentState\replacewith(sk) \heuristics(concrete) -Choices: programRules:Java}] \replacewith([equals(if-then-else(and(elementOf(o,f,s),not(equals(f,java.lang.Object::#$created))),cast(x),select(h,o,f)),sk)]==>[]) +Choices: programRules:Java}] \replacewith([equals(if-then-else(and(elementOf>(pair(o,f),s),not(equals(f,java.lang.Object::#$created))),cast(x),select(h,o,f)),sk)]==>[]) \heuristics(simplify_select) Choices: programRules:Java} ----------------------------------------------------- @@ -16581,7 +16835,7 @@ simplifySelectOfMemsetEQ { \find(select(EQ,o,f)) \sameUpdateLevel\inSequentState\replacewith(sk) \heuristics(concrete) -Choices: programRules:Java}] \replacewith([equals(if-then-else(and(elementOf(o,f,s),not(equals(f,java.lang.Object::#$created))),cast(x),select(h,o,f)),sk)]==>[]) +Choices: programRules:Java}] \replacewith([equals(if-then-else(and(elementOf>(pair(o,f),s),not(equals(f,java.lang.Object::#$created))),cast(x),select(h,o,f)),sk)]==>[]) \heuristics(simplify_select) Choices: programRules:Java} ----------------------------------------------------- @@ -16709,16 +16963,16 @@ singletonAssignment { \find(#allmodal ((modal operator))|{{ .. #v = \singleton(#seObj.#a); ... }}| (post)) -\replacewith(update-application(elem-update(#v (program Variable))(singleton(#seObj,#memberPVToField(#a))),#allmodal(post))) +\replacewith(update-application(elem-update(#v (program Variable))(singleton>(pair(#seObj,#memberPVToField(#a)))),#allmodal(post))) \heuristics(simplify_prog) Choices: programRules:Java} ----------------------------------------------------- == singletonEqualsEmpty (singletonEqualsEmpty) ========================================= singletonEqualsEmpty { -\find(equals(singleton(o,f),empty)) +\find(equals(singleton(a),empty)) \replacewith(false) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == singletonUnfold (singletonUnfold) ========================================= singletonUnfold { @@ -17214,176 +17468,222 @@ sub_zero_2 { \heuristics(simplify_int) Choices: true} ----------------------------------------------------- +== subsetIntersectLeft (subsetIntersectLeft) ========================================= +subsetIntersectLeft { +\find(subset(intersect(s1,s2),s1)) +\replacewith(true) +\heuristics(concrete) +Choices: true} +----------------------------------------------------- +== subsetIntersectLeft2 (subsetIntersectLeft) ========================================= +subsetIntersectLeft2 { +\find(subset(intersect(s2,s1),s1)) +\replacewith(true) +\heuristics(concrete) +Choices: true} +----------------------------------------------------- +== subsetIntersectLeft2EQ (subsetIntersectLeftEQ) ========================================= +subsetIntersectLeft2EQ { +\assumes ([equals(intersect(s2,s1),EQ)]==>[]) +\find(subset(EQ,s1)) +\replacewith(true) +\heuristics(concrete) +Choices: true} +----------------------------------------------------- +== subsetIntersectLeftEQ (subsetIntersectLeftEQ) ========================================= +subsetIntersectLeftEQ { +\assumes ([equals(intersect(s1,s2),EQ)]==>[]) +\find(subset(EQ,s1)) +\replacewith(true) +\heuristics(concrete) +Choices: true} +----------------------------------------------------- == subsetOfEmpty (subsetOfEmpty) ========================================= subsetOfEmpty { -\find(subset(s,empty)) -\replacewith(equals(s,empty)) +\find(subset(s,empty)) +\replacewith(equals(s,empty)) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetOfIntersectWithItSelf1 (subsetOfIntersectWithItSelf1) ========================================= subsetOfIntersectWithItSelf1 { -\find(subset(s,intersect(s,s2))) -\replacewith(subset(s,s2)) +\find(subset(s,intersect(s,s2))) +\replacewith(subset(s,s2)) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetOfIntersectWithItSelf1EQ (subsetOfIntersectWithItSelf1EQ) ========================================= subsetOfIntersectWithItSelf1EQ { -\assumes ([equals(intersect(s,s2),EQ)]==>[]) -\find(subset(s,EQ)) -\replacewith(subset(s,s2)) +\assumes ([equals(intersect(s,s2),EQ)]==>[]) +\find(subset(s,EQ)) +\replacewith(subset(s,s2)) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetOfIntersectWithItSelf2 (subsetOfIntersectWithItSelf2) ========================================= subsetOfIntersectWithItSelf2 { -\find(subset(s,intersect(s2,s))) -\replacewith(subset(s,s2)) +\find(subset(s,intersect(s2,s))) +\replacewith(subset(s,s2)) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetOfIntersectWithItSelf2EQ (subsetOfIntersectWithItSelf2EQ) ========================================= subsetOfIntersectWithItSelf2EQ { -\assumes ([equals(intersect(s2,s),EQ)]==>[]) -\find(subset(s,EQ)) -\replacewith(subset(s,s2)) +\assumes ([equals(intersect(s2,s),EQ)]==>[]) +\find(subset(s,EQ)) +\replacewith(subset(s,s2)) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetOfItself (subsetOfItself) ========================================= subsetOfItself { -\find(subset(s,s)) +\find(subset(s,s)) \replacewith(true) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetOfUnionWithItSelf1 (subsetOfUnionWithItSelf1) ========================================= subsetOfUnionWithItSelf1 { -\find(subset(s,union(s,s2))) +\find(subset(s,union(s,s2))) \replacewith(true) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetOfUnionWithItSelf1EQ (subsetOfUnionWithItSelf1EQ) ========================================= subsetOfUnionWithItSelf1EQ { -\assumes ([equals(union(s,s2),EQ)]==>[]) -\find(subset(s,EQ)) +\assumes ([equals(union(s,s2),EQ)]==>[]) +\find(subset(s,EQ)) \replacewith(true) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetOfUnionWithItSelf2 (subsetOfUnionWithItSelf2) ========================================= subsetOfUnionWithItSelf2 { -\find(subset(s,union(s2,s))) +\find(subset(s,union(s2,s))) \replacewith(true) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetOfUnionWithItSelf2EQ (subsetOfUnionWithItSelf2EQ) ========================================= subsetOfUnionWithItSelf2EQ { -\assumes ([equals(union(s2,s),EQ)]==>[]) -\find(subset(s,EQ)) +\assumes ([equals(union(s2,s),EQ)]==>[]) +\find(subset(s,EQ)) \replacewith(true) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetSingletonLeft (subsetSingletonLeft) ========================================= subsetSingletonLeft { -\find(subset(singleton(o,f),s)) -\replacewith(elementOf(o,f,s)) +\find(subset(singleton(e),s)) +\replacewith(elementOf(e,s)) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetSingletonLeftEQ (subsetSingletonLeftEQ) ========================================= subsetSingletonLeftEQ { -\assumes ([equals(singleton(o,f),EQ)]==>[]) -\find(subset(EQ,s)) -\replacewith(elementOf(o,f,s)) +\assumes ([equals(singleton(e),EQ)]==>[]) +\find(subset(EQ,s)) +\replacewith(elementOf(e,s)) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetSingletonRight (subsetSingletonRight) ========================================= subsetSingletonRight { -\find(subset(s,singleton(o,f))) -\replacewith(or(equals(s,empty),equals(s,singleton(o,f)))) +\find(subset(s,singleton(e))) +\replacewith(or(equals(s,empty),equals(s,singleton(e)))) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetSingletonRightEQ (subsetSingletonRightEQ) ========================================= subsetSingletonRightEQ { -\assumes ([equals(singleton(o,f),EQ)]==>[]) -\find(subset(s,EQ)) -\replacewith(or(equals(s,empty),equals(s,singleton(o,f)))) +\assumes ([equals(singleton(e),EQ)]==>[]) +\find(subset(s,EQ)) +\replacewith(or(equals(s,empty),equals(s,singleton(e)))) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetToElementOf (subsetToElementOf) ========================================= subsetToElementOf { -\find(subset(s,s2)) -\varcond(\notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), s (LocSet term))) -\replacewith(all{ov (variable)}(all{fv (variable)}(imp(elementOf(ov,fv,s),elementOf(ov,fv,s2))))) +\find(subset(s,t)) +\varcond(\notFreeIn(av (variable), t (Set term)), \notFreeIn(av (variable), s (Set term))) +\replacewith(all{av (variable)}(imp(elementOf(av,s),elementOf(av,t)))) +\heuristics(semantics_blasting) +Choices: true} +----------------------------------------------------- +== subsetToElementOfLocSet (subsetToElementOfLocSet) ========================================= +subsetToElementOfLocSet { +\find(subset>(s,s2)) +\varcond(\notFreeIn(fv (variable), s2 (Set> term)), \notFreeIn(fv (variable), s (Set> term)), \notFreeIn(ov (variable), s2 (Set> term)), \notFreeIn(ov (variable), s (Set> term))) +\replacewith(all{ov (variable)}(all{fv (variable)}(imp(elementOf>(pair(ov,fv),s),elementOf>(pair(ov,fv),s2))))) \heuristics(semantics_blasting) Choices: programRules:Java} ----------------------------------------------------- +== subsetToElementOfLocSetRight (subsetToElementOfLocSetRight) ========================================= +subsetToElementOfLocSetRight { +\find(==>subset>(s,s2)) +\varcond(\notFreeIn(fv (variable), s2 (Set> term)), \notFreeIn(fv (variable), s (Set> term)), \notFreeIn(ov (variable), s2 (Set> term)), \notFreeIn(ov (variable), s (Set> term))) +\replacewith([]==>[all{ov (variable)}(all{fv (variable)}(imp(elementOf>(pair(ov,fv),s),elementOf>(pair(ov,fv),s2))))]) +\heuristics(locSetEqualityBlastingRight) +Choices: programRules:Java} +----------------------------------------------------- == subsetToElementOfRight (subsetToElementOfRight) ========================================= subsetToElementOfRight { -\find(==>subset(s,s2)) -\varcond(\notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), s (LocSet term))) -\replacewith([]==>[all{ov (variable)}(all{fv (variable)}(imp(elementOf(ov,fv,s),elementOf(ov,fv,s2))))]) +\find(==>subset(s,t)) +\varcond(\notFreeIn(av (variable), t (Set term)), \notFreeIn(av (variable), s (Set term))) +\replacewith([]==>[all{av (variable)}(imp(elementOf(av,s),elementOf(av,t)))]) \heuristics(setEqualityBlastingRight) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetUnionLeft (subsetUnionLeft) ========================================= subsetUnionLeft { -\find(subset(union(s,s2),s3)) -\replacewith(and(subset(s,s3),subset(s2,s3))) +\find(subset(union(s,s2),s3)) +\replacewith(and(subset(s,s3),subset(s2,s3))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetUnionLeftEQ (subsetUnionLeftEQ) ========================================= subsetUnionLeftEQ { -\assumes ([equals(union(s,s2),EQ)]==>[]) -\find(subset(EQ,s3)) -\replacewith(and(subset(s,s3),subset(s2,s3))) +\assumes ([equals(union(s,s2),EQ)]==>[]) +\find(subset(EQ,s3)) +\replacewith(and(subset(s,s3),subset(s2,s3))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetWithAllLocs (subsetOfAllLocs) ========================================= subsetWithAllLocs { -\find(subset(s,allLocs)) +\find(subset>(s,allLocs)) \replacewith(true) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == subsetWithAllLocs2 (subsetWithAllLocs) ========================================= subsetWithAllLocs2 { -\find(subset(allLocs,s)) +\find(subset>(allLocs,s)) \replacewith(equals(s,allLocs)) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == subsetWithEmpty (subsetWithEmpty) ========================================= subsetWithEmpty { -\find(subset(empty,s)) +\find(subset(empty,s)) \replacewith(true) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetWithSetMinusLeft (subsetWithSetMinusLeft) ========================================= subsetWithSetMinusLeft { -\find(subset(setMinus(s,s2),s3)) -\replacewith(subset(s,union(s2,s3))) +\find(subset(setMinus(s,s2),s3)) +\replacewith(subset(s,union(s2,s3))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsetWithSetMinusLeftEQ (subsetWithSetMinusLeftEQ) ========================================= subsetWithSetMinusLeftEQ { -\assumes ([equals(setMinus(s,s2),EQ)]==>[]) -\find(subset(EQ,s3)) -\replacewith(subset(s,union(s2,s3))) +\assumes ([equals(setMinus(s,s2),EQ)]==>[]) +\find(subset(EQ,s3)) +\replacewith(subset(s,union(s2,s3))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == subsortTrans (subsortTrans) ========================================= subsortTrans { @@ -18200,7 +18500,7 @@ tryCatchThrow { } catch (#t #v0) { #slist1 } -... }}| (post)) +... }}| (post)) \heuristics(simplify_prog) Choices: programRules:Java} ----------------------------------------------------- @@ -18539,111 +18839,186 @@ unaryMinusLong { \heuristics(executeIntegerAssignment) Choices: programRules:Java} ----------------------------------------------------- +== unionArrayRangeAdjacent (unionArrayRangeAdjacent) ========================================= +unionArrayRangeAdjacent { +\find(union>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2))) +\replacewith(if-then-else(and(and(leq(lower,upper),equals(lower2,add(upper,Z(1(#))))),lt(upper,upper2)),arrayRange(o,lower,upper2),union>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2)))) +\heuristics(locSetArrayRangeMerge) +Choices: programRules:Java} +----------------------------------------------------- +== unionArrayRangeAdjacentEQ (unionArrayRangeAdjacentEQ) ========================================= +unionArrayRangeAdjacentEQ { +\assumes ([equals(arrayRange(o,lower,upper),EQ)]==>[]) +\find(union>(EQ,arrayRange(o,lower2,upper2))) +\replacewith(if-then-else(and(and(leq(lower,upper),equals(lower2,add(upper,Z(1(#))))),lt(upper,upper2)),arrayRange(o,lower,upper2),union>(arrayRange(o,lower,upper),arrayRange(o,lower2,upper2)))) +\heuristics(locSetArrayRangeMerge) +Choices: programRules:Java} +----------------------------------------------------- == unionEqualsEmpty (unionEqualsEmpty) ========================================= unionEqualsEmpty { -\find(equals(union(s,s2),empty)) -\replacewith(and(equals(s,empty),equals(s2,empty))) +\find(equals(union(s,s2),empty)) +\replacewith(and(equals(s,empty),equals(s2,empty))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == unionEqualsEmptyEQ (unionEqualsEmptyEQ) ========================================= unionEqualsEmptyEQ { -\assumes ([equals(union(s,s2),EQ)]==>[]) -\find(equals(EQ,empty)) -\replacewith(and(equals(s,empty),equals(s2,empty))) +\assumes ([equals(union(s,s2),EQ)]==>[]) +\find(equals(EQ,empty)) +\replacewith(and(equals(s,empty),equals(s2,empty))) \heuristics(simplify_enlarging) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == unionIntersectItself (unionIntersectItself) ========================================= unionIntersectItself { -\find(union(intersect(s1,s2),s1)) +\find(union(intersect(s1,s2),s1)) \replacewith(s1) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} +----------------------------------------------------- +== unionIntersectItself5 (unionIntersectItself) ========================================= +unionIntersectItself5 { +\find(union(s1,intersect(s1,s2))) +\replacewith(s1) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== unionIntersectItself5EQ (unionIntersectItselfEQ) ========================================= +unionIntersectItself5EQ { +\assumes ([equals(intersect(s1,s2),EQ)]==>[]) +\find(union(s1,EQ)) +\replacewith(s1) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== unionIntersectItself6 (unionIntersectItself) ========================================= +unionIntersectItself6 { +\find(union(s1,intersect(s2,s1))) +\replacewith(s1) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== unionIntersectItself6EQ (unionIntersectItselfEQ) ========================================= +unionIntersectItself6EQ { +\assumes ([equals(intersect(s2,s1),EQ)]==>[]) +\find(union(s1,EQ)) +\replacewith(s1) +\heuristics(simplify) +Choices: true} ----------------------------------------------------- == unionIntersectItself_2 (unionIntersectItself_2) ========================================= unionIntersectItself_2 { -\find(union(intersect(s2,s1),s1)) +\find(union(intersect(s2,s1),s1)) \replacewith(s1) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == unionIntersectItself_3 (unionIntersectItself_3) ========================================= unionIntersectItself_3 { -\find(union(union(s,intersect(s1,s2)),s1)) -\replacewith(union(s,s1)) +\find(union(union(s,intersect(s1,s2)),s1)) +\replacewith(union(s,s1)) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == unionIntersectItself_4 (unionIntersectItself_4) ========================================= unionIntersectItself_4 { -\find(union(union(s,intersect(s2,s1)),s1)) -\replacewith(union(s,s1)) +\find(union(union(s,intersect(s2,s1)),s1)) +\replacewith(union(s,s1)) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == unionIntersectItself_5 (unionIntersectItself_5) ========================================= unionIntersectItself_5 { -\find(union(union(intersect(s1,s2),s),s1)) -\replacewith(union(s,s1)) +\find(union(union(intersect(s1,s2),s),s1)) +\replacewith(union(s,s1)) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == unionIntersectItself_6 (unionIntersectItself_6) ========================================= unionIntersectItself_6 { -\find(union(union(intersect(s2,s1),s),s1)) -\replacewith(union(s,s1)) +\find(union(union(intersect(s2,s1),s),s1)) +\replacewith(union(s,s1)) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} +----------------------------------------------------- +== unionSetMinusItself (unionSetMinusItself) ========================================= +unionSetMinusItself { +\find(union(setMinus(s1,s2),s2)) +\replacewith(union(s1,s2)) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== unionSetMinusItself2 (unionSetMinusItself) ========================================= +unionSetMinusItself2 { +\find(union(s2,setMinus(s1,s2))) +\replacewith(union(s2,s1)) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== unionSetMinusItself2EQ (unionSetMinusItselfEQ) ========================================= +unionSetMinusItself2EQ { +\assumes ([equals(setMinus(s1,s2),EQ)]==>[]) +\find(union(s2,EQ)) +\replacewith(union(s2,s1)) +\heuristics(simplify) +Choices: true} +----------------------------------------------------- +== unionSetMinusItselfEQ (unionSetMinusItselfEQ) ========================================= +unionSetMinusItselfEQ { +\assumes ([equals(setMinus(s1,s2),EQ)]==>[]) +\find(union(EQ,s2)) +\replacewith(union(s1,s2)) +\heuristics(simplify) +Choices: true} ----------------------------------------------------- == unionWithAllLocs (unionWithAllLocs) ========================================= unionWithAllLocs { -\find(union(allLocs,s)) +\find(union>(allLocs,s)) \replacewith(allLocs) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == unionWithAllLocsRight (unionWithAllLocs) ========================================= unionWithAllLocsRight { -\find(union(s,allLocs)) +\find(union>(s,allLocs)) \replacewith(allLocs) \heuristics(concrete) Choices: programRules:Java} ----------------------------------------------------- == unionWithEmpty (unionWithEmpty) ========================================= unionWithEmpty { -\find(union(empty,s)) +\find(union(empty,s)) \replacewith(s) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == unionWithEmptyRight (unionWithEmpty) ========================================= unionWithEmptyRight { -\find(union(s,empty)) +\find(union(s,empty)) \replacewith(s) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == unionWithItself (unionWithItself) ========================================= unionWithItself { -\find(union(s,s)) +\find(union(s,s)) \replacewith(s) \heuristics(concrete) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == unionWithSingletonEqualsUnionWithSingleton (unionWithSingletonEqualsUnionWithSingleton) ========================================= unionWithSingletonEqualsUnionWithSingleton { -\find(equals(union(s1,singleton(o,f)),union(s2,singleton(o,f)))) -\replacewith(equals(setMinus(s1,singleton(o,f)),setMinus(s2,singleton(o,f)))) +\find(equals(union(s,singleton(a)),union(t,singleton(a)))) +\replacewith(equals(setMinus(s,singleton(a)),setMinus(t,singleton(a)))) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == unionWithSingletonEqualsUnionWithSingleton_2 (unionWithSingletonEqualsUnionWithSingleton_2) ========================================= unionWithSingletonEqualsUnionWithSingleton_2 { -\find(equals(union(singleton(o,f),s1),union(singleton(o,f),s2))) -\replacewith(equals(setMinus(s1,singleton(o,f)),setMinus(s2,singleton(o,f)))) +\find(equals(union(singleton(a),s),union(singleton(a),t))) +\replacewith(equals(setMinus(s,singleton(a)),setMinus(t,singleton(a)))) \heuristics(simplify) -Choices: programRules:Java} +Choices: true} ----------------------------------------------------- == unsignedShiftRightJintDef (unsignedShiftRightJintDef) ========================================= unsignedShiftRightJintDef { @@ -18809,7 +19184,7 @@ Choices: programRules:Java} == wellFormedMemsetArrayPrimitive (wellFormedMemsetArrayPrimitive) ========================================= wellFormedMemsetArrayPrimitive { \find(wellFormed(memset(h,arrayRange(ar,lo,up),x))) -\succedentPolarity\varcond(\hasSort(\elemSort(ar (java.lang.Object term)), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, LocSet), \sub(beta, alpha)) +\succedentPolarity\varcond(\hasSort(\elemSort(ar (java.lang.Object term)), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, Set>), \sub(beta, alpha)) \replacewith(wellFormed(h)) \heuristics(simplify_enlarging) Choices: programRules:Java} @@ -18834,7 +19209,7 @@ Choices: programRules:Java} == wellFormedStoreLocSet (wellFormedStoreLocSet) ========================================= wellFormedStoreLocSet { \find(wellFormed(store(h,o,f,x))) -\succedentPolarity\varcond(\fieldType(f (Field term), alpha), \sub(LocSet, alpha)) +\succedentPolarity\varcond(\fieldType(f (Field term), alpha), \sub(Set>, alpha)) \replacewith(and(wellFormed(h),createdInHeap(x,h))) \heuristics(simplify_enlarging) Choices: programRules:Java} @@ -18843,7 +19218,7 @@ Choices: programRules:Java} wellFormedStoreLocSetEQ { \assumes ([equals(store(h,o,f,x),EQ)]==>[]) \find(wellFormed(EQ)) -\succedentPolarity\varcond(\fieldType(f (Field term), alpha), \sub(LocSet, alpha)) +\succedentPolarity\varcond(\fieldType(f (Field term), alpha), \sub(Set>, alpha)) \replacewith(and(wellFormed(h),createdInHeap(x,h))) \heuristics(simplify_enlarging) Choices: programRules:Java} @@ -18868,7 +19243,7 @@ Choices: programRules:Java} == wellFormedStorePrimitive (wellFormedStorePrimitive) ========================================= wellFormedStorePrimitive { \find(wellFormed(store(h,o,f,x))) -\succedentPolarity\varcond(\fieldType(f (Field term), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, LocSet), \sub(beta, alpha)) +\succedentPolarity\varcond(\fieldType(f (Field term), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, Set>), \sub(beta, alpha)) \replacewith(wellFormed(h)) \heuristics(concrete) Choices: programRules:Java} @@ -18876,7 +19251,7 @@ Choices: programRules:Java} == wellFormedStorePrimitiveArray (wellFormedStorePrimitiveArray) ========================================= wellFormedStorePrimitiveArray { \find(wellFormed(store(h,o,arr(idx),x))) -\succedentPolarity\varcond(\hasSort(\elemSort(o (java.lang.Object term)), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, LocSet), \sub(beta, alpha)) +\succedentPolarity\varcond(\hasSort(\elemSort(o (java.lang.Object term)), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, Set>), \sub(beta, alpha)) \replacewith(wellFormed(h)) \heuristics(concrete) Choices: programRules:Java} @@ -18885,7 +19260,7 @@ Choices: programRules:Java} wellFormedStorePrimitiveArrayEQ { \assumes ([equals(store(h,o,arr(idx),x),EQ)]==>[]) \find(wellFormed(EQ)) -\succedentPolarity\varcond(\hasSort(\elemSort(o (java.lang.Object term)), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, LocSet), \sub(beta, alpha)) +\succedentPolarity\varcond(\hasSort(\elemSort(o (java.lang.Object term)), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, Set>), \sub(beta, alpha)) \replacewith(wellFormed(h)) \heuristics(concrete) Choices: programRules:Java} @@ -18894,7 +19269,7 @@ Choices: programRules:Java} wellFormedStorePrimitiveEQ { \assumes ([equals(store(h,o,f,x),EQ)]==>[]) \find(wellFormed(EQ)) -\succedentPolarity\varcond(\fieldType(f (Field term), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, LocSet), \sub(beta, alpha)) +\succedentPolarity\varcond(\fieldType(f (Field term), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, Set>), \sub(beta, alpha)) \replacewith(wellFormed(h)) \heuristics(concrete) Choices: programRules:Java} diff --git a/key.core/src/test/resources/de/uka/ilkd/key/prover/mt/shared-state-allowlist.txt b/key.core/src/test/resources/de/uka/ilkd/key/prover/mt/shared-state-allowlist.txt index f0b4c717ea9..3990662ecda 100644 --- a/key.core/src/test/resources/de/uka/ilkd/key/prover/mt/shared-state-allowlist.txt +++ b/key.core/src/test/resources/de/uka/ilkd/key/prover/mt/shared-state-allowlist.txt @@ -24,7 +24,6 @@ de.uka.ilkd.key.strategy.definition.StrategySettingsDefinition#STD_FURTHER_DEFAU de.uka.ilkd.key.rule.merge.MergeProcedure#CONCRETE_RULES # assigned once in a static block (immutable list); merges run single-core only # --- all reads and writes hold a lock --- -de.uka.ilkd.key.logic.op.QualifierWrapper#INSTANCES # accessed exclusively inside the synchronized static get() de.uka.ilkd.key.proof.calculus.JavaDLSequentKit#INSTANCE # assigned once at class-init; reads via synchronized getInstance() de.uka.ilkd.key.proof.init.JavaProfile#defaultInstance # lazy singleton; every access inside synchronized getDefaultInstance() de.uka.ilkd.key.proof.init.JavaProfile#defaultInstancePermissions # lazy singleton; every access inside synchronized getDefaultInstance() diff --git a/key.core/tacletProofs/heap/Taclet_simplifySelectOfMemsetWithArrayRangeDiffArray.proof b/key.core/tacletProofs/heap/Taclet_simplifySelectOfMemsetWithArrayRangeDiffArray.proof index aeaec0bbf31..bc6b33c684b 100644 --- a/key.core/tacletProofs/heap/Taclet_simplifySelectOfMemsetWithArrayRangeDiffArray.proof +++ b/key.core/tacletProofs/heap/Taclet_simplifySelectOfMemsetWithArrayRangeDiffArray.proof @@ -7,18 +7,21 @@ "assertions" : "assertions:on", "bigint" : "bigint:on", "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", "initialisation" : "initialisation:disableStaticInitialisation", "intRules" : "intRules:arithmeticSemanticsIgnoringOF", "integerSimplificationRules" : "integerSimplificationRules:full", "javaLoopTreatment" : "javaLoopTreatment:efficient", "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", "modelFields" : "modelFields:showSatisfiability", "moreSeqRules" : "moreSeqRules:off", "permissions" : "permissions:off", "programRules" : "programRules:Java", "reach" : "reach:on", "runtimeExceptions" : "runtimeExceptions:ban", - "sequences" : "sequences:on" + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on" }, "Labels" : { "UseOriginLabels" : true @@ -49,6 +52,7 @@ "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_FREE", "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", "LOOP_OPTIONS_KEY" : "LOOP_SCOPE_INV_TACLET", "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", "MPS_OPTIONS_KEY" : "MPS_MERGE", @@ -61,7 +65,7 @@ "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", - "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_FULL", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", @@ -81,11 +85,12 @@ \proof { (keyLog "0" (keyUser "bubel" ) (keyVersion "40f2ff40876dc6765d47e8d8cd9ca970f14235f7")) +(keyLog "1" (keyUser "daniel" ) (keyVersion "9f5c2371129286ae614d0425699f44df59316f59")) -(autoModeTime "90") +(autoModeTime "141") (branch "dummy ID" -(rule "impRight" (formula "1")) +(rule "impRight" (formula "1") (newnames "f_h,f_o,f_low,f_high,f_x,f_o2,f_f")) (rule "notLeft" (formula "1")) (rule "eqSymm" (formula "2")) (rule "pullOutSelect" (formula "1") (term "0") (inst "selectSK=f_f_0:beta")) @@ -93,6 +98,7 @@ (rule "eqSymm" (formula "2")) (rule "elementOfArrayRange" (formula "1") (term "0,0,0") (inst "iv=iv")) (rule "eqSymm" (formula "1") (term "0,0,0,1,0,0,0")) + (builtin "One Step Simplification" (formula "1")) (rule "replace_known_right" (formula "1") (term "0,0,0,0") (ifseqformula "3")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "2"))) (rule "closeFalse" (formula "1")) diff --git a/key.core/tacletProofs/locSet/Taclet_arrayRangeEmpty.proof b/key.core/tacletProofs/locSet/Taclet_arrayRangeEmpty.proof new file mode 100644 index 00000000000..86856a1e6d1 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_arrayRangeEmpty.proof @@ -0,0 +1,276 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:on", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:off", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 10000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_EXPAND", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_FREE", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_NONE", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_DEF_OPS", + "OSS_OPTIONS_KEY" : "OSS_ON", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "arrayRangeEmpty" +} + +\proof { +(keyLog "0" (keyUser "daniel" ) (keyVersion "3e5e375a5961f774f564a01b1e406905665f8f19")) + +(autoModeTime "685") + +(branch "dummy ID" +(rule "inEqSimp_ltToLeq" (formula "1") (term "1")) +(rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1")) +(rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1")) +(rule "polySimp_mulComm0" (formula "1") (term "1,1")) +(rule "polySimp_rightDist" (formula "1") (term "1,1")) +(rule "mul_literals" (formula "1") (term "0,1,1")) +(rule "polySimp_mulLiterals" (formula "1") (term "1,1,1")) +(rule "polySimp_elimOne" (formula "1") (term "1,1,1")) +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "inEqSimp_leqRight" (formula "2")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (formula "1") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1")) + (rule "polySimp_elimOne" (formula "1") (term "1")) + (rule "equalityToElementOf" (formula "2") (inst "av=av:Pair") (userinteraction)) + (builtin "One Step Simplification" (formula "2")) + (rule "elementOfArrayRange" (formula "2") (term "0,0") (inst "iv=iv")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "1,0,0,1,0,0")) + (rule "nnf_notAnd" (formula "2") (term "0")) + (rule "nnf_notEx" (formula "2") (term "1,0")) + (rule "nnf_notAnd" (formula "2") (term "0,1,0")) + (rule "inEqSimp_notLeq" (formula "2") (term "1,0,1,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0,1,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "2") (term "1,0,1,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,1,0,1,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,1,0,1,0")) + (rule "mul_literals" (formula "2") (term "0,1,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,1,1,0,1,0")) + (rule "polySimp_elimOne" (formula "2") (term "1,1,1,0,1,0")) + (rule "nnf_notAnd" (formula "2") (term "0,0,1,0")) + (rule "inEqSimp_notGeq" (formula "2") (term "1,0,0,1,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0,1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "2") (term "1,0,0,1,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,1,0,0,1,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,1,0,0,1,0")) + (rule "mul_literals" (formula "2") (term "0,1,1,0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,1,1,0,0,1,0")) + (rule "polySimp_elimOne" (formula "2") (term "1,1,1,0,0,1,0")) + (rule "all_pull_out3" (formula "2") (term "0")) + (rule "shift_paren_or" (formula "2") (term "0,0")) + (rule "shift_paren_or" (formula "2") (term "0,0,0")) + (rule "allLeft" (formula "2") (inst "t=pair(null, arr(f_upper)):Pair") (userinteraction)) + (builtin "One Step Simplification" (formula "2")) + (rule "eqSymm" (formula "2") (term "0,0,0,0,0")) + (rule "eqSymm" (formula "2") (term "0,1,0,0,0")) + (rule "commute_or_2" (formula "2") (term "0,0")) + (rule "commute_or_2" (formula "2") (term "0")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_homoInEq1" (formula "2") (term "1")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,1")) + (rule "add_literals" (formula "2") (term "1,1,0,1")) + (rule "times_zero_1" (formula "2") (term "1,0,1")) + (rule "add_literals" (formula "2") (term "0,1")) + (rule "leq_literals" (formula "2") (term "1")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_contradInEq1" (formula "2") (term "1") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "2") (term "0,1")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "2") (term "1,0,0,1")) + (rule "mul_literals" (formula "2") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "2") (term "0,0,1")) + (rule "polySimp_addComm0" (formula "2") (term "0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,1")) + (rule "add_literals" (formula "2") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "2") (term "1,0,0,1")) + (rule "add_literals" (formula "2") (term "0,0,1")) + (rule "leq_literals" (formula "2") (term "0,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "notLeft" (formula "2")) + (rule "geq_to_lt_alt" (formula "1") (userinteraction)) + (rule "orLeft" (formula "1") (userinteraction)) + (branch "gt(f_upper, f_lower)" + (rule "inEqSimp_gtToGeq" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1")) + (rule "polySimp_rightDist" (formula "1") (term "1")) + (rule "mul_literals" (formula "1") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) + (rule "polySimp_elimOne" (formula "1") (term "1,1")) + (rule "allLeft" (formula "2") (inst "t=pair(f_o, arr(f_lower)):Pair") (userinteraction)) + (builtin "One Step Simplification" (formula "2")) + (rule "eqSymm" (formula "2") (term "0,0,0,0")) + (rule "commute_or" (formula "2") (term "0,0")) + (rule "commute_or_2" (formula "2") (term "0")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_homoInEq0" (formula "2") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0")) + (rule "add_literals" (formula "2") (term "1,1,0,0")) + (rule "times_zero_1" (formula "2") (term "1,0,0")) + (rule "add_literals" (formula "2") (term "0,0")) + (rule "qeq_literals" (formula "2") (term "0")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_homoInEq1" (formula "2")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1")) + (rule "polySimp_rightDist" (formula "2") (term "1")) + (rule "mul_literals" (formula "2") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) + (rule "polySimp_elimOne" (formula "2") (term "1,1")) + (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "2")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0")) + (rule "mul_literals" (formula "1") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0")) + (rule "polySimp_addComm1" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch "f_upper = f_lower" + (rule "applyEq" (formula "2") (term "1,1,1,0,0") (ifseqformula "1")) + (rule "inEqSimp_or_antiSymm1" (formula "2") (term "0,0")) + (rule "polySimp_homoEq" (formula "2") (term "0,1,0,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0,1,0,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "2") (term "0,1,0,0,1,0,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,1,0,0,1,0,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,1,0,0,1,0,0")) + (rule "mul_literals" (formula "2") (term "0,1,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "2") (term "1,0,1,1,0,0")) + (rule "add_literals" (formula "2") (term "0,1,0,1,1,0,0")) + (rule "add_zero_left" (formula "2") (term "1,0,1,1,0,0")) + (rule "polySimp_addAssoc" (formula "2") (term "1,0,0,1,0,0")) + (rule "add_literals" (formula "2") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "2") (term "0,0,1,0,0")) + (rule "polySimp_addComm1" (formula "2") (term "0,0,0,1,0,0")) + (rule "add_literals" (formula "2") (term "0,0,0,0,1,0,0")) + (rule "add_zero_left" (formula "2") (term "0,0,0,1,0,0")) + (rule "polySimp_pullOutFactor1" (formula "2") (term "0,0,1,0,0")) + (rule "add_literals" (formula "2") (term "1,0,0,1,0,0")) + (rule "times_zero_1" (formula "2") (term "0,0,1,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "allLeft" (formula "2") (inst "t=pair(f_o, arr(f_lower)):Pair") (userinteraction)) + (builtin "One Step Simplification" (formula "2")) + (rule "closeFalse" (formula "2")) + ) +) +(branch "Case '<-'" + (rule "equalityToElementOfRight" (formula "2") (inst "fv=fv") (inst "ov=ov")) + (builtin "One Step Simplification" (formula "2")) + (rule "allRight" (formula "2") (inst "sk=ov_0:java.lang.Object")) + (rule "allRight" (formula "2") (inst "sk=fv_0:Field")) + (rule "notRight" (formula "2")) + (rule "elementOfArrayRange" (formula "1") (inst "iv=iv")) + (builtin "One Step Simplification" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "inEqSimp_commuteLeq" (formula "3")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "6")) + (rule "andLeft" (formula "3")) + (rule "inEqSimp_homoInEq1" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0")) + (rule "polySimp_rightDist" (formula "3") (term "1,0")) + (rule "mul_literals" (formula "3") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "3") (term "0")) + (rule "polySimp_addComm0" (formula "3") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) + (rule "add_literals" (formula "3") (term "1,1,0")) + (rule "times_zero_1" (formula "3") (term "1,0")) + (rule "add_literals" (formula "3") (term "0")) + (rule "leq_literals" (formula "3")) + (rule "closeFalse" (formula "3")) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_disjointAllFieldsSingleton.proof b/key.core/tacletProofs/locSet/Taclet_disjointAllFieldsSingleton.proof new file mode 100644 index 00000000000..0740a5d66cf --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_disjointAllFieldsSingleton.proof @@ -0,0 +1,101 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "disjointAllFieldsSingleton" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "104") + +(branch "dummy ID" +(rule "eqSymm" (formula "1") (term "0,1")) +(rule "disjointWithSingleton1" (formula "1") (term "0")) +(rule "elementOfAllFields" (formula "1") (term "0,0")) +(rule "firstOfPair" (formula "1") (term "0,0,0")) +(rule "eq_eq" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_disjointAllFieldsSingleton2.proof b/key.core/tacletProofs/locSet/Taclet_disjointAllFieldsSingleton2.proof new file mode 100644 index 00000000000..e7600673a5f --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_disjointAllFieldsSingleton2.proof @@ -0,0 +1,101 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "disjointAllFieldsSingleton2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "32") + +(branch "dummy ID" +(rule "eqSymm" (formula "1") (term "0,1")) +(rule "disjointWithSingleton2" (formula "1") (term "0")) +(rule "elementOfAllFields" (formula "1") (term "0,0")) +(rule "firstOfPair" (formula "1") (term "0,0,0")) +(rule "eq_eq" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_disjointAllObjects2.proof b/key.core/tacletProofs/locSet/Taclet_disjointAllObjects2.proof new file mode 100644 index 00000000000..9df49c62b5c --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_disjointAllObjects2.proof @@ -0,0 +1,128 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 4000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "disjointAllObjects2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "127") + +(branch "dummy ID" +(rule "eqSymm" (formula "1") (term "0,1")) +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "notRight" (formula "2")) + (rule "applyEq" (formula "2") (term "0,1,0") (ifseqformula "1")) + (rule "intersectWithItself" (formula "2") (term "0")) + (rule "equalityToElementOf" (formula "2") (inst "av=av:Pair") (userinteraction)) + (rule "elementOfAllObjects" (formula "2") (term "0,0")) + (rule "elementOfEmpty" (formula "2") (term "1,0")) + (rule "concrete_eq_4" (formula "2") (term "0")) + (rule "allLeft" (formula "2") (inst "t=pair(null, f_f1):Pair") (userinteraction)) + (rule "secondOfPair" (formula "2") (term "0,0")) + (rule "eqClose" (formula "2") (term "0")) + (rule "concrete_not_1" (formula "2")) + (rule "closeFalse" (formula "2")) +) +(branch "Case '<-'" + (rule "notLeft" (formula "1")) + (rule "equalityToElementOfRight" (formula "2") (inst "fv=fv") (inst "ov=ov")) + (rule "elementOfEmpty" (formula "2") (term "1,0,0")) + (rule "concrete_eq_4" (formula "2") (term "0,0")) + (rule "allRight" (formula "2") (inst "sk=ov_0:java.lang.Object")) + (rule "allRight" (formula "2") (inst "sk=fv_0:Field")) + (rule "notRight" (formula "2")) + (rule "elementOfIntersect" (formula "1")) + (rule "elementOfAllObjects" (formula "1") (term "0")) + (rule "elementOfAllObjects" (formula "1") (term "1")) + (rule "secondOfPair" (formula "1") (term "0,0")) + (rule "secondOfPair" (formula "1") (term "0,1")) + (rule "andLeft" (formula "1")) + (rule "applyEq" (formula "1") (term "0") (ifseqformula "2")) + (rule "close" (formula "3") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_disjointAllObjectsSingleton.proof b/key.core/tacletProofs/locSet/Taclet_disjointAllObjectsSingleton.proof new file mode 100644 index 00000000000..8c12fa98dbe --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_disjointAllObjectsSingleton.proof @@ -0,0 +1,101 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "disjointAllObjectsSingleton" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "29") + +(branch "dummy ID" +(rule "eqSymm" (formula "1") (term "0,1")) +(rule "disjointWithSingleton1" (formula "1") (term "0")) +(rule "elementOfAllObjects" (formula "1") (term "0,0")) +(rule "secondOfPair" (formula "1") (term "0,0,0")) +(rule "eq_eq" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_disjointAllObjectsSingleton2.proof b/key.core/tacletProofs/locSet/Taclet_disjointAllObjectsSingleton2.proof new file mode 100644 index 00000000000..2b23449fdd6 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_disjointAllObjectsSingleton2.proof @@ -0,0 +1,101 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "disjointAllObjectsSingleton2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "33") + +(branch "dummy ID" +(rule "eqSymm" (formula "1") (term "0,1")) +(rule "disjointWithSingleton2" (formula "1") (term "0")) +(rule "elementOfAllObjects" (formula "1") (term "0,0")) +(rule "secondOfPair" (formula "1") (term "0,0,0")) +(rule "eq_eq" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_disjointArrayRangeAllFields1.proof b/key.core/tacletProofs/locSet/Taclet_disjointArrayRangeAllFields1.proof index af8ab5faeef..974392febfe 100644 --- a/key.core/tacletProofs/locSet/Taclet_disjointArrayRangeAllFields1.proof +++ b/key.core/tacletProofs/locSet/Taclet_disjointArrayRangeAllFields1.proof @@ -1,125 +1,163 @@ \profile "Java Profile"; \settings { -"#Proof-Settings-Config-File -#Wed Apr 12 13:28:59 CEST 2023 -[NewSMT]NoTypeHierarchy=false -[Labels]UseOriginLabels=true -[StrategyProperty]QUERYAXIOM_OPTIONS_KEY=QUERYAXIOM_ON -[NewSMT]Presburger=false -[SMTSettings]invariantForall=false -[Strategy]ActiveStrategy=JavaCardDLStrategy -[StrategyProperty]USER_TACLETS_OPTIONS_KEY1=USER_TACLETS_OFF -[StrategyProperty]QUANTIFIERS_OPTIONS_KEY=QUANTIFIERS_NON_SPLITTING_WITH_PROGS -[StrategyProperty]USER_TACLETS_OPTIONS_KEY2=USER_TACLETS_OFF -[Choice]DefaultChoices=JavaCard-JavaCard\\:on, Strings-Strings\\:on, assertions-assertions\\:safe, bigint-bigint\\:on, finalFields-finalFields\\:immutable, floatRules-floatRules\\:strictfpOnly, initialisation-initialisation\\:disableStaticInitialisation, intRules-intRules\\:arithmeticSemanticsIgnoringOF, integerSimplificationRules-integerSimplificationRules\\:full, javaLoopTreatment-javaLoopTreatment\\:efficient, mergeGenerateIsWeakeningGoal-mergeGenerateIsWeakeningGoal\\:off, methodExpansion-methodExpansion\\:modularOnly, modelFields-modelFields\\:treatAsAxiom, moreSeqRules-moreSeqRules\\:on, permissions-permissions\\:off, programRules-programRules\\:Java, reach-reach\\:on, runtimeExceptions-runtimeExceptions\\:ban, sequences-sequences\\:on, wdChecks-wdChecks\\:off, wdOperator-wdOperator\\:L -[StrategyProperty]LOOP_OPTIONS_KEY=LOOP_SCOPE_INV_TACLET -[StrategyProperty]INF_FLOW_CHECK_PROPERTY=INF_FLOW_CHECK_FALSE -[SMTSettings]UseBuiltUniqueness=false -[SMTSettings]explicitTypeHierarchy=false -[SMTSettings]instantiateHierarchyAssumptions=true -[StrategyProperty]NON_LIN_ARITH_OPTIONS_KEY=NON_LIN_ARITH_DEF_OPS -[SMTSettings]SelectedTaclets= -[StrategyProperty]DEP_OPTIONS_KEY=DEP_ON -[StrategyProperty]AUTO_INDUCTION_OPTIONS_KEY=AUTO_INDUCTION_OFF -[Strategy]MaximumNumberOfAutomaticApplications=10000 -[StrategyProperty]STOPMODE_OPTIONS_KEY=STOPMODE_DEFAULT -[StrategyProperty]CLASS_AXIOM_OPTIONS_KEY=CLASS_AXIOM_DELAYED -[SMTSettings]useConstantsForBigOrSmallIntegers=true -[StrategyProperty]MPS_OPTIONS_KEY=MPS_MERGE -[StrategyProperty]SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY=SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF -[Strategy]Timeout=-1 -[StrategyProperty]SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY=SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER -[StrategyProperty]QUERY_NEW_OPTIONS_KEY=QUERY_OFF -[SMTSettings]useUninterpretedMultiplication=true -[NewSMT]sqrtSMTTranslation=SMT -[StrategyProperty]BLOCK_OPTIONS_KEY=BLOCK_CONTRACT_INTERNAL -[StrategyProperty]METHOD_OPTIONS_KEY=METHOD_CONTRACT -[StrategyProperty]USER_TACLETS_OPTIONS_KEY3=USER_TACLETS_OFF -[NewSMT]identifier=OPEN -[SMTSettings]maxGenericSorts=2 -[StrategyProperty]OSS_OPTIONS_KEY=OSS_ON -[NewSMT]Axiomatisations=false -[StrategyProperty]SPLITTING_OPTIONS_KEY=SPLITTING_DELAYED -[SMTSettings]integersMinimum=-2147483645 -[StrategyProperty]VBT_PHASE=VBT_SYM_EX -[SMTSettings]integersMaximum=2147483645 -" -} + "Choice" : { + "JavaCard" : "JavaCard:on", + "Strings" : "Strings:on", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + "Axiomatisations" : "false", + "NoTypeHierarchy" : "false", + "Presburger" : "false", + "identifier" : "OPEN", + "sqrtSMTTranslation" : "SMT" + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 10000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_SCOPE_INV_TACLET", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_DEF_OPS", + "OSS_OPTIONS_KEY" : "OSS_ON", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + -\proofObligation { - "name": "disjointArrayRangeAllFields1", - "class": "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", - } +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "disjointArrayRangeAllFields1" +} \proof { (keyLog "0" (keyUser "Julian" ) (keyVersion "80a871ca3bac8bb405ecc216fcb6fa9ef6f8a395")) +(keyLog "1" (keyUser "daniel" ) (keyVersion "9f5c2371129286ae614d0425699f44df59316f59")) -(autoModeTime "0") +(autoModeTime "367") (branch "dummy ID" (rule "equiv_right" (formula "1") (newnames "f_o1,f_o2,f_lower2,f_upper2") (userinteraction)) (branch "Case '->'" (rule "notRight" (formula "2")) (rule "andLeft" (formula "1")) - (rule "equalityToElementOf" (formula "3") (inst "ov=ov") (inst "fv=fv") (userinteraction)) + (rule "equalityToElementOf" (formula "3") (inst "av=av:Pair") (userinteraction)) (builtin "One Step Simplification" (formula "3")) (rule "eqSymm" (formula "1")) (rule "inEqSimp_commuteLeq" (formula "2")) - (rule "applyEqRigid" (formula "3") (term "0,1,2,0,0,0") (ifseqformula "1")) - (rule "elementOfIntersect" (formula "3") (term "0,0,0")) + (rule "applyEqRigid" (formula "3") (term "0,1,1,0,0") (ifseqformula "1")) + (rule "elementOfIntersect" (formula "3") (term "0,0")) (builtin "One Step Simplification" (formula "3")) - (rule "elementOfArrayRange" (formula "3") (term "1,0,0,0") (inst "iv=iv")) - (rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0,1,1,0,0,0")) - (rule "nnf_notAnd" (formula "3") (term "0,0")) - (rule "nnf_notAnd" (formula "3") (term "1,0,0")) - (rule "nnf_notEx" (formula "3") (term "1,1,0,0")) - (rule "nnf_notAnd" (formula "3") (term "0,1,1,0,0")) - (rule "inEqSimp_notLeq" (formula "3") (term "1,0,1,1,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0,0,1,0,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "3") (term "1,0,1,1,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,1,0,1,1,0,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,1,0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,1,1,0,1,1,0,0")) - (rule "mul_literals" (formula "3") (term "0,1,1,0,1,1,0,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,1,1,0,1,1,0,0")) - (rule "nnf_notAnd" (formula "3") (term "0,0,1,1,0,0")) - (rule "inEqSimp_notGeq" (formula "3") (term "1,0,0,1,1,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0,0,1,0,0,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "3") (term "1,0,0,1,1,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,1,0,0,1,1,0,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,1,0,0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,1,1,0,0,1,1,0,0")) - (rule "mul_literals" (formula "3") (term "0,1,1,0,0,1,1,0,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,1,1,0,0,1,1,0,0")) - (rule "all_pull_out3" (formula "3") (term "1,0,0")) - (rule "shift_paren_or" (formula "3") (term "0,1,0,0")) - (rule "shift_paren_or" (formula "3") (term "0,0,1,0,0")) - (rule "commute_or" (formula "3") (term "0,0,0,1,0,0")) - (rule "all_pull_out3" (formula "3") (term "0,0")) + (rule "elementOfArrayRange" (formula "3") (term "1,0,0") (inst "iv=iv")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0,1,1,0,0")) + (rule "nnf_notAnd" (formula "3") (term "0")) + (rule "nnf_notAnd" (formula "3") (term "1,0")) + (rule "nnf_notEx" (formula "3") (term "1,1,0")) + (rule "nnf_notAnd" (formula "3") (term "0,1,1,0")) + (rule "inEqSimp_notLeq" (formula "3") (term "1,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,0,1,0,1,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3") (term "1,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "3") (term "1,1,0,1,1,0")) + (rule "polySimp_rightDist" (formula "3") (term "1,1,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "3") (term "1,1,1,0,1,1,0")) + (rule "mul_literals" (formula "3") (term "0,1,1,0,1,1,0")) + (rule "polySimp_elimOne" (formula "3") (term "1,1,1,0,1,1,0")) + (rule "nnf_notAnd" (formula "3") (term "0,0,1,1,0")) + (rule "inEqSimp_notGeq" (formula "3") (term "1,0,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,0,1,0,0,1,1,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "3") (term "1,0,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "3") (term "1,1,0,0,1,1,0")) + (rule "polySimp_rightDist" (formula "3") (term "1,1,0,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "3") (term "1,1,1,0,0,1,1,0")) + (rule "mul_literals" (formula "3") (term "0,1,1,0,0,1,1,0")) + (rule "polySimp_elimOne" (formula "3") (term "1,1,1,0,0,1,1,0")) + (rule "all_pull_out3" (formula "3") (term "1,0")) + (rule "shift_paren_or" (formula "3") (term "0,1,0")) + (rule "shift_paren_or" (formula "3") (term "0,0,1,0")) + (rule "commute_or" (formula "3") (term "0,0,0,1,0")) + (rule "all_pull_out3" (formula "3") (term "0")) + (rule "shift_paren_or" (formula "3") (term "0,0")) + (rule "commute_or_2" (formula "3") (term "1,0,0,0")) (rule "shift_paren_or" (formula "3") (term "0,0,0")) - (rule "commute_or_2" (formula "3") (term "1,0,0,0,0")) (rule "shift_paren_or" (formula "3") (term "0,0,0,0")) - (rule "shift_paren_or" (formula "3") (term "0,0,0,0,0")) - (rule "swapQuantifiersAll" (formula "3") (term "0")) - (rule "swapQuantifiersAll" (formula "3")) - (rule "commute_or_2" (formula "3") (term "0,0,0")) - (rule "commute_or_2" (formula "3") (term "0,0,0,0,0")) - (rule "commute_or_2" (formula "3") (term "0,0,0,0")) - (rule "commute_or_2" (formula "3") (term "0,0,0")) - (builtin "One Step Simplification" (formula "3")) - (rule "polySimp_addComm1" (formula "3") (term "1")) + (rule "swapQuantifiersAll" (formula "3") (userinteraction)) + (rule "allLeft" (formula "3") (inst "t=f_upper2:int") (userinteraction)) + (rule "allLeft" (formula "3") (inst "t=pair(f_o2, arr(f_upper2)):Pair") (userinteraction)) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "1")) (ifInst "" (formula "1"))) + (rule "inEqSimp_homoInEq1" (formula "4") (term "1,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "0,1,0")) + (rule "add_literals" (formula "4") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "4") (term "1,0,1,0")) + (rule "add_literals" (formula "4") (term "0,1,0")) + (rule "leq_literals" (formula "4") (term "1,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_homoInEq1" (formula "3") (term "1")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "0,1")) + (rule "add_literals" (formula "3") (term "1,1,0,1")) + (rule "times_zero_1" (formula "3") (term "1,0,1")) (rule "add_literals" (formula "3") (term "0,1")) - (rule "add_zero_left" (formula "3") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,0")) - (rule "mul_literals" (formula "3") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "leq_literals" (formula "3") (term "1")) + (builtin "One Step Simplification" (formula "3")) + (rule "replace_known_left" (formula "4") (term "1,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) (rule "inEqSimp_contradInEq1" (formula "3") (ifseqformula "2")) (rule "andLeft" (formula "3")) (rule "inEqSimp_homoInEq1" (formula "3")) @@ -131,29 +169,30 @@ (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) (rule "add_literals" (formula "3") (term "1,1,0")) (rule "times_zero_1" (formula "3") (term "1,0")) - (rule "add_zero_right" (formula "3") (term "0")) + (rule "add_literals" (formula "3") (term "0")) (rule "leq_literals" (formula "3")) (rule "closeFalse" (formula "3")) ) (branch "Case '<-'" - (rule "equalityToElementOfRight" (formula "2") (inst "ov=ov") (inst "fv=fv") (userinteraction)) + (rule "equalityToElementOfRight" (formula "2") (inst "fv=fv") (inst "ov=ov") (userinteraction)) (builtin "One Step Simplification" (formula "2")) (rule "notLeft" (formula "1")) - (rule "allRight" (formula "2") (inst "sk=ov_0")) - (rule "allRight" (formula "2") (inst "sk=fv_0")) + (rule "allRight" (formula "2") (inst "sk=ov_0:java.lang.Object")) + (rule "allRight" (formula "2") (inst "sk=fv_0:Field")) (rule "notRight" (formula "2")) (rule "eqSymm" (formula "2") (term "0")) (rule "inEqSimp_commuteLeq" (formula "2") (term "1")) (rule "elementOfIntersect" (formula "1")) (builtin "One Step Simplification" (formula "1")) (rule "andLeft" (formula "1")) - (rule "applyEq" (formula "2") (term "0") (ifseqformula "1")) + (rule "applyEq" (formula "2") (term "0,0") (ifseqformula "1")) (rule "elementOfArrayRange" (formula "2") (inst "iv=iv")) (rule "andLeft" (formula "2")) - (rule "exLeft" (formula "3") (inst "sk=iv_0")) + (rule "exLeft" (formula "3") (inst "sk=iv_0:int")) (rule "andLeft" (formula "3")) (rule "andLeft" (formula "3")) (rule "eqSymm" (formula "2")) + (builtin "One Step Simplification" (formula "2")) (rule "replace_known_left" (formula "6") (term "0") (ifseqformula "2")) (builtin "One Step Simplification" (formula "6")) (rule "inEqSimp_geqRight" (formula "6")) diff --git a/key.core/tacletProofs/locSet/Taclet_disjointArrayRangeAllFields2.proof b/key.core/tacletProofs/locSet/Taclet_disjointArrayRangeAllFields2.proof index 4d207c714e5..7ad1e37f1a6 100644 --- a/key.core/tacletProofs/locSet/Taclet_disjointArrayRangeAllFields2.proof +++ b/key.core/tacletProofs/locSet/Taclet_disjointArrayRangeAllFields2.proof @@ -1,123 +1,161 @@ \profile "Java Profile"; \settings { -"#Proof-Settings-Config-File -#Wed Apr 12 13:29:06 CEST 2023 -[NewSMT]NoTypeHierarchy=false -[Labels]UseOriginLabels=true -[StrategyProperty]QUERYAXIOM_OPTIONS_KEY=QUERYAXIOM_ON -[NewSMT]Presburger=false -[SMTSettings]invariantForall=false -[Strategy]ActiveStrategy=JavaCardDLStrategy -[StrategyProperty]USER_TACLETS_OPTIONS_KEY1=USER_TACLETS_OFF -[StrategyProperty]QUANTIFIERS_OPTIONS_KEY=QUANTIFIERS_NON_SPLITTING_WITH_PROGS -[StrategyProperty]USER_TACLETS_OPTIONS_KEY2=USER_TACLETS_OFF -[Choice]DefaultChoices=JavaCard-JavaCard\\:on, Strings-Strings\\:on, assertions-assertions\\:safe, bigint-bigint\\:on, finalFields-finalFields\\:immutable, floatRules-floatRules\\:strictfpOnly, initialisation-initialisation\\:disableStaticInitialisation, intRules-intRules\\:arithmeticSemanticsIgnoringOF, integerSimplificationRules-integerSimplificationRules\\:full, javaLoopTreatment-javaLoopTreatment\\:efficient, mergeGenerateIsWeakeningGoal-mergeGenerateIsWeakeningGoal\\:off, methodExpansion-methodExpansion\\:modularOnly, modelFields-modelFields\\:treatAsAxiom, moreSeqRules-moreSeqRules\\:on, permissions-permissions\\:off, programRules-programRules\\:Java, reach-reach\\:on, runtimeExceptions-runtimeExceptions\\:ban, sequences-sequences\\:on, wdChecks-wdChecks\\:off, wdOperator-wdOperator\\:L -[StrategyProperty]LOOP_OPTIONS_KEY=LOOP_SCOPE_INV_TACLET -[StrategyProperty]INF_FLOW_CHECK_PROPERTY=INF_FLOW_CHECK_FALSE -[SMTSettings]UseBuiltUniqueness=false -[SMTSettings]explicitTypeHierarchy=false -[SMTSettings]instantiateHierarchyAssumptions=true -[StrategyProperty]NON_LIN_ARITH_OPTIONS_KEY=NON_LIN_ARITH_DEF_OPS -[SMTSettings]SelectedTaclets= -[StrategyProperty]DEP_OPTIONS_KEY=DEP_ON -[StrategyProperty]AUTO_INDUCTION_OPTIONS_KEY=AUTO_INDUCTION_OFF -[Strategy]MaximumNumberOfAutomaticApplications=10000 -[StrategyProperty]STOPMODE_OPTIONS_KEY=STOPMODE_DEFAULT -[StrategyProperty]CLASS_AXIOM_OPTIONS_KEY=CLASS_AXIOM_DELAYED -[SMTSettings]useConstantsForBigOrSmallIntegers=true -[StrategyProperty]MPS_OPTIONS_KEY=MPS_MERGE -[StrategyProperty]SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY=SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF -[Strategy]Timeout=-1 -[StrategyProperty]SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY=SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER -[StrategyProperty]QUERY_NEW_OPTIONS_KEY=QUERY_OFF -[SMTSettings]useUninterpretedMultiplication=true -[NewSMT]sqrtSMTTranslation=SMT -[StrategyProperty]BLOCK_OPTIONS_KEY=BLOCK_CONTRACT_INTERNAL -[StrategyProperty]METHOD_OPTIONS_KEY=METHOD_CONTRACT -[StrategyProperty]USER_TACLETS_OPTIONS_KEY3=USER_TACLETS_OFF -[NewSMT]identifier=OPEN -[SMTSettings]maxGenericSorts=2 -[StrategyProperty]OSS_OPTIONS_KEY=OSS_ON -[NewSMT]Axiomatisations=false -[StrategyProperty]SPLITTING_OPTIONS_KEY=SPLITTING_DELAYED -[SMTSettings]integersMinimum=-2147483645 -[StrategyProperty]VBT_PHASE=VBT_SYM_EX -[SMTSettings]integersMaximum=2147483645 -" -} + "Choice" : { + "JavaCard" : "JavaCard:on", + "Strings" : "Strings:on", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + "Axiomatisations" : "false", + "NoTypeHierarchy" : "false", + "Presburger" : "false", + "identifier" : "OPEN", + "sqrtSMTTranslation" : "SMT" + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 10000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_SCOPE_INV_TACLET", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_DEF_OPS", + "OSS_OPTIONS_KEY" : "OSS_ON", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + -\proofObligation { - "name": "disjointArrayRangeAllFields2", - "class": "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", - } + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "disjointArrayRangeAllFields2" +} \proof { (keyLog "0" (keyUser "Julian" ) (keyVersion "80a871ca3bac8bb405ecc216fcb6fa9ef6f8a395")) +(keyLog "1" (keyUser "daniel" ) (keyVersion "9f5c2371129286ae614d0425699f44df59316f59")) -(autoModeTime "0") +(autoModeTime "55") (branch "dummy ID" (rule "equiv_right" (formula "1") (newnames "f_o1,f_lower1,f_upper1,f_o2") (userinteraction)) (branch "Case '->'" (rule "notRight" (formula "2")) (rule "andLeft" (formula "1")) - (rule "equalityToElementOf" (formula "3") (inst "ov=ov") (inst "fv=fv") (userinteraction)) + (rule "equalityToElementOf" (formula "3") (inst "av=av:Pair") (userinteraction)) (builtin "One Step Simplification" (formula "3")) (rule "eqSymm" (formula "1")) (rule "inEqSimp_commuteLeq" (formula "2")) - (rule "applyEq" (formula "3") (term "0,1,2,0,0,0") (ifseqformula "1")) - (rule "elementOfIntersect" (formula "3") (term "0,0,0")) + (rule "applyEq" (formula "3") (term "0,1,1,0,0") (ifseqformula "1")) + (rule "elementOfIntersect" (formula "3") (term "0,0")) (builtin "One Step Simplification" (formula "3")) - (rule "elementOfArrayRange" (formula "3") (term "0,0,0,0") (inst "iv=iv")) - (rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0,1,0,0,0,0")) + (rule "elementOfArrayRange" (formula "3") (term "0,0,0") (inst "iv=iv")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0,1,0,0,0")) + (rule "nnf_notAnd" (formula "3") (term "0")) (rule "nnf_notAnd" (formula "3") (term "0,0")) - (rule "nnf_notAnd" (formula "3") (term "0,0,0")) - (rule "nnf_notEx" (formula "3") (term "1,0,0,0")) - (rule "nnf_notAnd" (formula "3") (term "0,1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "3") (term "1,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0,0,1,0,1,0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "3") (term "1,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,1,0,1,0,0,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,1,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,1,1,0,1,0,0,0")) - (rule "mul_literals" (formula "3") (term "0,1,1,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,1,1,0,1,0,0,0")) - (rule "nnf_notAnd" (formula "3") (term "0,0,1,0,0,0")) - (rule "inEqSimp_notGeq" (formula "3") (term "1,0,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0,0,1,0,0,1,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "3") (term "1,0,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,1,0,0,1,0,0,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,1,0,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,1,1,0,0,1,0,0,0")) - (rule "mul_literals" (formula "3") (term "0,1,1,0,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,1,1,0,0,1,0,0,0")) - (rule "all_pull_out3" (formula "3") (term "0,0,0")) + (rule "nnf_notEx" (formula "3") (term "1,0,0")) + (rule "nnf_notAnd" (formula "3") (term "0,1,0,0")) + (rule "inEqSimp_notLeq" (formula "3") (term "1,0,1,0,0")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,0,1,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3") (term "1,0,1,0,0")) + (rule "polySimp_mulComm0" (formula "3") (term "1,1,0,1,0,0")) + (rule "polySimp_rightDist" (formula "3") (term "1,1,0,1,0,0")) + (rule "polySimp_mulLiterals" (formula "3") (term "1,1,1,0,1,0,0")) + (rule "mul_literals" (formula "3") (term "0,1,1,0,1,0,0")) + (rule "polySimp_elimOne" (formula "3") (term "1,1,1,0,1,0,0")) + (rule "nnf_notAnd" (formula "3") (term "0,0,1,0,0")) + (rule "inEqSimp_notGeq" (formula "3") (term "1,0,0,1,0,0")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,0,1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "3") (term "1,0,0,1,0,0")) + (rule "polySimp_mulComm0" (formula "3") (term "1,1,0,0,1,0,0")) + (rule "polySimp_rightDist" (formula "3") (term "1,1,0,0,1,0,0")) + (rule "polySimp_mulLiterals" (formula "3") (term "1,1,1,0,0,1,0,0")) + (rule "mul_literals" (formula "3") (term "0,1,1,0,0,1,0,0")) + (rule "polySimp_elimOne" (formula "3") (term "1,1,1,0,0,1,0,0")) + (rule "all_pull_out3" (formula "3") (term "0,0")) + (rule "shift_paren_or" (formula "3") (term "0,0,0")) (rule "shift_paren_or" (formula "3") (term "0,0,0,0")) - (rule "shift_paren_or" (formula "3") (term "0,0,0,0,0")) - (rule "commute_or" (formula "3") (term "0,0,0,0,0,0")) - (rule "all_pull_out2" (formula "3") (term "0,0")) - (rule "swapQuantifiersAll" (formula "3") (term "0")) - (rule "swapQuantifiersAll" (formula "3")) - (rule "commute_or_2" (formula "3") (term "0,0,0,0,0")) - (rule "commute_or_2" (formula "3") (term "0,0,0,0")) - (builtin "One Step Simplification" (formula "3")) (rule "commute_or" (formula "3") (term "0,0,0,0,0")) - (rule "commute_or_2" (formula "3") (term "0,0,0,0")) - (rule "commute_or_2" (formula "3") (term "0,0,0")) - (builtin "One Step Simplification" (formula "3")) - (rule "polySimp_addComm1" (formula "3") (term "1")) + (rule "all_pull_out2" (formula "3") (term "0")) + (rule "swapQuantifiersAll" (formula "3")) + (rule "allLeft" (formula "3") (inst "t=f_upper1:int") (userinteraction)) + (rule "allLeft" (formula "3") (inst "t=pair(f_o2, arr(f_upper1)):Pair") (userinteraction)) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "1")) (ifInst "" (formula "1"))) + (rule "inEqSimp_homoInEq1" (formula "4") (term "1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "0,1,0,0")) + (rule "add_literals" (formula "4") (term "1,1,0,1,0,0")) + (rule "times_zero_1" (formula "4") (term "1,0,1,0,0")) + (rule "add_literals" (formula "4") (term "0,1,0,0")) + (rule "leq_literals" (formula "4") (term "1,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_homoInEq1" (formula "3") (term "1")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "0,1")) + (rule "add_literals" (formula "3") (term "1,1,0,1")) + (rule "times_zero_1" (formula "3") (term "1,0,1")) (rule "add_literals" (formula "3") (term "0,1")) - (rule "add_zero_left" (formula "3") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,0")) - (rule "mul_literals" (formula "3") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "leq_literals" (formula "3") (term "1")) + (builtin "One Step Simplification" (formula "3")) + (rule "replace_known_left" (formula "4") (term "1,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) (rule "inEqSimp_contradInEq1" (formula "3") (ifseqformula "2")) (rule "andLeft" (formula "3")) (rule "inEqSimp_homoInEq1" (formula "3")) @@ -129,7 +167,7 @@ (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) (rule "add_literals" (formula "3") (term "1,1,0")) (rule "times_zero_1" (formula "3") (term "1,0")) - (rule "add_zero_right" (formula "3") (term "0")) + (rule "add_literals" (formula "3") (term "0")) (rule "leq_literals" (formula "3")) (rule "closeFalse" (formula "3")) ) @@ -137,20 +175,21 @@ (rule "notLeft" (formula "1")) (rule "eqSymm" (formula "1") (term "0")) (rule "inEqSimp_commuteLeq" (formula "1") (term "1")) - (rule "equalityToElementOfRight" (formula "2") (inst "ov=ov") (inst "fv=fv")) + (rule "equalityToElementOfRight" (formula "2") (inst "fv=fv") (inst "ov=ov")) (builtin "One Step Simplification" (formula "2")) - (rule "allRight" (formula "2") (inst "sk=ov_0")) - (rule "allRight" (formula "2") (inst "sk=fv_0")) + (rule "allRight" (formula "2") (inst "sk=ov_0:java.lang.Object")) + (rule "allRight" (formula "2") (inst "sk=fv_0:Field")) (rule "notRight" (formula "2")) (rule "elementOfIntersect" (formula "1")) (builtin "One Step Simplification" (formula "1")) (rule "andLeft" (formula "1")) - (rule "applyEqRigid" (formula "1") (term "0") (ifseqformula "2")) + (rule "applyEqRigid" (formula "1") (term "0,0") (ifseqformula "2")) (rule "elementOfArrayRange" (formula "1") (inst "iv=iv")) (rule "andLeft" (formula "1")) - (rule "exLeft" (formula "2") (inst "sk=iv_0")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) (rule "andLeft" (formula "2")) (rule "andLeft" (formula "2")) + (builtin "One Step Simplification" (formula "1")) (rule "replace_known_left" (formula "6") (term "0") (ifseqformula "1")) (builtin "One Step Simplification" (formula "6")) (rule "inEqSimp_geqRight" (formula "6")) diff --git a/key.core/tacletProofs/locSet/Taclet_disjointArrayRanges.proof b/key.core/tacletProofs/locSet/Taclet_disjointArrayRanges.proof index 4ddf470745b..cbdd2b7c79d 100644 --- a/key.core/tacletProofs/locSet/Taclet_disjointArrayRanges.proof +++ b/key.core/tacletProofs/locSet/Taclet_disjointArrayRanges.proof @@ -1,132 +1,147 @@ \profile "Java Profile"; \settings { -"#Proof-Settings-Config-File -#Wed Apr 12 13:29:14 CEST 2023 -[NewSMT]NoTypeHierarchy=false -[Labels]UseOriginLabels=true -[StrategyProperty]QUERYAXIOM_OPTIONS_KEY=QUERYAXIOM_ON -[NewSMT]Presburger=false -[SMTSettings]invariantForall=false -[Strategy]ActiveStrategy=JavaCardDLStrategy -[StrategyProperty]USER_TACLETS_OPTIONS_KEY1=USER_TACLETS_OFF -[StrategyProperty]QUANTIFIERS_OPTIONS_KEY=QUANTIFIERS_NON_SPLITTING_WITH_PROGS -[StrategyProperty]USER_TACLETS_OPTIONS_KEY2=USER_TACLETS_OFF -[Choice]DefaultChoices=JavaCard-JavaCard\\:on, Strings-Strings\\:on, assertions-assertions\\:safe, bigint-bigint\\:on, finalFields-finalFields\\:immutable, floatRules-floatRules\\:strictfpOnly, initialisation-initialisation\\:disableStaticInitialisation, intRules-intRules\\:arithmeticSemanticsIgnoringOF, integerSimplificationRules-integerSimplificationRules\\:full, javaLoopTreatment-javaLoopTreatment\\:efficient, mergeGenerateIsWeakeningGoal-mergeGenerateIsWeakeningGoal\\:off, methodExpansion-methodExpansion\\:modularOnly, modelFields-modelFields\\:treatAsAxiom, moreSeqRules-moreSeqRules\\:on, permissions-permissions\\:off, programRules-programRules\\:Java, reach-reach\\:on, runtimeExceptions-runtimeExceptions\\:ban, sequences-sequences\\:on, wdChecks-wdChecks\\:off, wdOperator-wdOperator\\:L -[StrategyProperty]LOOP_OPTIONS_KEY=LOOP_SCOPE_INV_TACLET -[StrategyProperty]INF_FLOW_CHECK_PROPERTY=INF_FLOW_CHECK_FALSE -[SMTSettings]UseBuiltUniqueness=false -[SMTSettings]explicitTypeHierarchy=false -[SMTSettings]instantiateHierarchyAssumptions=true -[StrategyProperty]NON_LIN_ARITH_OPTIONS_KEY=NON_LIN_ARITH_DEF_OPS -[SMTSettings]SelectedTaclets= -[StrategyProperty]DEP_OPTIONS_KEY=DEP_ON -[StrategyProperty]AUTO_INDUCTION_OPTIONS_KEY=AUTO_INDUCTION_OFF -[Strategy]MaximumNumberOfAutomaticApplications=10000 -[StrategyProperty]STOPMODE_OPTIONS_KEY=STOPMODE_DEFAULT -[StrategyProperty]CLASS_AXIOM_OPTIONS_KEY=CLASS_AXIOM_DELAYED -[SMTSettings]useConstantsForBigOrSmallIntegers=true -[StrategyProperty]MPS_OPTIONS_KEY=MPS_MERGE -[StrategyProperty]SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY=SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF -[Strategy]Timeout=-1 -[StrategyProperty]SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY=SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER -[StrategyProperty]QUERY_NEW_OPTIONS_KEY=QUERY_OFF -[SMTSettings]useUninterpretedMultiplication=true -[StrategyProperty]BLOCK_OPTIONS_KEY=BLOCK_CONTRACT_INTERNAL -[StrategyProperty]METHOD_OPTIONS_KEY=METHOD_CONTRACT -[StrategyProperty]USER_TACLETS_OPTIONS_KEY3=USER_TACLETS_OFF -[NewSMT]identifier=OPEN -[SMTSettings]maxGenericSorts=2 -[StrategyProperty]OSS_OPTIONS_KEY=OSS_ON -[NewSMT]Axiomatisations=false -[StrategyProperty]SPLITTING_OPTIONS_KEY=SPLITTING_DELAYED -[SMTSettings]integersMinimum=-2147483645 -[StrategyProperty]VBT_PHASE=VBT_SYM_EX -[SMTSettings]integersMaximum=2147483645 -" -} + "Choice" : { + "JavaCard" : "JavaCard:on", + "Strings" : "Strings:on", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + "Axiomatisations" : "false", + "NoTypeHierarchy" : "false", + "Presburger" : "false", + "identifier" : "OPEN" + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 10000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_SCOPE_INV_TACLET", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_DEF_OPS", + "OSS_OPTIONS_KEY" : "OSS_ON", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + -\proofObligation { - "name": "disjointArrayRanges", - "class": "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", - } + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "disjointArrayRanges" +} \proof { (keyLog "0" (keyUser "Julian" ) (keyVersion "80a871ca3bac8bb405ecc216fcb6fa9ef6f8a395")) +(keyLog "1" (keyUser "daniel" ) (keyVersion "9f5c2371129286ae614d0425699f44df59316f59")) +(keyLog "2" (keyUser "daniel" ) (keyVersion "9f5c2371129286ae614d0425699f44df59316f59")) -(autoModeTime "0") +(autoModeTime "544") (branch "dummy ID" (rule "equiv_right" (formula "1") (newnames "f_o1,f_lower1,f_upper1,f_o2,f_lower2,f_upper2") (userinteraction)) (branch "Case '->'" - (rule "equalityToElementOf" (formula "1") (inst "ov=ov") (inst "fv=fv") (userinteraction)) - (rule "instAll" (formula "2") (term "1,0,0,0,0") (ifseqformula "1") (userinteraction)) - (rule "notRight" (formula "3") (userinteraction)) + (rule "equalityToElementOf" (formula "1") (inst "av=av:Pair") (userinteraction)) + (builtin "One Step Simplification" (formula "1")) + (rule "elementOfIntersect" (formula "1") (term "0,0") (userinteraction)) + (rule "nnf_notAnd" (formula "1") (term "0") (userinteraction)) + (rule "notRight" (formula "2")) (rule "andLeft" (formula "1")) (rule "andLeft" (formula "1")) (rule "andLeft" (formula "1")) (rule "orLeft" (formula "4") (userinteraction)) - (branch "f_lower1 <= f_lower2 & f_lower2 <= f_upper1" - (rule "allLeftHide" (formula "5") (inst "t=arr(f_lower2)") (userinteraction)) - (builtin "One Step Simplification" (formula "5")) + (branch "f_lower1 ≤ f_lower2 ∧ f_lower2 ≤ f_upper1" (rule "andLeft" (formula "4")) - (rule "notLeft" (formula "6")) + (rule "allLeft" (formula "6") (inst "t=pair(f_o2, arr(f_lower2)):Pair") (userinteraction)) (rule "eqSymm" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "3")) - (rule "inEqSimp_commuteLeq" (formula "4")) - (rule "inEqSimp_commuteLeq" (formula "5")) - (rule "applyEq" (formula "7") (term "0") (ifseqformula "1")) - (rule "applyEqRigid" (formula "7") (term "0,1,2") (ifseqformula "1")) - (rule "elementOfIntersect" (formula "7")) - (rule "elementOfArrayRangeConcrete" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "elementOfArrayRangeConcrete" (formula "7") (term "1")) - (builtin "One Step Simplification" (formula "7")) - (rule "inEqSimp_commuteLeq" (formula "7") (term "1,1")) - (rule "replace_known_left" (formula "7") (term "1,1") (ifseqformula "3")) - (builtin "One Step Simplification" (formula "7")) - (rule "inEqSimp_commuteLeq" (formula "7") (term "0,0")) - (rule "replace_known_left" (formula "7") (term "0,0") (ifseqformula "4")) - (builtin "One Step Simplification" (formula "7")) - (rule "inEqSimp_commuteLeq" (formula "7") (term "0")) - (rule "replace_known_left" (formula "7") (term "0") (ifseqformula "5")) - (builtin "One Step Simplification" (formula "7")) + (rule "elementOfArrayRangeConcrete" (formula "6") (term "0,0")) + (rule "replace_known_left" (formula "6") (term "0,0,0,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "6") (ifInst "" (formula "4")) (ifInst "" (formula "5"))) + (rule "notLeft" (formula "6")) + (rule "elementOfArrayRangeConcrete" (formula "7")) + (builtin "One Step Simplification" (formula "7") (ifInst "" (formula "3"))) (rule "inEqSimp_leqRight" (formula "7")) (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) (rule "polySimp_pullOutFactor2b" (formula "1") (term "0")) (rule "add_literals" (formula "1") (term "1,1,0")) (rule "times_zero_1" (formula "1") (term "1,0")) - (rule "add_zero_right" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "0")) (rule "qeq_literals" (formula "1")) (rule "closeFalse" (formula "1")) ) - (branch "f_lower2 <= f_lower1 & f_lower1 <= f_upper2" - (rule "andLeft" (formula "4") (userinteraction)) - (rule "allLeftHide" (formula "6") (inst "t=arr(f_lower1)") (userinteraction)) - (builtin "One Step Simplification" (formula "6")) - (rule "notLeft" (formula "6")) + (branch "f_lower2 ≤ f_lower1 ∧ f_lower1 ≤ f_upper2" + (rule "allLeft" (formula "5") (inst "t=pair(f_o2, arr(f_lower1)):Pair") (userinteraction)) + (rule "andLeft" (formula "4")) (rule "eqSymm" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "2")) - (rule "inEqSimp_commuteLeq" (formula "5")) - (rule "applyEqRigid" (formula "7") (term "0,1,2") (ifseqformula "1")) - (rule "applyEqRigid" (formula "7") (term "0") (ifseqformula "1")) - (rule "elementOfIntersect" (formula "7")) - (rule "elementOfArrayRangeConcrete" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "elementOfArrayRangeConcrete" (formula "7") (term "1")) - (builtin "One Step Simplification" (formula "7") (ifInst "" (formula "4"))) - (rule "inEqSimp_commuteLeq" (formula "7") (term "1,0")) - (rule "replace_known_left" (formula "7") (term "1,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "7")) - (rule "inEqSimp_commuteLeq" (formula "7") (term "1")) - (rule "replace_known_left" (formula "7") (term "1") (ifseqformula "5")) - (builtin "One Step Simplification" (formula "7")) + (rule "elementOfArrayRangeConcrete" (formula "6") (term "0,0")) + (rule "replace_known_left" (formula "6") (term "0,0,0,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "6") (ifInst "" (formula "2"))) + (rule "elementOfArrayRangeConcrete" (formula "6") (term "0,1")) + (builtin "One Step Simplification" (formula "6") (ifInst "" (formula "4")) (ifInst "" (formula "5"))) + (rule "notLeft" (formula "6")) (rule "inEqSimp_leqRight" (formula "7")) (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) (rule "polySimp_pullOutFactor2b" (formula "1") (term "0")) (rule "add_literals" (formula "1") (term "1,1,0")) (rule "times_zero_1" (formula "1") (term "1,0")) - (rule "add_zero_right" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "0")) (rule "qeq_literals" (formula "1")) (rule "closeFalse" (formula "1")) ) @@ -156,50 +171,52 @@ (rule "shift_paren_and" (formula "1") (term "1")) (rule "shift_paren_and" (formula "1")) (rule "shift_paren_and" (formula "1") (term "0")) - (rule "equalityToElementOfRight" (formula "2") (inst "ov=ov") (inst "fv=fv")) + (rule "equalityToElementOfRight" (formula "2") (inst "fv=fv") (inst "ov=ov")) (builtin "One Step Simplification" (formula "2")) - (rule "allRight" (formula "2") (inst "sk=ov_0")) - (rule "allRight" (formula "2") (inst "sk=fv_0")) + (rule "allRight" (formula "2") (inst "sk=ov_0:java.lang.Object")) + (rule "allRight" (formula "2") (inst "sk=fv_0:Field")) (rule "notRight" (formula "2")) (rule "elementOfIntersect" (formula "1")) (rule "andLeft" (formula "1")) (rule "elementOfArrayRange" (formula "2") (inst "iv=iv")) (rule "andLeft" (formula "2")) - (rule "exLeft" (formula "3") (inst "sk=iv_0")) + (rule "exLeft" (formula "3") (inst "sk=iv_0:int")) (rule "andLeft" (formula "3")) (rule "andLeft" (formula "3")) (rule "inEqSimp_commuteLeq" (formula "4")) - (rule "applyEqRigid" (formula "1") (term "0") (ifseqformula "2")) - (rule "applyEqRigid" (formula "1") (term "1") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "2") (userinteraction)) + (builtin "One Step Simplification" (formula "3")) + (rule "applyEq" (formula "1") (term "0,0") (ifseqformula "2")) + (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "3")) (rule "elementOfArrayRangeConcrete" (formula "1")) (rule "andLeft" (formula "1")) (rule "andLeft" (formula "1")) (rule "replace_known_left" (formula "8") (term "0,0,0,0,0") (ifseqformula "1")) (builtin "One Step Simplification" (formula "8")) (rule "inEqSimp_commuteLeq" (formula "2")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "7")) - (rule "polySimp_mulComm0" (formula "6") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "1")) - (rule "polySimp_elimOne" (formula "6") (term "1")) - (rule "replace_known_left" (formula "9") (term "1,0,0,0") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "9")) - (rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "3")) - (rule "polySimp_mulComm0" (formula "7") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "7")) - (rule "polySimp_mulLiterals" (formula "7") (term "1")) - (rule "polySimp_elimOne" (formula "7") (term "1")) - (rule "replace_known_left" (formula "10") (term "0,1") (ifseqformula "7")) - (builtin "One Step Simplification" (formula "10") (ifInst "" (formula "7"))) + (rule "applyEq" (formula "4") (term "1") (ifseqformula "1")) (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "3")) (rule "polySimp_mulComm0" (formula "2") (term "0,0")) (rule "inEqSimp_sepPosMonomial1" (formula "2")) (rule "polySimp_mulLiterals" (formula "2") (term "1")) (rule "polySimp_elimOne" (formula "2") (term "1")) - (rule "replace_known_left" (formula "11") (term "0") (ifseqformula "2")) + (rule "replace_known_left" (formula "9") (term "0,0,0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "9")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "8")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "replace_known_left" (formula "10") (term "1,1,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "10") (ifInst "" (formula "3"))) + (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "5")) + (rule "polySimp_mulComm0" (formula "8") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "8")) + (rule "polySimp_mulLiterals" (formula "8") (term "1")) + (rule "polySimp_elimOne" (formula "8") (term "1")) + (rule "replace_known_left" (formula "11") (term "1,1") (ifseqformula "8")) (builtin "One Step Simplification" (formula "11")) - (rule "orRight" (formula "11")) - (rule "inEqSimp_geqRight" (formula "12")) + (rule "inEqSimp_geqRight" (formula "11")) (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) (rule "inEqSimp_sepPosMonomial0" (formula "1")) (rule "polySimp_mulComm0" (formula "1") (term "1")) @@ -207,25 +224,25 @@ (rule "mul_literals" (formula "1") (term "0,1")) (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "11")) - (rule "polySimp_mulComm0" (formula "4") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "4")) - (rule "polySimp_mulLiterals" (formula "4") (term "1")) - (rule "polySimp_elimOne" (formula "4") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "1")) - (rule "andLeft" (formula "4")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1,0")) - (rule "polySimp_rightDist" (formula "4") (term "1,0")) - (rule "mul_literals" (formula "4") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "4") (term "0")) - (rule "polySimp_addComm0" (formula "4") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) - (rule "add_literals" (formula "4") (term "1,1,0")) - (rule "times_zero_1" (formula "4") (term "1,0")) - (rule "add_zero_right" (formula "4") (term "0")) - (rule "leq_literals" (formula "4")) - (rule "closeFalse" (formula "4")) + (rule "inEqSimp_exactShadow3" (formula "10") (ifseqformula "11")) + (rule "polySimp_mulComm0" (formula "10") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "10")) + (rule "polySimp_mulLiterals" (formula "10") (term "1")) + (rule "polySimp_elimOne" (formula "10") (term "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "10")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0")) + (rule "mul_literals" (formula "1") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) ) ) } diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjects.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjects.proof new file mode 100644 index 00000000000..502a3e09c1e --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjects.proof @@ -0,0 +1,109 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllFieldsAllObjects" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "52") + +(branch "dummy ID" +(rule "commuteIntersection" (formula "1") (term "0")) +(rule "equalityToElementOfRight" (formula "1") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "1") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "1") (inst "sk=fv_0:Field")) +(rule "elementOfSingleton" (formula "1") (term "1")) +(rule "equalUnique" (formula "1") (term "1")) +(rule "elementOfIntersect" (formula "1") (term "0")) +(rule "elementOfAllObjects" (formula "1") (term "0,0")) +(rule "elementOfAllFields" (formula "1") (term "1,0")) +(rule "secondOfPair" (formula "1") (term "0,0,0")) +(rule "firstOfPair" (formula "1") (term "0,1,0")) +(rule "commute_and" (formula "1") (term "1")) +(rule "eq_eq" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjects2.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjects2.proof new file mode 100644 index 00000000000..72be65bdc7a --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjects2.proof @@ -0,0 +1,108 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllFieldsAllObjects2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "51") + +(branch "dummy ID" +(rule "equalityToElementOfRight" (formula "1") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "1") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "1") (inst "sk=fv_0:Field")) +(rule "elementOfSingleton" (formula "1") (term "1")) +(rule "equalUnique" (formula "1") (term "1")) +(rule "elementOfIntersect" (formula "1") (term "0")) +(rule "elementOfAllObjects" (formula "1") (term "0,0")) +(rule "elementOfAllFields" (formula "1") (term "1,0")) +(rule "secondOfPair" (formula "1") (term "0,0,0")) +(rule "firstOfPair" (formula "1") (term "0,1,0")) +(rule "commute_and" (formula "1") (term "1")) +(rule "eq_eq" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjects2EQ.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjects2EQ.proof new file mode 100644 index 00000000000..b06fc3c0117 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjects2EQ.proof @@ -0,0 +1,130 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 4000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllFieldsAllObjects2EQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "62") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "equalityToElementOfRight" (formula "2") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "2") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "2") (inst "sk=fv_0:Field")) +(rule "elementOfSingleton" (formula "2") (term "1")) +(rule "equalUnique" (formula "2") (term "1")) +(rule "elementOfIntersect" (formula "2") (term "0")) +(rule "elementOfAllFields" (formula "2") (term "1,0")) +(rule "firstOfPair" (formula "2") (term "0,1,0")) +(rule "commute_and" (formula "2") (term "1")) +(rule "equiv_right" (formula "2")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "replace_known_left" (formula "4") (term "1") (ifseqformula "2")) + (rule "concrete_and_3" (formula "4")) + (rule "applyEq" (formula "1") (term "0,0") (ifseqformula "2")) + (rule "applyEqReverse" (formula "1") (term "1") (ifseqformula "3") (userinteraction)) + (rule "elementOfAllObjects" (formula "1") (userinteraction)) + (rule "secondOfPair" (formula "1") (term "0")) + (rule "close" (formula "4") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "replace_known_left" (formula "4") (term "1") (ifseqformula "2")) + (rule "concrete_and_3" (formula "4")) + (rule "applyEq" (formula "4") (term "0,0") (ifseqformula "2")) + (rule "applyEq" (formula "4") (term "1,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "4") (term "1") (ifseqformula "3") (userinteraction)) + (rule "elementOfAllObjects" (formula "4")) + (rule "secondOfPair" (formula "4") (term "0")) + (rule "eqClose" (formula "4")) + (rule "closeTrue" (formula "4")) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjectsEQ.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjectsEQ.proof new file mode 100644 index 00000000000..9bb91512ab1 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsAllObjectsEQ.proof @@ -0,0 +1,130 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 4000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllFieldsAllObjectsEQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "75") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "equalityToElementOfRight" (formula "2") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "2") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "2") (inst "sk=fv_0:Field")) +(rule "elementOfSingleton" (formula "2") (term "1")) +(rule "equalUnique" (formula "2") (term "1")) +(rule "elementOfIntersect" (formula "2") (term "0")) +(rule "elementOfAllObjects" (formula "2") (term "1,0")) +(rule "secondOfPair" (formula "2") (term "0,1,0")) +(rule "commute_and" (formula "2") (term "1")) +(rule "equiv_right" (formula "2")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "replace_known_left" (formula "4") (term "0") (ifseqformula "2")) + (rule "concrete_and_1" (formula "4")) + (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "2")) + (rule "applyEqReverse" (formula "1") (term "1") (ifseqformula "3") (userinteraction)) + (rule "elementOfAllFields" (formula "1")) + (rule "firstOfPair" (formula "1") (term "0")) + (rule "close" (formula "4") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "replace_known_left" (formula "4") (term "1") (ifseqformula "1")) + (rule "concrete_and_3" (formula "4")) + (rule "applyEq" (formula "4") (term "0,0") (ifseqformula "2")) + (rule "applyEq" (formula "4") (term "1,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "4") (term "1") (ifseqformula "3") (userinteraction)) + (rule "elementOfAllFields" (formula "4")) + (rule "firstOfPair" (formula "4") (term "0")) + (rule "eqClose" (formula "4")) + (rule "closeTrue" (formula "4")) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonDiff.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonDiff.proof new file mode 100644 index 00000000000..8693d674d31 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonDiff.proof @@ -0,0 +1,99 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllFieldsSingletonDiff" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "23") + +(branch "dummy ID" +(rule "disjointAllFieldsSingleton" (formula "1") (term "0,0")) +(rule "double_not" (formula "1") (term "0")) +(rule "eq_imp" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonDiff2.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonDiff2.proof new file mode 100644 index 00000000000..e140b9f2b9b --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonDiff2.proof @@ -0,0 +1,99 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllFieldsSingletonDiff2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "24") + +(branch "dummy ID" +(rule "disjointAllFieldsSingleton2" (formula "1") (term "0,0")) +(rule "double_not" (formula "1") (term "0")) +(rule "eq_imp" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonSame.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonSame.proof new file mode 100644 index 00000000000..8efdc324aa7 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonSame.proof @@ -0,0 +1,112 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllFieldsSingletonSame" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "60") + +(branch "dummy ID" +(rule "equalityToElementOfRight" (formula "1") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "1") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "1") (inst "sk=fv_0:Field")) +(rule "elementOfSingleton" (formula "1") (term "1")) +(rule "equalUnique" (formula "1") (term "1")) +(rule "elementOfIntersect" (formula "1") (term "0")) +(rule "elementOfAllFields" (formula "1") (term "0,0")) +(rule "firstOfPair" (formula "1") (term "0,0,0")) +(rule "elementOfSingleton" (formula "1") (term "1,0")) +(rule "equalUnique" (formula "1") (term "1,0")) +(rule "commute_and" (formula "1") (term "1")) +(rule "commute_and" (formula "1") (term "1,0")) +(rule "shift_paren_and" (formula "1") (term "0")) +(rule "commute_and" (formula "1") (term "0,0")) +(rule "eq_and_2" (formula "1") (term "0")) +(rule "eq_eq" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonSame2.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonSame2.proof new file mode 100644 index 00000000000..be41f1ae785 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllFieldsSingletonSame2.proof @@ -0,0 +1,103 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllFieldsSingletonSame2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "35") + +(branch "dummy ID" +(rule "intersectWithSingleton" (formula "1") (term "0")) +(rule "ifthenelse_concrete3" (formula "1")) +(rule "elementOfAllFields" (formula "1") (term "0")) +(rule "emptyEqualsSingleton" (formula "1") (term "1")) +(rule "concrete_or_4" (formula "1")) +(rule "firstOfPair" (formula "1") (term "0")) +(rule "eqClose" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonDiff.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonDiff.proof new file mode 100644 index 00000000000..a11d2709bff --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonDiff.proof @@ -0,0 +1,99 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllObjectsSingletonDiff" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "22") + +(branch "dummy ID" +(rule "disjointAllObjectsSingleton" (formula "1") (term "0,0")) +(rule "double_not" (formula "1") (term "0")) +(rule "eq_imp" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonDiff2.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonDiff2.proof new file mode 100644 index 00000000000..cf23d808007 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonDiff2.proof @@ -0,0 +1,99 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllObjectsSingletonDiff2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "23") + +(branch "dummy ID" +(rule "disjointAllObjectsSingleton2" (formula "1") (term "0,0")) +(rule "double_not" (formula "1") (term "0")) +(rule "eq_imp" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonSame.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonSame.proof new file mode 100644 index 00000000000..85096cc9442 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonSame.proof @@ -0,0 +1,111 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllObjectsSingletonSame" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "58") + +(branch "dummy ID" +(rule "equalityToElementOfRight" (formula "1") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "1") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "1") (inst "sk=fv_0:Field")) +(rule "elementOfSingleton" (formula "1") (term "1")) +(rule "equalUnique" (formula "1") (term "1")) +(rule "elementOfIntersect" (formula "1") (term "0")) +(rule "elementOfAllObjects" (formula "1") (term "0,0")) +(rule "secondOfPair" (formula "1") (term "0,0,0")) +(rule "elementOfSingleton" (formula "1") (term "1,0")) +(rule "equalUnique" (formula "1") (term "1,0")) +(rule "commute_and" (formula "1") (term "1")) +(rule "commute_and" (formula "1") (term "1,0")) +(rule "shift_paren_and" (formula "1") (term "0")) +(rule "eq_and" (formula "1") (term "0,0")) +(rule "eq_eq" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonSame2.proof b/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonSame2.proof new file mode 100644 index 00000000000..a55935026c4 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectAllObjectsSingletonSame2.proof @@ -0,0 +1,103 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectAllObjectsSingletonSame2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "38") + +(branch "dummy ID" +(rule "intersectWithSingleton" (formula "1") (term "0")) +(rule "ifthenelse_concrete3" (formula "1")) +(rule "elementOfAllObjects" (formula "1") (term "0")) +(rule "emptyEqualsSingleton" (formula "1") (term "1")) +(rule "concrete_or_4" (formula "1")) +(rule "secondOfPair" (formula "1") (term "0")) +(rule "eqClose" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsDiff.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsDiff.proof new file mode 100644 index 00000000000..def02a99368 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsDiff.proof @@ -0,0 +1,103 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangeAllFieldsDiff" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "39") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notLeft" (formula "1")) +(rule "eqSymm" (formula "2")) +(rule "disjointArrayRangeAllFields2" (formula "1")) +(rule "notRight" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "eqSymm" (formula "1")) +(rule "close" (formula "3") (ifseqformula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsDiff2.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsDiff2.proof new file mode 100644 index 00000000000..dd39a74ee6b --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsDiff2.proof @@ -0,0 +1,102 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangeAllFieldsDiff2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "33") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notLeft" (formula "1")) +(rule "eqSymm" (formula "2")) +(rule "disjointArrayRangeAllFields1" (formula "1")) +(rule "notRight" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "close" (formula "3") (ifseqformula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsSame.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsSame.proof new file mode 100644 index 00000000000..eab84c83292 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsSame.proof @@ -0,0 +1,180 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangeAllFieldsSame" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "108") + +(branch "dummy ID" +(rule "commuteIntersection" (formula "1") (term "0")) +(rule "equalityToElementOfRight" (formula "1") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "1") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "1") (inst "sk=fv_0:Field")) +(rule "elementOfIntersect" (formula "1") (term "0")) +(rule "elementOfAllFields" (formula "1") (term "0,0")) +(rule "firstOfPair" (formula "1") (term "0,0,0")) +(rule "elementOfArrayRange" (formula "1") (term "1") (inst "iv=iv")) +(rule "firstOfPair" (formula "1") (term "0,0,1")) +(rule "secondOfPair" (formula "1") (term "0,0,0,0,1,1")) +(rule "eqSymm" (formula "1") (term "0,0,0,1,1")) +(rule "inEqSimp_commuteLeq" (formula "1") (term "1,0,0,1,1")) +(rule "elementOfArrayRange" (formula "1") (term "1,0") (inst "iv=iv")) +(rule "firstOfPair" (formula "1") (term "0,0,1,0")) +(rule "secondOfPair" (formula "1") (term "0,0,0,0,1,1,0")) +(rule "eqSymm" (formula "1") (term "0,0,0,1,1,0")) +(rule "inEqSimp_commuteLeq" (formula "1") (term "1,0,0,1,1,0")) +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "3") (ifseqformula "2")) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "5") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "5")) + (rule "replace_known_left" (formula "5") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "5")) + (rule "applyEq" (formula "5") (term "1,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "5") (term "0,0,0")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "nnf_ex2all" (formula "6")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "5")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0")) + (rule "concrete_and_2" (formula "1") (term "0")) + (rule "concrete_or_2" (formula "1")) + (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "6")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsSame2.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsSame2.proof new file mode 100644 index 00000000000..9476eda8795 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangeAllFieldsSame2.proof @@ -0,0 +1,179 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangeAllFieldsSame2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "102") + +(branch "dummy ID" +(rule "equalityToElementOfRight" (formula "1") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "1") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "1") (inst "sk=fv_0:Field")) +(rule "elementOfIntersect" (formula "1") (term "0")) +(rule "elementOfAllFields" (formula "1") (term "0,0")) +(rule "firstOfPair" (formula "1") (term "0,0,0")) +(rule "elementOfArrayRange" (formula "1") (term "1") (inst "iv=iv")) +(rule "firstOfPair" (formula "1") (term "0,0,1")) +(rule "secondOfPair" (formula "1") (term "0,0,0,0,1,1")) +(rule "eqSymm" (formula "1") (term "0,0,0,1,1")) +(rule "inEqSimp_commuteLeq" (formula "1") (term "1,0,0,1,1")) +(rule "elementOfArrayRange" (formula "1") (term "1,0") (inst "iv=iv")) +(rule "firstOfPair" (formula "1") (term "0,0,1,0")) +(rule "secondOfPair" (formula "1") (term "0,0,0,0,1,1,0")) +(rule "eqSymm" (formula "1") (term "0,0,0,1,1,0")) +(rule "inEqSimp_commuteLeq" (formula "1") (term "1,0,0,1,1,0")) +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "3") (ifseqformula "2")) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "5") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "5")) + (rule "replace_known_left" (formula "5") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "5")) + (rule "applyEq" (formula "5") (term "1,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "5") (term "0,0,0")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "nnf_ex2all" (formula "6")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "5")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0")) + (rule "concrete_and_2" (formula "1") (term "0")) + (rule "concrete_or_2" (formula "1")) + (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "6")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjoint.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjoint.proof new file mode 100644 index 00000000000..ced7201fe51 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjoint.proof @@ -0,0 +1,154 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangesDisjoint" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "82") + +(branch "dummy ID" +(rule "eqSymm" (formula "1")) +(rule "ifthenelse_concrete4" (formula "1")) +(rule "orRight" (formula "1")) +(rule "notRight" (formula "1")) +(rule "eqSymm" (formula "2")) +(rule "disjointArrayRanges" (formula "2")) +(rule "eqClose" (formula "2") (term "0,0,0,0")) +(rule "concrete_and_1" (formula "2") (term "0,0,0")) +(rule "notRight" (formula "2")) +(rule "andLeft" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "inEqSimp_ltToLeq" (formula "4")) +(rule "polySimp_mulComm0" (formula "4") (term "1,0,0")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "0,0")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "1,0")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "1,1")) +(rule "inEqSimp_commuteLeq" (formula "2")) +(rule "inEqSimp_commuteLeq" (formula "1")) +(rule "inEqSimp_sepPosMonomial0" (formula "4")) +(rule "polySimp_mulComm0" (formula "4") (term "1")) +(rule "polySimp_rightDist" (formula "4") (term "1")) +(rule "mul_literals" (formula "4") (term "0,1")) +(rule "polySimp_mulLiterals" (formula "4") (term "1,1")) +(rule "polySimp_elimOne" (formula "4") (term "1,1")) +(rule "inEqSimp_contradInEq0" (formula "3") (term "1,0") (ifseqformula "4")) +(rule "inEqSimp_homoInEq1" (formula "3") (term "0,1,0")) +(rule "polySimp_mulComm0" (formula "3") (term "1,0,0,1,0")) +(rule "polySimp_rightDist" (formula "3") (term "1,0,0,1,0")) +(rule "mul_literals" (formula "3") (term "0,1,0,0,1,0")) +(rule "polySimp_addAssoc" (formula "3") (term "0,0,1,0")) +(rule "polySimp_addComm0" (formula "3") (term "0,0,0,1,0")) +(rule "polySimp_pullOutFactor1b" (formula "3") (term "0,0,1,0")) +(rule "add_literals" (formula "3") (term "1,1,0,0,1,0")) +(rule "times_zero_1" (formula "3") (term "1,0,0,1,0")) +(rule "add_literals" (formula "3") (term "0,0,1,0")) +(rule "leq_literals" (formula "3") (term "0,1,0")) +(rule "concrete_and_2" (formula "3") (term "1,0")) +(rule "concrete_and_4" (formula "3") (term "0")) +(rule "concrete_or_2" (formula "3")) +(rule "andLeft" (formula "3")) +(rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "5")) +(rule "polySimp_mulComm0" (formula "1") (term "0,0")) +(rule "polySimp_addAssoc" (formula "1") (term "0")) +(rule "polySimp_addComm0" (formula "1") (term "0,0")) +(rule "inEqSimp_sepPosMonomial1" (formula "1")) +(rule "polySimp_mulComm0" (formula "1") (term "1")) +(rule "polySimp_rightDist" (formula "1") (term "1")) +(rule "mul_literals" (formula "1") (term "0,1")) +(rule "polySimp_mulLiterals" (formula "1") (term "1,1")) +(rule "polySimp_elimOne" (formula "1") (term "1,1")) +(rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "4")) +(rule "andLeft" (formula "1")) +(rule "inEqSimp_homoInEq1" (formula "1")) +(rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) +(rule "add_literals" (formula "1") (term "1,1,0")) +(rule "times_zero_1" (formula "1") (term "1,0")) +(rule "add_literals" (formula "1") (term "0")) +(rule "leq_literals" (formula "1")) +(rule "closeFalse" (formula "1")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjoint2.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjoint2.proof new file mode 100644 index 00000000000..8ccdd8e4ad3 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjoint2.proof @@ -0,0 +1,155 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangesDisjoint2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "90") + +(branch "dummy ID" +(rule "eqSymm" (formula "1")) +(rule "ifthenelse_concrete4" (formula "1")) +(rule "orRight" (formula "1")) +(rule "notRight" (formula "1")) +(rule "eqSymm" (formula "2")) +(rule "disjointArrayRanges" (formula "2")) +(rule "eqClose" (formula "2") (term "0,0,0,0")) +(rule "concrete_and_1" (formula "2") (term "0,0,0")) +(rule "notRight" (formula "2")) +(rule "andLeft" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "inEqSimp_ltToLeq" (formula "4")) +(rule "polySimp_mulComm0" (formula "4") (term "1,0,0")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "0,0")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "1,0")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "1,1")) +(rule "inEqSimp_commuteLeq" (formula "2")) +(rule "inEqSimp_commuteLeq" (formula "1")) +(rule "inEqSimp_sepPosMonomial0" (formula "4")) +(rule "polySimp_mulComm0" (formula "4") (term "1")) +(rule "polySimp_rightDist" (formula "4") (term "1")) +(rule "mul_literals" (formula "4") (term "0,1")) +(rule "polySimp_mulLiterals" (formula "4") (term "1,1")) +(rule "polySimp_elimOne" (formula "4") (term "1,1")) +(rule "inEqSimp_contradInEq0" (formula "3") (term "1,1") (ifseqformula "4")) +(rule "inEqSimp_homoInEq1" (formula "3") (term "0,1,1")) +(rule "polySimp_mulComm0" (formula "3") (term "1,0,0,1,1")) +(rule "polySimp_rightDist" (formula "3") (term "1,0,0,1,1")) +(rule "mul_literals" (formula "3") (term "0,1,0,0,1,1")) +(rule "polySimp_addAssoc" (formula "3") (term "0,0,1,1")) +(rule "polySimp_addComm0" (formula "3") (term "0,0,0,1,1")) +(rule "polySimp_pullOutFactor1b" (formula "3") (term "0,0,1,1")) +(rule "add_literals" (formula "3") (term "1,1,0,0,1,1")) +(rule "times_zero_1" (formula "3") (term "1,0,0,1,1")) +(rule "add_literals" (formula "3") (term "0,0,1,1")) +(rule "leq_literals" (formula "3") (term "0,1,1")) +(rule "concrete_and_2" (formula "3") (term "1,1")) +(rule "concrete_and_4" (formula "3") (term "1")) +(rule "concrete_or_4" (formula "3")) +(rule "andLeft" (formula "3")) +(rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "5")) +(rule "polySimp_mulComm0" (formula "2") (term "0,0")) +(rule "polySimp_addComm0" (formula "2") (term "0")) +(rule "inEqSimp_sepNegMonomial1" (formula "2")) +(rule "polySimp_mulLiterals" (formula "2") (term "0")) +(rule "polySimp_elimOne" (formula "2") (term "0")) +(rule "inEqSimp_contradInEq1" (formula "2") (ifseqformula "4")) +(rule "andLeft" (formula "2")) +(rule "inEqSimp_homoInEq1" (formula "2")) +(rule "polySimp_mulComm0" (formula "2") (term "1,0")) +(rule "polySimp_rightDist" (formula "2") (term "1,0")) +(rule "mul_literals" (formula "2") (term "0,1,0")) +(rule "polySimp_addAssoc" (formula "2") (term "0")) +(rule "polySimp_addComm0" (formula "2") (term "0,0")) +(rule "polySimp_pullOutFactor1b" (formula "2") (term "0")) +(rule "add_literals" (formula "2") (term "1,1,0")) +(rule "times_zero_1" (formula "2") (term "1,0")) +(rule "add_literals" (formula "2") (term "0")) +(rule "leq_literals" (formula "2")) +(rule "closeFalse" (formula "2")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjoint2EQ.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjoint2EQ.proof new file mode 100644 index 00000000000..4dcae305fa6 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjoint2EQ.proof @@ -0,0 +1,170 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangesDisjoint2EQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "103") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "eqSymm" (formula "2")) +(rule "inEqSimp_ltToLeq" (formula "2") (term "0,0")) +(rule "polySimp_mulComm0" (formula "2") (term "1,0,0,0,0")) +(rule "applyEq" (formula "2") (term "1,2,0") (ifseqformula "1")) +(rule "ifthenelse_concrete4" (formula "2")) +(rule "orRight" (formula "2")) +(rule "notRight" (formula "2")) +(rule "eqSymm" (formula "3")) +(rule "inEqSimp_sepPosMonomial0" (formula "1")) +(rule "polySimp_mulComm0" (formula "1") (term "1")) +(rule "polySimp_rightDist" (formula "1") (term "1")) +(rule "mul_literals" (formula "1") (term "0,1")) +(rule "polySimp_mulLiterals" (formula "1") (term "1,1")) +(rule "polySimp_elimOne" (formula "1") (term "1,1")) +(rule "commuteIntersection" (formula "3") (term "0")) +(rule "equalityToElementOfRight" (formula "3") (inst "fv=fv") (inst "ov=ov")) +(rule "elementOfEmpty" (formula "3") (term "1,0,0")) +(rule "concrete_eq_4" (formula "3") (term "0,0")) +(rule "allRight" (formula "3") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "3") (inst "sk=fv_0:Field")) +(rule "notRight" (formula "3")) +(rule "elementOfIntersect" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "elementOfArrayRangeEQ" (formula "1") (inst "iv=iv") (ifseqformula "4")) +(rule "firstOfPair" (formula "1") (term "0,0")) +(rule "secondOfPair" (formula "1") (term "0,0,0,0,1")) +(rule "andLeft" (formula "1")) +(rule "exLeft" (formula "2") (inst "sk=iv_0:int")) +(rule "andLeft" (formula "2")) +(rule "andLeft" (formula "2")) +(rule "inEqSimp_commuteLeq" (formula "3")) +(rule "applyEq" (formula "5") (term "0,0") (ifseqformula "1")) +(rule "applyEq" (formula "5") (term "1,0") (ifseqformula "2")) +(rule "elementOfArrayRangeConcrete" (formula "5")) +(rule "eqClose" (formula "5") (term "0,0")) +(rule "concrete_and_1" (formula "5") (term "0")) +(rule "andLeft" (formula "5")) +(rule "inEqSimp_commuteLeq" (formula "5")) +(rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "6")) +(rule "polySimp_mulComm0" (formula "3") (term "0,0")) +(rule "inEqSimp_sepPosMonomial1" (formula "3")) +(rule "polySimp_mulLiterals" (formula "3") (term "1")) +(rule "polySimp_elimOne" (formula "3") (term "1")) +(rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "5")) +(rule "polySimp_mulComm0" (formula "4") (term "0,0")) +(rule "inEqSimp_sepPosMonomial1" (formula "4")) +(rule "polySimp_mulLiterals" (formula "4") (term "1")) +(rule "polySimp_elimOne" (formula "4") (term "1")) +(rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "8")) +(rule "polySimp_mulComm0" (formula "7") (term "0,0")) +(rule "inEqSimp_sepPosMonomial1" (formula "7")) +(rule "polySimp_mulLiterals" (formula "7") (term "1")) +(rule "polySimp_elimOne" (formula "7") (term "1")) +(rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "6")) +(rule "polySimp_mulComm0" (formula "8") (term "0,0")) +(rule "inEqSimp_sepPosMonomial1" (formula "8")) +(rule "polySimp_mulLiterals" (formula "8") (term "1")) +(rule "polySimp_elimOne" (formula "8") (term "1")) +(rule "inEqSimp_contradInEq1" (formula "11") (ifseqformula "8")) +(rule "andLeft" (formula "11")) +(rule "inEqSimp_homoInEq1" (formula "11")) +(rule "polySimp_mulComm0" (formula "11") (term "1,0")) +(rule "polySimp_rightDist" (formula "11") (term "1,0")) +(rule "mul_literals" (formula "11") (term "0,1,0")) +(rule "polySimp_addAssoc" (formula "11") (term "0")) +(rule "polySimp_addComm0" (formula "11") (term "0,0")) +(rule "polySimp_pullOutFactor1b" (formula "11") (term "0")) +(rule "add_literals" (formula "11") (term "1,1,0")) +(rule "times_zero_1" (formula "11") (term "1,0")) +(rule "add_literals" (formula "11") (term "0")) +(rule "leq_literals" (formula "11")) +(rule "closeFalse" (formula "11")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjointEQ.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjointEQ.proof new file mode 100644 index 00000000000..dfb8340d498 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesDisjointEQ.proof @@ -0,0 +1,154 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangesDisjointEQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "96") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "eqSymm" (formula "2")) +(rule "inEqSimp_ltToLeq" (formula "2") (term "0,0")) +(rule "polySimp_mulComm0" (formula "2") (term "1,0,0,0,0")) +(rule "applyEq" (formula "2") (term "0,2,0") (ifseqformula "1")) +(rule "ifthenelse_concrete4" (formula "2")) +(rule "orRight" (formula "2")) +(rule "notRight" (formula "2")) +(rule "eqSymm" (formula "3")) +(rule "inEqSimp_sepPosMonomial0" (formula "1")) +(rule "polySimp_mulComm0" (formula "1") (term "1")) +(rule "polySimp_rightDist" (formula "1") (term "1")) +(rule "mul_literals" (formula "1") (term "0,1")) +(rule "polySimp_mulLiterals" (formula "1") (term "1,1")) +(rule "polySimp_elimOne" (formula "1") (term "1,1")) +(rule "equalityToElementOfRight" (formula "3") (inst "fv=fv") (inst "ov=ov")) +(rule "elementOfEmpty" (formula "3") (term "1,0,0")) +(rule "concrete_eq_4" (formula "3") (term "0,0")) +(rule "allRight" (formula "3") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "3") (inst "sk=fv_0:Field")) +(rule "notRight" (formula "3")) +(rule "elementOfIntersect" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "elementOfArrayRangeEQ" (formula "1") (inst "iv=iv") (ifseqformula "4")) +(rule "firstOfPair" (formula "1") (term "0,0")) +(rule "secondOfPair" (formula "1") (term "0,0,0,0,1")) +(rule "andLeft" (formula "1")) +(rule "exLeft" (formula "2") (inst "sk=iv_0:int")) +(rule "andLeft" (formula "2")) +(rule "andLeft" (formula "2")) +(rule "inEqSimp_commuteLeq" (formula "3")) +(rule "applyEq" (formula "5") (term "0,0") (ifseqformula "1")) +(rule "applyEq" (formula "5") (term "1,0") (ifseqformula "2")) +(rule "elementOfArrayRangeConcrete" (formula "5")) +(rule "eqClose" (formula "5") (term "0,0")) +(rule "concrete_and_1" (formula "5") (term "0")) +(rule "andLeft" (formula "5")) +(rule "inEqSimp_commuteLeq" (formula "5")) +(rule "inEqSimp_exactShadow3" (formula "5") (ifseqformula "4")) +(rule "polySimp_mulComm0" (formula "5") (term "0,0")) +(rule "inEqSimp_sepPosMonomial1" (formula "5")) +(rule "polySimp_mulLiterals" (formula "5") (term "1")) +(rule "polySimp_elimOne" (formula "5") (term "1")) +(rule "inEqSimp_contradInEq0" (formula "5") (ifseqformula "8")) +(rule "andLeft" (formula "5")) +(rule "inEqSimp_homoInEq1" (formula "5")) +(rule "polySimp_mulComm0" (formula "5") (term "1,0")) +(rule "polySimp_rightDist" (formula "5") (term "1,0")) +(rule "mul_literals" (formula "5") (term "0,1,0")) +(rule "polySimp_addAssoc" (formula "5") (term "0")) +(rule "polySimp_addComm0" (formula "5") (term "0,0")) +(rule "polySimp_pullOutFactor1b" (formula "5") (term "0")) +(rule "add_literals" (formula "5") (term "1,1,0")) +(rule "times_zero_1" (formula "5") (term "1,0")) +(rule "add_literals" (formula "5") (term "0")) +(rule "leq_literals" (formula "5")) +(rule "closeFalse" (formula "5")) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNested.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNested.proof new file mode 100644 index 00000000000..5c9ecb95e76 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNested.proof @@ -0,0 +1,278 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangesNested" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "139") + +(branch "dummy ID" +(rule "eqSymm" (formula "1")) +(rule "ifthenelse_concrete4" (formula "1")) +(rule "orRight" (formula "1")) +(rule "notRight" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "eqSymm" (formula "3")) +(rule "inEqSimp_commuteLeq" (formula "1")) +(rule "equalityToElementOfRight" (formula "3") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "3") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "3") (inst "sk=fv_0:Field")) +(rule "elementOfIntersect" (formula "3") (term "0")) +(rule "elementOfArrayRange" (formula "3") (term "1") (inst "iv=iv")) +(rule "firstOfPair" (formula "3") (term "0,0,1")) +(rule "secondOfPair" (formula "3") (term "0,0,0,0,1,1")) +(rule "eqSymm" (formula "3") (term "0,0,0,1,1")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0,1,1")) +(rule "elementOfArrayRange" (formula "3") (term "0,0") (inst "iv=iv")) +(rule "firstOfPair" (formula "3") (term "0,0,0,0")) +(rule "secondOfPair" (formula "3") (term "0,0,0,0,1,0,0")) +(rule "eqSymm" (formula "3") (term "0,0,0,1,0,0")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0,1,0,0")) +(rule "elementOfArrayRange" (formula "3") (term "1,0") (inst "iv=iv")) +(rule "firstOfPair" (formula "3") (term "0,0,1,0")) +(rule "secondOfPair" (formula "3") (term "0,0,0,0,1,1,0")) +(rule "eqSymm" (formula "3") (term "0,0,0,1,1,0")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0,1,1,0")) +(rule "equiv_right" (formula "3")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "5") (ifseqformula "2")) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "7") (term "0,0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "7") (term "0")) + (rule "replace_known_left" (formula "7") (term "0,1") (ifseqformula "1")) + (rule "concrete_and_1" (formula "7") (term "1")) + (rule "applyEq" (formula "7") (term "1,0,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "7") (term "0,0,0,0")) + (rule "applyEq" (formula "7") (term "1,0,0,0,1") (ifseqformula "2")) + (rule "equalUnique" (formula "7") (term "0,0,0,1")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "7")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "andRight" (formula "9")) + (branch + (rule "nnf_ex2all" (formula "9")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "cut_direct" (formula "1") (term "1")) + (branch "CUT: iv_0 >= 1 + f_upper TRUE" + (rule "concrete_or_3" (formula "2")) + (rule "true_left" (formula "2")) + (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "7")) + (rule "polySimp_rightDist" (formula "1") (term "0,0")) + (rule "mul_literals" (formula "1") (term "0,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1")) + (rule "polySimp_rightDist" (formula "1") (term "1")) + (rule "mul_literals" (formula "1") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) + (rule "polySimp_elimOne" (formula "1") (term "1,1")) + (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "10")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch "CUT: iv_0 >= 1 + f_upper FALSE" + (rule "concrete_or_4" (formula "1")) + (rule "inEqSimp_geqRight" (formula "10")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (formula "1") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1")) + (rule "polySimp_elimOne" (formula "1") (term "1")) + (rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "2")) + (rule "polySimp_mulComm0" (formula "7") (term "0,0")) + (rule "polySimp_addComm0" (formula "7") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "7")) + (rule "polySimp_mulLiterals" (formula "7") (term "0")) + (rule "polySimp_elimOne" (formula "7") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "7") (ifseqformula "10")) + (rule "andLeft" (formula "7")) + (rule "inEqSimp_homoInEq1" (formula "7")) + (rule "polySimp_mulComm0" (formula "7") (term "1,0")) + (rule "polySimp_rightDist" (formula "7") (term "1,0")) + (rule "mul_literals" (formula "7") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "7") (term "0")) + (rule "polySimp_addComm0" (formula "7") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "7") (term "0")) + (rule "add_literals" (formula "7") (term "1,1,0")) + (rule "times_zero_1" (formula "7") (term "1,0")) + (rule "add_literals" (formula "7") (term "0")) + (rule "leq_literals" (formula "7")) + (rule "closeFalse" (formula "7")) + ) + ) + (branch + (rule "nnf_ex2all" (formula "9")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0")) + (rule "concrete_and_2" (formula "1") (term "0")) + (rule "concrete_or_2" (formula "1")) + (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "7")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNested2.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNested2.proof new file mode 100644 index 00000000000..b124a979be0 --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNested2.proof @@ -0,0 +1,275 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangesNested2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "138") + +(branch "dummy ID" +(rule "eqSymm" (formula "1")) +(rule "ifthenelse_concrete4" (formula "1")) +(rule "orRight" (formula "1")) +(rule "notRight" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "eqSymm" (formula "3")) +(rule "inEqSimp_commuteLeq" (formula "2")) +(rule "equalityToElementOfRight" (formula "3") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "3") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "3") (inst "sk=fv_0:Field")) +(rule "elementOfIntersect" (formula "3") (term "0")) +(rule "elementOfArrayRange" (formula "3") (term "1") (inst "iv=iv")) +(rule "firstOfPair" (formula "3") (term "0,0,1")) +(rule "secondOfPair" (formula "3") (term "0,0,0,0,1,1")) +(rule "eqSymm" (formula "3") (term "0,0,0,1,1")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0,1,1")) +(rule "elementOfArrayRange" (formula "3") (term "0,0") (inst "iv=iv")) +(rule "firstOfPair" (formula "3") (term "0,0,0,0")) +(rule "secondOfPair" (formula "3") (term "0,0,0,0,1,0,0")) +(rule "eqSymm" (formula "3") (term "0,0,0,1,0,0")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0,1,0,0")) +(rule "elementOfArrayRange" (formula "3") (term "1,0") (inst "iv=iv")) +(rule "firstOfPair" (formula "3") (term "0,0,1,0")) +(rule "secondOfPair" (formula "3") (term "0,0,0,0,1,1,0")) +(rule "eqSymm" (formula "3") (term "0,0,0,1,1,0")) +(rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0,1,1,0")) +(rule "equiv_right" (formula "3")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "5") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "7") (term "0,0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "7") (term "0")) + (rule "replace_known_left" (formula "7") (term "0,1") (ifseqformula "1")) + (rule "concrete_and_1" (formula "7") (term "1")) + (rule "applyEq" (formula "7") (term "1,0,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "7") (term "0,0,0,0")) + (rule "applyEq" (formula "7") (term "1,0,0,0,1") (ifseqformula "2")) + (rule "equalUnique" (formula "7") (term "0,0,0,1")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "andRight" (formula "8")) + (branch + (rule "nnf_ex2all" (formula "8")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "5")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0")) + (rule "concrete_and_2" (formula "1") (term "0")) + (rule "concrete_or_2" (formula "1")) + (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "6")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch + (rule "nnf_ex2all" (formula "8")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "cut_direct" (formula "1") (term "1")) + (branch "CUT: iv_0 >= 1 + f_upper2 TRUE" + (rule "concrete_or_3" (formula "2")) + (rule "true_left" (formula "2")) + (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "6")) + (rule "polySimp_rightDist" (formula "1") (term "0,0")) + (rule "mul_literals" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "9")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0")) + (rule "mul_literals" (formula "1") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch "CUT: iv_0 >= 1 + f_upper2 FALSE" + (rule "concrete_or_4" (formula "1")) + (rule "inEqSimp_geqRight" (formula "9")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (formula "1") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1")) + (rule "polySimp_elimOne" (formula "1") (term "1")) + (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "2")) + (rule "polySimp_mulComm0" (formula "6") (term "0,0")) + (rule "polySimp_addAssoc" (formula "6") (term "0")) + (rule "polySimp_addComm0" (formula "6") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "6")) + (rule "polySimp_mulComm0" (formula "6") (term "1")) + (rule "polySimp_rightDist" (formula "6") (term "1")) + (rule "mul_literals" (formula "6") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "6") (term "1,1")) + (rule "polySimp_elimOne" (formula "6") (term "1,1")) + (rule "inEqSimp_contradInEq0" (formula "6") (ifseqformula "9")) + (rule "andLeft" (formula "6")) + (rule "inEqSimp_homoInEq1" (formula "6")) + (rule "polySimp_pullOutFactor1b" (formula "6") (term "0")) + (rule "add_literals" (formula "6") (term "1,1,0")) + (rule "times_zero_1" (formula "6") (term "1,0")) + (rule "add_literals" (formula "6") (term "0")) + (rule "leq_literals" (formula "6")) + (rule "closeFalse" (formula "6")) + ) + ) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNested2EQ.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNested2EQ.proof new file mode 100644 index 00000000000..223a37085ff --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNested2EQ.proof @@ -0,0 +1,280 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangesNested2EQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "165") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "eqSymm" (formula "2")) +(rule "inEqSimp_commuteLeq" (formula "2") (term "1,0,0")) +(rule "applyEq" (formula "2") (term "1,2,0") (ifseqformula "1")) +(rule "ifthenelse_concrete4" (formula "2")) +(rule "orRight" (formula "2")) +(rule "notRight" (formula "2")) +(rule "andLeft" (formula "1")) +(rule "eqSymm" (formula "4")) +(rule "commuteIntersection" (formula "4") (term "0")) +(rule "equalityToElementOfRight" (formula "4") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "4") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "4") (inst "sk=fv_0:Field")) +(rule "elementOfIntersect" (formula "4") (term "0")) +(rule "elementOfArrayRangeEQ" (formula "4") (term "0,0") (inst "iv=iv") (ifseqformula "3")) +(rule "firstOfPair" (formula "4") (term "0,0,0,0")) +(rule "secondOfPair" (formula "4") (term "0,0,0,0,1,0,0")) +(rule "eqSymm" (formula "4") (term "0,0,0,1,0,0")) +(rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0,1,0,0")) +(rule "elementOfArrayRange" (formula "4") (term "1") (inst "iv=iv")) +(rule "firstOfPair" (formula "4") (term "0,0,1")) +(rule "secondOfPair" (formula "4") (term "0,0,0,0,1,1")) +(rule "eqSymm" (formula "4") (term "0,0,0,1,1")) +(rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0,1,1")) +(rule "elementOfArrayRange" (formula "4") (term "1,0") (inst "iv=iv")) +(rule "firstOfPair" (formula "4") (term "0,0,1,0")) +(rule "secondOfPair" (formula "4") (term "0,0,0,0,1,1,0")) +(rule "eqSymm" (formula "4") (term "0,0,0,1,1,0")) +(rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0,1,1,0")) +(rule "equiv_right" (formula "4")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "6") (ifseqformula "2")) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "8") (term "0,0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "8") (term "0")) + (rule "replace_known_left" (formula "8") (term "0,1") (ifseqformula "1")) + (rule "concrete_and_1" (formula "8") (term "1")) + (rule "applyEq" (formula "8") (term "1,0,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "8") (term "0,0,0,0")) + (rule "applyEq" (formula "8") (term "1,0,0,0,1") (ifseqformula "2")) + (rule "equalUnique" (formula "8") (term "0,0,0,1")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "andRight" (formula "9")) + (branch + (rule "nnf_ex2all" (formula "9")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "cut_direct" (formula "1") (term "1")) + (branch "CUT: iv_0 >= 1 + f_upper2 TRUE" + (rule "concrete_or_3" (formula "2")) + (rule "true_left" (formula "2")) + (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "6")) + (rule "polySimp_rightDist" (formula "1") (term "0,0")) + (rule "mul_literals" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "9")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0")) + (rule "mul_literals" (formula "1") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch "CUT: iv_0 >= 1 + f_upper2 FALSE" + (rule "concrete_or_4" (formula "1")) + (rule "inEqSimp_geqRight" (formula "10")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (formula "1") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1")) + (rule "polySimp_elimOne" (formula "1") (term "1")) + (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "2")) + (rule "polySimp_mulComm0" (formula "6") (term "0,0")) + (rule "polySimp_addAssoc" (formula "6") (term "0")) + (rule "polySimp_addComm0" (formula "6") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "6")) + (rule "polySimp_mulComm0" (formula "6") (term "1")) + (rule "polySimp_rightDist" (formula "6") (term "1")) + (rule "mul_literals" (formula "6") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "6") (term "1,1")) + (rule "polySimp_elimOne" (formula "6") (term "1,1")) + (rule "inEqSimp_contradInEq0" (formula "6") (ifseqformula "9")) + (rule "andLeft" (formula "6")) + (rule "inEqSimp_homoInEq1" (formula "6")) + (rule "polySimp_pullOutFactor1b" (formula "6") (term "0")) + (rule "add_literals" (formula "6") (term "1,1,0")) + (rule "times_zero_1" (formula "6") (term "1,0")) + (rule "add_literals" (formula "6") (term "0")) + (rule "leq_literals" (formula "6")) + (rule "closeFalse" (formula "6")) + ) + ) + (branch + (rule "nnf_ex2all" (formula "9")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "5")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0")) + (rule "concrete_and_2" (formula "1") (term "0")) + (rule "concrete_or_2" (formula "1")) + (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "6")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNestedEQ.proof b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNestedEQ.proof new file mode 100644 index 00000000000..20b41045afa --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_intersectArrayRangesNestedEQ.proof @@ -0,0 +1,282 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectArrayRangesNestedEQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "154") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "eqSymm" (formula "2")) +(rule "inEqSimp_commuteLeq" (formula "2") (term "0,0,0")) +(rule "applyEq" (formula "2") (term "0,2,0") (ifseqformula "1")) +(rule "ifthenelse_concrete4" (formula "2")) +(rule "orRight" (formula "2")) +(rule "notRight" (formula "2")) +(rule "andLeft" (formula "1")) +(rule "eqSymm" (formula "4")) +(rule "equalityToElementOfRight" (formula "4") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "4") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "4") (inst "sk=fv_0:Field")) +(rule "elementOfIntersect" (formula "4") (term "0")) +(rule "elementOfArrayRangeEQ" (formula "4") (term "0,0") (inst "iv=iv") (ifseqformula "3")) +(rule "firstOfPair" (formula "4") (term "0,0,0,0")) +(rule "secondOfPair" (formula "4") (term "0,0,0,0,1,0,0")) +(rule "eqSymm" (formula "4") (term "0,0,0,1,0,0")) +(rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0,1,0,0")) +(rule "elementOfArrayRange" (formula "4") (term "1") (inst "iv=iv")) +(rule "firstOfPair" (formula "4") (term "0,0,1")) +(rule "secondOfPair" (formula "4") (term "0,0,0,0,1,1")) +(rule "eqSymm" (formula "4") (term "0,0,0,1,1")) +(rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0,1,1")) +(rule "elementOfArrayRange" (formula "4") (term "1,0") (inst "iv=iv")) +(rule "firstOfPair" (formula "4") (term "0,0,1,0")) +(rule "secondOfPair" (formula "4") (term "0,0,0,0,1,1,0")) +(rule "eqSymm" (formula "4") (term "0,0,0,1,1,0")) +(rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0,1,1,0")) +(rule "equiv_right" (formula "4")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "6") (ifseqformula "2")) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "8") (term "0,0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "8") (term "0")) + (rule "replace_known_left" (formula "8") (term "0,1") (ifseqformula "1")) + (rule "concrete_and_1" (formula "8") (term "1")) + (rule "applyEq" (formula "8") (term "1,0,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "8") (term "0,0,0,0")) + (rule "applyEq" (formula "8") (term "1,0,0,0,1") (ifseqformula "2")) + (rule "equalUnique" (formula "8") (term "0,0,0,1")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "7")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "andRight" (formula "10")) + (branch + (rule "nnf_ex2all" (formula "10")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "cut_direct" (formula "1") (term "1")) + (branch "CUT: iv_0 >= 1 + f_upper TRUE" + (rule "concrete_or_3" (formula "2")) + (rule "true_left" (formula "2")) + (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "7")) + (rule "polySimp_rightDist" (formula "1") (term "0,0")) + (rule "mul_literals" (formula "1") (term "0,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1")) + (rule "polySimp_rightDist" (formula "1") (term "1")) + (rule "mul_literals" (formula "1") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) + (rule "polySimp_elimOne" (formula "1") (term "1,1")) + (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "10")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch "CUT: iv_0 >= 1 + f_upper FALSE" + (rule "concrete_or_4" (formula "1")) + (rule "inEqSimp_geqRight" (formula "11")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (formula "1") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1")) + (rule "polySimp_elimOne" (formula "1") (term "1")) + (rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "2")) + (rule "polySimp_mulComm0" (formula "7") (term "0,0")) + (rule "polySimp_addComm0" (formula "7") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "7")) + (rule "polySimp_mulLiterals" (formula "7") (term "0")) + (rule "polySimp_elimOne" (formula "7") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "7") (ifseqformula "10")) + (rule "andLeft" (formula "7")) + (rule "inEqSimp_homoInEq1" (formula "7")) + (rule "polySimp_mulComm0" (formula "7") (term "1,0")) + (rule "polySimp_rightDist" (formula "7") (term "1,0")) + (rule "mul_literals" (formula "7") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "7") (term "0")) + (rule "polySimp_addComm0" (formula "7") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "7") (term "0")) + (rule "add_literals" (formula "7") (term "1,1,0")) + (rule "times_zero_1" (formula "7") (term "1,0")) + (rule "add_literals" (formula "7") (term "0")) + (rule "leq_literals" (formula "7")) + (rule "closeFalse" (formula "7")) + ) + ) + (branch + (rule "nnf_ex2all" (formula "10")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0")) + (rule "concrete_and_2" (formula "1") (term "0")) + (rule "concrete_or_2" (formula "1")) + (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "7")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_unionArrayRangeAdjacent.proof b/key.core/tacletProofs/locSet/Taclet_unionArrayRangeAdjacent.proof new file mode 100644 index 00000000000..78fba5e572d --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_unionArrayRangeAdjacent.proof @@ -0,0 +1,412 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "unionArrayRangeAdjacent" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "198") + +(branch "dummy ID" +(rule "eqSymm" (formula "1")) +(rule "ifthenelse_concrete4" (formula "1")) +(rule "orRight" (formula "1")) +(rule "notRight" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "eqSymm" (formula "4")) +(rule "polySimp_homoEq" (formula "2")) +(rule "polySimp_addComm0" (formula "2") (term "0,0")) +(rule "polySimp_addComm1" (formula "2") (term "0")) +(rule "inEqSimp_ltToLeq" (formula "3")) +(rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) +(rule "polySimp_addComm1" (formula "3") (term "0")) +(rule "inEqSimp_commuteLeq" (formula "1")) +(rule "polySimp_sepPosMonomial" (formula "2")) +(rule "polySimp_mulComm0" (formula "2") (term "1")) +(rule "polySimp_rightDist" (formula "2") (term "1")) +(rule "mul_literals" (formula "2") (term "0,1")) +(rule "polySimp_mulLiterals" (formula "2") (term "1,1")) +(rule "polySimp_elimOne" (formula "2") (term "1,1")) +(rule "applyEq" (formula "4") (term "2,0,0") (ifseqformula "2")) +(rule "applyEq" (formula "1") (term "0") (ifseqformula "2")) +(rule "inEqSimp_homoInEq1" (formula "1")) +(rule "polySimp_mulComm0" (formula "1") (term "1,0")) +(rule "polySimp_rightDist" (formula "1") (term "1,0")) +(rule "mul_literals" (formula "1") (term "0,1,0")) +(rule "polySimp_addAssoc" (formula "1") (term "0")) +(rule "polySimp_addComm0" (formula "1") (term "0,0")) +(rule "applyEq" (formula "3") (term "1,0,0") (ifseqformula "2")) +(rule "polySimp_addAssoc" (formula "3") (term "0,0")) +(rule "add_literals" (formula "3") (term "0,0,0")) +(rule "add_zero_left" (formula "3") (term "0,0")) +(rule "inEqSimp_sepNegMonomial0" (formula "1")) +(rule "polySimp_mulLiterals" (formula "1") (term "0")) +(rule "polySimp_elimOne" (formula "1") (term "0")) +(rule "inEqSimp_sepNegMonomial0" (formula "3")) +(rule "polySimp_mulLiterals" (formula "3") (term "0")) +(rule "polySimp_elimOne" (formula "3") (term "0")) +(rule "equalityToElementOfRight" (formula "4") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "4") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "4") (inst "sk=fv_0:Field")) +(rule "elementOfUnion" (formula "4") (term "0")) +(rule "elementOfArrayRange" (formula "4") (term "1") (inst "iv=iv")) +(rule "firstOfPair" (formula "4") (term "0,0,1")) +(rule "secondOfPair" (formula "4") (term "0,0,0,0,1,1")) +(rule "eqSymm" (formula "4") (term "0,0,0,1,1")) +(rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0,1,1")) +(rule "elementOfArrayRange" (formula "4") (term "0,0") (inst "iv=iv")) +(rule "firstOfPair" (formula "4") (term "0,0,0,0")) +(rule "secondOfPair" (formula "4") (term "0,0,0,0,1,0,0")) +(rule "eqSymm" (formula "4") (term "0,0,0,1,0,0")) +(rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0,1,0,0")) +(rule "elementOfArrayRange" (formula "4") (term "1,0") (inst "iv=iv")) +(rule "firstOfPair" (formula "4") (term "0,0,1,0")) +(rule "secondOfPair" (formula "4") (term "0,0,0,0,1,1,0")) +(rule "eqSymm" (formula "4") (term "0,0,0,1,1,0")) +(rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0,1,1,0")) +(rule "equiv_right" (formula "4")) +(branch "Case '->'" + (rule "orLeft" (formula "1")) + (branch " ov_0 = f_o & exists int iv; ( arr(iv) = fv_0 & iv >= f_lower & iv <= -1 + f_lower2)" + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "8") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "8")) + (rule "applyEq" (formula "8") (term "1,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "8") (term "0,0,0")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "polySimp_addAssoc" (formula "3") (term "0")) + (rule "polySimp_addComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1")) + (rule "polySimp_rightDist" (formula "3") (term "1")) + (rule "mul_literals" (formula "3") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "3") (term "1,1")) + (rule "polySimp_elimOne" (formula "3") (term "1,1")) + (rule "nnf_ex2all" (formula "8")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0")) + (rule "concrete_and_2" (formula "1") (term "0")) + (rule "concrete_or_2" (formula "1")) + (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "5")) + (rule "polySimp_rightDist" (formula "1") (term "0,0")) + (rule "mul_literals" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "9")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0")) + (rule "mul_literals" (formula "1") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch " ov_0 = f_o & exists int iv; (arr(iv) = fv_0 & iv >= f_lower2 & iv <= f_upper2)" + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "8") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "8")) + (rule "applyEq" (formula "8") (term "1,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "8") (term "0,0,0")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "nnf_ex2all" (formula "8")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq0" (formula "1") (term "1") (ifseqformula "5")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,1")) + (rule "add_literals" (formula "1") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "1") (term "1,0,0,1")) + (rule "add_literals" (formula "1") (term "0,0,1")) + (rule "leq_literals" (formula "1") (term "0,1")) + (rule "concrete_and_2" (formula "1") (term "1")) + (rule "concrete_or_4" (formula "1")) + (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "1")) + (rule "polySimp_mulComm0" (formula "4") (term "0,0")) + (rule "polySimp_addComm0" (formula "4") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "polySimp_elimOne" (formula "4") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "4") (ifseqformula "7")) + (rule "andLeft" (formula "4")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "polySimp_mulComm0" (formula "4") (term "1,0")) + (rule "polySimp_rightDist" (formula "4") (term "1,0")) + (rule "mul_literals" (formula "4") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "4") (term "0")) + (rule "polySimp_addComm1" (formula "4") (term "0,0")) + (rule "add_literals" (formula "4") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) + (rule "add_literals" (formula "4") (term "1,1,0")) + (rule "times_zero_1" (formula "4") (term "1,0")) + (rule "add_literals" (formula "4") (term "0")) + (rule "leq_literals" (formula "4")) + (rule "closeFalse" (formula "4")) + ) +) +(branch "Case '<-'" + (rule "orRight" (formula "5")) + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "9") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "9")) + (rule "replace_known_left" (formula "8") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "8")) + (rule "applyEq" (formula "8") (term "1,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "8") (term "0,0,0")) + (rule "applyEq" (formula "9") (term "1,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "9") (term "0,0,0")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "nnf_ex2all" (formula "9")) + (rule "nnf_ex2all" (formula "10")) + (rule "nnf_notAnd" (formula "2") (term "0")) + (rule "inEqSimp_notLeq" (formula "2") (term "1,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,0,0,1,0")) + (rule "mul_literals" (formula "2") (term "0,1,0,0,1,0")) + (rule "polySimp_addAssoc" (formula "2") (term "0,0,1,0")) + (rule "add_literals" (formula "2") (term "0,0,0,1,0")) + (rule "add_zero_left" (formula "2") (term "0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "2") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,1,0")) + (rule "polySimp_elimOne" (formula "2") (term "1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "2") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "2") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "2") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,1,0,0")) + (rule "mul_literals" (formula "2") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "2") (term "1,1,1,0,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "2") (term "0,0")) + (rule "commute_or_2" (formula "2") (term "0")) + (rule "elim_forall4" (formula "2")) + (rule "inEqSimp_contradInEq1" (formula "2") (term "0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "2") (term "0,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,0,0,0")) + (rule "mul_literals" (formula "2") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "2") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "2") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,0")) + (rule "add_literals" (formula "2") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0")) + (rule "add_literals" (formula "2") (term "0,0,0")) + (rule "leq_literals" (formula "2") (term "0,0")) + (rule "concrete_and_2" (formula "2") (term "0")) + (rule "concrete_or_2" (formula "2")) + (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "7")) + (rule "polySimp_mulComm0" (formula "2") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "1")) + (rule "polySimp_elimOne" (formula "2") (term "1")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "2")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0")) + (rule "concrete_and_2" (formula "1") (term "0")) + (rule "concrete_or_2" (formula "1")) + (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "7")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_unionArrayRangeAdjacentEQ.proof b/key.core/tacletProofs/locSet/Taclet_unionArrayRangeAdjacentEQ.proof new file mode 100644 index 00000000000..3404e950b5d --- /dev/null +++ b/key.core/tacletProofs/locSet/Taclet_unionArrayRangeAdjacentEQ.proof @@ -0,0 +1,416 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "unionArrayRangeAdjacentEQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "212") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "eqSymm" (formula "2")) +(rule "polySimp_homoEq" (formula "2") (term "1,0,0,0")) +(rule "polySimp_addComm0" (formula "2") (term "0,0,1,0,0,0")) +(rule "polySimp_addComm1" (formula "2") (term "0,1,0,0,0")) +(rule "inEqSimp_ltToLeq" (formula "2") (term "1,0,0")) +(rule "polySimp_mulComm0" (formula "2") (term "1,0,0,1,0,0")) +(rule "polySimp_addComm1" (formula "2") (term "0,1,0,0")) +(rule "inEqSimp_commuteLeq" (formula "2") (term "0,0,0,0")) +(rule "applyEq" (formula "2") (term "0,2,0") (ifseqformula "1")) +(rule "ifthenelse_concrete4" (formula "2")) +(rule "orRight" (formula "2")) +(rule "notRight" (formula "2")) +(rule "andLeft" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "eqSymm" (formula "5")) +(rule "polySimp_sepPosMonomial" (formula "2")) +(rule "polySimp_mulComm0" (formula "2") (term "1")) +(rule "polySimp_rightDist" (formula "2") (term "1")) +(rule "mul_literals" (formula "2") (term "0,1")) +(rule "polySimp_mulLiterals" (formula "2") (term "1,1")) +(rule "polySimp_elimOne" (formula "2") (term "1,1")) +(rule "applyEq" (formula "1") (term "0") (ifseqformula "2")) +(rule "inEqSimp_homoInEq1" (formula "1")) +(rule "polySimp_mulComm0" (formula "1") (term "1,0")) +(rule "polySimp_rightDist" (formula "1") (term "1,0")) +(rule "mul_literals" (formula "1") (term "0,1,0")) +(rule "polySimp_addAssoc" (formula "1") (term "0")) +(rule "polySimp_addComm0" (formula "1") (term "0,0")) +(rule "applyEq" (formula "4") (term "2,0") (ifseqformula "2")) +(rule "applyEq" (formula "3") (term "1,0,0") (ifseqformula "2")) +(rule "polySimp_addAssoc" (formula "3") (term "0,0")) +(rule "add_literals" (formula "3") (term "0,0,0")) +(rule "add_zero_left" (formula "3") (term "0,0")) +(rule "inEqSimp_sepNegMonomial0" (formula "1")) +(rule "polySimp_mulLiterals" (formula "1") (term "0")) +(rule "polySimp_elimOne" (formula "1") (term "0")) +(rule "inEqSimp_sepNegMonomial0" (formula "3")) +(rule "polySimp_mulLiterals" (formula "3") (term "0")) +(rule "polySimp_elimOne" (formula "3") (term "0")) +(rule "equalityToElementOfRight" (formula "5") (inst "fv=fv") (inst "ov=ov")) +(rule "allRight" (formula "5") (inst "sk=ov_0:java.lang.Object")) +(rule "allRight" (formula "5") (inst "sk=fv_0:Field")) +(rule "elementOfUnion" (formula "5") (term "0")) +(rule "elementOfArrayRangeEQ" (formula "5") (term "0,0") (inst "iv=iv") (ifseqformula "4")) +(rule "firstOfPair" (formula "5") (term "0,0,0,0")) +(rule "secondOfPair" (formula "5") (term "0,0,0,0,1,0,0")) +(rule "eqSymm" (formula "5") (term "0,0,0,1,0,0")) +(rule "inEqSimp_commuteLeq" (formula "5") (term "1,0,0,1,0,0")) +(rule "elementOfArrayRange" (formula "5") (term "1") (inst "iv=iv")) +(rule "firstOfPair" (formula "5") (term "0,0,1")) +(rule "secondOfPair" (formula "5") (term "0,0,0,0,1,1")) +(rule "eqSymm" (formula "5") (term "0,0,0,1,1")) +(rule "inEqSimp_commuteLeq" (formula "5") (term "1,0,0,1,1")) +(rule "elementOfArrayRange" (formula "5") (term "1,0") (inst "iv=iv")) +(rule "firstOfPair" (formula "5") (term "0,0,1,0")) +(rule "secondOfPair" (formula "5") (term "0,0,0,0,1,1,0")) +(rule "eqSymm" (formula "5") (term "0,0,0,1,1,0")) +(rule "inEqSimp_commuteLeq" (formula "5") (term "1,0,0,1,1,0")) +(rule "equiv_right" (formula "5")) +(branch "Case '->'" + (rule "orLeft" (formula "1")) + (branch " ov_0 = f_o & exists int iv; ( arr(iv) = fv_0 & iv >= f_lower & iv <= -1 + f_lower2)" + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "9") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "9")) + (rule "applyEq" (formula "9") (term "1,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "9") (term "0,0,0")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "polySimp_addAssoc" (formula "3") (term "0")) + (rule "polySimp_addComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1")) + (rule "polySimp_rightDist" (formula "3") (term "1")) + (rule "mul_literals" (formula "3") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "3") (term "1,1")) + (rule "polySimp_elimOne" (formula "3") (term "1,1")) + (rule "nnf_ex2all" (formula "9")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0")) + (rule "concrete_and_2" (formula "1") (term "0")) + (rule "concrete_or_2" (formula "1")) + (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "5")) + (rule "polySimp_rightDist" (formula "1") (term "0,0")) + (rule "mul_literals" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "9")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0")) + (rule "mul_literals" (formula "1") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch " ov_0 = f_o & exists int iv; (arr(iv) = fv_0 & iv >= f_lower2 & iv <= f_upper2)" + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "9") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "9")) + (rule "applyEq" (formula "9") (term "1,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "9") (term "0,0,0")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "nnf_ex2all" (formula "9")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq0" (formula "1") (term "1") (ifseqformula "5")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,1")) + (rule "add_literals" (formula "1") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "1") (term "1,0,0,1")) + (rule "add_literals" (formula "1") (term "0,0,1")) + (rule "leq_literals" (formula "1") (term "0,1")) + (rule "concrete_and_2" (formula "1") (term "1")) + (rule "concrete_or_4" (formula "1")) + (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "1")) + (rule "polySimp_mulComm0" (formula "4") (term "0,0")) + (rule "polySimp_addComm0" (formula "4") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "polySimp_elimOne" (formula "4") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "4") (ifseqformula "7")) + (rule "andLeft" (formula "4")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "polySimp_mulComm0" (formula "4") (term "1,0")) + (rule "polySimp_rightDist" (formula "4") (term "1,0")) + (rule "mul_literals" (formula "4") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "4") (term "0")) + (rule "polySimp_addComm1" (formula "4") (term "0,0")) + (rule "add_literals" (formula "4") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) + (rule "add_literals" (formula "4") (term "1,1,0")) + (rule "times_zero_1" (formula "4") (term "1,0")) + (rule "add_literals" (formula "4") (term "0")) + (rule "leq_literals" (formula "4")) + (rule "closeFalse" (formula "4")) + ) +) +(branch "Case '<-'" + (rule "orRight" (formula "6")) + (rule "andLeft" (formula "1")) + (rule "exLeft" (formula "2") (inst "sk=iv_0:int")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "10") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "10")) + (rule "replace_known_left" (formula "9") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "9")) + (rule "applyEq" (formula "9") (term "1,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "9") (term "0,0,0")) + (rule "applyEq" (formula "10") (term "1,0,0,0") (ifseqformula "2")) + (rule "equalUnique" (formula "10") (term "0,0,0")) + (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "4")) + (rule "polySimp_mulComm0" (formula "3") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "nnf_ex2all" (formula "10")) + (rule "nnf_ex2all" (formula "11")) + (rule "nnf_notAnd" (formula "2") (term "0")) + (rule "inEqSimp_notLeq" (formula "2") (term "1,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,0,0,1,0")) + (rule "mul_literals" (formula "2") (term "0,1,0,0,1,0")) + (rule "polySimp_addAssoc" (formula "2") (term "0,0,1,0")) + (rule "add_literals" (formula "2") (term "0,0,0,1,0")) + (rule "add_zero_left" (formula "2") (term "0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "2") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,1,0")) + (rule "polySimp_elimOne" (formula "2") (term "1,1,0")) + (rule "nnf_notAnd" (formula "1") (term "0")) + (rule "inEqSimp_notLeq" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0")) + (rule "nnf_notAnd" (formula "2") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "2") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "2") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,1,0,0")) + (rule "mul_literals" (formula "2") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "2") (term "1,1,1,0,0")) + (rule "nnf_notAnd" (formula "1") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,1,0,0")) + (rule "commute_or" (formula "2") (term "0,0")) + (rule "commute_or_2" (formula "2") (term "0")) + (rule "elim_forall4" (formula "2")) + (rule "inEqSimp_contradInEq1" (formula "2") (term "0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "2") (term "0,0")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,0,0,0")) + (rule "mul_literals" (formula "2") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "2") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "2") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,0")) + (rule "add_literals" (formula "2") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0")) + (rule "add_literals" (formula "2") (term "0,0,0")) + (rule "leq_literals" (formula "2") (term "0,0")) + (rule "concrete_and_2" (formula "2") (term "0")) + (rule "concrete_or_2" (formula "2")) + (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "7")) + (rule "polySimp_mulComm0" (formula "2") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "1")) + (rule "polySimp_elimOne" (formula "2") (term "1")) + (rule "commute_or" (formula "1") (term "0,0")) + (rule "commute_or_2" (formula "1") (term "0")) + (rule "elim_forall4" (formula "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "2")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0")) + (rule "concrete_and_2" (formula "1") (term "0")) + (rule "concrete_or_2" (formula "1")) + (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "7")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) +) +) +} diff --git a/key.core/tacletProofs/locSet/Taclet_disjointWithSingleton1.proof b/key.core/tacletProofs/set/Taclet_disjointWithSingleton1.proof similarity index 89% rename from key.core/tacletProofs/locSet/Taclet_disjointWithSingleton1.proof rename to key.core/tacletProofs/set/Taclet_disjointWithSingleton1.proof index 92a153f35a2..ce4b865d443 100644 --- a/key.core/tacletProofs/locSet/Taclet_disjointWithSingleton1.proof +++ b/key.core/tacletProofs/set/Taclet_disjointWithSingleton1.proof @@ -42,6 +42,10 @@ " } +\sorts { + \proxy T; +} + \proofObligation { "name": "disjointWithSingleton1", "class": "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", @@ -56,25 +60,22 @@ (rule "equiv_right" (formula "1") (newnames "f_s,f_o,f_f")) (branch "Case '->'" (rule "notRight" (formula "2")) - (rule "disjointNotInOtherLocset1" (formula "1") (ifseqformula "2")) + (rule "disjointNotInOtherSet1" (formula "1") (ifseqformula "2")) (rule "elementOfSingleton" (formula "3")) (builtin "One Step Simplification" (formula "3")) (rule "closeTrue" (formula "3")) ) (branch "Case '<-'" (rule "notLeft" (formula "1")) - (rule "equalityToElementOfRight" (formula "2") (inst "ov=ov") (inst "fv=fv")) + (rule "equalityToElementOf" (formula "2") (inst "ov=ov") (inst "fv=fv")) (builtin "One Step Simplification" (formula "2")) - (rule "allRight" (formula "2") (inst "sk=ov_0")) - (rule "allRight" (formula "2") (inst "sk=fv_0")) + (rule "allRight" (formula "2") (inst "sk=pv_0")) (rule "notRight" (formula "2")) (rule "elementOfIntersect" (formula "1")) (rule "andLeft" (formula "1")) (rule "elementOfSingleton" (formula "2")) - (rule "andLeft" (formula "2")) (rule "applyEq" (formula "1") (term "0") (ifseqformula "2")) - (rule "applyEq" (formula "1") (term "1") (ifseqformula "3")) - (rule "close" (formula "4") (ifseqformula "1")) + (rule "close" (formula "3") (ifseqformula "1")) ) ) } diff --git a/key.core/tacletProofs/locSet/Taclet_disjointWithSingleton2.proof b/key.core/tacletProofs/set/Taclet_disjointWithSingleton2.proof similarity index 88% rename from key.core/tacletProofs/locSet/Taclet_disjointWithSingleton2.proof rename to key.core/tacletProofs/set/Taclet_disjointWithSingleton2.proof index b766157cdb2..e64e366372e 100644 --- a/key.core/tacletProofs/locSet/Taclet_disjointWithSingleton2.proof +++ b/key.core/tacletProofs/set/Taclet_disjointWithSingleton2.proof @@ -42,6 +42,10 @@ " } +\sorts { + \proxy T; +} + \proofObligation { "name": "disjointWithSingleton2", "class": "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", @@ -56,25 +60,22 @@ (rule "equiv_right" (formula "1") (newnames "f_o,f_f,f_s")) (branch "Case '->'" (rule "notRight" (formula "2")) - (rule "disjointNotInOtherLocset2" (formula "1") (ifseqformula "2")) + (rule "disjointNotInOtherSet2" (formula "1") (ifseqformula "2")) (rule "elementOfSingleton" (formula "3")) (builtin "One Step Simplification" (formula "3")) (rule "closeTrue" (formula "3")) ) (branch "Case '<-'" (rule "notLeft" (formula "1")) - (rule "equalityToElementOfRight" (formula "2") (inst "ov=ov") (inst "fv=fv")) + (rule "equalityToElementOf" (formula "2") (inst "ov=ov") (inst "fv=fv")) (builtin "One Step Simplification" (formula "2")) - (rule "allRight" (formula "2") (inst "sk=ov_0")) - (rule "allRight" (formula "2") (inst "sk=fv_0")) + (rule "allRight" (formula "2") (inst "sk=pv_0")) (rule "notRight" (formula "2")) (rule "elementOfIntersect" (formula "1")) (rule "andLeft" (formula "1")) (rule "elementOfSingleton" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "applyEq" (formula "3") (term "1") (ifseqformula "2")) - (rule "applyEq" (formula "3") (term "0") (ifseqformula "1")) - (rule "close" (formula "4") (ifseqformula "3")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "1")) + (rule "close" (formula "3") (ifseqformula "2")) ) ) } diff --git a/key.core/tacletProofs/locSet/Taclet_equalityOfSingleton.proof b/key.core/tacletProofs/set/Taclet_equalityOfSingleton.proof similarity index 57% rename from key.core/tacletProofs/locSet/Taclet_equalityOfSingleton.proof rename to key.core/tacletProofs/set/Taclet_equalityOfSingleton.proof index 8a7048c354d..c26de73909a 100644 --- a/key.core/tacletProofs/locSet/Taclet_equalityOfSingleton.proof +++ b/key.core/tacletProofs/set/Taclet_equalityOfSingleton.proof @@ -1,12 +1,12 @@ \profile "Java Profile"; -\settings // Proof-Settings-Config-File -{ - "Choice" : { +\settings { + "Choice" : { "JavaCard" : "JavaCard:on", "Strings" : "Strings:on", "assertions" : "assertions:on", "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", "floatRules" : "floatRules:strictfpOnly", "initialisation" : "initialisation:disableStaticInitialisation", "intRules" : "intRules:arithmeticSemanticsIgnoringOF", @@ -25,17 +25,17 @@ "soundDefaultContracts" : "soundDefaultContracts:on", "wdChecks" : "wdChecks:off", "wdOperator" : "wdOperator:L" - }, - "Labels" : { + }, + "Labels" : { "UseOriginLabels" : true - }, - "NewSMT" : { + }, + "NewSMT" : { - }, - "SMTSettings" : { - "SelectedTaclets" : [ + }, + "SMTSettings" : { + "SelectedTaclets" : [ - ], + ], "UseBuiltUniqueness" : false, "explicitTypeHierarchy" : false, "instantiateHierarchyAssumptions" : true, @@ -45,17 +45,17 @@ "maxGenericSorts" : 2, "useConstantsForBigOrSmallIntegers" : true, "useUninterpretedMultiplication" : true - }, - "Strategy" : { - "ActiveStrategy" : "JavaCardDLStrategy", + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", "MaximumNumberOfAutomaticApplications" : 500, "Timeout" : -1, - "options" : { + "options" : { "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", "BLOCK_OPTIONS_KEY" : "BLOCK_EXPAND", "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_FREE", "DEP_OPTIONS_KEY" : "DEP_OFF", - "INF_FLOW_CHECK_PROPERTY" : "INF_FLOW_CHECK_FALSE", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", "METHOD_OPTIONS_KEY" : "METHOD_EXPAND", "MPS_OPTIONS_KEY" : "MPS_MERGE", @@ -68,71 +68,53 @@ "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", "VBT_PHASE" : "VBT_SYM_EX" - } - } - } + } + } +} + + + +\sorts { + \proxy T; +} \proofObligation -// Proof-Obligation settings -{ +// +{ "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", "name" : "equalityOfSingleton" - } +} \proof { (keyLog "0" (keyUser "ulbrich" ) (keyVersion "af00212456641ec51f1d89b225061fe018faa149")) +(keyLog "1" (keyUser "daniel" ) (keyVersion "9f5c2371129286ae614d0425699f44df59316f59")) -(autoModeTime "163") +(autoModeTime "240") (branch "dummy ID" -(rule "equalityToElementOf" (formula "1") (term "0") (inst "ov=ov") (inst "fv=fv") (userinteraction)) -(rule "eqSymm" (formula "1") (term "0,1")) -(rule "eqSymm" (formula "1") (term "1,1")) -(rule "elementOfSingleton" (formula "1") (term "1,0,0,0")) -(rule "elementOfSingleton" (formula "1") (term "0,0,0,0")) -(rule "commute_and" (formula "1") (term "1")) +(rule "equalityToElementOf" (formula "1") (term "0") (newnames "f_e1,f_e2") (inst "av=av:T") (userinteraction)) +(rule "eqSymm" (formula "1") (term "1")) +(rule "elementOfSingleton" (formula "1") (term "0,0,0")) +(rule "elementOfSingleton" (formula "1") (term "1,0,0")) (rule "equiv_right" (formula "1")) (branch "Case '->'" - (rule "commute_and" (formula "1") (term "1,0,0")) - (rule "commute_and" (formula "1") (term "0,0,0")) - (rule "cnf_eqv" (formula "1") (term "0,0")) - (rule "nnf_notAnd" (formula "1") (term "1,0,0,0")) - (rule "nnf_notAnd" (formula "1") (term "0,1,0,0")) - (rule "distr_forallAnd" (formula "1") (term "0")) + (rule "cnf_eqv" (formula "1") (term "0")) (rule "distr_forallAnd" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "commute_or" (formula "1") (term "0,0")) - (rule "commute_or" (formula "2") (term "0,0,0")) - (rule "commute_or" (formula "1") (term "0,0,0")) - (rule "cnf_rightDist" (formula "2") (term "0,0")) - (rule "distr_forallAnd" (formula "2") (term "0")) - (rule "distr_forallAnd" (formula "2")) - (rule "andLeft" (formula "2")) - (rule "commute_or_2" (formula "2") (term "0,0")) - (builtin "One Step Simplification" (formula "2")) - (rule "eqSymm" (formula "2") (term "1,0")) - (rule "commute_or" (formula "2") (term "0")) - (builtin "One Step Simplification" (formula "2")) - (rule "replace_known_left" (formula "4") (term "0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "4")) - (rule "applyEqRigid" (formula "1") (term "1,0,1,0,0,0") (ifseqformula "2")) - (rule "shift_paren_or" (formula "3") (term "0,0")) - (builtin "One Step Simplification" (formula "3")) - (rule "eqSymm" (formula "3")) - (rule "close" (formula "4") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "2"))) + (rule "closeFalse" (formula "1")) ) (branch "Case '<-'" - (rule "andLeft" (formula "1")) - (rule "allRight" (formula "3") (inst "sk=ov_0")) - (rule "allRight" (formula "3") (inst "sk=fv_0")) - (rule "applyEqRigid" (formula "3") (term "1,1,1") (ifseqformula "1")) - (rule "applyEqRigid" (formula "3") (term "1,0,1") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "3")) - (rule "closeTrue" (formula "3")) + (rule "allRight" (formula "2") (inst "sk=av_0:T")) + (rule "eqSymm" (formula "2") (term "0")) + (rule "eqSymm" (formula "2") (term "1")) + (rule "applyEq" (formula "2") (term "0,1") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "2")) + (rule "closeTrue" (formula "2")) ) ) } diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmpty.proof b/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmpty.proof new file mode 100644 index 00000000000..bf935d69da4 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmpty.proof @@ -0,0 +1,149 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionEqualsEmpty" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "bfd727eec88f39455b1b75839c8514cec7539132")) + +(autoModeTime "76") + +(branch "dummy ID" +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "cut_direct" (formula "2") (term "0")) + (branch "CUT: intersect(f_s, f_t) = empty TRUE" + (rule "concrete_and_1" (formula "3")) + (rule "setEqualityToElementOfRight" (formula "3") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "3") (term "1,0")) + (rule "concrete_eq_4" (formula "3") (term "0")) + (rule "allRight" (formula "3") (inst "sk=av_0:T")) + (rule "notRight" (formula "3")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "disjointNotInOtherSet2" (formula "2") (ifseqformula "3")) + (rule "disjointNotInOtherSet2" (formula "2") (ifseqformula "4")) + (rule "elementOfUnion" (formula "5")) + (rule "orRight" (formula "5")) + (rule "close" (formula "5") (ifseqformula "1")) + ) + (branch "CUT: intersect(f_s, f_t) = empty FALSE" + (rule "concrete_and_2" (formula "3")) + (rule "false_right" (formula "3")) + (rule "setEqualityToElementOfRight" (formula "2") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "2") (term "1,0")) + (rule "concrete_eq_4" (formula "2") (term "0")) + (rule "allRight" (formula "2") (inst "sk=av_0:T")) + (rule "notRight" (formula "2")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "disjointNotInOtherSet2" (formula "2") (ifseqformula "3")) + (rule "elementOfUnion" (formula "4")) + (rule "orRight" (formula "4")) + (rule "close" (formula "4") (ifseqformula "1")) + ) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "setEqualityToElementOfRight" (formula "3") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "3") (term "1,0")) + (rule "concrete_eq_4" (formula "3") (term "0")) + (rule "allRight" (formula "3") (inst "sk=av_0:T")) + (rule "notRight" (formula "3")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "elementOfUnion" (formula "1")) + (rule "disjointNotInOtherSet2" (formula "2") (ifseqformula "3")) + (rule "replace_known_right" (formula "1") (term "0") (ifseqformula "5")) + (rule "concrete_or_2" (formula "1")) + (rule "disjointNotInOtherSet2" (formula "2") (ifseqformula "4")) + (rule "close" (formula "5") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmpty2.proof b/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmpty2.proof new file mode 100644 index 00000000000..b46528625ab --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmpty2.proof @@ -0,0 +1,149 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionEqualsEmpty2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "bfd727eec88f39455b1b75839c8514cec7539132")) + +(autoModeTime "75") + +(branch "dummy ID" +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "cut_direct" (formula "2") (term "0")) + (branch "CUT: intersect(f_t, f_s) = empty TRUE" + (rule "concrete_and_1" (formula "3")) + (rule "setEqualityToElementOfRight" (formula "3") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "3") (term "1,0")) + (rule "concrete_eq_4" (formula "3") (term "0")) + (rule "allRight" (formula "3") (inst "sk=av_0:T")) + (rule "notRight" (formula "3")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "disjointNotInOtherSet1" (formula "1") (ifseqformula "3")) + (rule "disjointNotInOtherSet1" (formula "1") (ifseqformula "4")) + (rule "elementOfUnion" (formula "5")) + (rule "orRight" (formula "5")) + (rule "close" (formula "5") (ifseqformula "2")) + ) + (branch "CUT: intersect(f_t, f_s) = empty FALSE" + (rule "concrete_and_2" (formula "3")) + (rule "false_right" (formula "3")) + (rule "setEqualityToElementOfRight" (formula "2") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "2") (term "1,0")) + (rule "concrete_eq_4" (formula "2") (term "0")) + (rule "allRight" (formula "2") (inst "sk=av_0:T")) + (rule "notRight" (formula "2")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "disjointNotInOtherSet1" (formula "1") (ifseqformula "3")) + (rule "elementOfUnion" (formula "4")) + (rule "orRight" (formula "4")) + (rule "close" (formula "4") (ifseqformula "2")) + ) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "setEqualityToElementOfRight" (formula "3") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "3") (term "1,0")) + (rule "concrete_eq_4" (formula "3") (term "0")) + (rule "allRight" (formula "3") (inst "sk=av_0:T")) + (rule "notRight" (formula "3")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "elementOfUnion" (formula "2")) + (rule "disjointNotInOtherSet1" (formula "1") (ifseqformula "3")) + (rule "replace_known_right" (formula "2") (term "0") (ifseqformula "5")) + (rule "concrete_or_2" (formula "2")) + (rule "disjointNotInOtherSet1" (formula "1") (ifseqformula "4")) + (rule "close" (formula "5") (ifseqformula "2")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmpty2EQ.proof b/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmpty2EQ.proof new file mode 100644 index 00000000000..16ed16a23fe --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmpty2EQ.proof @@ -0,0 +1,152 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionEqualsEmpty2EQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "bfd727eec88f39455b1b75839c8514cec7539132")) + +(autoModeTime "79") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "equiv_right" (formula "2")) +(branch "Case '->'" + (rule "cut_direct" (formula "3") (term "0")) + (branch "CUT: intersect(f_t, f_s) = empty TRUE" + (rule "concrete_and_1" (formula "4")) + (rule "setEqualityToElementOfRight" (formula "4") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "4") (term "1,0")) + (rule "concrete_eq_4" (formula "4") (term "0")) + (rule "allRight" (formula "4") (inst "sk=av_0:T")) + (rule "notRight" (formula "4")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "disjointNotInOtherSet1" (formula "1") (ifseqformula "4")) + (rule "disjointNotInOtherSet1" (formula "1") (ifseqformula "3")) + (rule "elementOfUnionEQ" (formula "7") (ifseqformula "5")) + (rule "orRight" (formula "7")) + (rule "close" (formula "7") (ifseqformula "2")) + ) + (branch "CUT: intersect(f_t, f_s) = empty FALSE" + (rule "concrete_and_2" (formula "4")) + (rule "false_right" (formula "4")) + (rule "setEqualityToElementOfRight" (formula "3") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "3") (term "1,0")) + (rule "concrete_eq_4" (formula "3") (term "0")) + (rule "allRight" (formula "3") (inst "sk=av_0:T")) + (rule "notRight" (formula "3")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "disjointNotInOtherSet1" (formula "1") (ifseqformula "3")) + (rule "elementOfUnionEQ" (formula "5") (ifseqformula "4")) + (rule "orRight" (formula "5")) + (rule "close" (formula "5") (ifseqformula "2")) + ) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "setEqualityToElementOfRight" (formula "4") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "4") (term "1,0")) + (rule "concrete_eq_4" (formula "4") (term "0")) + (rule "allRight" (formula "4") (inst "sk=av_0:T")) + (rule "notRight" (formula "4")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "disjointNotInOtherSet1" (formula "1") (ifseqformula "3")) + (rule "disjointNotInOtherSet1" (formula "1") (ifseqformula "4")) + (rule "elementOfUnionEQ" (formula "2") (ifseqformula "5")) + (rule "replace_known_right" (formula "2") (term "0") (ifseqformula "7")) + (rule "concrete_or_2" (formula "2")) + (rule "close" (formula "6") (ifseqformula "2")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmptyEQ.proof b/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmptyEQ.proof new file mode 100644 index 00000000000..1ee23ff1d13 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionEqualsEmptyEQ.proof @@ -0,0 +1,152 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionEqualsEmptyEQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "bfd727eec88f39455b1b75839c8514cec7539132")) + +(autoModeTime "78") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "equiv_right" (formula "2")) +(branch "Case '->'" + (rule "cut_direct" (formula "3") (term "0")) + (branch "CUT: intersect(f_s, f_t) = empty TRUE" + (rule "concrete_and_1" (formula "4")) + (rule "setEqualityToElementOfRight" (formula "4") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "4") (term "1,0")) + (rule "concrete_eq_4" (formula "4") (term "0")) + (rule "allRight" (formula "4") (inst "sk=av_0:T")) + (rule "notRight" (formula "4")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "disjointNotInOtherSet2" (formula "2") (ifseqformula "4")) + (rule "disjointNotInOtherSet2" (formula "2") (ifseqformula "3")) + (rule "elementOfUnionEQ" (formula "7") (ifseqformula "5")) + (rule "orRight" (formula "7")) + (rule "close" (formula "7") (ifseqformula "1")) + ) + (branch "CUT: intersect(f_s, f_t) = empty FALSE" + (rule "concrete_and_2" (formula "4")) + (rule "false_right" (formula "4")) + (rule "setEqualityToElementOfRight" (formula "3") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "3") (term "1,0")) + (rule "concrete_eq_4" (formula "3") (term "0")) + (rule "allRight" (formula "3") (inst "sk=av_0:T")) + (rule "notRight" (formula "3")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "disjointNotInOtherSet2" (formula "2") (ifseqformula "3")) + (rule "elementOfUnionEQ" (formula "5") (ifseqformula "4")) + (rule "orRight" (formula "5")) + (rule "close" (formula "5") (ifseqformula "1")) + ) +) +(branch "Case '<-'" + (rule "andLeft" (formula "1")) + (rule "setEqualityToElementOfRight" (formula "4") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "4") (term "1,0")) + (rule "concrete_eq_4" (formula "4") (term "0")) + (rule "allRight" (formula "4") (inst "sk=av_0:T")) + (rule "notRight" (formula "4")) + (rule "elementOfIntersect" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "disjointNotInOtherSet2" (formula "2") (ifseqformula "3")) + (rule "disjointNotInOtherSet2" (formula "2") (ifseqformula "4")) + (rule "elementOfUnionEQ" (formula "1") (ifseqformula "5")) + (rule "replace_known_right" (formula "1") (term "0") (ifseqformula "7")) + (rule "concrete_or_2" (formula "1")) + (rule "close" (formula "6") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionItself.proof b/key.core/tacletProofs/set/Taclet_intersectUnionItself.proof new file mode 100644 index 00000000000..bc180b17153 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionItself.proof @@ -0,0 +1,115 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionItself" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "54") + +(branch "dummy ID" +(rule "setEqualityToElementOfRight" (formula "1") (inst "av=av:T")) +(rule "allRight" (formula "1") (inst "sk=av_0:T")) +(rule "elementOfIntersect" (formula "1") (term "0")) +(rule "elementOfUnion" (formula "1") (term "0,0")) +(rule "commute_and" (formula "1") (term "0")) +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "3") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "2") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "2")) + (rule "orRight" (formula "2")) + (rule "close" (formula "2") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionItself2.proof b/key.core/tacletProofs/set/Taclet_intersectUnionItself2.proof new file mode 100644 index 00000000000..18c4055d9a2 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionItself2.proof @@ -0,0 +1,116 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionItself2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "58") + +(branch "dummy ID" +(rule "setEqualityToElementOfRight" (formula "1") (inst "av=av:T")) +(rule "allRight" (formula "1") (inst "sk=av_0:T")) +(rule "elementOfIntersect" (formula "1") (term "0")) +(rule "elementOfUnion" (formula "1") (term "0,0")) +(rule "commute_or" (formula "1") (term "0,0")) +(rule "commute_and" (formula "1") (term "0")) +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "3") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "2") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "2")) + (rule "orRight" (formula "2")) + (rule "close" (formula "2") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionItself2EQ.proof b/key.core/tacletProofs/set/Taclet_intersectUnionItself2EQ.proof new file mode 100644 index 00000000000..8192cdcc300 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionItself2EQ.proof @@ -0,0 +1,119 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionItself2EQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "54") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "setEqualityToElementOfRight" (formula "2") (inst "av=av:T")) +(rule "allRight" (formula "2") (inst "sk=av_0:T")) +(rule "elementOfIntersect" (formula "2") (term "0")) +(rule "elementOfUnionEQ" (formula "2") (term "0,0") (ifseqformula "1")) +(rule "commute_or" (formula "2") (term "0,0")) +(rule "commute_and" (formula "2") (term "0")) +(rule "equiv_right" (formula "2")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "4") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "3") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "3")) + (rule "orRight" (formula "3")) + (rule "close" (formula "3") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionItself3.proof b/key.core/tacletProofs/set/Taclet_intersectUnionItself3.proof new file mode 100644 index 00000000000..9ada89589f9 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionItself3.proof @@ -0,0 +1,114 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionItself3" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "52") + +(branch "dummy ID" +(rule "setEqualityToElementOfRight" (formula "1") (inst "av=av:T")) +(rule "allRight" (formula "1") (inst "sk=av_0:T")) +(rule "elementOfIntersect" (formula "1") (term "0")) +(rule "elementOfUnion" (formula "1") (term "1,0")) +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "3") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "2") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "2")) + (rule "orRight" (formula "2")) + (rule "close" (formula "2") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionItself3EQ.proof b/key.core/tacletProofs/set/Taclet_intersectUnionItself3EQ.proof new file mode 100644 index 00000000000..debbfe983f3 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionItself3EQ.proof @@ -0,0 +1,117 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionItself3EQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "52") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "setEqualityToElementOfRight" (formula "2") (inst "av=av:T")) +(rule "allRight" (formula "2") (inst "sk=av_0:T")) +(rule "elementOfIntersect" (formula "2") (term "0")) +(rule "elementOfUnionEQ" (formula "2") (term "1,0") (ifseqformula "1")) +(rule "equiv_right" (formula "2")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "4") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "3") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "3")) + (rule "orRight" (formula "3")) + (rule "close" (formula "3") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionItself4.proof b/key.core/tacletProofs/set/Taclet_intersectUnionItself4.proof new file mode 100644 index 00000000000..108f0bd8019 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionItself4.proof @@ -0,0 +1,115 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionItself4" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "55") + +(branch "dummy ID" +(rule "setEqualityToElementOfRight" (formula "1") (inst "av=av:T")) +(rule "allRight" (formula "1") (inst "sk=av_0:T")) +(rule "elementOfIntersect" (formula "1") (term "0")) +(rule "elementOfUnion" (formula "1") (term "1,0")) +(rule "commute_or" (formula "1") (term "1,0")) +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "3") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "2") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "2")) + (rule "orRight" (formula "2")) + (rule "close" (formula "2") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionItself4EQ.proof b/key.core/tacletProofs/set/Taclet_intersectUnionItself4EQ.proof new file mode 100644 index 00000000000..f3bd0433a46 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionItself4EQ.proof @@ -0,0 +1,118 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionItself4EQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "53") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "setEqualityToElementOfRight" (formula "2") (inst "av=av:T")) +(rule "allRight" (formula "2") (inst "sk=av_0:T")) +(rule "elementOfIntersect" (formula "2") (term "0")) +(rule "elementOfUnionEQ" (formula "2") (term "1,0") (ifseqformula "1")) +(rule "commute_or" (formula "2") (term "1,0")) +(rule "equiv_right" (formula "2")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "4") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "3") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "3")) + (rule "orRight" (formula "3")) + (rule "close" (formula "3") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_intersectUnionItselfEQ.proof b/key.core/tacletProofs/set/Taclet_intersectUnionItselfEQ.proof new file mode 100644 index 00000000000..bedc719e0d6 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_intersectUnionItselfEQ.proof @@ -0,0 +1,118 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "intersectUnionItselfEQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "53") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "setEqualityToElementOfRight" (formula "2") (inst "av=av:T")) +(rule "allRight" (formula "2") (inst "sk=av_0:T")) +(rule "elementOfIntersect" (formula "2") (term "0")) +(rule "elementOfUnionEQ" (formula "2") (term "0,0") (ifseqformula "1")) +(rule "commute_and" (formula "2") (term "0")) +(rule "equiv_right" (formula "2")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "4") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "3") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "3")) + (rule "orRight" (formula "3")) + (rule "close" (formula "3") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_setMinusEqualsEmpty.proof b/key.core/tacletProofs/set/Taclet_setMinusEqualsEmpty.proof new file mode 100644 index 00000000000..22940ab68af --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_setMinusEqualsEmpty.proof @@ -0,0 +1,128 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 4000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "setMinusEqualsEmpty" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "101") + +(branch "dummy ID" +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "subsetToElementOfRight" (formula "2") (inst "av=av:T")) + (rule "allRight" (formula "2") (inst "sk=av_0:T")) + (rule "impRight" (formula "2")) + (rule "equalityToElementOf" (formula "2") (inst "av=av:T") (userinteraction)) + (rule "elementOfEmpty" (formula "2") (term "1,0")) + (rule "concrete_eq_4" (formula "2") (term "0")) + (rule "elementOfSetMinus" (formula "2") (term "0,0")) + (rule "nnf_notAnd" (formula "2") (term "0")) + (rule "double_not" (formula "2") (term "1,0")) + (rule "allLeft" (formula "2") (inst "t=av_0:T")) + (rule "replace_known_left" (formula "2") (term "0,0") (ifseqformula "1")) + (rule "concrete_not_1" (formula "2") (term "0")) + (rule "concrete_or_2" (formula "2")) + (rule "close" (formula "4") (ifseqformula "2")) +) +(branch "Case '<-'" + (rule "setEqualityToElementOfRight" (formula "2") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "2") (term "1,0")) + (rule "concrete_eq_4" (formula "2") (term "0")) + (rule "allRight" (formula "2") (inst "sk=av_0:T")) + (rule "notRight" (formula "2")) + (rule "elementOfSetMinus" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "notLeft" (formula "2")) + (rule "noElementOfSupersetImpliesNoElementOfSubset" (formula "3") (ifseqformula "2")) + (rule "close" (formula "3") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_setMinusEqualsEmptyEQ.proof b/key.core/tacletProofs/set/Taclet_setMinusEqualsEmptyEQ.proof new file mode 100644 index 00000000000..f0eee379d12 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_setMinusEqualsEmptyEQ.proof @@ -0,0 +1,120 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "setMinusEqualsEmptyEQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "54") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "equiv_right" (formula "2")) +(branch "Case '->'" + (rule "applyEq" (formula "2") (term "1") (ifseqformula "1")) + (rule "setMinusEqualsEmpty" (formula "2")) + (rule "close" (formula "3") (ifseqformula "2")) +) +(branch "Case '<-'" + (rule "setEqualityToElementOfRight" (formula "3") (inst "av=av:T")) + (rule "elementOfEmpty" (formula "3") (term "1,0")) + (rule "concrete_eq_4" (formula "3") (term "0")) + (rule "allRight" (formula "3") (inst "sk=av_0:T")) + (rule "notRight" (formula "3")) + (rule "elementOfSetMinusEQ" (formula "1") (ifseqformula "3")) + (rule "andLeft" (formula "1")) + (rule "notLeft" (formula "2")) + (rule "noElementOfSupersetImpliesNoElementOfSubset" (formula "4") (ifseqformula "2")) + (rule "close" (formula "4") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_subsetIntersectLeft.proof b/key.core/tacletProofs/set/Taclet_subsetIntersectLeft.proof new file mode 100644 index 00000000000..007e877f394 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_subsetIntersectLeft.proof @@ -0,0 +1,105 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "subsetIntersectLeft" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "41") + +(branch "dummy ID" +(rule "subsetToElementOfRight" (formula "1") (inst "av=av:T")) +(rule "allRight" (formula "1") (inst "sk=av_0:T")) +(rule "impRight" (formula "1")) +(rule "elementOfIntersect" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "close" (formula "3") (ifseqformula "1")) +) +} diff --git a/key.core/tacletProofs/set/Taclet_subsetIntersectLeft2.proof b/key.core/tacletProofs/set/Taclet_subsetIntersectLeft2.proof new file mode 100644 index 00000000000..40367246788 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_subsetIntersectLeft2.proof @@ -0,0 +1,105 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "subsetIntersectLeft2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "38") + +(branch "dummy ID" +(rule "subsetToElementOfRight" (formula "1") (inst "av=av:T")) +(rule "allRight" (formula "1") (inst "sk=av_0:T")) +(rule "impRight" (formula "1")) +(rule "elementOfIntersect" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "close" (formula "3") (ifseqformula "2")) +) +} diff --git a/key.core/tacletProofs/set/Taclet_subsetIntersectLeft2EQ.proof b/key.core/tacletProofs/set/Taclet_subsetIntersectLeft2EQ.proof new file mode 100644 index 00000000000..57960b86035 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_subsetIntersectLeft2EQ.proof @@ -0,0 +1,108 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "subsetIntersectLeft2EQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "41") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "subsetToElementOfRight" (formula "2") (inst "av=av:T")) +(rule "allRight" (formula "2") (inst "sk=av_0:T")) +(rule "impRight" (formula "2")) +(rule "elementOfIntersectEQ" (formula "1") (ifseqformula "2")) +(rule "andLeft" (formula "1")) +(rule "close" (formula "4") (ifseqformula "2")) +) +} diff --git a/key.core/tacletProofs/set/Taclet_subsetIntersectLeftEQ.proof b/key.core/tacletProofs/set/Taclet_subsetIntersectLeftEQ.proof new file mode 100644 index 00000000000..e6dc3792e38 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_subsetIntersectLeftEQ.proof @@ -0,0 +1,108 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "subsetIntersectLeftEQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "43") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "subsetToElementOfRight" (formula "2") (inst "av=av:T")) +(rule "allRight" (formula "2") (inst "sk=av_0:T")) +(rule "impRight" (formula "2")) +(rule "elementOfIntersectEQ" (formula "1") (ifseqformula "2")) +(rule "andLeft" (formula "1")) +(rule "close" (formula "4") (ifseqformula "1")) +) +} diff --git a/key.core/tacletProofs/set/Taclet_subsetToElementOfRight.proof b/key.core/tacletProofs/set/Taclet_subsetToElementOfRight.proof new file mode 100644 index 00000000000..a195df4790e --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_subsetToElementOfRight.proof @@ -0,0 +1,109 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 4000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "subsetToElementOfRight" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "81") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "nnf_imp2or" (formula "1") (term "0")) +(rule "subsetToElementOf" (formula "2") (inst "av=av:T") (userinteraction)) +(rule "allRight" (formula "2") (inst "sk=av_0:T")) +(rule "impRight" (formula "2")) +(rule "allLeft" (formula "2") (inst "t=av_0:T")) +(rule "replace_known_left" (formula "2") (term "0,0") (ifseqformula "1")) +(rule "concrete_not_1" (formula "2") (term "0")) +(rule "concrete_or_2" (formula "2")) +(rule "close" (formula "4") (ifseqformula "2")) +) +} diff --git a/key.core/tacletProofs/set/Taclet_unionIntersectItself5.proof b/key.core/tacletProofs/set/Taclet_unionIntersectItself5.proof new file mode 100644 index 00000000000..0d79bf508f6 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_unionIntersectItself5.proof @@ -0,0 +1,117 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "unionIntersectItself5" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "59") + +(branch "dummy ID" +(rule "setEqualityToElementOfRight" (formula "1") (inst "av=av:T")) +(rule "allRight" (formula "1") (inst "sk=av_0:T")) +(rule "elementOfUnion" (formula "1") (term "0")) +(rule "elementOfIntersect" (formula "1") (term "1,0")) +(rule "cnf_rightDist" (formula "1") (term "0")) +(rule "eq_or" (formula "1") (term "0,0")) +(rule "commute_or" (formula "1") (term "1,0")) +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "3") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "2") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "2")) + (rule "orRight" (formula "2")) + (rule "close" (formula "2") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_unionIntersectItself5EQ.proof b/key.core/tacletProofs/set/Taclet_unionIntersectItself5EQ.proof new file mode 100644 index 00000000000..2587e292bd1 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_unionIntersectItself5EQ.proof @@ -0,0 +1,120 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "unionIntersectItself5EQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "55") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "setEqualityToElementOfRight" (formula "2") (inst "av=av:T")) +(rule "allRight" (formula "2") (inst "sk=av_0:T")) +(rule "elementOfUnion" (formula "2") (term "0")) +(rule "elementOfIntersectEQ" (formula "2") (term "1,0") (ifseqformula "1")) +(rule "cnf_rightDist" (formula "2") (term "0")) +(rule "eq_or" (formula "2") (term "0,0")) +(rule "commute_or" (formula "2") (term "1,0")) +(rule "equiv_right" (formula "2")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "4") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "3") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "3")) + (rule "orRight" (formula "3")) + (rule "close" (formula "3") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_unionIntersectItself6.proof b/key.core/tacletProofs/set/Taclet_unionIntersectItself6.proof new file mode 100644 index 00000000000..2f4633758f4 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_unionIntersectItself6.proof @@ -0,0 +1,117 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "unionIntersectItself6" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "54") + +(branch "dummy ID" +(rule "setEqualityToElementOfRight" (formula "1") (inst "av=av:T")) +(rule "allRight" (formula "1") (inst "sk=av_0:T")) +(rule "elementOfUnion" (formula "1") (term "0")) +(rule "elementOfIntersect" (formula "1") (term "1,0")) +(rule "cnf_rightDist" (formula "1") (term "0")) +(rule "eq_or" (formula "1") (term "1,0")) +(rule "commute_and" (formula "1") (term "0")) +(rule "equiv_right" (formula "1")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "3") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "2") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "2")) + (rule "orRight" (formula "2")) + (rule "close" (formula "2") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_unionIntersectItself6EQ.proof b/key.core/tacletProofs/set/Taclet_unionIntersectItself6EQ.proof new file mode 100644 index 00000000000..f70fac31430 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_unionIntersectItself6EQ.proof @@ -0,0 +1,120 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "unionIntersectItself6EQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "58") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "setEqualityToElementOfRight" (formula "2") (inst "av=av:T")) +(rule "allRight" (formula "2") (inst "sk=av_0:T")) +(rule "elementOfUnion" (formula "2") (term "0")) +(rule "elementOfIntersectEQ" (formula "2") (term "1,0") (ifseqformula "1")) +(rule "cnf_rightDist" (formula "2") (term "0")) +(rule "eq_or" (formula "2") (term "1,0")) +(rule "commute_and" (formula "2") (term "0")) +(rule "equiv_right" (formula "2")) +(branch "Case '->'" + (rule "andLeft" (formula "1")) + (rule "close" (formula "4") (ifseqformula "1")) +) +(branch "Case '<-'" + (rule "replace_known_left" (formula "3") (term "0") (ifseqformula "1")) + (rule "concrete_and_1" (formula "3")) + (rule "orRight" (formula "3")) + (rule "close" (formula "3") (ifseqformula "1")) +) +) +} diff --git a/key.core/tacletProofs/set/Taclet_unionSetMinusItself.proof b/key.core/tacletProofs/set/Taclet_unionSetMinusItself.proof new file mode 100644 index 00000000000..56ef217faf6 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_unionSetMinusItself.proof @@ -0,0 +1,111 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "unionSetMinusItself" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "48") + +(branch "dummy ID" +(rule "setEqualityToElementOfRight" (formula "1") (inst "av=av:T")) +(rule "allRight" (formula "1") (inst "sk=av_0:T")) +(rule "elementOfUnion" (formula "1") (term "0")) +(rule "elementOfUnion" (formula "1") (term "1")) +(rule "elementOfSetMinus" (formula "1") (term "0,0")) +(rule "commute_or" (formula "1") (term "0")) +(rule "cnf_rightDist" (formula "1") (term "0")) +(rule "neq_or_2" (formula "1") (term "1,0")) +(rule "concrete_and_3" (formula "1") (term "0")) +(rule "commute_or" (formula "1") (term "0")) +(rule "eq_eq" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/set/Taclet_unionSetMinusItself2.proof b/key.core/tacletProofs/set/Taclet_unionSetMinusItself2.proof new file mode 100644 index 00000000000..04f9d6f4c8c --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_unionSetMinusItself2.proof @@ -0,0 +1,111 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "unionSetMinusItself2" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "47") + +(branch "dummy ID" +(rule "setEqualityToElementOfRight" (formula "1") (inst "av=av:T")) +(rule "allRight" (formula "1") (inst "sk=av_0:T")) +(rule "elementOfUnion" (formula "1") (term "0")) +(rule "elementOfUnion" (formula "1") (term "1")) +(rule "elementOfSetMinus" (formula "1") (term "1,0")) +(rule "commute_or" (formula "1") (term "1")) +(rule "cnf_rightDist" (formula "1") (term "0")) +(rule "neq_or_2" (formula "1") (term "1,0")) +(rule "concrete_and_3" (formula "1") (term "0")) +(rule "commute_or" (formula "1") (term "0")) +(rule "eq_eq" (formula "1")) +(rule "closeTrue" (formula "1")) +) +} diff --git a/key.core/tacletProofs/set/Taclet_unionSetMinusItself2EQ.proof b/key.core/tacletProofs/set/Taclet_unionSetMinusItself2EQ.proof new file mode 100644 index 00000000000..2f18a4437ce --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_unionSetMinusItself2EQ.proof @@ -0,0 +1,115 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "unionSetMinusItself2EQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "54") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "eqSymm" (formula "2")) +(rule "setEqualityToElementOfRight" (formula "2") (inst "av=av:T")) +(rule "allRight" (formula "2") (inst "sk=av_0:T")) +(rule "elementOfUnion" (formula "2") (term "0")) +(rule "elementOfUnion" (formula "2") (term "1")) +(rule "elementOfSetMinusEQ" (formula "2") (term "1,1") (ifseqformula "1")) +(rule "commute_or" (formula "2") (term "0")) +(rule "cnf_rightDist" (formula "2") (term "1")) +(rule "neq_or_2" (formula "2") (term "1,1")) +(rule "concrete_and_3" (formula "2") (term "1")) +(rule "commute_or" (formula "2") (term "1")) +(rule "eq_eq" (formula "2")) +(rule "closeTrue" (formula "2")) +) +} diff --git a/key.core/tacletProofs/set/Taclet_unionSetMinusItselfEQ.proof b/key.core/tacletProofs/set/Taclet_unionSetMinusItselfEQ.proof new file mode 100644 index 00000000000..45aed1cb872 --- /dev/null +++ b/key.core/tacletProofs/set/Taclet_unionSetMinusItselfEQ.proof @@ -0,0 +1,115 @@ +\profile "Java Profile"; + +\settings { + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:off", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_NONE", + "OSS_OPTIONS_KEY" : "OSS_OFF", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + + + +\sorts { + \proxy T; +} + +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput", + "name" : "unionSetMinusItselfEQ" +} + +\proof { +(keyLog "0" (keyUser "bubel" ) (keyVersion "055adf452b2e09a0d2fc410c66c8849e10340622")) + +(autoModeTime "54") + +(branch "dummy ID" +(rule "impRight" (formula "1")) +(rule "notRight" (formula "2")) +(rule "notLeft" (formula "2")) +(rule "eqSymm" (formula "2")) +(rule "setEqualityToElementOfRight" (formula "2") (inst "av=av:T")) +(rule "allRight" (formula "2") (inst "sk=av_0:T")) +(rule "elementOfUnion" (formula "2") (term "0")) +(rule "elementOfUnion" (formula "2") (term "1")) +(rule "elementOfSetMinusEQ" (formula "2") (term "0,1") (ifseqformula "1")) +(rule "commute_or" (formula "2") (term "1")) +(rule "cnf_rightDist" (formula "2") (term "1")) +(rule "neq_or_2" (formula "2") (term "1,1")) +(rule "concrete_and_3" (formula "2") (term "1")) +(rule "commute_or" (formula "2") (term "1")) +(rule "eq_eq" (formula "2")) +(rule "closeTrue" (formula "2")) +) +} diff --git a/key.ncore.matcher/src/main/java/org/key_project/prover/rules/matcher/vm/instruction/MatchInstruction.java b/key.ncore.matcher/src/main/java/org/key_project/prover/rules/matcher/vm/instruction/MatchInstruction.java index fab5ecc40bb..10f5374bc03 100644 --- a/key.ncore.matcher/src/main/java/org/key_project/prover/rules/matcher/vm/instruction/MatchInstruction.java +++ b/key.ncore.matcher/src/main/java/org/key_project/prover/rules/matcher/vm/instruction/MatchInstruction.java @@ -3,6 +3,7 @@ * SPDX-License-Identifier: GPL-2.0-only */ package org.key_project.prover.rules.matcher.vm.instruction; + import org.key_project.logic.LogicServices; import org.key_project.logic.PoolSyntaxElementCursor; import org.key_project.logic.SyntaxElement; diff --git a/key.ui/examples/firstTouch/05-ReverseArray/reverseArray.proof b/key.ui/examples/firstTouch/05-ReverseArray/reverseArray.proof index 88f6aec5819..3b5032cf23d 100644 --- a/key.ui/examples/firstTouch/05-ReverseArray/reverseArray.proof +++ b/key.ui/examples/firstTouch/05-ReverseArray/reverseArray.proof @@ -911,10 +911,12 @@ (rule "concrete_and_3" (formula "1") (term "0,0,0")) (rule "eqSymm" (formula "3") (term "0,1,0")) (rule "eqSymm" (formula "1") (term "0,0,0")) + (rule "firstOfPair" (formula "1") (term "1,0,0,1,1,0,0")) (rule "replace_known_left" (formula "1") (term "0,1,1,0,0") (ifseqformula "10")) (rule "concrete_not_1" (formula "1") (term "1,1,0,0")) (rule "concrete_and_4" (formula "1") (term "1,0,0")) (rule "concrete_or_4" (formula "1") (term "0,0")) + (rule "firstOfPair" (formula "1") (term "1,0,0")) (rule "sortsDisjointModuloNull" (formula "1") (term "0,0")) (rule "replace_known_right" (formula "1") (term "0,0,0") (ifseqformula "15")) (rule "concrete_and_2" (formula "1") (term "0,0")) @@ -940,6 +942,7 @@ (rule "simplifySelectOfAnon" (formula "3")) (rule "elementOfFreshLocs" (formula "3") (term "1,0,0")) (rule "elementOfAllFields" (formula "3") (term "0,0,0,0")) + (rule "firstOfPair" (formula "3") (term "0,0,0,0,0")) (rule "eqClose" (formula "3") (term "0,0,0,0")) (rule "concrete_and_1" (formula "3") (term "0,0,0")) (rule "equalUnique" (formula "3") (term "0,0,0,0")) @@ -1068,6 +1071,7 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0,0")) (rule "eqClose" (formula "1") (term "0,0,0,0")) (rule "concrete_and_1" (formula "1") (term "0,0,0")) (rule "equalUnique" (formula "1") (term "0,0,0,0")) @@ -1226,6 +1230,7 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0,0")) (rule "eqClose" (formula "1") (term "0,0,0,0")) (rule "concrete_and_1" (formula "1") (term "0,0,0")) (rule "equalUnique" (formula "1") (term "0,0,0,0")) @@ -1788,6 +1793,7 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0,0")) (rule "eqClose" (formula "1") (term "0,0,0,0")) (rule "concrete_and_1" (formula "1") (term "0,0,0")) (rule "equalUnique" (formula "1") (term "0,0,0,0")) @@ -2136,6 +2142,7 @@ (rule "simplifySelectOfAnon" (formula "5")) (rule "elementOfFreshLocs" (formula "5") (term "1,0,0")) (rule "elementOfAllFields" (formula "5") (term "0,0,0,0")) + (rule "firstOfPair" (formula "5") (term "0,0,0,0,0")) (rule "eqClose" (formula "5") (term "0,0,0,0")) (rule "concrete_and_1" (formula "5") (term "0,0,0")) (rule "equalUnique" (formula "5") (term "0,0,0,0")) @@ -2275,6 +2282,7 @@ (rule "simplifySelectOfAnon" (formula "2")) (rule "elementOfFreshLocs" (formula "2") (term "1,0,0")) (rule "elementOfAllFields" (formula "2") (term "0,0,0,0")) + (rule "firstOfPair" (formula "2") (term "0,0,0,0,0")) (rule "eqClose" (formula "2") (term "0,0,0,0")) (rule "concrete_and_1" (formula "2") (term "0,0,0")) (rule "equalUnique" (formula "2") (term "0,0,0,0")) @@ -2287,6 +2295,7 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0,0")) (rule "eqClose" (formula "1") (term "0,0,0,0")) (rule "concrete_and_1" (formula "1") (term "0,0,0")) (rule "equalUnique" (formula "1") (term "0,0,0,0")) @@ -2435,6 +2444,7 @@ (rule "eqSymm" (formula "20")) (rule "eqSymm" (formula "1") (term "0,0,0")) (rule "eqSymm" (formula "1") (term "1,0,0")) + (rule "firstOfPair" (formula "18") (term "0")) (rule "replace_known_right" (formula "1") (term "0,0,0") (ifseqformula "18")) (rule "concrete_and_2" (formula "1") (term "0,0")) (rule "ifthenelse_false" (formula "1") (term "0")) @@ -2451,8 +2461,11 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,1,0,0")) + (rule "firstOfPair" (formula "1") (term "1,0,0,1,1,0,0")) (rule "replace_known_right" (formula "1") (term "1,0,0") (ifseqformula "19")) (rule "concrete_or_4" (formula "1") (term "0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0")) (rule "replace_known_right" (formula "1") (term "0,0,0") (ifseqformula "18")) (rule "concrete_and_2" (formula "1") (term "0,0")) (rule "ifthenelse_false" (formula "1") (term "0")) @@ -2595,6 +2608,7 @@ (rule "simplifySelectOfAnon" (formula "3")) (rule "elementOfFreshLocs" (formula "3") (term "1,0,0")) (rule "elementOfAllFields" (formula "3") (term "0,0,0,0")) + (rule "firstOfPair" (formula "3") (term "0,0,0,0,0")) (rule "eqClose" (formula "3") (term "0,0,0,0")) (rule "concrete_and_1" (formula "3") (term "0,0,0")) (rule "equalUnique" (formula "3") (term "0,0,0,0")) @@ -2607,6 +2621,7 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0,0")) (rule "eqClose" (formula "1") (term "0,0,0,0")) (rule "concrete_and_1" (formula "1") (term "0,0,0")) (rule "equalUnique" (formula "1") (term "0,0,0,0")) @@ -2738,6 +2753,7 @@ (rule "simplifySelectOfAnon" (formula "9")) (rule "elementOfFreshLocs" (formula "9") (term "1,0,0")) (rule "elementOfAllFields" (formula "9") (term "0,0,0,0")) + (rule "firstOfPair" (formula "9") (term "0,0,0,0,0")) (rule "eqClose" (formula "9") (term "0,0,0,0")) (rule "concrete_and_1" (formula "9") (term "0,0,0")) (rule "equalUnique" (formula "9") (term "0,0,0,0")) @@ -2989,6 +3005,7 @@ (rule "simplifySelectOfAnon" (formula "2")) (rule "elementOfFreshLocs" (formula "2") (term "1,0,0")) (rule "elementOfAllFields" (formula "2") (term "0,0,0,0")) + (rule "firstOfPair" (formula "2") (term "0,0,0,0,0")) (rule "eqClose" (formula "2") (term "0,0,0,0")) (rule "concrete_and_1" (formula "2") (term "0,0,0")) (rule "equalUnique" (formula "2") (term "0,0,0,0")) @@ -3019,6 +3036,7 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0,0")) (rule "eqClose" (formula "1") (term "0,0,0,0")) (rule "concrete_and_1" (formula "1") (term "0,0,0")) (rule "equalUnique" (formula "1") (term "0,0,0,0")) @@ -3153,6 +3171,7 @@ (rule "simplifySelectOfAnon" (formula "7")) (rule "elementOfFreshLocs" (formula "7") (term "1,0,0")) (rule "elementOfAllFields" (formula "7") (term "0,0,0,0")) + (rule "firstOfPair" (formula "7") (term "0,0,0,0,0")) (rule "eqClose" (formula "7") (term "0,0,0,0")) (rule "concrete_and_1" (formula "7") (term "0,0,0")) (rule "equalUnique" (formula "7") (term "0,0,0,0")) @@ -3246,6 +3265,7 @@ (rule "eqSymm" (formula "22")) (rule "eqSymm" (formula "1") (term "1,0,0")) (rule "eqSymm" (formula "1") (term "0,0,0")) + (rule "firstOfPair" (formula "20") (term "0")) (rule "replace_known_right" (formula "1") (term "0,0,0") (ifseqformula "20")) (rule "concrete_and_2" (formula "1") (term "0,0")) (rule "ifthenelse_false" (formula "1") (term "0")) @@ -3262,8 +3282,11 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,1,0,0")) + (rule "firstOfPair" (formula "1") (term "1,0,0,1,1,0,0")) (rule "replace_known_right" (formula "1") (term "1,0,0") (ifseqformula "21")) (rule "concrete_or_4" (formula "1") (term "0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0")) (rule "replace_known_right" (formula "1") (term "0,0,0") (ifseqformula "20")) (rule "concrete_and_2" (formula "1") (term "0,0")) (rule "ifthenelse_false" (formula "1") (term "0")) @@ -3620,6 +3643,7 @@ (rule "simplifySelectOfAnon" (formula "3")) (rule "elementOfFreshLocs" (formula "3") (term "1,0,0")) (rule "elementOfAllFields" (formula "3") (term "0,0,0,0")) + (rule "firstOfPair" (formula "3") (term "0,0,0,0,0")) (rule "eqClose" (formula "3") (term "0,0,0,0")) (rule "concrete_and_1" (formula "3") (term "0,0,0")) (rule "equalUnique" (formula "3") (term "0,0,0,0")) @@ -3632,6 +3656,7 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0,0")) (rule "eqClose" (formula "1") (term "0,0,0,0")) (rule "concrete_and_1" (formula "1") (term "0,0,0")) (rule "equalUnique" (formula "1") (term "0,0,0,0")) @@ -3777,6 +3802,7 @@ (rule "simplifySelectOfAnon" (formula "9")) (rule "elementOfFreshLocs" (formula "9") (term "1,0,0")) (rule "elementOfAllFields" (formula "9") (term "0,0,0,0")) + (rule "firstOfPair" (formula "9") (term "0,0,0,0,0")) (rule "eqClose" (formula "9") (term "0,0,0,0")) (rule "concrete_and_1" (formula "9") (term "0,0,0")) (rule "equalUnique" (formula "9") (term "0,0,0,0")) @@ -4015,6 +4041,7 @@ (rule "simplifySelectOfAnon" (formula "2")) (rule "elementOfFreshLocs" (formula "2") (term "1,0,0")) (rule "elementOfAllFields" (formula "2") (term "0,0,0,0")) + (rule "firstOfPair" (formula "2") (term "0,0,0,0,0")) (rule "eqClose" (formula "2") (term "0,0,0,0")) (rule "concrete_and_1" (formula "2") (term "0,0,0")) (rule "equalUnique" (formula "2") (term "0,0,0,0")) @@ -4027,6 +4054,7 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0,0")) (rule "eqClose" (formula "1") (term "0,0,0,0")) (rule "concrete_and_1" (formula "1") (term "0,0,0")) (rule "equalUnique" (formula "1") (term "0,0,0,0")) @@ -4179,6 +4207,7 @@ (rule "simplifySelectOfAnon" (formula "7")) (rule "elementOfFreshLocs" (formula "7") (term "1,0,0")) (rule "elementOfAllFields" (formula "7") (term "0,0,0,0")) + (rule "firstOfPair" (formula "7") (term "0,0,0,0,0")) (rule "eqClose" (formula "7") (term "0,0,0,0")) (rule "concrete_and_1" (formula "7") (term "0,0,0")) (rule "equalUnique" (formula "7") (term "0,0,0,0")) @@ -4272,6 +4301,7 @@ (rule "eqSymm" (formula "23")) (rule "eqSymm" (formula "1") (term "1,0,0")) (rule "eqSymm" (formula "1") (term "0,0,0")) + (rule "firstOfPair" (formula "21") (term "0")) (rule "replace_known_right" (formula "1") (term "0,0,0") (ifseqformula "21")) (rule "concrete_and_2" (formula "1") (term "0,0")) (rule "ifthenelse_false" (formula "1") (term "0")) @@ -4288,9 +4318,12 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0,0")) (rule "replace_known_right" (formula "1") (term "0,0,0,0") (ifseqformula "21")) (rule "concrete_and_2" (formula "1") (term "0,0,0")) (rule "concrete_or_2" (formula "1") (term "0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "1,0,0,1,0,0")) (rule "replace_known_right" (formula "1") (term "0,0") (ifseqformula "22")) (rule "ifthenelse_false" (formula "1") (term "0")) (rule "close" (formula "23") (ifseqformula "1")) @@ -4862,6 +4895,7 @@ (rule "simplifySelectOfAnon" (formula "1")) (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) + (rule "firstOfPair" (formula "1") (term "0,0,0,0,0")) (rule "eqClose" (formula "1") (term "0,0,0,0")) (rule "concrete_and_1" (formula "1") (term "0,0,0")) (rule "equalUnique" (formula "1") (term "0,0,0,0")) @@ -5112,6 +5146,7 @@ (rule "simplifySelectOfAnon" (formula "7")) (rule "elementOfFreshLocs" (formula "7") (term "1,0,0")) (rule "elementOfAllFields" (formula "7") (term "0,0,0,0")) + (rule "firstOfPair" (formula "7") (term "0,0,0,0,0")) (rule "eqClose" (formula "7") (term "0,0,0,0")) (rule "concrete_and_1" (formula "7") (term "0,0,0")) (rule "equalUnique" (formula "7") (term "0,0,0,0")) @@ -5309,6 +5344,7 @@ (rule "simplifySelectOfAnon" (formula "4")) (rule "elementOfFreshLocs" (formula "4") (term "1,0,0")) (rule "elementOfAllFields" (formula "4") (term "0,0,0,0")) + (rule "firstOfPair" (formula "4") (term "0,0,0,0,0")) (rule "eqClose" (formula "4") (term "0,0,0,0")) (rule "concrete_and_1" (formula "4") (term "0,0,0")) (rule "equalUnique" (formula "4") (term "0,0,0,0")) @@ -5465,6 +5501,8 @@ (rule "elementOfFreshLocs" (formula "1") (term "1,0,0")) (rule "elementOfAllFields" (formula "1") (term "0,0,0,0")) (rule "eqSymm" (formula "22")) + (rule "firstOfPair" (formula "1") (term "0,0,0,1,0,0")) + (rule "firstOfPair" (formula "1") (term "1,0,0,1,1,0,0")) (rule "replace_known_right" (formula "1") (term "1,0,0") (ifseqformula "21")) (rule "concrete_or_4" (formula "1") (term "0,0")) (rule "replace_known_right" (formula "1") (term "0,0,0") (ifseqformula "20")) diff --git a/key.ui/examples/heap/FM2024Tutorial/ArrayList/LinkedList_inv_acc.proof b/key.ui/examples/heap/FM2024Tutorial/ArrayList/LinkedList_inv_acc.proof index e9e4e586dd0..55002304bec 100644 --- a/key.ui/examples/heap/FM2024Tutorial/ArrayList/LinkedList_inv_acc.proof +++ b/key.ui/examples/heap/FM2024Tutorial/ArrayList/LinkedList_inv_acc.proof @@ -117,7 +117,7 @@ (rule "andRight" (formula "8")) (branch "Case 1" (rule "subsetSingletonLeft" (formula "8")) - (rule "pullOutSelect" (formula "8") (term "2") (inst "selectSK=List_footprint_0")) + (rule "pullOutSelect" (formula "8") (term "1") (inst "selectSK=List_footprint_0")) (rule "simplifySelectOfAnon" (formula "1")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "8")) (ifInst "" (formula "4"))) (rule "elementOfSetMinus" (formula "1") (term "0,0")) @@ -153,12 +153,12 @@ (rule "subsetSingletonLeft" (formula "8")) (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "1")) - (rule "applyEqReverse" (formula "16") (term "2") (ifseqformula "1")) + (rule "applyEqReverse" (formula "16") (term "1") (ifseqformula "1")) (rule "close" (formula "16") (ifseqformula "7")) ) (branch "Case 2" (rule "subsetSingletonLeft" (formula "8")) - (rule "pullOutSelect" (formula "8") (term "2") (inst "selectSK=List_footprint_0")) + (rule "pullOutSelect" (formula "8") (term "1") (inst "selectSK=List_footprint_0")) (rule "simplifySelectOfAnon" (formula "1")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "8")) (ifInst "" (formula "4"))) (rule "elementOfSetMinus" (formula "1") (term "0,0")) @@ -194,7 +194,7 @@ (rule "subsetSingletonLeft" (formula "8")) (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "1")) - (rule "applyEqReverse" (formula "16") (term "2") (ifseqformula "1")) + (rule "applyEqReverse" (formula "16") (term "1") (ifseqformula "1")) (rule "close" (formula "16") (ifseqformula "8")) ) ) @@ -893,7 +893,7 @@ (rule "subsetSingletonLeft" (formula "12")) (rule "castedGetAny" (formula "20") (term "1,0")) (rule "castedGetAny" (formula "15") (term "0,0,0,0,0,1,0")) - (rule "castedGetAny" (formula "1") (term "0")) + (rule "castedGetAny" (formula "1") (term "0,0")) (rule "castedGetAny" (formula "16") (term "2,0")) (rule "castedGetAny" (formula "22") (term "1,1")) (rule "castedGetAny" (formula "22") (term "0")) @@ -3733,7 +3733,7 @@ (rule "elementOfSetMinus" (formula "1") (term "0,0,0")) (builtin "One Step Simplification" (formula "1")) (rule "pullOutSelect" (formula "13") (term "0,2,0") (inst "selectSK=LinkedList_nodeseq_0")) - (rule "applyEq" (formula "2") (term "0,0,0,0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "2") (term "0,0,0,0,0,0,0") (ifseqformula "1")) (rule "applyEq" (formula "2") (term "0,0,0,0,1,0,0") (ifseqformula "1")) (rule "applyEq" (formula "2") (term "0,1,2,0") (ifseqformula "1")) (rule "applyEq" (formula "2") (term "0,1,0,0,1,1,0,0") (ifseqformula "1")) @@ -3874,7 +3874,7 @@ (rule "applyEqReverse" (formula "21") (term "0,2,0") (ifseqformula "1")) (rule "applyEqReverse" (formula "2") (term "0,1,0,0,1,1,0,0") (ifseqformula "1")) (rule "applyEqReverse" (formula "2") (term "0,1,1,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "2") (term "0,0,0,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "2") (term "0,0,0,0,0,0,0") (ifseqformula "1")) (rule "applyEqReverse" (formula "2") (term "0,0,0,0,1,0,0") (ifseqformula "1")) (rule "applyEqReverse" (formula "2") (term "0,1,2,0") (ifseqformula "1")) (rule "hideAuxiliaryEq" (formula "1")) @@ -4511,7 +4511,7 @@ (rule "polySimp_elimOne" (formula "17") (term "1,1,1,0,0,1,0")) (rule "elementOfUnionEQ" (formula "3") (term "0,0") (ifseqformula "17")) (builtin "One Step Simplification" (formula "3")) - (rule "applyEqReverse" (formula "1") (term "0,0,0,0,0,0") (ifseqformula "3")) + (rule "applyEqReverse" (formula "1") (term "0,0,0,0,0,0,0") (ifseqformula "3")) (rule "applyEqReverse" (formula "1") (term "0,1,0,0,1,1,0,0") (ifseqformula "3")) (rule "applyEqReverse" (formula "1") (term "0,1,2,0") (ifseqformula "3")) (rule "applyEqReverse" (formula "1") (term "0,1,1,0") (ifseqformula "3")) diff --git a/key.ui/examples/heap/FM2024Tutorial/ArrayList/LinkedList_newNode.proof b/key.ui/examples/heap/FM2024Tutorial/ArrayList/LinkedList_newNode.proof index 30b24770802..b0201264c46 100644 --- a/key.ui/examples/heap/FM2024Tutorial/ArrayList/LinkedList_newNode.proof +++ b/key.ui/examples/heap/FM2024Tutorial/ArrayList/LinkedList_newNode.proof @@ -56,6 +56,7 @@ "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", "MPS_OPTIONS_KEY" : "MPS_MERGE", @@ -91,8 +92,9 @@ \proof { (keyLog "0" (keyUser "mattias" ) (keyVersion "4911758ba07017f4af60dc0314ac665c14a542d0")) (keyLog "1" (keyUser "bubel" ) (keyVersion "1167877b80956325bccf16052c6a34edc6d00911")) +(keyLog "2" (keyUser "daniel" ) (keyVersion "9f5c2371129286ae614d0425699f44df59316f59")) -(autoModeTime "26447") +(autoModeTime "30036") (branch "dummy ID" (builtin "One Step Simplification" (formula "1") (newnames "heapAtPre,o_0,f")) @@ -271,1894 +273,4887 @@ (rule "andLeft" (formula "6")) (rule "andLeft" (formula "6")) (rule "andLeft" (formula "6")) - (rule "disjointToElementOf" (formula "14") (inst "fv=fv") (inst "ov=ov") (userinteraction)) - (rule "allRight" (formula "14") (inst "sk=ov_0:java.lang.Object") (userinteraction)) - (rule "allRight" (formula "14") (inst "sk=fv_0:Field") (userinteraction)) - (rule "orRight" (formula "14") (userinteraction)) - (rule "notRight" (formula "15") (userinteraction)) - (rule "notRight" (formula "15") (userinteraction)) - (rule "elementOfUnion" (formula "1") (userinteraction)) - (rule "elementOfUnion" (formula "1") (term "1") (userinteraction)) - (rule "elementOfSingleton" (formula "1") (term "0") (userinteraction)) - (rule "elementOfSingleton" (formula "1") (term "0,1") (userinteraction)) - (rule "elementOfSingleton" (formula "1") (term "1,1") (userinteraction)) - (rule "applyEq" (formula "2") (term "2") (ifseqformula "10") (userinteraction)) - (rule "elementOfUnion" (formula "2") (userinteraction)) - (rule "cut_direct" (formula "1") (term "0,0") (userinteraction)) - (branch "CUT: ov_0 = n_2 TRUE" - (rule "orLeft" (formula "3") (userinteraction)) - (branch "(ov_0, fv_0) in self.*" - (builtin "One Step Simplification" (formula "12")) - (builtin "One Step Simplification" (formula "11")) - (builtin "One Step Simplification" (formula "3")) - (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "1")) (ifInst "" (formula "1"))) - (rule "eqSymm" (formula "14")) - (rule "eqSymm" (formula "13")) - (rule "eqSymm" (formula "16")) - (rule "eqSymm" (formula "15")) - (rule "eqSymm" (formula "12") (term "0,1,0,1,0,1,0")) - (rule "eqSymm" (formula "12") (term "1,0,0,1,0")) - (rule "eqSymm" (formula "12") (term "1,1,0,1,0,1,0")) - (rule "eqSymm" (formula "12") (term "1,1,0")) - (rule "eqSymm" (formula "11")) - (rule "polySimp_elimSub" (formula "14") (term "1,0,2,0")) - (rule "mul_literals" (formula "14") (term "1,1,0,2,0")) - (rule "polySimp_elimSub" (formula "12") (term "1,0,0,1,1,0")) - (rule "mul_literals" (formula "12") (term "1,1,0,0,1,1,0")) - (rule "polySimp_addComm0" (formula "12") (term "1,0,2,0,1,1,0")) - (rule "polySimp_addComm0" (formula "14") (term "1,0,2,0")) - (rule "polySimp_addComm0" (formula "12") (term "1,0,0,1,1,0")) - (rule "subsetSingletonLeft" (formula "9")) - (rule "subsetSingletonLeft" (formula "10")) - (rule "castedGetAny" (formula "12") (term "0,0,0,0,0,1,0")) - (rule "castedGetAny" (formula "13") (term "2,0")) - (rule "castedGetAny" (formula "12") (term "0,0,1,0,1,0,1,0")) - (rule "castedGetAny" (formula "12") (term "1,0,1,0,1,0,1,0")) - (rule "castedGetAny" (formula "12") (term "0,1,0,0,1,0")) - (rule "eqSymm" (formula "12") (term "1,0,0,1,0")) - (rule "castedGetAny" (formula "12") (term "1,1,1,1,0")) - (rule "castedGetAny" (formula "11") (term "0,1,0,1,0")) - (rule "castedGetAny" (formula "12") (term "2,0,1,1,0")) - (rule "castedGetAny" (formula "14") (term "2,0")) - (rule "inEqSimp_ltToLeq" (formula "12") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "12") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "12") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "12") (term "1,0,0,1,0,0,1,0,1,0")) - (rule "castedGetAny" (formula "12") (term "1,0,1,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "11") (term "1,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "11") (term "1,0,0,1,0,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "12") (term "0,0,0,1,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "12") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "11") (term "0,0,0,1,0")) - (rule "applyEq" (formula "1") (term "0") (ifseqformula "3")) - (rule "eqSymm" (formula "1")) - (rule "sortsDisjointModuloNull" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "close" (formula "20") (ifseqformula "2")) - ) - (branch "(ov_0, fv_0) in infiniteUnion{int i_0;}(if ( inInt(i_0) & ( 0 <= i_0 & i_0 < self.size)) then ((Node)(self.nodeseq[i_0]).*) else ({}))" - (rule "elementOfInfiniteUnion" (formula "3") (userinteraction)) - (rule "exLeft" (formula "3") (inst "sk=i_0_0:int") (userinteraction)) - (rule "ifthenelse_split" (formula "3") (term "2") (userinteraction)) - (branch "inInt(i_0_0) & (0 <= i_0_0 & i_0_0 < self.size) TRUE" - (builtin "One Step Simplification" (formula "4")) - (rule "int_induction" (inst "b=( lt(nv, - select(heap, self, LinkedList::#size))<> - -> ( select(heap, - cast(seqGet(select(heap, - self, - LinkedList::#nodeseq), - nv)), - java.lang.Object::#$created) - = TRUE)<>)<>") (inst "nv=nv") (userinteraction)) - (branch "Base Case" - (rule "impRight" (formula "18") (userinteraction)) - (rule "ifthenelse_split" (formula "15") (term "1") (userinteraction)) - (branch "self.size = 0 TRUE" - (builtin "One Step Simplification" (formula "14")) - (builtin "One Step Simplification" (formula "13")) - (builtin "One Step Simplification" (formula "4")) - (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "2")) (ifInst "" (formula "2"))) - (rule "andLeft" (formula "4")) - (rule "eqSymm" (formula "18")) - (rule "eqSymm" (formula "19")) - (rule "eqSymm" (formula "20")) - (rule "eqSymm" (formula "6")) - (rule "eqSymm" (formula "15") (term "0,1,0,1,0,1,0")) - (rule "eqSymm" (formula "15") (term "1,1,0,1,0,1,0")) - (rule "eqSymm" (formula "15") (term "1,1,0")) - (rule "eqSymm" (formula "15") (term "1,0,0,1,0")) - (rule "eqSymm" (formula "14")) - (rule "replace_known_left" (formula "18") (term "0,0") (ifseqformula "16")) - (builtin "One Step Simplification" (formula "18")) - (rule "eqSymm" (formula "18")) - (rule "polySimp_elimSub" (formula "15") (term "1,0,0,1,1,0")) - (rule "mul_literals" (formula "15") (term "1,1,0,0,1,1,0")) - (rule "polySimp_addComm0" (formula "15") (term "1,0,2,0,1,1,0")) - (rule "polySimp_addComm0" (formula "15") (term "1,0,0,1,1,0")) - (rule "subsetSingletonLeft" (formula "12")) - (rule "castedGetAny" (formula "21") (term "1,0")) - (rule "subsetSingletonLeft" (formula "13")) - (rule "castedGetAny" (formula "15") (term "0,0,0,0,0,1,0")) - (rule "castedGetAny" (formula "6") (term "0")) - (rule "castedGetAny" (formula "15") (term "1,0,1,0,1,0,1,0")) - (rule "castedGetAny" (formula "15") (term "0,0,1,0,1,0,1,0")) - (rule "castedGetAny" (formula "15") (term "1,1,1,1,0")) - (rule "castedGetAny" (formula "15") (term "0,1,0,0,1,0")) - (rule "eqSymm" (formula "15") (term "1,0,0,1,0")) - (rule "castedGetAny" (formula "14") (term "0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "1")) - (rule "add_zero_right" (formula "1") (term "0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0")) - (rule "castedGetAny" (formula "15") (term "2,0,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "15") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,0,1,0,0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "15") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "5")) - (rule "polySimp_mulComm0" (formula "5") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "5") (term "0")) - (rule "castedGetAny" (formula "15") (term "1,0,1,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "14") (term "1,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "14") (term "1,0,0,1,0,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "15") (term "0,0,0,1,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "15") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "4")) - (rule "inEqSimp_commuteLeq" (formula "14") (term "0,0,0,1,0")) - (rule "applyEq" (formula "5") (term "0,1,0") (ifseqformula "16")) - (rule "mul_literals" (formula "5") (term "1,0")) - (rule "add_zero_right" (formula "5") (term "0")) - (rule "applyEq" (formula "1") (term "0,1,0") (ifseqformula "16")) - (rule "times_zero_2" (formula "1") (term "1,0")) - (rule "add_literals" (formula "1") (term "0")) - (rule "leq_literals" (formula "1")) - (rule "closeFalse" (formula "1")) - ) - (branch "self.size = 0 FALSE" - (rule "applyEqReverse" (formula "20") (term "1,0") (ifseqformula "15") (userinteraction)) - (rule "eqTermCut" (formula "20") (term "1,0") (inst "s=null:Null") (userinteraction)) - (branch "Assume self.first = null" - (rule "instAll" (formula "16") (term "1,0,1") (ifseqformula "15") (userinteraction)) - (rule "impLeft" (formula "16") (userinteraction)) - (branch "Case 1" - (builtin "One Step Simplification" (formula "15")) - (builtin "One Step Simplification" (formula "14")) - (builtin "One Step Simplification" (formula "5")) - (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "3")) (ifInst "" (formula "3"))) - (builtin "One Step Simplification" (formula "20") (ifInst "" (formula "2"))) - (rule "leq_literals" (formula "20")) - (rule "closeTrue" (formula "20")) - ) - (branch "Case 2" - (rule "andLeft" (formula "16")) - (rule "andLeft" (formula "16")) - (rule "andLeft" (formula "16")) - (rule "notLeft" (formula "16")) - (builtin "One Step Simplification" (formula "17")) - (builtin "One Step Simplification" (formula "15")) - (builtin "One Step Simplification" (formula "14")) - (builtin "One Step Simplification" (formula "5")) - (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "3")) (ifInst "" (formula "3"))) - (rule "add_zero_left" (formula "18") (term "1,0,2,1")) - (rule "andLeft" (formula "5")) - (rule "eqSymm" (formula "20")) - (rule "eqSymm" (formula "7")) - (rule "eqSymm" (formula "23")) - (rule "eqSymm" (formula "21")) - (rule "eqSymm" (formula "22")) - (rule "eqSymm" (formula "19") (term "0,1")) - (rule "eqSymm" (formula "17")) - (rule "eqSymm" (formula "18") (term "0,1,0")) - (rule "eqSymm" (formula "18") (term "1,1,0")) - (rule "eqSymm" (formula "16") (term "1,1,0")) - (rule "eqSymm" (formula "16") (term "1,0,0,1,0")) - (rule "eqSymm" (formula "16") (term "1,1,0,1,0,1,0")) - (rule "eqSymm" (formula "16") (term "0,1,0,1,0,1,0")) - (rule "eqSymm" (formula "15")) - (rule "eqSymm" (formula "19")) - (rule "replace_known_right" (formula "21") (term "0,0") (ifseqformula "25")) - (builtin "One Step Simplification" (formula "21")) - (rule "polySimp_elimSub" (formula "16") (term "1,0,0,1,1,0")) - (rule "mul_literals" (formula "16") (term "1,1,0,0,1,1,0")) - (rule "polySimp_elimSub" (formula "19") (term "0,0,0")) - (rule "mul_literals" (formula "19") (term "1,0,0,0")) - (rule "polySimp_elimSub" (formula "21") (term "1,0,0")) - (rule "mul_literals" (formula "21") (term "1,1,0,0")) - (rule "polySimp_addComm0" (formula "16") (term "1,0,2,0,1,1,0")) - (rule "polySimp_addComm0" (formula "16") (term "1,0,0,1,1,0")) - (rule "polySimp_addComm0" (formula "19") (term "0,0,0")) - (rule "polySimp_addComm0" (formula "21") (term "1,0,0")) - (rule "subsetSingletonLeft" (formula "14")) - (rule "subsetSingletonLeft" (formula "13")) - (rule "castedGetAny" (formula "24") (term "0")) - (rule "castedGetAny" (formula "16") (term "0,0,0,0,0,1,0")) - (rule "castedGetAny" (formula "20") (term "0")) - (rule "castedGetAny" (formula "7") (term "0")) - (rule "castedGetAny" (formula "17") (term "1,1")) - (rule "castedGetAny" (formula "17") (term "0")) - (rule "castedGetAny" (formula "18") (term "1,0,1,0")) - (rule "castedGetAny" (formula "18") (term "0,0,1,0")) - (rule "castedGetAny" (formula "16") (term "1,1,1,1,0")) - (rule "castedGetAny" (formula "16") (term "0,1,0,0,1,0")) - (rule "eqSymm" (formula "16") (term "1,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "2")) - (rule "add_zero_right" (formula "2") (term "0")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0")) - (rule "castedGetAny" (formula "16") (term "1,0,1,0,1,0,1,0")) - (rule "castedGetAny" (formula "16") (term "0,0,1,0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "18") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1,0,0")) - (rule "castedGetAny" (formula "15") (term "0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "16") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "16") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0,0,1,0,0,1,0,1,0")) - (rule "castedGetAny" (formula "19") (term "1,1")) - (rule "castedGetAny" (formula "19") (term "2,0")) - (rule "inEqSimp_ltToLeq" (formula "6")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "6") (term "0")) - (rule "castedGetAny" (formula "16") (term "2,0,1,1,0")) - (rule "castedGetAny" (formula "21") (term "0")) - (rule "inEqSimp_ltToLeq" (formula "15") (term "1,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,0,1,0,0,1,0")) - (rule "castedGetAny" (formula "16") (term "1,0,1,0,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "18") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "16") (term "0,0,0,1,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "16") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "5")) - (rule "inEqSimp_commuteLeq" (formula "15") (term "0,0,0,1,0")) - (rule "applyEq" (formula "24") (term "0") (ifseqformula "20")) - (rule "close" (formula "24") (ifseqformula "1")) - ) - ) - (branch "Assume self.first != null" - (builtin "One Step Simplification" (formula "15")) - (builtin "One Step Simplification" (formula "14")) - (builtin "One Step Simplification" (formula "5")) - (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "3")) (ifInst "" (formula "3"))) - (rule "notLeft" (formula "1")) - (rule "referencedObjectIsCreatedRight" (formula "21") (ifseqformula "19")) - (rule "close" (formula "21") (ifseqformula "7")) - ) - ) + (rule "disjointToElementOf" (formula "14") (inst "av=av:Pair") (userinteraction)) + (rule "allRight" (formula "14") (inst "sk=pv_0:Pair") (userinteraction)) + (rule "pairAxiom" (formula "14") (term "0,0,0") (inst "e1=e1:java.lang.Object") (inst "e2=e2:Field") (userinteraction)) + (rule "exLeft" (formula "1") (inst "sk=e1_0:java.lang.Object") (userinteraction)) + (rule "exLeft" (formula "1") (inst "sk=e2_0:Field") (userinteraction)) + (rule "applyEqReverse" (formula "15") (term "0,0,0") (ifseqformula "1") (userinteraction)) + (builtin "One Step Simplification" (formula "9")) + (builtin "One Step Simplification" (formula "10")) + (rule "orRight" (formula "15")) + (rule "notRight" (formula "15")) + (rule "notRight" (formula "16")) + (rule "eqSymm" (formula "14")) + (rule "eqSymm" (formula "16")) + (rule "eqSymm" (formula "13")) + (rule "eqSymm" (formula "15")) + (rule "eqSymm" (formula "3")) + (rule "eqSymm" (formula "11")) + (rule "eqSymm" (formula "12") (term "1,0,0,1,0")) + (rule "eqSymm" (formula "12") (term "0,1,0,1,0,1,0")) + (rule "eqSymm" (formula "12") (term "1,1,0,1,0,1,0")) + (rule "eqSymm" (formula "12") (term "1,1,0")) + (rule "polySimp_elimSub" (formula "14") (term "1,0,2,0")) + (rule "mul_literals" (formula "14") (term "1,1,0,2,0")) + (rule "polySimp_elimSub" (formula "12") (term "1,0,0,1,1,0")) + (rule "mul_literals" (formula "12") (term "1,1,0,0,1,1,0")) + (rule "polySimp_addComm0" (formula "12") (term "1,0,2,0,1,1,0")) + (rule "polySimp_addComm0" (formula "14") (term "1,0,2,0")) + (rule "polySimp_addComm0" (formula "12") (term "1,0,0,1,1,0")) + (rule "subsetSingletonLeft" (formula "9")) + (rule "subsetSingletonLeft" (formula "10")) + (rule "castedGetAny" (formula "12") (term "0,0,0,0,0,1,0")) + (rule "castedGetAny" (formula "13") (term "2,0")) + (rule "castedGetAny" (formula "11") (term "0,1,0,1,0")) + (rule "castedGetAny" (formula "12") (term "0,1,0,0,1,0")) + (rule "eqSymm" (formula "12") (term "1,0,0,1,0")) + (rule "castedGetAny" (formula "12") (term "0,0,1,0,1,0,1,0")) + (rule "castedGetAny" (formula "12") (term "1,0,1,0,1,0,1,0")) + (rule "castedGetAny" (formula "12") (term "1,1,1,1,0")) + (rule "castedGetAny" (formula "12") (term "2,0,1,1,0")) + (rule "castedGetAny" (formula "14") (term "2,0")) + (rule "inEqSimp_ltToLeq" (formula "12") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "12") (term "1,0,0,1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "12") (term "1,0,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "12") (term "1,0,0,1,0,0,1,0,1,0")) + (rule "castedGetAny" (formula "12") (term "1,0,1,0,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "11") (term "1,0,0,1,0")) + (rule "polySimp_mulComm0" (formula "11") (term "1,0,0,1,0,0,1,0")) + (rule "inEqSimp_commuteLeq" (formula "12") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "12") (term "0,0,0,1,0,1,0")) + (rule "inEqSimp_commuteLeq" (formula "11") (term "0,0,0,1,0")) + (rule "applyEq" (formula "1") (term "0") (ifseqformula "3")) + (rule "inEqSimp_sepPosMonomial0" (formula "12") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "12") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "12") (term "1,1,0,0")) + (rule "mul_literals" (formula "12") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "12") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "12") (term "1,1,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "12") (term "1,0,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "12") (term "1,1,0,0,1,0,1,0")) + (rule "polySimp_rightDist" (formula "12") (term "1,1,0,0,1,0,1,0")) + (rule "mul_literals" (formula "12") (term "0,1,1,0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "12") (term "1,1,1,0,0,1,0,1,0")) + (rule "polySimp_elimOne" (formula "12") (term "1,1,1,0,0,1,0,1,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "11") (term "1,0,0,1,0")) + (rule "polySimp_mulComm0" (formula "11") (term "1,1,0,0,1,0")) + (rule "polySimp_rightDist" (formula "11") (term "1,1,0,0,1,0")) + (rule "mul_literals" (formula "11") (term "0,1,1,0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "11") (term "1,1,1,0,0,1,0")) + (rule "polySimp_elimOne" (formula "11") (term "1,1,1,0,0,1,0")) + (rule "elementOfUnion" (formula "2")) + (rule "elementOfSingleton" (formula "2") (term "0")) + (builtin "One Step Simplification" (formula "2")) + (rule "equalityToElementOf" (formula "11") (inst "av=av:Pair")) + (rule "elementOfUnion" (formula "2") (term "1")) + (rule "elementOfSingleton" (formula "2") (term "0,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "elementOfSingleton" (formula "2") (term "1,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "elementOfUnion" (formula "11") (term "0,0")) + (builtin "One Step Simplification" (formula "11")) + (rule "elementOfInfiniteUnion" (formula "11") (term "1,0,0")) + (builtin "One Step Simplification" (formula "11")) + (rule "nnf_imp2or" (formula "12") (term "0")) + (rule "nnf_notAnd" (formula "12") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "12") (term "0,0,0")) + (rule "mul_literals" (formula "12") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "12") (term "0,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "12") (term "0,0,0")) + (rule "mul_literals" (formula "12") (term "1,0,0,0")) + (rule "inEqSimp_notLeq" (formula "12") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "12") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "12") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "12") (term "0,0,1,0,0")) + (rule "add_literals" (formula "12") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "12") (term "0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "12") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "12") (term "1,1,0,0")) + (rule "polySimp_elimOne" (formula "12") (term "1,1,0,0")) + (rule "nnf_imp2or" (formula "12") (term "0,1,0,1,0")) + (rule "nnf_notAnd" (formula "12") (term "0,0,1,0,1,0")) + (rule "inEqSimp_notGeq" (formula "12") (term "0,0,0,1,0,1,0")) + (rule "mul_literals" (formula "12") (term "1,0,0,0,0,0,1,0,1,0")) + (rule "add_literals" (formula "12") (term "0,0,0,0,0,1,0,1,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "12") (term "0,0,0,1,0,1,0")) + (rule "mul_literals" (formula "12") (term "1,0,0,0,1,0,1,0")) + (rule "inEqSimp_notLeq" (formula "12") (term "1,0,0,1,0,1,0")) + (rule "polySimp_rightDist" (formula "12") (term "1,0,0,1,0,0,1,0,1,0")) + (rule "mul_literals" (formula "12") (term "0,1,0,0,1,0,0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "12") (term "0,0,1,0,0,1,0,1,0")) + (rule "add_literals" (formula "12") (term "0,0,0,1,0,0,1,0,1,0")) + (rule "add_zero_left" (formula "12") (term "0,0,1,0,0,1,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "12") (term "1,0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "12") (term "1,1,0,0,1,0,1,0")) + (rule "polySimp_elimOne" (formula "12") (term "1,1,0,0,1,0,1,0")) + (rule "nnf_imp2or" (formula "12") (term "1,0,1,0,1,0")) + (rule "Class_invariant_axiom_for_LinkedList" (formula "20") (inst "i=i") (inst "i_0=i_0") (inst "j=j") (ifseqformula "19")) + (builtin "One Step Simplification" (formula "20")) + (rule "eqSymm" (formula "20") (term "1,0,0,0,0")) + (rule "eqSymm" (formula "20") (term "1,0,0,1,0,1,0,0,0")) + (rule "eqSymm" (formula "20") (term "0,1,0,1,0,1,0,1,0,0,0")) + (rule "eqSymm" (formula "20") (term "1,1,0,1,0,1,0,1,0,0,0")) + (rule "eqSymm" (formula "20") (term "1,1,0,1,0,0,0")) + (rule "eqSymm" (formula "20") (term "1,0,0")) + (rule "eqSymm" (formula "20") (term "1,0")) + (rule "eqSymm" (formula "20") (term "0,1")) + (rule "eqSymm" (formula "20") (term "1,1")) + (rule "polySimp_elimSub" (formula "20") (term "1,0,0,1,1,0,1,0,0,0")) + (rule "mul_literals" (formula "20") (term "1,1,0,0,1,1,0,1,0,0,0")) + (rule "polySimp_elimSub" (formula "20") (term "1,0,2,0,1,0")) + (rule "mul_literals" (formula "20") (term "1,1,0,2,0,1,0")) + (rule "polySimp_addComm0" (formula "20") (term "1,0,2,0,1,1,0,1,0,0,0")) + (rule "polySimp_addComm0" (formula "20") (term "1,0,0,1,1,0,1,0,0,0")) + (rule "polySimp_addComm0" (formula "20") (term "1,0,2,0,1,0")) + (rule "subsetSingletonLeft" (formula "20") (term "0,0,0,0,0,0")) + (rule "subsetSingletonLeft" (formula "20") (term "1,0,0,0,0,0")) + (rule "castedGetAny" (formula "20") (term "0,0,0,0,0,1,0,1,0,0,0")) + (rule "castedGetAny" (formula "20") (term "0,1,0,1,0,1,0,0,0,0")) + (rule "castedGetAny" (formula "20") (term "0,1,0,0,1,0,1,0,0,0")) + (rule "eqSymm" (formula "20") (term "1,0,0,1,0,1,0,0,0")) + (rule "castedGetAny" (formula "20") (term "0,0,1,0,1,0,1,0,1,0,0,0")) + (rule "castedGetAny" (formula "20") (term "1,0,1,0,1,0,1,0,1,0,0,0")) + (rule "castedGetAny" (formula "20") (term "1,1,1,1,0,1,0,0,0")) + (rule "castedGetAny" (formula "20") (term "2,0,1,0,0")) + (rule "castedGetAny" (formula "20") (term "2,0,1,1,0,1,0,0,0")) + (rule "castedGetAny" (formula "20") (term "2,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "20") (term "1,0,0,1,0,0,0")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1,0,0,1,0,0,0")) + (rule "inEqSimp_ltToLeq" (formula "20") (term "1,0,0,1,0,1,0,1,0,0,0")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1,0,0,1,0,1,0,1,0,0,0")) + (rule "inEqSimp_ltToLeq" (formula "20") (term "1,0,0,1,0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1,0,0,1,0,1,0,0,0,0")) + (rule "castedGetAny" (formula "20") (term "1,0,1,0,0,1,0,1,0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "20") (term "0,0,0,1,0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "20") (term "0,0,0,1,0,1,0,1,0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "20") (term "0,0,0,1,0,1,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "20") (term "1,0,0,1,0,0,0")) + (rule "polySimp_mulComm0" (formula "20") (term "1,1,0,0,1,0,0,0")) + (rule "polySimp_rightDist" (formula "20") (term "1,1,0,0,1,0,0,0")) + (rule "mul_literals" (formula "20") (term "0,1,1,0,0,1,0,0,0")) + (rule "polySimp_mulLiterals" (formula "20") (term "1,1,1,0,0,1,0,0,0")) + (rule "polySimp_elimOne" (formula "20") (term "1,1,1,0,0,1,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "20") (term "1,0,0,1,0,1,0,1,0,0,0")) + (rule "polySimp_mulComm0" (formula "20") (term "1,1,0,0,1,0,1,0,1,0,0,0")) + (rule "polySimp_rightDist" (formula "20") (term "1,1,0,0,1,0,1,0,1,0,0,0")) + (rule "mul_literals" (formula "20") (term "0,1,1,0,0,1,0,1,0,1,0,0,0")) + (rule "polySimp_mulLiterals" (formula "20") (term "1,1,1,0,0,1,0,1,0,1,0,0,0")) + (rule "polySimp_elimOne" (formula "20") (term "1,1,1,0,0,1,0,1,0,1,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "20") (term "1,0,0,1,0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "20") (term "1,1,0,0,1,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "20") (term "1,1,0,0,1,0,1,0,0,0,0")) + (rule "mul_literals" (formula "20") (term "0,1,1,0,0,1,0,1,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "20") (term "1,1,1,0,0,1,0,1,0,0,0,0")) + (rule "polySimp_elimOne" (formula "20") (term "1,1,1,0,0,1,0,1,0,0,0,0")) + (rule "equalityToElementOf" (formula "20") (term "1,0,0,0,0") (inst "av=av:Pair")) + (rule "elementOfUnion" (formula "20") (term "0,0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "elementOfInfiniteUnion" (formula "20") (term "1,0,0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "pullOutSelect" (formula "20") (term "1,0,0,0,0,0,0") (inst "selectSK=List_footprint_0:Set>")) + (rule "applyEq" (formula "21") (term "1,1,0,0,0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "1,1,0,1,0,0,0,0") (ifseqformula "1")) + (rule "simplifySelectOfCreate" (formula "1")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) + (rule "applyEqReverse" (formula "21") (term "1,0,0,0,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "1,1,0,0,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "1,1,0,1,0,0,0,0") (ifseqformula "1")) + (rule "hideAuxiliaryEq" (formula "1")) + (rule "replace_known_left" (formula "20") (term "0,0,0,0,0,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "20") (ifInst "" (formula "10"))) + (rule "pullOutSelect" (formula "20") (term "1,1,1,0,0,1,0,0,0,0,0,0") (inst "selectSK=LinkedList_size_0:int")) + (rule "applyEq" (formula "21") (term "1,1,1,0,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "1,1,1,0,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "0,0,0,1,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "0,0,0,1,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "1,1,2,0,1,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "1,1,0,0,1,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "1,0,1") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "1,1,1") (ifseqformula "1")) + (rule "simplifySelectOfCreate" (formula "1")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) + (rule "applyEqReverse" (formula "21") (term "1,1,1,0,0,1,0,0,0,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "1,1,1,0,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "1,1,1,0,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "1,1,0,0,1,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,0,0,1,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,0,0,1,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "1,1,2,0,1,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "1,0,1") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "1,1,1") (ifseqformula "1")) + (rule "hideAuxiliaryEq" (formula "1")) + (rule "pullOutSelect" (formula "20") (term "0,1,1,0,1,0,0,0,0,0,0") (inst "selectSK=LinkedList_nodeseq_0:Seq")) + (rule "applyEq" (formula "21") (term "0,0,0,0,0,0,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "0,1,0,1,0,0,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "0,0,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "0,1,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "0,2,0,1,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "0,1,1,1,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "0,2,0,1,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "0,2,0,1,0") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "0,0,1,1") (ifseqformula "1")) + (rule "simplifySelectOfCreate" (formula "1")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) + (rule "applyEqReverse" (formula "21") (term "0,1,1,0,1,0,0,0,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,0,0,0,0,0,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,1,0,1,0,0,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,0,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,1,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,2,0,1,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,1,1,1,1,0,1,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,2,0,1,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,2,0,1,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,0,1,1") (ifseqformula "1")) + (rule "hideAuxiliaryEq" (formula "1")) + (rule "replace_known_left" (formula "20") (term "0,0,0,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "20") (ifInst "" (formula "16"))) + (rule "applyEq" (formula "20") (term "0,1,0,0") (ifseqformula "13")) + (rule "eqSymm" (formula "20") (term "1,0,0")) + (rule "applyEq" (formula "20") (term "0,1,0") (ifseqformula "14")) + (rule "eqSymm" (formula "20") (term "1,0")) + (rule "pullOutSelect" (formula "20") (term "0,1,1,0,0,1,0,0,0,0") (inst "selectSK=List_seq_0:Seq")) + (rule "applyEq" (formula "21") (term "0,0,1") (ifseqformula "1")) + (rule "simplifySelectOfCreate" (formula "1")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) + (rule "applyEqReverse" (formula "21") (term "0,1,1,0,0,1,0,0,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "21") (term "0,0,1") (ifseqformula "1")) + (rule "hideAuxiliaryEq" (formula "1")) + (rule "replace_known_left" (formula "20") (term "1") (ifseqformula "15")) + (builtin "One Step Simplification" (formula "20")) + (rule "pullOutSelect" (formula "20") (term "0,1,0") (inst "selectSK=LinkedList_first_0:Node")) + (rule "simplifySelectOfCreate" (formula "1")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) + (rule "applyEqReverse" (formula "21") (term "0,1,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "hideAuxiliaryEq" (formula "1")) + (rule "pullOutSelect" (formula "20") (term "0,1") (inst "selectSK=LinkedList_last_0:Node")) + (rule "simplifySelectOfCreate" (formula "1")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) + (rule "applyEqReverse" (formula "21") (term "0,1") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "allRight" (formula "21") (inst "sk=i_0:int")) + (rule "impRight" (formula "21")) + (rule "andLeft" (formula "1")) + (rule "hideAuxiliaryEq" (formula "3")) + (rule "polySimp_homoEq" (formula "22") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "22") (term "0,0,0,1")) + (rule "inEqSimp_homoInEq0" (formula "2")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "polySimp_sepPosMonomial" (formula "22") (term "0,0,1")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,1")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,1")) + (rule "polySimp_mulLiterals" (formula "22") (term "1,1,0,0,1")) + (rule "polySimp_elimOne" (formula "22") (term "1,1,0,0,1")) + (rule "inEqSimp_sepPosMonomial1" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1")) + (rule "polySimp_rightDist" (formula "2") (term "1")) + (rule "mul_literals" (formula "2") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) + (rule "polySimp_elimOne" (formula "2") (term "1,1")) + (rule "pullOutSelect" (formula "22") (term "0,1,0,0") (inst "selectSK=Node_data_0:int")) + (rule "simplifySelectOfStore" (formula "1")) + (builtin "One Step Simplification" (formula "1")) + (rule "castDel" (formula "1") (term "1,0")) + (rule "eqSymm" (formula "23") (term "1,0,0")) + (rule "eqSymm" (formula "1") (term "0,0")) + (rule "pullOutSelect" (formula "23") (term "1,1") (inst "selectSK=Node_next_0:Node")) + (rule "simplifySelectOfStore" (formula "1")) + (builtin "One Step Simplification" (formula "1")) + (rule "castDel" (formula "1") (term "1,0")) + (rule "eqSymm" (formula "1") (term "0,0")) + (rule "pullOutSelect" (formula "2") (term "2,0") (inst "selectSK=Node_data_1:int")) + (rule "simplifySelectOfCreate" (formula "2")) + (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "23"))) + (rule "applyEqReverse" (formula "3") (term "2,0") (ifseqformula "2")) + (rule "hideAuxiliaryEq" (formula "2")) + (rule "pullOutSelect" (formula "1") (term "2,0") (inst "selectSK=Node_next_1:Node")) + (rule "simplifySelectOfCreate" (formula "1")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "23"))) + (rule "applyEqReverse" (formula "2") (term "2,0") (ifseqformula "1")) + (rule "hideAuxiliaryEq" (formula "1")) + (rule "nnf_imp2or" (formula "24") (term "0,1,0")) + (rule "nnf_notAnd" (formula "24") (term "0,0,1,0")) + (rule "inEqSimp_notGeq" (formula "24") (term "0,0,0,1,0")) + (rule "mul_literals" (formula "24") (term "1,0,0,0,0,0,1,0")) + (rule "add_literals" (formula "24") (term "0,0,0,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "24") (term "0,0,0,1,0")) + (rule "mul_literals" (formula "24") (term "1,0,0,0,1,0")) + (rule "inEqSimp_notLeq" (formula "24") (term "1,0,0,1,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,0,1,0,0,1,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,0,1,0,0,1,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,0,1,0,0,1,0")) + (rule "add_literals" (formula "24") (term "0,0,0,1,0,0,1,0")) + (rule "add_zero_left" (formula "24") (term "0,0,1,0,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "24") (term "1,0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "24") (term "1,1,0,0,1,0")) + (rule "polySimp_elimOne" (formula "24") (term "1,1,0,0,1,0")) + (rule "nnf_imp2or" (formula "24") (term "1,0,1,0")) + (rule "cnf_rightDist" (formula "6") (term "1")) + (rule "cnf_eqv" (formula "15") (term "0")) + (rule "nnf_notOr" (formula "15") (term "0,1,0")) + (rule "nnf_notEx" (formula "15") (term "1,0,1,0")) + (rule "nnf_notAnd" (formula "15") (term "0,1,0,1,0")) + (rule "nnf_notAnd" (formula "15") (term "0,0,1,0,1,0")) + (rule "inEqSimp_notGeq" (formula "15") (term "0,0,0,1,0,1,0")) + (rule "mul_literals" (formula "15") (term "1,0,0,0,0,0,1,0,1,0")) + (rule "add_literals" (formula "15") (term "0,0,0,0,0,1,0,1,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "15") (term "0,0,0,1,0,1,0")) + (rule "mul_literals" (formula "15") (term "1,0,0,0,1,0,1,0")) + (rule "inEqSimp_notLeq" (formula "15") (term "1,0,0,1,0,1,0")) + (rule "polySimp_rightDist" (formula "15") (term "1,0,0,1,0,0,1,0,1,0")) + (rule "mul_literals" (formula "15") (term "0,1,0,0,1,0,0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "15") (term "0,0,1,0,0,1,0,1,0")) + (rule "add_literals" (formula "15") (term "0,0,0,1,0,0,1,0,1,0")) + (rule "add_zero_left" (formula "15") (term "0,0,1,0,0,1,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "15") (term "1,0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,1,0,0,1,0,1,0")) + (rule "polySimp_elimOne" (formula "15") (term "1,1,0,0,1,0,1,0")) + (rule "shift_paren_or" (formula "16") (term "0,1,0,1,0")) + (rule "ifthenelse_to_or_left" (formula "16") (term "1,1,0")) + (rule "eqSymm" (formula "16") (term "1,0,1,1,0")) + (rule "eqSymm" (formula "16") (term "1,1,1,1,0")) + (rule "distr_forallAnd" (formula "15")) + (rule "andLeft" (formula "15")) + (rule "ifthenelse_split" (formula "18") (term "0")) + (branch "self.size = 0 TRUE" + (rule "eqSymm" (formula "19")) + (rule "replace_known_left" (formula "20") (term "0,0") (ifseqformula "18")) + (builtin "One Step Simplification" (formula "20")) + (rule "eqSymm" (formula "20")) + (rule "applyEq" (formula "26") (term "1,1,0,0,1,0") (ifseqformula "18")) + (rule "applyEq" (formula "26") (term "0,0,0,1") (ifseqformula "18")) + (rule "polySimp_homoEq" (formula "26") (term "0,0,1")) + (rule "mul_literals" (formula "26") (term "1,0,0,0,1")) + (rule "add_zero_right" (formula "26") (term "0,0,0,1")) + (rule "applyEq" (formula "4") (term "0") (ifseqformula "18")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "mul_literals" (formula "4") (term "1,0")) + (rule "add_zero_right" (formula "4") (term "0")) + (rule "applyEq" (formula "16") (term "1,1,0,0,1,0,0") (ifseqformula "18")) + (rule "applyEq" (formula "15") (term "1,1,1,0,0,1,0,0") (ifseqformula "18")) + (rule "add_literals" (formula "15") (term "1,1,0,0,1,0,0")) + (rule "applyEq" (formula "17") (term "1,1,0,0") (ifseqformula "18")) + (rule "applyEq" (formula "17") (term "1,1,0,0,0,1,0,1,0") (ifseqformula "18")) + (rule "applyEq" (formula "17") (term "1,1,0,0,0,1,1,0") (ifseqformula "18")) + (rule "add_literals" (formula "17") (term "1,0,0,0,1,1,0")) + (rule "applyEq" (formula "17") (term "1,1,0,1,1,1,0") (ifseqformula "18")) + (rule "add_literals" (formula "17") (term "1,0,1,1,1,0")) + (rule "applyEq" (formula "22") (term "1") (ifseqformula "18")) + (rule "applyEq" (formula "21") (term "1") (ifseqformula "18")) + (rule "polySimp_sepPosMonomial" (formula "26") (term "0,0,1")) + (rule "mul_literals" (formula "26") (term "1,0,0,1")) + (rule "inEqSimp_sepPosMonomial0" (formula "4")) + (rule "mul_literals" (formula "4") (term "1")) + (rule "inEqSimp_contradEq7" (formula "26") (term "0,0,1") (ifseqformula "3")) + (rule "add_zero_left" (formula "26") (term "0,0,0,0,1")) + (rule "mul_literals" (formula "26") (term "0,0,0,0,1")) + (rule "leq_literals" (formula "26") (term "0,0,0,1")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "4")) + (rule "qeq_literals" (formula "3") (term "0")) + (builtin "One Step Simplification" (formula "3")) + (rule "closeFalse" (formula "3")) + ) + (branch "self.size = 0 FALSE" + (rule "replace_known_right" (formula "19") (term "0,0") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "19")) + (rule "commute_or" (formula "6") (term "0,1")) + (rule "commute_or" (formula "16") (term "0")) + (rule "lenNonNegative" (formula "21") (term "0")) + (rule "inEqSimp_commuteLeq" (formula "21")) + (rule "applyEq" (formula "21") (term "0") (ifseqformula "22")) + (rule "inEqSimp_strengthen1" (formula "21") (ifseqformula "23")) + (rule "add_literals" (formula "21") (term "1")) + (rule "inEqSimp_contradEq7" (formula "23") (ifseqformula "21")) + (rule "mul_literals" (formula "23") (term "1,0,0")) + (rule "add_literals" (formula "23") (term "0,0")) + (rule "leq_literals" (formula "23") (term "0")) + (builtin "One Step Simplification" (formula "23")) + (rule "false_right" (formula "23")) + (rule "lenNonNegative" (formula "20") (term "0")) + (rule "inEqSimp_commuteLeq" (formula "20")) + (rule "applyEq" (formula "20") (term "0") (ifseqformula "21")) + (rule "inEqSimp_subsumption1" (formula "20") (ifseqformula "22")) + (rule "leq_literals" (formula "20") (term "0")) + (builtin "One Step Simplification" (formula "20")) + (rule "true_left" (formula "20")) + (rule "cnf_rightDist" (formula "6") (term "1,1")) + (rule "commute_or" (formula "17") (term "0,1,1,0")) + (rule "commute_or" (formula "17") (term "1,1,1,0")) + (rule "commute_or" (formula "6") (term "0,1,1")) + (rule "commute_or" (formula "6") (term "1,1,1")) + (rule "commute_or_2" (formula "16") (term "0,1,1,0")) + (rule "cnf_rightDist" (formula "6") (term "0,1")) + (builtin "One Step Simplification" (formula "6")) + (rule "commute_or" (formula "6") (term "1,0,1")) + (rule "cnf_rightDist" (formula "6")) + (rule "andLeft" (formula "6")) + (rule "cnf_rightDist" (formula "7")) + (rule "andLeft" (formula "7")) + (rule "commute_or" (formula "7")) + (rule "cnf_rightDist" (formula "8")) + (rule "andLeft" (formula "8")) + (rule "commute_or_2" (formula "9")) + (rule "shift_paren_or" (formula "8")) + (rule "commute_or" (formula "9") (term "0")) + (rule "commute_or" (formula "8") (term "0")) + (rule "cnf_rightDist" (formula "7")) + (rule "andLeft" (formula "7")) + (rule "commute_or_2" (formula "8")) + (rule "shift_paren_or" (formula "7")) + (builtin "One Step Simplification" (formula "7")) + (rule "commute_or" (formula "8") (term "0")) + (rule "replace_known_left" (formula "8") (term "0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "8")) + (rule "true_left" (formula "8")) + (rule "cnf_rightDist" (formula "6")) + (rule "andLeft" (formula "6")) + (rule "commute_or" (formula "6")) + (rule "cnf_rightDist" (formula "7")) + (rule "andLeft" (formula "7")) + (rule "commute_or_2" (formula "7")) + (builtin "One Step Simplification" (formula "7")) + (rule "replace_known_left" (formula "8") (term "1") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "8")) + (rule "true_left" (formula "8")) + (rule "cnf_rightDist" (formula "6")) + (builtin "One Step Simplification" (formula "6")) + (rule "andLeft" (formula "6")) + (rule "replace_known_left" (formula "9") (term "0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "9")) + (rule "true_left" (formula "9")) + (rule "replace_known_left" (formula "8") (term "0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "8")) + (rule "true_left" (formula "8")) + (rule "replace_known_left" (formula "7") (term "1") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "7")) + (rule "true_left" (formula "7")) + (rule "replace_known_left" (formula "7") (term "0,0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "7")) + (rule "true_left" (formula "7")) + (rule "applyEq" (formula "5") (term "0,0") (ifseqformula "6")) + (rule "applyEq" (formula "8") (term "0,1") (ifseqformula "6")) + (rule "commute_or_2" (formula "18") (term "0,0,1,0,1,0")) + (rule "commute_and_2" (formula "16") (term "0,1,0,0")) + (rule "commute_or" (formula "17") (term "0,0,1,1,0")) + (rule "ifthenelse_split" (formula "27") (term "0,1")) + (branch "self.size = 1 + i_0 TRUE" + (rule "eqSymm" (formula "28") (term "1")) + (rule "applyEq" (formula "28") (term "1,1,0,0,1,0") (ifseqformula "1")) + (rule "applyEq" (formula "23") (term "0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "23")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0")) + (rule "mul_literals" (formula "23") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0")) + (rule "add_literals" (formula "23") (term "0,0")) + (rule "add_zero_left" (formula "23") (term "0")) + (rule "applyEq" (formula "5") (term "0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "5")) + (rule "polySimp_pullOutFactor1" (formula "5") (term "0")) + (rule "add_literals" (formula "5") (term "1,0")) + (rule "times_zero_1" (formula "5") (term "0")) + (rule "leq_literals" (formula "5")) + (rule "true_left" (formula "5")) + (rule "applyEq" (formula "16") (term "1,1,1,0,1,0,0") (ifseqformula "1")) + (rule "polySimp_addAssoc" (formula "16") (term "1,1,0,1,0,0")) + (rule "add_literals" (formula "16") (term "0,1,1,0,1,0,0")) + (rule "add_zero_left" (formula "16") (term "1,1,0,1,0,0")) + (rule "applyEq" (formula "18") (term "1,1,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "18") (term "1,1,0,0,1,0,1,0") (ifseqformula "1")) + (rule "applyEq" (formula "20") (term "1,1,0") (ifseqformula "1")) + (rule "polySimp_addAssoc" (formula "20") (term "1,0")) + (rule "add_literals" (formula "20") (term "0,1,0")) + (rule "add_zero_left" (formula "20") (term "1,0")) + (rule "applyEq" (formula "17") (term "1,1,0,1,1,0") (ifseqformula "1")) + (rule "applyEq" (formula "18") (term "1,1,0,1,0,1,1,0") (ifseqformula "1")) + (rule "polySimp_addAssoc" (formula "18") (term "1,0,1,0,1,1,0")) + (rule "add_literals" (formula "18") (term "0,1,0,1,0,1,1,0")) + (rule "add_zero_left" (formula "18") (term "1,0,1,0,1,1,0")) + (rule "applyEq" (formula "18") (term "1,1,1,1,1,1,0") (ifseqformula "1")) + (rule "polySimp_addAssoc" (formula "18") (term "1,1,1,1,1,0")) + (rule "add_literals" (formula "18") (term "0,1,1,1,1,1,0")) + (rule "add_zero_left" (formula "18") (term "1,1,1,1,1,0")) + (rule "applyEq" (formula "23") (term "1") (ifseqformula "1")) + (rule "applyEq" (formula "21") (term "1") (ifseqformula "1")) + (rule "applyEq" (formula "27") (term "0,0,0,0,0") (ifseqformula "20")) + (rule "applyEq" (formula "27") (term "1,0,0,1,0,1,0") (ifseqformula "20")) + (rule "applyEq" (formula "3") (term "0,0,0") (ifseqformula "20")) + (rule "applyEq" (formula "2") (term "0,0,0") (ifseqformula "20")) + (rule "applyEq" (formula "3") (term "1,2,0") (ifseqformula "20")) + (rule "applyEq" (formula "2") (term "1,2,0") (ifseqformula "20")) + (rule "inEqSimp_invertInEq0" (formula "22")) + (rule "polySimp_mulLiterals" (formula "22") (term "0")) + (rule "mul_literals" (formula "22") (term "1")) + (rule "polySimp_elimOne" (formula "22") (term "0")) + (rule "commute_or" (formula "18") (term "0,0,0,1,0,1,0")) + (rule "commute_and" (formula "16") (term "0,0,1,0,0")) + (rule "seqGetAlphaCast" (formula "26") (term "0,1,0,0")) + (rule "castedGetAny" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "all_pull_out1" (formula "17") (term "1,0")) + (rule "ex_pull_out3" (formula "16") (term "0,0")) + (rule "cnf_rightDist" (formula "16") (term "0,0,0")) + (rule "commute_or" (formula "16") (term "1,0,0,0")) + (rule "cnf_rightDist" (formula "16") (term "0,0,0,0")) + (rule "commute_or" (formula "16") (term "1,0,0,0,0")) + (rule "seqGetAlphaCast" (formula "19") (term "0")) + (rule "castedGetAny" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "true_left" (formula "19")) + (rule "ex_pull_out2" (formula "16") (term "0")) + (rule "commute_or" (formula "16") (term "0,0")) + (rule "cnf_rightDist" (formula "16") (term "0,0")) + (rule "commute_or_2" (formula "16") (term "1,0,0")) + (rule "commute_or" (formula "16") (term "0,1,0,0")) + (rule "cnf_rightDist" (formula "16") (term "0,0,0")) + (rule "commute_or_2" (formula "16") (term "1,0,0,0")) + (rule "shift_paren_or" (formula "16") (term "0,0,0,0")) + (rule "commute_or" (formula "16") (term "0,1,0,0,0")) + (rule "cut_direct" (formula "7") (term "1,0")) + (branch "CUT: e2_0 = Node::#next TRUE" + (builtin "One Step Simplification" (formula "8")) + (rule "true_left" (formula "8")) + (rule "applyEq" (formula "5") (term "1,0") (ifseqformula "7")) + (rule "applyEq" (formula "8") (term "1,1") (ifseqformula "7")) + (rule "all_pull_out1" (formula "18") (term "0,1,0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "19") (term "1") (ifseqformula "10")) + (rule "all_pull_out3" (formula "17") (term "0")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "18") (term "0,0")) + (rule "commute_or_2" (formula "18") (term "0,0,0")) + (rule "commute_or" (formula "18") (term "0,0,0,0")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "14") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "14")) + (rule "replace_known_right" (formula "14") (term "0") (ifseqformula "28")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "11"))) + (rule "true_left" (formula "14")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "15") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "15")) + (rule "replace_known_right" (formula "15") (term "0") (ifseqformula "28")) + (builtin "One Step Simplification" (formula "15") (ifInst "" (formula "11"))) + (rule "true_left" (formula "15")) + (rule "ifthenelse_split" (formula "3") (term "0")) + (branch "self.last = n_2 TRUE" + (rule "referencedObjectIsCreatedRightEQ" (formula "26") (ifseqformula "3") (ifseqformula "27")) + (rule "close" (formula "26") (ifseqformula "11")) ) - (branch "Step Case" - (builtin "One Step Simplification" (formula "13")) - (builtin "One Step Simplification" (formula "12")) - (builtin "One Step Simplification" (formula "3")) - (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "1")) (ifInst "" (formula "1"))) - (rule "andLeft" (formula "3")) - (rule "allRight" (formula "19") (inst "sk=nv_0:int")) - (rule "impRight" (formula "19")) - (rule "andLeft" (formula "1")) - (rule "impRight" (formula "21")) - (rule "eqSymm" (formula "20")) - (rule "eqSymm" (formula "8")) - (rule "eqSymm" (formula "21")) - (rule "eqSymm" (formula "19")) - (rule "eqSymm" (formula "18")) - (rule "eqSymm" (formula "17") (term "1,1,0,1,0,1,0")) - (rule "eqSymm" (formula "17") (term "1,0,0,1,0")) - (rule "eqSymm" (formula "17") (term "0,1,0,1,0,1,0")) - (rule "eqSymm" (formula "17") (term "1,1,0")) - (rule "eqSymm" (formula "16")) - (rule "polySimp_elimSub" (formula "19") (term "1,0,2,0")) - (rule "mul_literals" (formula "19") (term "1,1,0,2,0")) - (rule "polySimp_elimSub" (formula "17") (term "1,0,0,1,1,0")) - (rule "mul_literals" (formula "17") (term "1,1,0,0,1,1,0")) - (rule "polySimp_addComm0" (formula "22") (term "1,0,1,0")) - (rule "polySimp_addComm0" (formula "1") (term "0")) - (rule "polySimp_addComm0" (formula "17") (term "1,0,2,0,1,1,0")) - (rule "polySimp_addComm0" (formula "19") (term "1,0,2,0")) - (rule "polySimp_addComm0" (formula "17") (term "1,0,0,1,1,0")) - (rule "subsetSingletonLeft" (formula "15")) - (rule "subsetSingletonLeft" (formula "14")) - (rule "castedGetAny" (formula "17") (term "0,0,0,0,0,1,0")) - (rule "castedGetAny" (formula "3") (term "1,0,1")) - (rule "castedGetAny" (formula "8") (term "0")) - (rule "castedGetAny" (formula "18") (term "2,0")) - (rule "castedGetAny" (formula "17") (term "0,1,0,0,1,0")) - (rule "eqSymm" (formula "17") (term "1,0,0,1,0")) - (rule "castedGetAny" (formula "17") (term "0,0,1,0,1,0,1,0")) - (rule "castedGetAny" (formula "17") (term "1,0,1,0,1,0,1,0")) - (rule "castedGetAny" (formula "17") (term "1,1,1,1,0")) - (rule "castedGetAny" (formula "16") (term "0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "17") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "17") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "17") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "17") (term "1,0,0,1,0,0,1,0,1,0")) - (rule "castedGetAny" (formula "22") (term "1,0")) - (rule "inEqSimp_ltToLeq" (formula "7")) - (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "7") (term "0")) - (rule "castedGetAny" (formula "17") (term "2,0,1,1,0")) - (rule "castedGetAny" (formula "19") (term "2,0")) - (rule "inEqSimp_ltToLeq" (formula "3") (term "0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "castedGetAny" (formula "17") (term "1,0,1,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "16") (term "1,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0,0,1,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "17") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "17") (term "0,0,0,1,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "6")) - (rule "inEqSimp_commuteLeq" (formula "16") (term "0,0,0,1,0")) - (rule "applyEq" (formula "8") (term "1") (ifseqformula "4")) - (rule "inEqSimp_sepPosMonomial0" (formula "17") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "17") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "17") (term "1,1,0,0")) - (rule "mul_literals" (formula "17") (term "0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "17") (term "1,1,1,0,0")) - (rule "polySimp_elimOne" (formula "17") (term "1,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "17") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "17") (term "1,1,0,0,1,0,1,0")) - (rule "polySimp_rightDist" (formula "17") (term "1,1,0,0,1,0,1,0")) - (rule "mul_literals" (formula "17") (term "0,1,1,0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "17") (term "1,1,1,0,0,1,0,1,0")) - (rule "polySimp_elimOne" (formula "17") (term "1,1,1,0,0,1,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "7")) - (rule "polySimp_mulLiterals" (formula "7") (term "0")) - (rule "polySimp_elimOne" (formula "7") (term "0")) - (rule "inEqSimp_sepNegMonomial0" (formula "3") (term "0")) - (rule "polySimp_mulLiterals" (formula "3") (term "0,0")) - (rule "polySimp_elimOne" (formula "3") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "16") (term "1,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,1,0,0,1,0")) - (rule "polySimp_rightDist" (formula "16") (term "1,1,0,0,1,0")) - (rule "mul_literals" (formula "16") (term "0,1,1,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,1,1,0,0,1,0")) - (rule "polySimp_elimOne" (formula "16") (term "1,1,1,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "inEqSimp_subsumption1" (formula "3") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq0" (formula "3") (term "0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,0,0,0")) - (rule "mul_literals" (formula "3") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0,0,0")) - (rule "add_literals" (formula "3") (term "0,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "3") (term "0,0,0")) - (rule "add_literals" (formula "3") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "3") (term "1,0,0,0")) - (rule "add_zero_right" (formula "3") (term "0,0,0")) - (rule "qeq_literals" (formula "3") (term "0,0")) - (builtin "One Step Simplification" (formula "3")) - (rule "elementOfUnionEQ" (formula "14") (ifseqformula "16")) - (builtin "One Step Simplification" (formula "14")) - (rule "true_left" (formula "14")) - (rule "elementOfUnionEQ" (formula "14") (ifseqformula "15")) - (builtin "One Step Simplification" (formula "14")) - (rule "true_left" (formula "14")) - (rule "nnf_imp2or" (formula "15") (term "0")) - (rule "nnf_notAnd" (formula "15") (term "0,0")) - (rule "inEqSimp_notLeq" (formula "15") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "15") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "15") (term "0,0,1,0,0")) - (rule "add_literals" (formula "15") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "15") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "15") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "1,1,0,0")) - (rule "inEqSimp_notGeq" (formula "15") (term "0,0,0")) - (rule "times_zero_1" (formula "15") (term "1,0,0,0,0,0")) - (rule "add_zero_right" (formula "15") (term "0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "15") (term "0,0,0")) - (rule "mul_literals" (formula "15") (term "1,0,0,0")) - (rule "nnf_imp2or" (formula "15") (term "0,1,0,1,0")) - (rule "nnf_notAnd" (formula "15") (term "0,0,1,0,1,0")) - (rule "inEqSimp_notGeq" (formula "15") (term "0,0,0,1,0,1,0")) - (rule "times_zero_1" (formula "15") (term "1,0,0,0,0,0,1,0,1,0")) - (rule "add_zero_right" (formula "15") (term "0,0,0,0,0,1,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "15") (term "0,0,0,1,0,1,0")) - (rule "mul_literals" (formula "15") (term "1,0,0,0,1,0,1,0")) - (rule "inEqSimp_notLeq" (formula "15") (term "1,0,0,1,0,1,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,0,1,0,0,1,0,1,0")) - (rule "mul_literals" (formula "15") (term "0,1,0,0,1,0,0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "15") (term "0,0,1,0,0,1,0,1,0")) - (rule "add_literals" (formula "15") (term "0,0,0,1,0,0,1,0,1,0")) - (rule "add_zero_left" (formula "15") (term "0,0,1,0,0,1,0,1,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "15") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,1,0,0,1,0,1,0")) - (rule "polySimp_elimOne" (formula "15") (term "1,1,0,0,1,0,1,0")) - (rule "nnf_imp2or" (formula "15") (term "1,0,1,0,1,0")) - (rule "commute_or" (formula "5") (term "1")) - (rule "Class_invariant_axiom_for_LinkedList" (formula "24") (inst "i=i") (inst "i_0=i_0") (inst "j=j") (ifseqformula "23")) + (branch "self.last = n_2 FALSE" + (rule "applyEqReverse" (formula "29") (term "1,1,0,0") (ifseqformula "3")) + (rule "hideAuxiliaryEq" (formula "3")) + (rule "replace_known_right" (formula "2") (term "0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "2")) + (rule "applyEqReverse" (formula "28") (term "0,1") (ifseqformula "2")) + (rule "hideAuxiliaryEq" (formula "2")) + (rule "all_pull_out0" (formula "17") (term "1,0")) + (rule "shift_paren_and" (formula "17") (term "0,1,0")) + (rule "commute_and" (formula "14") (term "0,0,0")) + (rule "all_pull_out3" (formula "17") (term "0")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "shift_paren_or" (formula "18") (term "0")) + (rule "commute_or_2" (formula "18") (term "0,0")) + (rule "inEqSimp_or_weaken3" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "1,1")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1,1")) + (rule "add_literals" (formula "18") (term "1,1,0,1,1")) + (rule "times_zero_1" (formula "18") (term "1,0,1,1")) + (rule "add_literals" (formula "18") (term "0,1,1")) + (rule "leq_literals" (formula "18") (term "1,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "applyEq" (formula "18") (term "1,0,0") (ifseqformula "22")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "2")) + (rule "qeq_literals" (formula "18") (term "0,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "replace_known_left" (formula "29") (term "1") (ifseqformula "18")) + (builtin "One Step Simplification" (formula "29")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "18") (term "0,0")) + (rule "commute_or_2" (formula "18") (term "0,0,0")) + (rule "cnf_rightDist" (formula "17") (term "0")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "17") (term "0")) + (rule "commute_or" (formula "18") (term "0")) + (rule "commute_or" (formula "17") (term "0,0")) + (rule "commute_or_2" (formula "19") (term "0,0,0,0")) + (rule "shift_paren_or" (formula "19") (term "0,0,0,0,0")) + (rule "commute_and_2" (formula "14") (term "0,0")) + (rule "seqGetAlphaCast" (formula "24") (term "0")) + (rule "castedGetAny" (formula "24") (term "0")) (builtin "One Step Simplification" (formula "24")) - (rule "eqSymm" (formula "24") (term "1,0,0,1,0,1,0,0,0")) - (rule "eqSymm" (formula "24") (term "1,1,0,1,0,1,0,1,0,0,0")) - (rule "eqSymm" (formula "24") (term "0,1")) - (rule "eqSymm" (formula "24") (term "1,1,0,1,0,0,0")) - (rule "eqSymm" (formula "24") (term "1,0")) - (rule "eqSymm" (formula "24") (term "1,1")) - (rule "eqSymm" (formula "24") (term "1,0,0")) - (rule "eqSymm" (formula "24") (term "1,0,0,0,0")) - (rule "eqSymm" (formula "24") (term "0,1,0,1,0,1,0,1,0,0,0")) - (rule "polySimp_elimSub" (formula "24") (term "1,0,0,1,1,0,1,0,0,0")) - (rule "mul_literals" (formula "24") (term "1,1,0,0,1,1,0,1,0,0,0")) - (rule "polySimp_elimSub" (formula "24") (term "1,0,2,0,1,0")) - (rule "mul_literals" (formula "24") (term "1,1,0,2,0,1,0")) - (rule "polySimp_addComm0" (formula "24") (term "1,0,2,0,1,1,0,1,0,0,0")) - (rule "polySimp_addComm0" (formula "24") (term "1,0,0,1,1,0,1,0,0,0")) - (rule "polySimp_addComm0" (formula "24") (term "1,0,2,0,1,0")) - (rule "subsetSingletonLeft" (formula "24") (term "0,0,0,0,0,0")) - (rule "subsetSingletonLeft" (formula "24") (term "1,0,0,0,0,0")) - (rule "castedGetAny" (formula "24") (term "0,1,0,1,0,1,0,0,0,0")) - (rule "castedGetAny" (formula "24") (term "0,0,0,0,0,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "24") (term "0,1,0,0,1,0,1,0,0,0")) - (rule "eqSymm" (formula "24") (term "1,0,0,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "24") (term "0,0,1,0,1,0,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "24") (term "1,0,1,0,1,0,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "24") (term "2,0,1,1,0,1,0,0,0")) - (rule "eqSymm" (formula "24") (term "1,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "24") (term "2,0,1,0,0")) - (rule "castedGetAny" (formula "24") (term "2,0,1,0")) - (rule "castedGetAny" (formula "24") (term "1,0,1,0,0,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "24") (term "1,0,1,1,0,1,0,0,0")) - (rule "eqSymm" (formula "24") (term "1,1,0,1,0,0,0")) - (rule "inEqSimp_ltToLeq" (formula "24") (term "1,0,0,1,0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,1,0,0,1,0,1,0,0,0,0")) - (rule "inEqSimp_ltToLeq" (formula "24") (term "1,0,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,1,0,0,1,0,0,0")) - (rule "inEqSimp_ltToLeq" (formula "24") (term "1,0,0,1,0,1,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,1,0,0,1,0,1,0,1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "24") (term "0,0,0,1,0,1,0,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "24") (term "0,0,0,1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "24") (term "0,0,0,1,0,1,0,1,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "24") (term "1,0,0,1,0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "24") (term "1,1,0,0,1,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "24") (term "1,1,0,0,1,0,1,0,0,0,0")) - (rule "mul_literals" (formula "24") (term "0,1,1,0,0,1,0,1,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "24") (term "1,1,1,0,0,1,0,1,0,0,0,0")) - (rule "polySimp_elimOne" (formula "24") (term "1,1,1,0,0,1,0,1,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "24") (term "1,0,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "24") (term "1,1,0,0,1,0,0,0")) - (rule "polySimp_rightDist" (formula "24") (term "1,1,0,0,1,0,0,0")) - (rule "mul_literals" (formula "24") (term "0,1,1,0,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "24") (term "1,1,1,0,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "24") (term "1,1,1,0,0,1,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "24") (term "1,0,0,1,0,1,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "24") (term "1,1,0,0,1,0,1,0,1,0,0,0")) - (rule "polySimp_rightDist" (formula "24") (term "1,1,0,0,1,0,1,0,1,0,0,0")) - (rule "mul_literals" (formula "24") (term "0,1,1,0,0,1,0,1,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "24") (term "1,1,1,0,0,1,0,1,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "24") (term "1,1,1,0,0,1,0,1,0,1,0,0,0")) - (rule "pullOutSelect" (formula "24") (term "1,1,0,0,0,0") (inst "selectSK=List_footprint_0:LocSet")) - (rule "applyEq" (formula "25") (term "2,0,0,0,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "2,1,0,0,0,0,0") (ifseqformula "1")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "23"))) - (rule "applyEqReverse" (formula "25") (term "2,0,0,0,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "2,1,0,0,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "1,1,0,0,0,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "elementOfUnionEQ" (formula "24") (term "0,0,0,0,0,0") (ifseqformula "14")) + (rule "true_left" (formula "24")) + (rule "onlyCreatedObjectsAreReferenced" (formula "24") (term "1") (ifseqformula "8")) + (rule "allLeft" (formula "17") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "17") (term "1")) + (rule "polySimp_pullOutFactor1b" (formula "17") (term "0,1")) + (rule "add_literals" (formula "17") (term "1,1,0,1")) + (rule "times_zero_1" (formula "17") (term "1,0,1")) + (rule "add_literals" (formula "17") (term "0,1")) + (rule "leq_literals" (formula "17") (term "1")) + (builtin "One Step Simplification" (formula "17")) + (rule "applyEq" (formula "17") (term "0,0,0") (ifseqformula "26")) + (rule "inEqSimp_contradInEq1" (formula "17") (term "1") (ifseqformula "2")) + (rule "qeq_literals" (formula "17") (term "0,1")) + (builtin "One Step Simplification" (formula "17")) + (rule "notLeft" (formula "17")) + (rule "replace_known_right" (formula "24") (term "0") (ifseqformula "28")) (builtin "One Step Simplification" (formula "24")) - (rule "elementOfUnionEQ" (formula "24") (term "0,0,0,0,0") (ifseqformula "14")) + (rule "replace_known_right" (formula "33") (term "0,0,0") (ifseqformula "28")) + (builtin "One Step Simplification" (formula "33")) + (rule "allLeft" (formula "18") (inst "t=i_0:int")) + (rule "eqSymm" (formula "18") (term "1")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "1,0")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1,0")) + (rule "add_literals" (formula "18") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "18") (term "1,0,1,0")) + (rule "add_literals" (formula "18") (term "0,1,0")) + (rule "leq_literals" (formula "18") (term "1,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "applyEq" (formula "18") (term "1,1,1") (ifseqformula "26")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "2")) + (rule "qeq_literals" (formula "18") (term "0,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "replace_known_left" (formula "34") (term "0") (ifseqformula "18")) + (builtin "One Step Simplification" (formula "34")) + (rule "allRight" (formula "34") (inst "sk=j_0:int")) + (rule "orRight" (formula "34")) + (rule "orRight" (formula "35")) + (rule "orRight" (formula "34")) + (rule "notRight" (formula "36")) + (rule "inEqSimp_leqRight" (formula "35")) + (rule "mul_literals" (formula "1") (term "1,0,0")) + (rule "add_literals" (formula "1") (term "0,0")) + (rule "add_zero_left" (formula "1") (term "0")) + (rule "inEqSimp_geqRight" (formula "36")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (formula "1") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1")) + (rule "polySimp_elimOne" (formula "1") (term "1")) + (rule "inEqSimp_strengthen0" (formula "1") (ifseqformula "37")) + (rule "inEqSimp_contradEq3" (formula "37") (ifseqformula "1")) + (rule "polySimp_mulComm0" (formula "37") (term "1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "37") (term "0,0")) + (rule "add_literals" (formula "37") (term "1,1,0,0")) + (rule "times_zero_1" (formula "37") (term "1,0,0")) + (rule "add_literals" (formula "37") (term "0,0")) + (rule "qeq_literals" (formula "37") (term "0")) + (builtin "One Step Simplification" (formula "37")) + (rule "false_right" (formula "37")) + (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "1")) + (rule "mul_literals" (formula "2") (term "0,0")) + (rule "add_zero_left" (formula "2") (term "0")) + (rule "inEqSimp_sepPosMonomial1" (formula "2")) + (rule "mul_literals" (formula "2") (term "1")) + (rule "inEqSimp_subsumption1" (formula "6") (ifseqformula "2")) + (rule "leq_literals" (formula "6") (term "0")) + (builtin "One Step Simplification" (formula "6")) + (rule "true_left" (formula "6")) + (rule "cut_direct" (formula "26") (term "0")) + (branch "CUT: self.first = null TRUE" + (builtin "One Step Simplification" (formula "27")) + (rule "true_left" (formula "27")) + (rule "applyEq" (formula "27") (term "1") (ifseqformula "26")) + (rule "allLeft" (formula "20") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "20") (term "1,0")) + (builtin "One Step Simplification" (formula "20") (ifInst "" (formula "28"))) + (rule "inEqSimp_homoInEq1" (formula "20")) + (rule "mul_literals" (formula "20") (term "1,0")) + (rule "add_zero_right" (formula "20") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "20")) + (rule "mul_literals" (formula "20") (term "1")) + (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "20")) + (rule "qeq_literals" (formula "2") (term "0")) + (builtin "One Step Simplification" (formula "2")) + (rule "closeFalse" (formula "2")) + ) + (branch "CUT: self.first = null FALSE" + (builtin "One Step Simplification" (formula "26")) + (rule "allLeft" (formula "22") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "0")) + (rule "mul_literals" (formula "22") (term "1,0,0")) + (rule "add_zero_right" (formula "22") (term "0,0")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "28")) + (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "0")) + (rule "mul_literals" (formula "22") (term "1,0")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "2")) + (rule "qeq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "allLeft" (formula "24") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "24") (term "1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "1,1,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "24") (term "1,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,1,0,0,0,0")) + (rule "leq_literals" (formula "24") (term "1,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "applyEq" (formula "24") (term "1,0,0,0,0,0,0") (ifseqformula "31")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "24") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "commute_or_2" (formula "24") (term "0")) + (rule "inEqSimp_or_weaken3" (formula "24") (term "0")) + (builtin "One Step Simplification" (formula "24")) + (rule "allLeft" (formula "27") (inst "t=Z(0(#)):int")) + (rule "add_literals" (formula "27") (term "1,1,0,0")) + (rule "leq_literals" (formula "27") (term "1,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "inEqSimp_commuteGeq" (formula "27") (term "1")) + (rule "applyEq" (formula "27") (term "1,0,0") (ifseqformula "30")) + (rule "eqSymm" (formula "27") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "27") (term "1") (ifseqformula "2")) + (rule "qeq_literals" (formula "27") (term "0,1")) + (builtin "One Step Simplification" (formula "27")) + (rule "allLeft" (formula "28") (inst "t=j_0:int")) + (rule "applyEq" (formula "28") (term "1,0,0,0") (ifseqformula "4")) + (rule "eqSymm" (formula "28") (term "0,0")) + (rule "applyEq" (formula "28") (term "1,0,0") (ifseqformula "26")) + (rule "inEqSimp_contradInEq1" (formula "28") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "28") (term "0,1,0")) + (builtin "One Step Simplification" (formula "28")) + (rule "inEqSimp_contradInEq0" (formula "28") (term "1") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "28") (term "0,1")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "28") (term "1,0,0,1")) + (rule "mul_literals" (formula "28") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "28") (term "0,0,1")) + (rule "polySimp_addComm0" (formula "28") (term "0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "28") (term "0,0,1")) + (rule "add_literals" (formula "28") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "28") (term "1,0,0,1")) + (rule "add_literals" (formula "28") (term "0,0,1")) + (rule "leq_literals" (formula "28") (term "0,1")) + (builtin "One Step Simplification" (formula "28")) + (rule "allLeft" (formula "23") (inst "t=j_0:int")) + (rule "eqSymm" (formula "23") (term "1")) + (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "4")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "23") (term "0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq0" (formula "23") (term "0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "23") (term "0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0")) + (rule "leq_literals" (formula "23") (term "0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "allLeft" (formula "26") (inst "t=j_0:int")) + (rule "applyEq" (formula "26") (term "1,0,0,0,0,0,0,0") (ifseqformula "4")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "26") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_contradInEq0" (formula "26") (term "1,0,0,0,0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "26") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "26") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "26") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "26") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "allLeft" (formula "25") (inst "t=j_0:int")) + (rule "replace_known_left" (formula "25") (term "0,0,0") (ifseqformula "4")) + (builtin "One Step Simplification" (formula "25")) + (rule "inEqSimp_contradInEq1" (formula "25") (term "0") (ifseqformula "3")) + (rule "qeq_literals" (formula "25") (term "0,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "inEqSimp_contradInEq0" (formula "25") (ifseqformula "1")) + (rule "andLeft" (formula "25")) + (rule "inEqSimp_homoInEq1" (formula "25")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0")) + (rule "mul_literals" (formula "25") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0")) + (rule "polySimp_addComm0" (formula "25") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "25") (term "0")) + (rule "add_literals" (formula "25") (term "1,1,0")) + (rule "times_zero_1" (formula "25") (term "1,0")) + (rule "add_literals" (formula "25") (term "0")) + (rule "leq_literals" (formula "25")) + (rule "closeFalse" (formula "25")) + ) + ) + ) + (branch "CUT: e2_0 = Node::#next FALSE" + (builtin "One Step Simplification" (formula "7")) + (rule "all_pull_out1" (formula "18") (term "0,1,0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "19") (term "1") (ifseqformula "10")) + (rule "all_pull_out3" (formula "17") (term "0")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "18") (term "0,0")) + (rule "commute_or_2" (formula "18") (term "0,0,0")) + (rule "commute_or" (formula "18") (term "0,0,0,0")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "14") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "14")) + (rule "replace_known_right" (formula "14") (term "0") (ifseqformula "29")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "11"))) + (rule "true_left" (formula "14")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "15") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "15")) + (rule "replace_known_right" (formula "15") (term "0") (ifseqformula "29")) + (builtin "One Step Simplification" (formula "15") (ifInst "" (formula "11"))) + (rule "true_left" (formula "15")) + (rule "all_pull_out0" (formula "19") (term "1,0")) + (rule "shift_paren_and" (formula "19") (term "0,1,0")) + (rule "ifthenelse_split" (formula "3") (term "0")) + (branch "self.last = n_2 TRUE" + (rule "referencedObjectIsCreatedRightEQ" (formula "27") (ifseqformula "3") (ifseqformula "28")) + (rule "close" (formula "27") (ifseqformula "11")) + ) + (branch "self.last = n_2 FALSE" + (rule "applyEqReverse" (formula "30") (term "1,1,0,0") (ifseqformula "3")) + (rule "hideAuxiliaryEq" (formula "3")) + (rule "replace_known_right" (formula "2") (term "0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "2")) + (rule "applyEqReverse" (formula "29") (term "0,1") (ifseqformula "2")) + (rule "hideAuxiliaryEq" (formula "2")) + (rule "all_pull_out3" (formula "17") (term "0")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "shift_paren_or" (formula "18") (term "0")) + (rule "commute_or_2" (formula "18") (term "0,0")) + (rule "inEqSimp_or_weaken3" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "1,1")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1,1")) + (rule "add_literals" (formula "18") (term "1,1,0,1,1")) + (rule "times_zero_1" (formula "18") (term "1,0,1,1")) + (rule "add_literals" (formula "18") (term "0,1,1")) + (rule "leq_literals" (formula "18") (term "1,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "applyEq" (formula "18") (term "1,0,0") (ifseqformula "22")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "2")) + (rule "qeq_literals" (formula "18") (term "0,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "replace_known_left" (formula "30") (term "1") (ifseqformula "18")) + (builtin "One Step Simplification" (formula "30")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "18") (term "0,0")) + (rule "commute_or_2" (formula "18") (term "0,0,0")) + (rule "cnf_rightDist" (formula "17") (term "0")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "17") (term "0")) + (rule "commute_or" (formula "18") (term "0")) + (rule "commute_or" (formula "17") (term "0,0")) + (rule "commute_or_2" (formula "19") (term "0,0,0,0")) + (rule "shift_paren_or" (formula "19") (term "0,0,0,0,0")) + (rule "commute_and" (formula "14") (term "0,0,0")) + (rule "seqGetAlphaCast" (formula "24") (term "0")) + (rule "castedGetAny" (formula "24") (term "0")) (builtin "One Step Simplification" (formula "24")) - (rule "pullOutSelect" (formula "24") (term "1,1,1,0,0,1,0,0,0,0,0") (inst "selectSK=LinkedList_size_0:int")) - (rule "applyEq" (formula "25") (term "1,1,1,0,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "1,1,1,0,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "0,0,0,1,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "0,0,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "1,1,2,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "1,1,0,0,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "1,0,1") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "1,1,1") (ifseqformula "1")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "23"))) - (rule "applyEqReverse" (formula "25") (term "1,1,1,0,0,1,0,0,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "1,1,1,0,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "1,1,1,0,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "1,1,0,0,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,0,0,1,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,0,0,1,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "1,1,2,0,1,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "1,0,1") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "1,1,1") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "pullOutSelect" (formula "24") (term "0,0,1,0,1,0,0,0,0,0") (inst "selectSK=LinkedList_nodeseq_0:Seq")) - (rule "applyEq" (formula "25") (term "0,0,0,0,0,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "0,1,0,1,0,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "0,0,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "0,1,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "0,2,0,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "0,1,1,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "0,2,0,1,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "0,2,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "0,0,1,1") (ifseqformula "1")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "23"))) - (rule "applyEqReverse" (formula "25") (term "0,0,1,0,1,0,0,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,0,0,0,0,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,1,0,1,0,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,0,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,1,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,2,0,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,1,1,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,2,0,1,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,2,0,1,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,0,1,1") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "replace_known_left" (formula "24") (term "0,0,0,0") (ifseqformula "14")) - (builtin "One Step Simplification" (formula "24") (ifInst "" (formula "19"))) - (rule "applyEq" (formula "24") (term "0,1,0,0") (ifseqformula "16")) - (rule "eqSymm" (formula "24") (term "1,0,0")) - (rule "applyEq" (formula "24") (term "0,1,0") (ifseqformula "17")) - (rule "eqSymm" (formula "24") (term "1,0")) - (rule "pullOutSelect" (formula "24") (term "0,1,1,0,0,1,0,0,0,0") (inst "selectSK=List_seq_0:Seq")) - (rule "applyEq" (formula "25") (term "0,0,1") (ifseqformula "1")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "23"))) - (rule "applyEqReverse" (formula "25") (term "0,1,1,0,0,1,0,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "25") (term "0,0,1") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "replace_known_left" (formula "24") (term "1") (ifseqformula "18")) + (rule "true_left" (formula "24")) + (rule "commute_and_2" (formula "14") (term "0,0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "24") (term "1") (ifseqformula "8")) + (rule "allLeft" (formula "17") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "17") (term "1")) + (rule "polySimp_pullOutFactor1b" (formula "17") (term "0,1")) + (rule "add_literals" (formula "17") (term "1,1,0,1")) + (rule "times_zero_1" (formula "17") (term "1,0,1")) + (rule "add_literals" (formula "17") (term "0,1")) + (rule "leq_literals" (formula "17") (term "1")) + (builtin "One Step Simplification" (formula "17")) + (rule "applyEq" (formula "17") (term "0,0,0") (ifseqformula "26")) + (rule "inEqSimp_contradInEq1" (formula "17") (term "1") (ifseqformula "2")) + (rule "qeq_literals" (formula "17") (term "0,1")) + (builtin "One Step Simplification" (formula "17")) + (rule "notLeft" (formula "17")) + (rule "replace_known_right" (formula "24") (term "0") (ifseqformula "28")) (builtin "One Step Simplification" (formula "24")) - (rule "pullOutSelect" (formula "24") (term "0,1,0") (inst "selectSK=LinkedList_first_0:Node")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "23"))) - (rule "applyEqReverse" (formula "25") (term "0,1,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "25")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "pullOutSelect" (formula "24") (term "0,1") (inst "selectSK=LinkedList_last_0:Node")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "23"))) - (rule "applyEqReverse" (formula "25") (term "0,1") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "25")) - (rule "allRight" (formula "25") (inst "sk=i_0:int")) - (rule "impRight" (formula "25")) - (rule "andLeft" (formula "1")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "polySimp_homoEq" (formula "26") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "26") (term "0,0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_sepPosMonomial" (formula "26") (term "0,0,1")) - (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "26") (term "1,0,0,1")) - (rule "mul_literals" (formula "26") (term "0,1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "26") (term "1,1,0,0,1")) - (rule "polySimp_elimOne" (formula "26") (term "1,1,0,0,1")) + (rule "replace_known_right" (formula "34") (term "0,0,0") (ifseqformula "28")) + (builtin "One Step Simplification" (formula "34")) + (rule "allLeft" (formula "18") (inst "t=i_0:int")) + (rule "eqSymm" (formula "18") (term "1")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "1,0")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1,0")) + (rule "add_literals" (formula "18") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "18") (term "1,0,1,0")) + (rule "add_literals" (formula "18") (term "0,1,0")) + (rule "leq_literals" (formula "18") (term "1,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "applyEq" (formula "18") (term "1,1,1") (ifseqformula "26")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "2")) + (rule "qeq_literals" (formula "18") (term "0,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "replace_known_left" (formula "35") (term "0") (ifseqformula "18")) + (builtin "One Step Simplification" (formula "35")) + (rule "allRight" (formula "35") (inst "sk=j_0:int")) + (rule "orRight" (formula "35")) + (rule "orRight" (formula "36")) + (rule "orRight" (formula "35")) + (rule "notRight" (formula "37")) + (rule "inEqSimp_leqRight" (formula "36")) + (rule "mul_literals" (formula "1") (term "1,0,0")) + (rule "add_literals" (formula "1") (term "0,0")) + (rule "add_zero_left" (formula "1") (term "0")) + (rule "inEqSimp_geqRight" (formula "37")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (formula "1") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1")) + (rule "polySimp_elimOne" (formula "1") (term "1")) + (rule "inEqSimp_strengthen0" (formula "1") (ifseqformula "38")) + (rule "inEqSimp_contradEq3" (formula "38") (ifseqformula "1")) + (rule "polySimp_mulComm0" (formula "38") (term "1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "38") (term "0,0")) + (rule "add_literals" (formula "38") (term "1,1,0,0")) + (rule "times_zero_1" (formula "38") (term "1,0,0")) + (rule "add_literals" (formula "38") (term "0,0")) + (rule "qeq_literals" (formula "38") (term "0")) + (builtin "One Step Simplification" (formula "38")) + (rule "false_right" (formula "38")) + (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "1")) + (rule "mul_literals" (formula "2") (term "0,0")) + (rule "add_zero_left" (formula "2") (term "0")) (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "mul_literals" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) - (rule "polySimp_elimOne" (formula "2") (term "1,1")) - (rule "pullOutSelect" (formula "26") (term "0,1,0,0") (inst "selectSK=Node_data_0:int")) - (rule "simplifySelectOfStore" (formula "1")) - (builtin "One Step Simplification" (formula "1")) - (rule "castDel" (formula "1") (term "1,0")) - (rule "eqSymm" (formula "27") (term "1,0,0")) - (rule "eqSymm" (formula "1") (term "0,0")) - (rule "pullOutSelect" (formula "27") (term "1,1") (inst "selectSK=Node_next_0:Node")) - (rule "simplifySelectOfStore" (formula "1")) - (builtin "One Step Simplification" (formula "1")) - (rule "castDel" (formula "1") (term "1,0")) - (rule "eqSymm" (formula "1") (term "0,0")) - (rule "pullOutSelect" (formula "2") (term "2,0") (inst "selectSK=Node_data_1:int")) - (rule "simplifySelectOfCreate" (formula "2")) - (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "27"))) - (rule "applyEqReverse" (formula "3") (term "2,0") (ifseqformula "2")) - (rule "hideAuxiliaryEq" (formula "2")) - (rule "pullOutSelect" (formula "1") (term "2,0") (inst "selectSK=Node_next_1:Node")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "27"))) - (rule "applyEqReverse" (formula "2") (term "2,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "nnf_imp2or" (formula "28") (term "0,1,0")) - (rule "nnf_notAnd" (formula "28") (term "0,0,1,0")) - (rule "inEqSimp_notGeq" (formula "28") (term "0,0,0,1,0")) - (rule "mul_literals" (formula "28") (term "1,0,0,0,0,0,1,0")) - (rule "add_literals" (formula "28") (term "0,0,0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "28") (term "0,0,0,1,0")) - (rule "mul_literals" (formula "28") (term "1,0,0,0,1,0")) - (rule "inEqSimp_notLeq" (formula "28") (term "1,0,0,1,0")) - (rule "polySimp_rightDist" (formula "28") (term "1,0,0,1,0,0,1,0")) - (rule "mul_literals" (formula "28") (term "0,1,0,0,1,0,0,1,0")) - (rule "polySimp_addAssoc" (formula "28") (term "0,0,1,0,0,1,0")) - (rule "add_literals" (formula "28") (term "0,0,0,1,0,0,1,0")) - (rule "add_zero_left" (formula "28") (term "0,0,1,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "28") (term "1,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "1,1,0,0,1,0")) - (rule "polySimp_elimOne" (formula "28") (term "1,1,0,0,1,0")) - (rule "nnf_imp2or" (formula "28") (term "1,0,1,0")) - (rule "shift_paren_or" (formula "9")) - (rule "shift_paren_or" (formula "19") (term "0,1,0,1,0")) - (rule "ifthenelse_to_or_left" (formula "19") (term "1,1,0")) - (rule "eqSymm" (formula "19") (term "1,0,1,1,0")) - (rule "eqSymm" (formula "19") (term "1,1,1,1,0")) - (rule "ifthenelse_split" (formula "20") (term "0")) - (branch "self.size = 0 TRUE" - (rule "eqSymm" (formula "21")) - (rule "replace_known_left" (formula "22") (term "0,0") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "22")) - (rule "eqSymm" (formula "22")) - (rule "applyEq" (formula "29") (term "1,1,0,0,1,0") (ifseqformula "20")) - (rule "applyEq" (formula "29") (term "0,0,0,1") (ifseqformula "20")) - (rule "polySimp_homoEq" (formula "29") (term "0,0,1")) - (rule "mul_literals" (formula "29") (term "1,0,0,0,1")) - (rule "add_zero_right" (formula "29") (term "0,0,0,1")) - (rule "applyEq" (formula "11") (term "0") (ifseqformula "20")) - (rule "inEqSimp_homoInEq1" (formula "11")) - (rule "mul_literals" (formula "11") (term "1,0")) - (rule "add_zero_right" (formula "11") (term "0")) - (rule "applyEq" (formula "4") (term "0") (ifseqformula "20")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "mul_literals" (formula "4") (term "1,0")) - (rule "add_zero_right" (formula "4") (term "0")) - (rule "applyEq" (formula "5") (term "0") (ifseqformula "20")) - (rule "inEqSimp_homoInEq1" (formula "5")) - (rule "mul_literals" (formula "5") (term "1,0")) - (rule "add_zero_right" (formula "5") (term "0")) - (rule "applyEq" (formula "19") (term "1,1,0,0") (ifseqformula "20")) - (rule "applyEq" (formula "18") (term "1,1,1,0,0,1,0") (ifseqformula "20")) - (rule "add_literals" (formula "18") (term "1,1,0,0,1,0")) - (rule "applyEq" (formula "19") (term "1,1,0,0,0,1,0,1,0") (ifseqformula "20")) - (rule "applyEq" (formula "19") (term "1,1,0,0,0,1,1,0") (ifseqformula "20")) - (rule "add_literals" (formula "19") (term "1,0,0,0,1,1,0")) - (rule "applyEq" (formula "19") (term "1,1,0,1,1,1,0") (ifseqformula "20")) - (rule "add_literals" (formula "19") (term "1,0,1,1,1,0")) - (rule "applyEq" (formula "24") (term "1") (ifseqformula "20")) - (rule "applyEq" (formula "23") (term "1") (ifseqformula "20")) - (rule "polySimp_sepPosMonomial" (formula "29") (term "0,0,1")) - (rule "mul_literals" (formula "29") (term "1,0,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "11")) - (rule "mul_literals" (formula "11") (term "1")) - (rule "inEqSimp_sepPosMonomial0" (formula "4")) - (rule "mul_literals" (formula "4") (term "1")) - (rule "inEqSimp_sepPosMonomial0" (formula "5")) - (rule "mul_literals" (formula "5") (term "1")) - (rule "inEqSimp_contradEq7" (formula "29") (term "0,0,1") (ifseqformula "3")) - (rule "add_zero_left" (formula "29") (term "0,0,0,0,1")) - (rule "mul_literals" (formula "29") (term "0,0,0,0,1")) - (rule "leq_literals" (formula "29") (term "0,0,0,1")) - (builtin "One Step Simplification" (formula "29")) - (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "4")) - (rule "qeq_literals" (formula "3") (term "0")) - (builtin "One Step Simplification" (formula "3")) - (rule "closeFalse" (formula "3")) + (rule "mul_literals" (formula "2") (term "1")) + (rule "inEqSimp_subsumption1" (formula "6") (ifseqformula "2")) + (rule "leq_literals" (formula "6") (term "0")) + (builtin "One Step Simplification" (formula "6")) + (rule "true_left" (formula "6")) + (rule "cut_direct" (formula "26") (term "0")) + (branch "CUT: self.first = null TRUE" + (builtin "One Step Simplification" (formula "27")) + (rule "true_left" (formula "27")) + (rule "applyEq" (formula "27") (term "1") (ifseqformula "26")) + (rule "cut_direct" (formula "8") (term "0")) + (branch "CUT: e2_0 = Node::#data TRUE" + (builtin "One Step Simplification" (formula "9")) + (rule "true_left" (formula "9")) + (rule "applyEq" (formula "34") (term "0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "applyEq" (formula "6") (term "1,0") (ifseqformula "8")) + (rule "applyEq" (formula "9") (term "1,1") (ifseqformula "8")) + (rule "allLeft" (formula "20") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "20") (term "1,0")) + (builtin "One Step Simplification" (formula "20") (ifInst "" (formula "28"))) + (rule "inEqSimp_homoInEq1" (formula "20")) + (rule "mul_literals" (formula "20") (term "1,0")) + (rule "add_zero_right" (formula "20") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "20")) + (rule "mul_literals" (formula "20") (term "1")) + (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "20")) + (rule "qeq_literals" (formula "2") (term "0")) + (builtin "One Step Simplification" (formula "2")) + (rule "closeFalse" (formula "2")) + ) + (branch "CUT: e2_0 = Node::#data FALSE" + (builtin "One Step Simplification" (formula "8")) + (rule "applyEq" (formula "32") (term "0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "32")) + (rule "false_right" (formula "32")) + (rule "applyEq" (formula "34") (term "0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "applyEq" (formula "6") (term "1,0") (ifseqformula "8")) + (rule "applyEq" (formula "9") (term "1,1") (ifseqformula "8")) + (rule "allLeft" (formula "20") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "20") (term "1,0")) + (builtin "One Step Simplification" (formula "20") (ifInst "" (formula "28"))) + (rule "inEqSimp_homoInEq1" (formula "20")) + (rule "mul_literals" (formula "20") (term "1,0")) + (rule "add_zero_right" (formula "20") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "20")) + (rule "mul_literals" (formula "20") (term "1")) + (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "20")) + (rule "qeq_literals" (formula "2") (term "0")) + (builtin "One Step Simplification" (formula "2")) + (rule "closeFalse" (formula "2")) + ) ) - (branch "self.size = 0 FALSE" - (rule "replace_known_right" (formula "21") (term "0,0") (ifseqformula "24")) - (builtin "One Step Simplification" (formula "21")) - (rule "commute_or" (formula "19") (term "0,1,1,0")) - (rule "commute_or" (formula "19") (term "1,1,1,0")) - (rule "commute_or_2" (formula "19") (term "0,0,1,0,1,0")) - (rule "commute_or" (formula "19") (term "0,0,0,1,0,1,0")) - (rule "seqGetAlphaCast" (formula "25") (term "1,0")) - (rule "castedGetAny" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "true_left" (formula "1")) - (rule "seqGetAlphaCast" (formula "12") (term "0")) - (rule "castedGetAny" (formula "12") (term "0")) - (builtin "One Step Simplification" (formula "12")) - (rule "true_left" (formula "12")) - (rule "lenNonNegative" (formula "23") (term "0")) - (rule "inEqSimp_commuteLeq" (formula "23")) - (rule "applyEq" (formula "23") (term "0") (ifseqformula "24")) - (rule "inEqSimp_strengthen1" (formula "23") (ifseqformula "25")) - (rule "add_literals" (formula "23") (term "1")) - (rule "inEqSimp_contradEq7" (formula "25") (ifseqformula "23")) - (rule "mul_literals" (formula "25") (term "1,0,0")) - (rule "add_literals" (formula "25") (term "0,0")) - (rule "leq_literals" (formula "25") (term "0")) - (builtin "One Step Simplification" (formula "25")) - (rule "false_right" (formula "25")) - (rule "lenNonNegative" (formula "22") (term "0")) - (rule "inEqSimp_commuteLeq" (formula "22")) - (rule "applyEq" (formula "22") (term "0") (ifseqformula "23")) - (rule "inEqSimp_subsumption1" (formula "22") (ifseqformula "24")) - (rule "leq_literals" (formula "22") (term "0")) - (builtin "One Step Simplification" (formula "22")) - (rule "true_left" (formula "22")) - (rule "seqGetAlphaCast" (formula "7") (term "1,0")) - (rule "castedGetAny" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "ifthenelse_split" (formula "29") (term "0,1")) - (branch "self.size = 1 + i_0 TRUE" - (rule "eqSymm" (formula "30") (term "1")) - (rule "applyEq" (formula "30") (term "1,1,0,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "12") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq1" (formula "12")) - (rule "polySimp_mulComm0" (formula "12") (term "1,0")) - (rule "polySimp_rightDist" (formula "12") (term "1,0")) - (rule "mul_literals" (formula "12") (term "0,1,0")) - (rule "polySimp_addComm1" (formula "12") (term "0")) - (rule "polySimp_addAssoc" (formula "12") (term "0,0")) - (rule "add_literals" (formula "12") (term "0,0,0")) - (rule "add_zero_left" (formula "12") (term "0,0")) - (rule "applyEq" (formula "5") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq1" (formula "5")) - (rule "polySimp_pullOutFactor1" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,0")) - (rule "times_zero_1" (formula "5") (term "0")) - (rule "leq_literals" (formula "5")) - (rule "true_left" (formula "5")) - (rule "applyEq" (formula "5") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq1" (formula "5")) - (rule "polySimp_mulComm0" (formula "5") (term "1,0")) - (rule "polySimp_rightDist" (formula "5") (term "1,0")) - (rule "mul_literals" (formula "5") (term "0,1,0")) - (rule "polySimp_addComm1" (formula "5") (term "0")) - (rule "polySimp_addAssoc" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "0,0,0")) - (rule "applyEq" (formula "23") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq1" (formula "23")) - (rule "polySimp_mulComm0" (formula "23") (term "1,0")) - (rule "polySimp_rightDist" (formula "23") (term "1,0")) - (rule "mul_literals" (formula "23") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "23") (term "0")) - (rule "add_literals" (formula "23") (term "0,0")) - (rule "add_zero_left" (formula "23") (term "0")) - (rule "applyEq" (formula "19") (term "1,1,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "18") (term "1,1,1,0,0,1,0") (ifseqformula "1")) - (rule "polySimp_addAssoc" (formula "18") (term "1,1,0,0,1,0")) - (rule "add_literals" (formula "18") (term "0,1,1,0,0,1,0")) - (rule "add_zero_left" (formula "18") (term "1,1,0,0,1,0")) - (rule "applyEq" (formula "19") (term "1,1,0,0,1,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "21") (term "1,1,0") (ifseqformula "1")) - (rule "polySimp_addAssoc" (formula "21") (term "1,0")) - (rule "add_literals" (formula "21") (term "0,1,0")) - (rule "add_zero_left" (formula "21") (term "1,0")) - (rule "applyEq" (formula "19") (term "1,1,0,1,0,1,1,0") (ifseqformula "1")) - (rule "polySimp_addAssoc" (formula "19") (term "1,0,1,0,1,1,0")) - (rule "add_literals" (formula "19") (term "0,1,0,1,0,1,1,0")) - (rule "add_zero_left" (formula "19") (term "1,0,1,0,1,1,0")) - (rule "applyEq" (formula "19") (term "1,1,1,1,1,1,0") (ifseqformula "1")) - (rule "polySimp_addAssoc" (formula "19") (term "1,1,1,1,1,0")) - (rule "add_literals" (formula "19") (term "0,1,1,1,1,1,0")) - (rule "add_zero_left" (formula "19") (term "1,1,1,1,1,0")) - (rule "applyEq" (formula "24") (term "1") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "1") (ifseqformula "1")) - (rule "applyEq" (formula "29") (term "0,0,0,0,0") (ifseqformula "21")) - (rule "applyEq" (formula "29") (term "1,0,0,1,0,1,0") (ifseqformula "21")) - (rule "applyEq" (formula "2") (term "0,0,0") (ifseqformula "21")) - (rule "applyEq" (formula "3") (term "0,0,0") (ifseqformula "21")) - (rule "applyEq" (formula "2") (term "1,2,0") (ifseqformula "21")) - (rule "applyEq" (formula "3") (term "1,2,0") (ifseqformula "21")) - (rule "inEqSimp_sepPosMonomial0" (formula "11")) - (rule "polySimp_mulLiterals" (formula "11") (term "1")) - (rule "polySimp_elimOne" (formula "11") (term "1")) - (rule "inEqSimp_sepPosMonomial0" (formula "5")) - (rule "polySimp_mulComm0" (formula "5") (term "1")) - (rule "polySimp_rightDist" (formula "5") (term "1")) - (rule "mul_literals" (formula "5") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "5") (term "1,1")) - (rule "polySimp_elimOne" (formula "5") (term "1,1")) - (rule "inEqSimp_invertInEq0" (formula "23")) - (rule "polySimp_mulLiterals" (formula "23") (term "0")) - (rule "mul_literals" (formula "23") (term "1")) - (rule "polySimp_elimOne" (formula "23") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "10") (ifseqformula "11")) - (rule "mul_literals" (formula "10") (term "0,0")) - (rule "add_zero_left" (formula "10") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "5")) - (rule "mul_literals" (formula "6") (term "0,0")) - (rule "add_zero_left" (formula "6") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "6")) - (rule "mul_literals" (formula "6") (term "1")) - (rule "inEqSimp_subsumption1" (formula "4") (ifseqformula "6")) - (rule "leq_literals" (formula "4") (term "0")) - (builtin "One Step Simplification" (formula "4")) - (rule "true_left" (formula "4")) - (rule "all_pull_out1" (formula "19") (term "0,1,0")) - (rule "seqGetAlphaCast" (formula "28") (term "0,1,0,0")) + (branch "CUT: self.first = null FALSE" + (builtin "One Step Simplification" (formula "26")) + (rule "cut_direct" (formula "8") (term "0")) + (branch "CUT: e2_0 = Node::#data TRUE" + (builtin "One Step Simplification" (formula "9")) + (rule "true_left" (formula "9")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEq" (formula "6") (term "1,0") (ifseqformula "8")) + (rule "applyEq" (formula "9") (term "1,1") (ifseqformula "8")) + (rule "allLeft" (formula "22") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "0")) + (rule "mul_literals" (formula "22") (term "1,0,0")) + (rule "add_zero_right" (formula "22") (term "0,0")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "28")) + (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "0")) + (rule "mul_literals" (formula "22") (term "1,0")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "2")) + (rule "qeq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "allLeft" (formula "24") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "24") (term "1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "1,1,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "24") (term "1,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,1,0,0,0,0")) + (rule "leq_literals" (formula "24") (term "1,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "applyEq" (formula "24") (term "1,0,0,0,0,0,0") (ifseqformula "31")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "24") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "commute_or_2" (formula "24") (term "0")) + (rule "inEqSimp_or_weaken3" (formula "24") (term "0")) + (builtin "One Step Simplification" (formula "24")) + (rule "allLeft" (formula "27") (inst "t=Z(0(#)):int")) + (rule "add_literals" (formula "27") (term "1,1,0,0")) + (rule "leq_literals" (formula "27") (term "1,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "inEqSimp_commuteGeq" (formula "27") (term "1")) + (rule "applyEq" (formula "27") (term "1,0,0") (ifseqformula "30")) + (rule "eqSymm" (formula "27") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "27") (term "1") (ifseqformula "2")) + (rule "qeq_literals" (formula "27") (term "0,1")) + (builtin "One Step Simplification" (formula "27")) + (rule "allLeft" (formula "28") (inst "t=j_0:int")) + (rule "applyEq" (formula "28") (term "1,0,0,0") (ifseqformula "4")) + (rule "eqSymm" (formula "28") (term "0,0")) + (rule "applyEq" (formula "28") (term "1,0,0") (ifseqformula "26")) + (rule "inEqSimp_contradInEq1" (formula "28") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "28") (term "0,1,0")) + (builtin "One Step Simplification" (formula "28")) + (rule "inEqSimp_contradInEq0" (formula "28") (term "1") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "28") (term "0,1")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "28") (term "1,0,0,1")) + (rule "mul_literals" (formula "28") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "28") (term "0,0,1")) + (rule "polySimp_addComm0" (formula "28") (term "0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "28") (term "0,0,1")) + (rule "add_literals" (formula "28") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "28") (term "1,0,0,1")) + (rule "add_literals" (formula "28") (term "0,0,1")) + (rule "leq_literals" (formula "28") (term "0,1")) + (builtin "One Step Simplification" (formula "28")) + (rule "allLeft" (formula "23") (inst "t=j_0:int")) + (rule "eqSymm" (formula "23") (term "1")) + (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "4")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "23") (term "0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq0" (formula "23") (term "0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "23") (term "0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0")) + (rule "leq_literals" (formula "23") (term "0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "allLeft" (formula "26") (inst "t=j_0:int")) + (rule "applyEq" (formula "26") (term "1,0,0,0,0,0,0,0") (ifseqformula "4")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "26") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_contradInEq0" (formula "26") (term "1,0,0,0,0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "26") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "26") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "26") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "26") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "allLeft" (formula "20") (inst "t=add(Z(1(#)), j_0):int")) + (rule "replace_known_left" (formula "20") (term "0,0,0") (ifseqformula "31")) + (builtin "One Step Simplification" (formula "20")) + (rule "inEqSimp_homoInEq0" (formula "20") (term "0")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "20") (term "1,0,0")) + (rule "mul_literals" (formula "20") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "20") (term "0,0")) + (rule "add_literals" (formula "20") (term "0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "20") (term "1")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "20") (term "1,0,1")) + (rule "mul_literals" (formula "20") (term "0,1,0,1")) + (rule "polySimp_addAssoc" (formula "20") (term "0,1")) + (rule "polySimp_addComm1" (formula "20") (term "0,0,1")) + (rule "add_literals" (formula "20") (term "0,0,0,1")) + (rule "add_zero_left" (formula "20") (term "0,0,1")) + (rule "inEqSimp_sepNegMonomial1" (formula "20") (term "0")) + (rule "polySimp_mulLiterals" (formula "20") (term "0,0")) + (rule "polySimp_elimOne" (formula "20") (term "0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "20") (term "1")) + (rule "polySimp_mulLiterals" (formula "20") (term "0,1")) + (rule "polySimp_elimOne" (formula "20") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0") (ifseqformula "3")) + (rule "qeq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "inEqSimp_contradInEq0" (formula "20") (ifseqformula "1")) + (rule "andLeft" (formula "20")) + (rule "inEqSimp_homoInEq1" (formula "20")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0")) + (rule "polySimp_rightDist" (formula "20") (term "1,0")) + (rule "mul_literals" (formula "20") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "20") (term "0")) + (rule "polySimp_addComm0" (formula "20") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "20") (term "0")) + (rule "add_literals" (formula "20") (term "1,1,0")) + (rule "times_zero_1" (formula "20") (term "1,0")) + (rule "add_literals" (formula "20") (term "0")) + (rule "leq_literals" (formula "20")) + (rule "closeFalse" (formula "20")) + ) + (branch "CUT: e2_0 = Node::#data FALSE" + (builtin "One Step Simplification" (formula "8")) + (rule "applyEq" (formula "32") (term "0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "32")) + (rule "false_right" (formula "32")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEq" (formula "6") (term "1,0") (ifseqformula "8")) + (rule "applyEq" (formula "9") (term "1,1") (ifseqformula "8")) + (rule "allLeft" (formula "22") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "0")) + (rule "mul_literals" (formula "22") (term "1,0,0")) + (rule "add_zero_right" (formula "22") (term "0,0")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "28")) + (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "0")) + (rule "mul_literals" (formula "22") (term "1,0")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "2")) + (rule "qeq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "allLeft" (formula "24") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "24") (term "1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "1,1,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "24") (term "1,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,1,0,0,0,0")) + (rule "leq_literals" (formula "24") (term "1,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "applyEq" (formula "24") (term "1,0,0,0,0,0,0") (ifseqformula "31")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "24") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "commute_or_2" (formula "24") (term "0")) + (rule "inEqSimp_or_weaken3" (formula "24") (term "0")) + (builtin "One Step Simplification" (formula "24")) + (rule "allLeft" (formula "27") (inst "t=Z(0(#)):int")) + (rule "add_literals" (formula "27") (term "1,1,0,0")) + (rule "leq_literals" (formula "27") (term "1,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "inEqSimp_commuteGeq" (formula "27") (term "1")) + (rule "applyEq" (formula "27") (term "1,0,0") (ifseqformula "30")) + (rule "eqSymm" (formula "27") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "27") (term "1") (ifseqformula "2")) + (rule "qeq_literals" (formula "27") (term "0,1")) + (builtin "One Step Simplification" (formula "27")) + (rule "allLeft" (formula "28") (inst "t=j_0:int")) + (rule "applyEq" (formula "28") (term "1,0,0,0") (ifseqformula "4")) + (rule "eqSymm" (formula "28") (term "0,0")) + (rule "applyEq" (formula "28") (term "1,0,0") (ifseqformula "26")) + (rule "inEqSimp_contradInEq1" (formula "28") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "28") (term "0,1,0")) + (builtin "One Step Simplification" (formula "28")) + (rule "inEqSimp_contradInEq0" (formula "28") (term "1") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "28") (term "0,1")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "28") (term "1,0,0,1")) + (rule "mul_literals" (formula "28") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "28") (term "0,0,1")) + (rule "polySimp_addComm0" (formula "28") (term "0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "28") (term "0,0,1")) + (rule "add_literals" (formula "28") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "28") (term "1,0,0,1")) + (rule "add_literals" (formula "28") (term "0,0,1")) + (rule "leq_literals" (formula "28") (term "0,1")) + (builtin "One Step Simplification" (formula "28")) + (rule "allLeft" (formula "23") (inst "t=j_0:int")) + (rule "eqSymm" (formula "23") (term "1")) + (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "4")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "23") (term "0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq0" (formula "23") (term "0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "23") (term "0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0")) + (rule "leq_literals" (formula "23") (term "0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "allLeft" (formula "26") (inst "t=j_0:int")) + (rule "applyEq" (formula "26") (term "1,0,0,0,0,0,0,0") (ifseqformula "4")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "26") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_contradInEq0" (formula "26") (term "1,0,0,0,0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "26") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "26") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "26") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "26") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "allLeft" (formula "20") (inst "t=add(Z(1(#)), j_0):int")) + (rule "replace_known_left" (formula "20") (term "0,0,0") (ifseqformula "31")) + (builtin "One Step Simplification" (formula "20")) + (rule "inEqSimp_homoInEq0" (formula "20") (term "0")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "20") (term "1,0,0")) + (rule "mul_literals" (formula "20") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "20") (term "0,0")) + (rule "add_literals" (formula "20") (term "0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "20") (term "1")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "20") (term "1,0,1")) + (rule "mul_literals" (formula "20") (term "0,1,0,1")) + (rule "polySimp_addAssoc" (formula "20") (term "0,1")) + (rule "polySimp_addComm1" (formula "20") (term "0,0,1")) + (rule "add_literals" (formula "20") (term "0,0,0,1")) + (rule "add_zero_left" (formula "20") (term "0,0,1")) + (rule "inEqSimp_sepNegMonomial1" (formula "20") (term "0")) + (rule "polySimp_mulLiterals" (formula "20") (term "0,0")) + (rule "polySimp_elimOne" (formula "20") (term "0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "20") (term "1")) + (rule "polySimp_mulLiterals" (formula "20") (term "0,1")) + (rule "polySimp_elimOne" (formula "20") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0") (ifseqformula "3")) + (rule "qeq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "inEqSimp_contradInEq0" (formula "20") (ifseqformula "1")) + (rule "andLeft" (formula "20")) + (rule "inEqSimp_homoInEq1" (formula "20")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0")) + (rule "polySimp_rightDist" (formula "20") (term "1,0")) + (rule "mul_literals" (formula "20") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "20") (term "0")) + (rule "polySimp_addComm0" (formula "20") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "20") (term "0")) + (rule "add_literals" (formula "20") (term "1,1,0")) + (rule "times_zero_1" (formula "20") (term "1,0")) + (rule "add_literals" (formula "20") (term "0")) + (rule "leq_literals" (formula "20")) + (rule "closeFalse" (formula "20")) + ) + ) + ) + ) + ) + (branch "self.size = 1 + i_0 FALSE" + (rule "inEqSimp_strengthen1" (formula "4") (ifseqformula "27")) + (rule "polySimp_addAssoc" (formula "4") (term "1")) + (rule "add_literals" (formula "4") (term "0,1")) + (rule "inEqSimp_contradEq7" (formula "27") (ifseqformula "4")) + (rule "polySimp_rightDist" (formula "27") (term "1,0,0")) + (rule "mul_literals" (formula "27") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "27") (term "0,0")) + (rule "polySimp_addComm1" (formula "27") (term "0,0,0")) + (rule "add_literals" (formula "27") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "27") (term "0,0")) + (rule "add_literals" (formula "27") (term "1,1,0,0")) + (rule "times_zero_1" (formula "27") (term "1,0,0")) + (rule "add_literals" (formula "27") (term "0,0")) + (rule "leq_literals" (formula "27") (term "0")) + (builtin "One Step Simplification" (formula "27")) + (rule "false_right" (formula "27")) + (rule "ifthenelse_split" (formula "2") (term "0")) + (branch "(Node)self.nodeseq[i_0] = n_2 TRUE" + (rule "applyEqReverse" (formula "28") (term "1,1,0,0") (ifseqformula "3")) + (rule "hideAuxiliaryEq" (formula "3")) + (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "1")) + (rule "applyEqReverse" (formula "27") (term "1,1") (ifseqformula "1")) + (rule "hideAuxiliaryEq" (formula "1")) + (rule "applyEq" (formula "26") (term "0,0,0,0,0") (ifseqformula "1")) + (rule "replace_known_right" (formula "26") (term "0,0,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "26")) + (rule "applyEq" (formula "26") (term "1,0,0,1,0,1,0") (ifseqformula "1")) + (rule "commute_or" (formula "17") (term "0,0,0,1,0,1,0")) + (rule "commute_and" (formula "15") (term "0,0,1,0,0")) + (rule "all_pull_out1" (formula "16") (term "1,0")) + (rule "ex_pull_out3" (formula "15") (term "0,0")) + (rule "cnf_rightDist" (formula "15") (term "0,0,0")) + (rule "commute_or" (formula "15") (term "1,0,0,0")) + (rule "cnf_rightDist" (formula "15") (term "0,0,0,0")) + (rule "commute_or" (formula "15") (term "1,0,0,0,0")) + (rule "ex_pull_out2" (formula "15") (term "0")) + (rule "commute_or" (formula "15") (term "0,0")) + (rule "cnf_rightDist" (formula "15") (term "0,0")) + (rule "commute_or_2" (formula "15") (term "1,0,0")) + (rule "commute_or" (formula "15") (term "0,1,0,0")) + (rule "cnf_rightDist" (formula "15") (term "0,0,0")) + (rule "commute_or_2" (formula "15") (term "1,0,0,0")) + (rule "shift_paren_or" (formula "15") (term "0,0,0,0")) + (rule "commute_or" (formula "15") (term "0,1,0,0,0")) + (rule "all_pull_out1" (formula "17") (term "0,1,0")) + (rule "all_pull_out3" (formula "16") (term "0")) + (rule "cnf_rightDist" (formula "16") (term "0,0")) + (rule "distr_forallAnd" (formula "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "distr_forallAnd" (formula "16")) + (rule "andLeft" (formula "16")) + (rule "commute_or_2" (formula "17") (term "0,0")) + (rule "commute_or_2" (formula "17") (term "0,0,0")) + (rule "commute_or" (formula "17") (term "0,0,0,0")) + (rule "seqGetAlphaCast" (formula "19") (term "0")) + (rule "castedGetAny" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "true_left" (formula "19")) + (rule "seqGetAlphaCast" (formula "20") (term "0")) + (rule "castedGetAny" (formula "20") (term "0")) + (builtin "One Step Simplification" (formula "20")) + (rule "true_left" (formula "20")) + (rule "all_pull_out0" (formula "18") (term "1,0")) + (rule "shift_paren_and" (formula "18") (term "0,1,0")) + (rule "cut_direct" (formula "6") (term "1,0")) + (branch "CUT: e2_0 = Node::#next TRUE" + (builtin "One Step Simplification" (formula "7")) + (rule "true_left" (formula "7")) + (rule "applyEq" (formula "4") (term "1,0") (ifseqformula "6")) + (rule "applyEq" (formula "7") (term "1,1") (ifseqformula "6")) + (rule "onlyCreatedObjectsAreReferenced" (formula "19") (term "1") (ifseqformula "9")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "13") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "13")) + (rule "replace_known_right" (formula "13") (term "0") (ifseqformula "28")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "10"))) + (rule "true_left" (formula "13")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "14") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "14")) + (rule "replace_known_right" (formula "14") (term "0") (ifseqformula "28")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "10"))) + (rule "true_left" (formula "14")) + (rule "all_pull_out3" (formula "18") (term "0")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "shift_paren_or" (formula "19") (term "0")) + (rule "commute_or_2" (formula "19") (term "0,0")) + (rule "inEqSimp_or_weaken3" (formula "19") (term "0")) + (rule "polySimp_addAssoc" (formula "19") (term "1,0,1,0")) + (rule "add_literals" (formula "19") (term "0,1,0,1,0")) + (rule "add_zero_left" (formula "19") (term "1,0,1,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "0,1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,0,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,0,1")) + (rule "add_literals" (formula "19") (term "0,0,0,1")) + (rule "add_zero_left" (formula "19") (term "0,0,1")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "1,1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,1,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1,1")) + (rule "polySimp_addComm0" (formula "19") (term "0,0,1,1")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,1,1")) + (rule "add_literals" (formula "19") (term "1,1,0,1,1")) + (rule "times_zero_1" (formula "19") (term "1,0,1,1")) + (rule "add_literals" (formula "19") (term "0,1,1")) + (rule "leq_literals" (formula "19") (term "1,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "applyEq" (formula "19") (term "1,0,0") (ifseqformula "23")) + (rule "inEqSimp_invertInEq1" (formula "19") (term "1")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1")) + (rule "mul_literals" (formula "19") (term "1,1")) + (rule "polySimp_elimOne" (formula "19") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "25")) + (rule "qeq_literals" (formula "19") (term "0,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "19") (term "0,0")) + (rule "commute_or_2" (formula "19") (term "0,0,0")) + (rule "cnf_rightDist" (formula "18") (term "0")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "18") (term "0")) + (rule "commute_or" (formula "19") (term "0")) + (rule "commute_or" (formula "18") (term "0,0")) + (rule "commute_or_2" (formula "20") (term "0,0,0,0")) + (rule "shift_paren_or" (formula "20") (term "0,0,0,0,0")) + (rule "commute_and" (formula "15") (term "0,0,0")) + (rule "seqGetAlphaCast" (formula "1") (term "0")) + (rule "castedGetAny" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "cut_direct" (formula "32") (term "0,0")) + (branch "CUT: (int)self.seq[i_0] = o TRUE" + (builtin "One Step Simplification" (formula "33")) + (rule "commute_and_2" (formula "16") (term "0,0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "26") (term "1") (ifseqformula "10")) + (rule "allLeft" (formula "23") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "1")) + (rule "polySimp_addComm1" (formula "23") (term "0,1")) + (rule "applyEq" (formula "23") (term "1,0,0,0") (ifseqformula "2")) + (rule "eqSymm" (formula "23") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "23") (term "1")) + (rule "polySimp_mulComm0" (formula "23") (term "1,1")) + (rule "polySimp_rightDist" (formula "23") (term "1,1")) + (rule "mul_literals" (formula "23") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "23") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "23") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "23") (term "0,1,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,1")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "23") (term "0,0,0,1")) + (rule "add_literals" (formula "23") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1")) + (rule "add_literals" (formula "23") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "23") (term "1,0,0,1")) + (rule "add_literals" (formula "23") (term "0,0,1")) + (rule "leq_literals" (formula "23") (term "0,1")) + (builtin "One Step Simplification" (formula "23")) + (rule "applyEq" (formula "35") (term "0,1") (ifseqformula "23")) + (rule "cut_direct" (formula "25") (term "0")) + (branch "CUT: self.first = null TRUE" + (builtin "One Step Simplification" (formula "26")) + (rule "true_left" (formula "26")) + (rule "applyEq" (formula "26") (term "1") (ifseqformula "25")) + (rule "allLeft" (formula "21") (inst "t=i_0:int")) + (rule "inEqSimp_commuteGeq" (formula "21") (term "1,0,0,0,0")) + (rule "applyEq" (formula "21") (term "1,0,0,0,0,0,0,0") (ifseqformula "2")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0,0,0,0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "21") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0,0,0,0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "21") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "21") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "21") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "21") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "commute_or_2" (formula "21") (term "0")) + (rule "allLeft" (formula "20") (inst "t=i_0:int")) + (rule "eqSymm" (formula "20") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "20") (term "1,0")) + (rule "applyEq" (formula "20") (term "0,1") (ifseqformula "1")) + (rule "eqSymm" (formula "20") (term "1")) + (rule "applyEq" (formula "20") (term "1,0,1") (ifseqformula "2")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "20") (term "0,0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "20") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,0")) + (rule "add_literals" (formula "20") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "20") (term "1,0,0,0")) + (rule "add_literals" (formula "20") (term "0,0,0")) + (rule "leq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "allLeft" (formula "19") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "19") (term "1,0")) + (builtin "One Step Simplification" (formula "19") (ifInst "" (formula "29"))) + (rule "inEqSimp_commuteGeq" (formula "19")) + (rule "inEqSimp_contradInEq0" (formula "33") (ifseqformula "19")) + (rule "qeq_literals" (formula "33") (term "0")) + (builtin "One Step Simplification" (formula "33")) + (rule "closeFalse" (formula "33")) + ) + (branch "CUT: self.first = null FALSE" + (builtin "One Step Simplification" (formula "25")) + (rule "allLeft" (formula "21") (inst "t=i_0:int")) + (rule "inEqSimp_commuteGeq" (formula "21") (term "1,0,0,0,0")) + (rule "applyEq" (formula "21") (term "1,0,0,0,0,0,0,0") (ifseqformula "2")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0,0,0,0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "21") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0,0,0,0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "21") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "21") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "21") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "21") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "commute_or_2" (formula "21") (term "0")) + (rule "allLeft" (formula "20") (inst "t=i_0:int")) + (rule "eqSymm" (formula "20") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "20") (term "1,0")) + (rule "applyEq" (formula "20") (term "0,1") (ifseqformula "1")) + (rule "eqSymm" (formula "20") (term "1")) + (rule "applyEq" (formula "20") (term "1,0,1") (ifseqformula "2")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "20") (term "0,0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "20") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,0")) + (rule "add_literals" (formula "20") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "20") (term "1,0,0,0")) + (rule "add_literals" (formula "20") (term "0,0,0")) + (rule "leq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "allLeft" (formula "19") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "1,0")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1,0")) + (rule "mul_literals" (formula "19") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1,0")) + (rule "add_literals" (formula "19") (term "0,0,1,0")) + (rule "add_zero_left" (formula "19") (term "0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1")) + (rule "polySimp_addComm0" (formula "19") (term "0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,1")) + (rule "add_literals" (formula "19") (term "1,1,0,1")) + (rule "times_zero_1" (formula "19") (term "1,0,1")) + (rule "add_literals" (formula "19") (term "0,1")) + (rule "leq_literals" (formula "19") (term "1")) + (builtin "One Step Simplification" (formula "19")) + (rule "applyEq" (formula "19") (term "0,0,0") (ifseqformula "31")) + (rule "inEqSimp_invertInEq1" (formula "19") (term "1")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1")) + (rule "mul_literals" (formula "19") (term "1,1")) + (rule "polySimp_elimOne" (formula "19") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "33")) + (rule "qeq_literals" (formula "19") (term "0,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "notLeft" (formula "19")) + (rule "replace_known_right" (formula "29") (term "0") (ifseqformula "34")) + (builtin "One Step Simplification" (formula "29")) + (rule "allLeft" (formula "21") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "21") (term "0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "eqSymm" (formula "21") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "21") (term "0")) + (rule "applyEq" (formula "21") (term "1,1,1") (ifseqformula "29")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "0") (ifseqformula "33")) + (rule "qeq_literals" (formula "21") (term "0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "allLeft" (formula "22") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "22") (term "0,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0,0")) + (rule "add_zero_left" (formula "22") (term "0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "1,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,1,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "22") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,1,0")) + (rule "add_literals" (formula "22") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "22") (term "1,0,1,0")) + (rule "add_literals" (formula "22") (term "0,1,0")) + (rule "leq_literals" (formula "22") (term "1,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "32")) + (rule "inEqSimp_invertInEq1" (formula "22") (term "0")) + (rule "polySimp_mulLiterals" (formula "22") (term "0,0")) + (rule "mul_literals" (formula "22") (term "1,0")) + (rule "polySimp_elimOne" (formula "22") (term "0,0")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "34")) + (rule "qeq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "allLeft" (formula "19") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "19") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "1,0")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1,0")) + (rule "mul_literals" (formula "19") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1,0")) + (rule "add_literals" (formula "19") (term "0,0,1,0")) + (rule "applyEq" (formula "19") (term "0,0,0,0") (ifseqformula "28")) + (rule "inEqSimp_sepNegMonomial1" (formula "19") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "19") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "19") (term "0,1,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "0,1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,0,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "19") (term "0,0,0,1")) + (rule "add_literals" (formula "19") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,0,1")) + (rule "add_literals" (formula "19") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "19") (term "1,0,0,1")) + (rule "add_literals" (formula "19") (term "0,0,1")) + (rule "leq_literals" (formula "19") (term "0,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "notLeft" (formula "19")) + (rule "replace_known_right" (formula "42") (term "1") (ifseqformula "36")) + (builtin "One Step Simplification" (formula "42")) + (rule "false_right" (formula "42")) + (rule "allLeft" (formula "25") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "25") (term "1,0,0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "25") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "25") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "25") (term "0,0,1,0,0,0,0,0")) + (rule "applyEq" (formula "25") (term "1,0,0,0,0,0,0,0") (ifseqformula "28")) + (rule "inEqSimp_sepNegMonomial1" (formula "25") (term "1,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "25") (term "0,1,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "25") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "25") (term "1,0,0,0,0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "25") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "inEqSimp_contradInEq1" (formula "25") (term "1,0,0,0,0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "25") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "25") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "25") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "25") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "25") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "25") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "25") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "25") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "commute_or_2" (formula "25") (term "0")) + (rule "allLeft" (formula "23") (inst "t=add(Z(1(#)), i_0):int")) + (rule "eqSymm" (formula "23") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0")) + (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "29")) + (rule "inEqSimp_sepNegMonomial1" (formula "23") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "23") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "23") (term "0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "23") (term "0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "23") (term "0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0")) + (rule "leq_literals" (formula "23") (term "0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "seqGetAlphaCast" (formula "1") (term "0")) (rule "castedGetAny" (formula "1") (term "0")) (builtin "One Step Simplification" (formula "1")) (rule "true_left" (formula "1")) - (rule "cut_direct" (formula "9") (term "0,0")) - (branch "CUT: fv_0 = Node::#data TRUE" - (builtin "One Step Simplification" (formula "10")) - (rule "true_left" (formula "10")) - (rule "seqGetAlphaCast" (formula "20") (term "0")) - (rule "castedGetAny" (formula "20") (term "0")) - (builtin "One Step Simplification" (formula "20")) - (rule "true_left" (formula "20")) - (rule "all_pull_out0" (formula "19") (term "1,0")) - (rule "shift_paren_and" (formula "19") (term "0,1,0")) - (rule "onlyCreatedObjectsAreReferenced" (formula "20") (term "1") (ifseqformula "14")) - (rule "ifthenelse_split" (formula "2") (term "0")) - (branch "self.last = n_2 TRUE" - (rule "referencedObjectIsCreatedRightEQ" (formula "27") (ifseqformula "2") (ifseqformula "28")) - (rule "close" (formula "27") (ifseqformula "15")) - ) - (branch "self.last = n_2 FALSE" - (rule "applyEqReverse" (formula "30") (term "0,1") (ifseqformula "2")) - (rule "hideAuxiliaryEq" (formula "2")) - (rule "replace_known_right" (formula "2") (term "0,0") (ifseqformula "24")) - (builtin "One Step Simplification" (formula "2")) - (rule "applyEqReverse" (formula "29") (term "1,1,0,0") (ifseqformula "2")) - (rule "hideAuxiliaryEq" (formula "2")) - (rule "all_pull_out3" (formula "17") (term "0")) - (rule "cnf_rightDist" (formula "17") (term "0,0")) - (rule "distr_forallAnd" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "shift_paren_or" (formula "18") (term "0")) - (rule "commute_or_2" (formula "18") (term "0,0")) - (rule "inEqSimp_or_weaken3" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "cnf_rightDist" (formula "17") (term "0,0")) - (rule "distr_forallAnd" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "commute_or_2" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "1,1")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1,1")) - (rule "add_literals" (formula "18") (term "1,1,0,1,1")) - (rule "times_zero_1" (formula "18") (term "1,0,1,1")) - (rule "add_literals" (formula "18") (term "0,1,1")) - (rule "leq_literals" (formula "18") (term "1,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "applyEq" (formula "18") (term "1,0,0") (ifseqformula "22")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "3")) - (rule "qeq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "replace_known_left" (formula "30") (term "1") (ifseqformula "18")) - (builtin "One Step Simplification" (formula "30")) - (rule "cnf_rightDist" (formula "17") (term "0,0")) - (rule "distr_forallAnd" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "commute_or_2" (formula "18") (term "0,0")) - (rule "commute_or_2" (formula "18") (term "0,0,0")) - (rule "cnf_rightDist" (formula "17") (term "0")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "commute_or" (formula "18") (term "0")) - (rule "commute_or_2" (formula "17") (term "0")) - (rule "commute_or" (formula "17") (term "0,0")) - (rule "commute_or_2" (formula "19") (term "0,0,0,0")) - (rule "shift_paren_or" (formula "19") (term "0,0,0,0,0")) - (rule "seqGetAlphaCast" (formula "24") (term "0")) - (rule "castedGetAny" (formula "24") (term "0")) - (builtin "One Step Simplification" (formula "24")) - (rule "true_left" (formula "24")) - (rule "allLeft" (formula "18") (inst "t=i_0:int")) - (rule "eqSymm" (formula "18") (term "1")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "1,0")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1,0")) - (rule "add_literals" (formula "18") (term "1,1,0,1,0")) - (rule "times_zero_1" (formula "18") (term "1,0,1,0")) - (rule "add_literals" (formula "18") (term "0,1,0")) - (rule "leq_literals" (formula "18") (term "1,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "applyEq" (formula "18") (term "1,1,1") (ifseqformula "25")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "3")) - (rule "qeq_literals" (formula "18") (term "0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "replace_known_left" (formula "33") (term "1,0") (ifseqformula "18")) - (builtin "One Step Simplification" (formula "33")) - (rule "allLeft" (formula "17") (inst "t=i_0:int")) - (rule "inEqSimp_homoInEq1" (formula "17") (term "1")) - (rule "polySimp_pullOutFactor1b" (formula "17") (term "0,1")) - (rule "add_literals" (formula "17") (term "1,1,0,1")) - (rule "times_zero_1" (formula "17") (term "1,0,1")) - (rule "add_literals" (formula "17") (term "0,1")) - (rule "leq_literals" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "applyEq" (formula "17") (term "0,0,0") (ifseqformula "26")) - (rule "inEqSimp_contradInEq1" (formula "17") (term "1") (ifseqformula "3")) - (rule "qeq_literals" (formula "17") (term "0,1")) - (builtin "One Step Simplification" (formula "17")) - (rule "notLeft" (formula "17")) - (rule "replace_known_right" (formula "34") (term "0,0") (ifseqformula "28")) - (builtin "One Step Simplification" (formula "34")) - (rule "allRight" (formula "34") (inst "sk=j_0:int")) - (rule "orRight" (formula "34")) - (rule "orRight" (formula "34")) - (rule "orRight" (formula "36")) - (rule "notRight" (formula "36")) - (rule "inEqSimp_leqRight" (formula "35")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_literals" (formula "1") (term "0,0")) - (rule "add_zero_left" (formula "1") (term "0")) - (rule "inEqSimp_geqRight" (formula "36")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_strengthen0" (formula "1") (ifseqformula "37")) - (rule "inEqSimp_contradEq3" (formula "37") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "37") (term "1,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "37") (term "0,0")) - (rule "add_literals" (formula "37") (term "1,1,0,0")) - (rule "times_zero_1" (formula "37") (term "1,0,0")) - (rule "add_literals" (formula "37") (term "0,0")) - (rule "qeq_literals" (formula "37") (term "0")) - (builtin "One Step Simplification" (formula "37")) - (rule "false_right" (formula "37")) - (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "1")) - (rule "mul_literals" (formula "2") (term "0,0")) - (rule "add_zero_left" (formula "2") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "mul_literals" (formula "2") (term "1")) - (rule "allLeft" (formula "25") (inst "t=nv_0:int")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "1,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "25") (term "0,1,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_contradInEq0" (formula "25") (term "1") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "0,1")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,0,1")) - (rule "mul_literals" (formula "25") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "25") (term "0,0,1")) - (rule "polySimp_addComm0" (formula "25") (term "0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,1")) - (rule "add_literals" (formula "25") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "25") (term "1,0,0,1")) - (rule "add_literals" (formula "25") (term "0,0,1")) - (rule "leq_literals" (formula "25") (term "0,1")) - (builtin "One Step Simplification" (formula "25")) - (rule "allLeft" (formula "26") (inst "t=Z(0(#)):int")) - (rule "add_literals" (formula "26") (term "1,1,0,0")) - (rule "leq_literals" (formula "26") (term "1,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_commuteGeq" (formula "26") (term "1")) - (rule "applyEq" (formula "26") (term "1,0,0") (ifseqformula "29")) - (rule "eqSymm" (formula "26") (term "0")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "1") (ifseqformula "6")) - (rule "qeq_literals" (formula "26") (term "0,1")) - (builtin "One Step Simplification" (formula "26")) - (rule "allLeft" (formula "23") (inst "t=nv_0:int")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "23") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq0" (formula "23") (term "1,0,0,0,0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "23") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "23") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "23") (term "0,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "23") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "allLeft" (formula "22") (inst "t=nv_0:int")) - (rule "eqSymm" (formula "22") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "22") (term "0,0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_contradInEq0" (formula "22") (term "0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "0,0")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) - (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "22") (term "0,0,0,0")) - (rule "add_literals" (formula "22") (term "0,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,0")) - (rule "add_literals" (formula "22") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "22") (term "1,0,0,0")) - (rule "add_literals" (formula "22") (term "0,0,0")) - (rule "leq_literals" (formula "22") (term "0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "allLeft" (formula "20") (inst "t=nv_0:int")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "20") (term "0,1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq0" (formula "20") (term "1") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "20") (term "0,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,1")) - (rule "leq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "allLeft" (formula "23") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "23") (term "0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "eqSymm" (formula "23") (term "1")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0")) - (rule "mul_literals" (formula "23") (term "1,0,0")) - (rule "add_zero_right" (formula "23") (term "0,0")) - (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "32")) - (rule "inEqSimp_sepPosMonomial0" (formula "23") (term "0")) - (rule "mul_literals" (formula "23") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "6")) - (rule "qeq_literals" (formula "23") (term "0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "allLeft" (formula "20") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "20") (term "1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "1")) - (rule "mul_literals" (formula "20") (term "1,0,1")) - (rule "add_zero_right" (formula "20") (term "0,1")) - (rule "applyEq" (formula "20") (term "0,0,0") (ifseqformula "33")) - (rule "inEqSimp_sepPosMonomial0" (formula "20") (term "1")) - (rule "mul_literals" (formula "20") (term "1,1")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "6")) - (rule "qeq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "replace_known_right" (formula "31") (term "0") (ifseqformula "36")) - (builtin "One Step Simplification" (formula "31")) - (rule "allLeft" (formula "24") (inst "t=i_0_0:int")) - (rule "eqSymm" (formula "24") (term "1")) - (rule "applyEq" (formula "24") (term "1,1,1") (ifseqformula "13")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "0,0") (ifseqformula "11")) - (rule "qeq_literals" (formula "24") (term "0,0,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_contradInEq0" (formula "24") (term "0") (ifseqformula "12")) - (rule "inEqSimp_homoInEq1" (formula "24") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0,0")) - (rule "add_literals" (formula "24") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "24") (term "1,0,0,0")) - (rule "add_literals" (formula "24") (term "0,0,0")) - (rule "leq_literals" (formula "24") (term "0,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "allLeft" (formula "27") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_homoInEq0" (formula "27") (term "1,0,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "27") (term "1,0,1,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,1,0,0,0,0,0")) - (rule "mul_literals" (formula "27") (term "0,1,0,1,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,1,0,0,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,1,0,0,0,0,0")) - (rule "inEqSimp_homoInEq1" (formula "27") (term "1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "27") (term "1,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,1,0,0,0,0")) - (rule "mul_literals" (formula "27") (term "0,1,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,0,1,0,0,0,0")) - (rule "add_zero_left" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "27") (term "1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "27") (term "0,1,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "27") (term "0,1,0,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "27") (term "1,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "27") (term "0,1,0,0,0,0")) - (rule "polySimp_elimOne" (formula "27") (term "0,1,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "1,0,0,0,0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "27") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_contradInEq0" (formula "27") (term "1,0,0,0,0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "27") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "27") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "27") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm0" (formula "27") (term "0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "27") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "27") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "27") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "allLeft" (formula "25") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "eqSymm" (formula "25") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "25") (term "0,0")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,0,0")) - (rule "mul_literals" (formula "25") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "25") (term "0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0,0")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "1,0")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,1,0")) - (rule "mul_literals" (formula "25") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "25") (term "0,1,0")) - (rule "polySimp_addComm1" (formula "25") (term "0,0,1,0")) - (rule "add_literals" (formula "25") (term "0,0,0,1,0")) - (rule "add_zero_left" (formula "25") (term "0,0,1,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "25") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "25") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "25") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "25") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "25") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "25") (term "0,1,0")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "25") (term "0,0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_contradInEq0" (formula "25") (term "0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "0,0")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,0,0")) - (rule "mul_literals" (formula "25") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "25") (term "0,0,0")) - (rule "polySimp_addComm0" (formula "25") (term "0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,0")) - (rule "add_literals" (formula "25") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "25") (term "1,0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0")) - (rule "leq_literals" (formula "25") (term "0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "allLeft" (formula "20") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_homoInEq0" (formula "20") (term "1,0")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1,0")) - (rule "mul_literals" (formula "20") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1,0")) - (rule "add_literals" (formula "20") (term "0,0,1,0")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1")) - (rule "polySimp_addComm1" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,0,1")) - (rule "add_zero_left" (formula "20") (term "0,0,1")) - (rule "inEqSimp_sepNegMonomial1" (formula "20") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "20") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "20") (term "0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "20") (term "1")) - (rule "polySimp_mulLiterals" (formula "20") (term "0,1")) - (rule "polySimp_elimOne" (formula "20") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "20") (term "0,1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq0" (formula "20") (term "1") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,0,1")) - (rule "polySimp_addComm0" (formula "20") (term "0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,1")) - (rule "leq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "referencedObjectIsCreatedRightEQ" (formula "44") (ifseqformula "31") (ifseqformula "39")) - (rule "close" (formula "44") (ifseqformula "15")) - ) + (rule "seqGetAlphaCast" (formula "29") (term "0")) + (rule "castedGetAny" (formula "29") (term "0")) + (builtin "One Step Simplification" (formula "29")) + (rule "true_left" (formula "29")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "5") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "5")) + (rule "replace_known_right" (formula "5") (term "0") (ifseqformula "43")) + (builtin "One Step Simplification" (formula "5") (ifInst "" (formula "42"))) + (rule "closeFalse" (formula "5")) + ) + ) + (branch "CUT: (int)self.seq[i_0] = o FALSE" + (builtin "One Step Simplification" (formula "33")) + (rule "false_right" (formula "33")) + (rule "commute_and_2" (formula "15") (term "0,0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "25") (term "1") (ifseqformula "9")) + (rule "allLeft" (formula "22") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "1")) + (rule "polySimp_addComm1" (formula "22") (term "0,1")) + (rule "applyEq" (formula "22") (term "1,0,0,0") (ifseqformula "1")) + (rule "eqSymm" (formula "22") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "1")) + (rule "polySimp_mulComm0" (formula "22") (term "1,1")) + (rule "polySimp_rightDist" (formula "22") (term "1,1")) + (rule "mul_literals" (formula "22") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "22") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "22") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "1,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "22") (term "0,1,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "1") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "0,1")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,1")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "22") (term "0,0,0,1")) + (rule "add_literals" (formula "22") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,1")) + (rule "add_literals" (formula "22") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "22") (term "1,0,0,1")) + (rule "add_literals" (formula "22") (term "0,0,1")) + (rule "leq_literals" (formula "22") (term "0,1")) + (builtin "One Step Simplification" (formula "22")) + (rule "cut_direct" (formula "24") (term "0")) + (branch "CUT: self.first = null TRUE" + (builtin "One Step Simplification" (formula "25")) + (rule "true_left" (formula "25")) + (rule "applyEq" (formula "25") (term "1") (ifseqformula "24")) + (rule "allLeft" (formula "19") (inst "t=i_0:int")) + (rule "eqSymm" (formula "19") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "19") (term "1,0")) + (rule "applyEq" (formula "19") (term "1,1,1") (ifseqformula "1")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "19") (term "0,0,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,0,0")) + (rule "add_literals" (formula "19") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "19") (term "1,0,0,0")) + (rule "add_literals" (formula "19") (term "0,0,0")) + (rule "leq_literals" (formula "19") (term "0,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "19")) + (rule "allLeft" (formula "18") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "18") (term "1,0")) + (builtin "One Step Simplification" (formula "18") (ifInst "" (formula "27"))) + (rule "inEqSimp_commuteGeq" (formula "18")) + (rule "inEqSimp_contradInEq0" (formula "31") (ifseqformula "18")) + (rule "qeq_literals" (formula "31") (term "0")) + (builtin "One Step Simplification" (formula "31")) + (rule "closeFalse" (formula "31")) + ) + (branch "CUT: self.first = null FALSE" + (builtin "One Step Simplification" (formula "24")) + (rule "allLeft" (formula "19") (inst "t=i_0:int")) + (rule "eqSymm" (formula "19") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "19") (term "1,0")) + (rule "applyEq" (formula "19") (term "1,1,1") (ifseqformula "1")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "19") (term "0,0,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,0,0")) + (rule "add_literals" (formula "19") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "19") (term "1,0,0,0")) + (rule "add_literals" (formula "19") (term "0,0,0")) + (rule "leq_literals" (formula "19") (term "0,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "applyEq" (formula "36") (term "0") (ifseqformula "19")) + (rule "allLeft" (formula "18") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) + (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) + (rule "add_literals" (formula "18") (term "0,0,1,0")) + (rule "add_zero_left" (formula "18") (term "0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "1")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,1")) + (rule "mul_literals" (formula "18") (term "0,1,0,1")) + (rule "polySimp_addAssoc" (formula "18") (term "0,1")) + (rule "polySimp_addComm0" (formula "18") (term "0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1")) + (rule "add_literals" (formula "18") (term "1,1,0,1")) + (rule "times_zero_1" (formula "18") (term "1,0,1")) + (rule "add_literals" (formula "18") (term "0,1")) + (rule "leq_literals" (formula "18") (term "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "applyEq" (formula "18") (term "0,0,0") (ifseqformula "29")) + (rule "inEqSimp_invertInEq1" (formula "18") (term "1")) + (rule "polySimp_mulLiterals" (formula "18") (term "0,1")) + (rule "mul_literals" (formula "18") (term "1,1")) + (rule "polySimp_elimOne" (formula "18") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "31")) + (rule "qeq_literals" (formula "18") (term "0,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "notLeft" (formula "18")) + (rule "replace_known_right" (formula "27") (term "0") (ifseqformula "32")) + (builtin "One Step Simplification" (formula "27")) + (rule "allLeft" (formula "20") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "eqSymm" (formula "20") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "20") (term "0")) + (rule "applyEq" (formula "20") (term "1,1,1") (ifseqformula "27")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0") (ifseqformula "31")) + (rule "qeq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "allLeft" (formula "21") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "eqSymm" (formula "21") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "21") (term "0,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,0,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,0")) + (rule "add_literals" (formula "21") (term "0,0,0,0")) + (rule "add_zero_left" (formula "21") (term "0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "1,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "21") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,1,0")) + (rule "add_literals" (formula "21") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "21") (term "1,0,1,0")) + (rule "add_literals" (formula "21") (term "0,1,0")) + (rule "leq_literals" (formula "21") (term "1,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "applyEq" (formula "21") (term "1,1,1") (ifseqformula "30")) + (rule "inEqSimp_invertInEq1" (formula "21") (term "0")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,0")) + (rule "mul_literals" (formula "21") (term "1,0")) + (rule "polySimp_elimOne" (formula "21") (term "0,0")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "0") (ifseqformula "32")) + (rule "qeq_literals" (formula "21") (term "0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "allLeft" (formula "23") (inst "t=i_0:int")) + (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0,0,0,0")) + (rule "applyEq" (formula "23") (term "1,0,0,0,0,0,0,0") (ifseqformula "1")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "23") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "23") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "commute_or_2" (formula "23") (term "0")) + (rule "allLeft" (formula "18") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) + (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) + (rule "add_literals" (formula "18") (term "0,0,1,0")) + (rule "applyEq" (formula "18") (term "0,0,0,0") (ifseqformula "27")) + (rule "inEqSimp_sepNegMonomial1" (formula "18") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "18") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "18") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "18") (term "0,1,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "0,1")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,0,1")) + (rule "mul_literals" (formula "18") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "18") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "18") (term "0,0,0,1")) + (rule "add_literals" (formula "18") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,1")) + (rule "add_literals" (formula "18") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "18") (term "1,0,0,1")) + (rule "add_literals" (formula "18") (term "0,0,1")) + (rule "leq_literals" (formula "18") (term "0,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "notLeft" (formula "18")) + (rule "allLeft" (formula "24") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0,0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "24") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,1,0,0,0,0,0")) + (rule "applyEq" (formula "24") (term "1,0,0,0,0,0,0,0") (ifseqformula "27")) + (rule "inEqSimp_sepNegMonomial1" (formula "24") (term "1,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "24") (term "0,1,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "24") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "24") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "24") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "24") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "24") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "24") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "commute_or_2" (formula "24") (term "0")) + (rule "allLeft" (formula "22") (inst "t=add(Z(1(#)), i_0):int")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0")) + (rule "inEqSimp_homoInEq0" (formula "22") (term "0,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0,0")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "28")) + (rule "inEqSimp_sepNegMonomial1" (formula "22") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "22") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "22") (term "0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "22") (term "0,0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "0,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "22") (term "0,0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,0")) + (rule "add_literals" (formula "22") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "22") (term "1,0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0")) + (rule "leq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "seqGetAlphaCast" (formula "28") (term "0")) + (rule "castedGetAny" (formula "28") (term "0")) + (builtin "One Step Simplification" (formula "28")) + (rule "true_left" (formula "28")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "4") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "4")) + (rule "replace_known_right" (formula "4") (term "0") (ifseqformula "42")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "41"))) + (rule "closeFalse" (formula "4")) + ) + ) + ) + (branch "CUT: e2_0 = Node::#next FALSE" + (builtin "One Step Simplification" (formula "6")) + (rule "onlyCreatedObjectsAreReferenced" (formula "19") (term "1") (ifseqformula "9")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "13") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "13")) + (rule "replace_known_right" (formula "13") (term "0") (ifseqformula "29")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "10"))) + (rule "true_left" (formula "13")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "14") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "14")) + (rule "replace_known_right" (formula "14") (term "0") (ifseqformula "29")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "10"))) + (rule "true_left" (formula "14")) + (rule "all_pull_out3" (formula "18") (term "0")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "shift_paren_or" (formula "19") (term "0")) + (rule "commute_or_2" (formula "19") (term "0,0")) + (rule "inEqSimp_or_weaken3" (formula "19") (term "0")) + (rule "polySimp_addAssoc" (formula "19") (term "1,0,1,0")) + (rule "add_literals" (formula "19") (term "0,1,0,1,0")) + (rule "add_zero_left" (formula "19") (term "1,0,1,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "0,1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,0,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,0,1")) + (rule "add_literals" (formula "19") (term "0,0,0,1")) + (rule "add_zero_left" (formula "19") (term "0,0,1")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "1,1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,1,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1,1")) + (rule "polySimp_addComm0" (formula "19") (term "0,0,1,1")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,1,1")) + (rule "add_literals" (formula "19") (term "1,1,0,1,1")) + (rule "times_zero_1" (formula "19") (term "1,0,1,1")) + (rule "add_literals" (formula "19") (term "0,1,1")) + (rule "leq_literals" (formula "19") (term "1,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "applyEq" (formula "19") (term "1,0,0") (ifseqformula "23")) + (rule "inEqSimp_invertInEq1" (formula "19") (term "1")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1")) + (rule "mul_literals" (formula "19") (term "1,1")) + (rule "polySimp_elimOne" (formula "19") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "25")) + (rule "qeq_literals" (formula "19") (term "0,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "19") (term "0,0")) + (rule "commute_or_2" (formula "19") (term "0,0,0")) + (rule "cnf_rightDist" (formula "18") (term "0")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "18") (term "0")) + (rule "commute_or" (formula "19") (term "0")) + (rule "commute_or" (formula "18") (term "0,0")) + (rule "commute_or_2" (formula "20") (term "0,0,0,0")) + (rule "shift_paren_or" (formula "20") (term "0,0,0,0,0")) + (rule "commute_and" (formula "15") (term "0,0,0")) + (rule "seqGetAlphaCast" (formula "1") (term "0")) + (rule "castedGetAny" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "cut_direct" (formula "33") (term "0,0")) + (branch "CUT: (int)self.seq[i_0] = o TRUE" + (builtin "One Step Simplification" (formula "34")) + (rule "commute_and_2" (formula "16") (term "0,0")) + (rule "allLeft" (formula "23") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "1")) + (rule "polySimp_addComm1" (formula "23") (term "0,1")) + (rule "applyEq" (formula "23") (term "1,0,0,0") (ifseqformula "2")) + (rule "eqSymm" (formula "23") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "23") (term "1")) + (rule "polySimp_mulComm0" (formula "23") (term "1,1")) + (rule "polySimp_rightDist" (formula "23") (term "1,1")) + (rule "mul_literals" (formula "23") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "23") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "23") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "23") (term "0,1,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,1")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "23") (term "0,0,0,1")) + (rule "add_literals" (formula "23") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1")) + (rule "add_literals" (formula "23") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "23") (term "1,0,0,1")) + (rule "add_literals" (formula "23") (term "0,0,1")) + (rule "leq_literals" (formula "23") (term "0,1")) + (builtin "One Step Simplification" (formula "23")) + (rule "applyEq" (formula "35") (term "0,1") (ifseqformula "23")) + (rule "onlyCreatedObjectsAreReferenced" (formula "27") (term "1") (ifseqformula "10")) + (rule "cut_direct" (formula "25") (term "0")) + (branch "CUT: self.first = null TRUE" + (builtin "One Step Simplification" (formula "26")) + (rule "true_left" (formula "26")) + (rule "applyEq" (formula "26") (term "1") (ifseqformula "25")) + (rule "allLeft" (formula "21") (inst "t=i_0:int")) + (rule "inEqSimp_commuteGeq" (formula "21") (term "1,0,0,0,0")) + (rule "applyEq" (formula "21") (term "1,0,0,0,0,0,0,0") (ifseqformula "2")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0,0,0,0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "21") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0,0,0,0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "21") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "21") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "21") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "21") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "commute_or_2" (formula "21") (term "0")) + (rule "allLeft" (formula "20") (inst "t=i_0:int")) + (rule "eqSymm" (formula "20") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "20") (term "1,0")) + (rule "applyEq" (formula "20") (term "0,1") (ifseqformula "1")) + (rule "eqSymm" (formula "20") (term "1")) + (rule "applyEq" (formula "20") (term "1,0,1") (ifseqformula "2")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "20") (term "0,0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "20") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,0")) + (rule "add_literals" (formula "20") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "20") (term "1,0,0,0")) + (rule "add_literals" (formula "20") (term "0,0,0")) + (rule "leq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "cut_direct" (formula "7") (term "0")) + (branch "CUT: e2_0 = Node::#data TRUE" + (builtin "One Step Simplification" (formula "8")) + (rule "true_left" (formula "8")) + (rule "applyEq" (formula "34") (term "0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "applyEq" (formula "5") (term "1,0") (ifseqformula "7")) + (rule "applyEq" (formula "8") (term "1,1") (ifseqformula "7")) + (rule "allLeft" (formula "19") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "19") (term "1,0")) + (builtin "One Step Simplification" (formula "19") (ifInst "" (formula "29"))) + (rule "inEqSimp_commuteGeq" (formula "19")) + (rule "inEqSimp_contradInEq0" (formula "33") (ifseqformula "19")) + (rule "qeq_literals" (formula "33") (term "0")) + (builtin "One Step Simplification" (formula "33")) + (rule "closeFalse" (formula "33")) ) - (branch "CUT: fv_0 = Node::#data FALSE" - (builtin "One Step Simplification" (formula "9")) - (rule "seqGetAlphaCast" (formula "20") (term "0")) - (rule "castedGetAny" (formula "20") (term "0")) - (builtin "One Step Simplification" (formula "20")) - (rule "true_left" (formula "20")) - (rule "all_pull_out0" (formula "19") (term "1,0")) - (rule "shift_paren_and" (formula "19") (term "0,1,0")) - (rule "onlyCreatedObjectsAreReferenced" (formula "20") (term "1") (ifseqformula "14")) - (rule "ifthenelse_split" (formula "2") (term "0")) - (branch "self.last = n_2 TRUE" - (rule "referencedObjectIsCreatedRightEQ" (formula "28") (ifseqformula "2") (ifseqformula "29")) - (rule "close" (formula "28") (ifseqformula "15")) - ) - (branch "self.last = n_2 FALSE" - (rule "applyEqReverse" (formula "31") (term "0,1") (ifseqformula "2")) - (rule "hideAuxiliaryEq" (formula "2")) - (rule "replace_known_right" (formula "2") (term "0,0") (ifseqformula "24")) - (builtin "One Step Simplification" (formula "2")) - (rule "applyEqReverse" (formula "30") (term "1,1,0,0") (ifseqformula "2")) - (rule "hideAuxiliaryEq" (formula "2")) - (rule "all_pull_out3" (formula "17") (term "0")) - (rule "cnf_rightDist" (formula "17") (term "0,0")) - (rule "distr_forallAnd" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "shift_paren_or" (formula "18") (term "0")) - (rule "commute_or_2" (formula "18") (term "0,0")) - (rule "inEqSimp_or_weaken3" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "cnf_rightDist" (formula "17") (term "0,0")) - (rule "distr_forallAnd" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "commute_or_2" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "1,1")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1,1")) - (rule "add_literals" (formula "18") (term "1,1,0,1,1")) - (rule "times_zero_1" (formula "18") (term "1,0,1,1")) - (rule "add_literals" (formula "18") (term "0,1,1")) - (rule "leq_literals" (formula "18") (term "1,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "applyEq" (formula "18") (term "1,0,0") (ifseqformula "22")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "3")) - (rule "qeq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "replace_known_left" (formula "31") (term "1") (ifseqformula "18")) - (builtin "One Step Simplification" (formula "31")) - (rule "cnf_rightDist" (formula "17") (term "0,0")) - (rule "distr_forallAnd" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "commute_or_2" (formula "18") (term "0,0")) - (rule "commute_or_2" (formula "18") (term "0,0,0")) - (rule "cnf_rightDist" (formula "17") (term "0")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "commute_or" (formula "18") (term "0")) - (rule "commute_or_2" (formula "17") (term "0")) - (rule "commute_or" (formula "17") (term "0,0")) - (rule "commute_or_2" (formula "19") (term "0,0,0,0")) - (rule "shift_paren_or" (formula "19") (term "0,0,0,0,0")) - (rule "seqGetAlphaCast" (formula "24") (term "0")) - (rule "castedGetAny" (formula "24") (term "0")) - (builtin "One Step Simplification" (formula "24")) - (rule "true_left" (formula "24")) - (rule "allLeft" (formula "18") (inst "t=i_0:int")) - (rule "eqSymm" (formula "18") (term "1")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "1,0")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1,0")) - (rule "add_literals" (formula "18") (term "1,1,0,1,0")) - (rule "times_zero_1" (formula "18") (term "1,0,1,0")) - (rule "add_literals" (formula "18") (term "0,1,0")) - (rule "leq_literals" (formula "18") (term "1,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "applyEq" (formula "18") (term "1,1,1") (ifseqformula "25")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "3")) - (rule "qeq_literals" (formula "18") (term "0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "replace_known_left" (formula "34") (term "1,0") (ifseqformula "18")) - (builtin "One Step Simplification" (formula "34")) - (rule "allLeft" (formula "17") (inst "t=i_0:int")) - (rule "inEqSimp_homoInEq1" (formula "17") (term "1")) - (rule "polySimp_pullOutFactor1b" (formula "17") (term "0,1")) - (rule "add_literals" (formula "17") (term "1,1,0,1")) - (rule "times_zero_1" (formula "17") (term "1,0,1")) - (rule "add_literals" (formula "17") (term "0,1")) - (rule "leq_literals" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "applyEq" (formula "17") (term "0,0,0") (ifseqformula "26")) - (rule "inEqSimp_contradInEq1" (formula "17") (term "1") (ifseqformula "3")) - (rule "qeq_literals" (formula "17") (term "0,1")) - (builtin "One Step Simplification" (formula "17")) - (rule "notLeft" (formula "17")) - (rule "replace_known_right" (formula "35") (term "0,0") (ifseqformula "28")) - (builtin "One Step Simplification" (formula "35")) - (rule "allRight" (formula "35") (inst "sk=j_0:int")) - (rule "orRight" (formula "35")) - (rule "orRight" (formula "35")) - (rule "orRight" (formula "37")) - (rule "notRight" (formula "37")) - (rule "inEqSimp_leqRight" (formula "36")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_literals" (formula "1") (term "0,0")) - (rule "add_zero_left" (formula "1") (term "0")) - (rule "inEqSimp_geqRight" (formula "37")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_strengthen0" (formula "1") (ifseqformula "38")) - (rule "inEqSimp_contradEq3" (formula "38") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "38") (term "1,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "38") (term "0,0")) - (rule "add_literals" (formula "38") (term "1,1,0,0")) - (rule "times_zero_1" (formula "38") (term "1,0,0")) - (rule "add_literals" (formula "38") (term "0,0")) - (rule "qeq_literals" (formula "38") (term "0")) - (builtin "One Step Simplification" (formula "38")) - (rule "false_right" (formula "38")) - (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "1")) - (rule "mul_literals" (formula "2") (term "0,0")) - (rule "add_zero_left" (formula "2") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "mul_literals" (formula "2") (term "1")) - (rule "allLeft" (formula "25") (inst "t=nv_0:int")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "1,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "25") (term "0,1,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_contradInEq0" (formula "25") (term "1") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "0,1")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,0,1")) - (rule "mul_literals" (formula "25") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "25") (term "0,0,1")) - (rule "polySimp_addComm0" (formula "25") (term "0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,1")) - (rule "add_literals" (formula "25") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "25") (term "1,0,0,1")) - (rule "add_literals" (formula "25") (term "0,0,1")) - (rule "leq_literals" (formula "25") (term "0,1")) - (builtin "One Step Simplification" (formula "25")) - (rule "allLeft" (formula "26") (inst "t=Z(0(#)):int")) - (rule "add_literals" (formula "26") (term "1,1,0,0")) - (rule "leq_literals" (formula "26") (term "1,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_commuteGeq" (formula "26") (term "1")) - (rule "applyEq" (formula "26") (term "1,0,0") (ifseqformula "29")) - (rule "eqSymm" (formula "26") (term "0")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "1") (ifseqformula "6")) - (rule "qeq_literals" (formula "26") (term "0,1")) - (builtin "One Step Simplification" (formula "26")) - (rule "allLeft" (formula "23") (inst "t=nv_0:int")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "23") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq0" (formula "23") (term "1,0,0,0,0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "23") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "23") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "23") (term "0,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "23") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "allLeft" (formula "22") (inst "t=nv_0:int")) - (rule "eqSymm" (formula "22") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "22") (term "0,0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_contradInEq0" (formula "22") (term "0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "0,0")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) - (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "22") (term "0,0,0,0")) - (rule "add_literals" (formula "22") (term "0,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,0")) - (rule "add_literals" (formula "22") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "22") (term "1,0,0,0")) - (rule "add_literals" (formula "22") (term "0,0,0")) - (rule "leq_literals" (formula "22") (term "0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "allLeft" (formula "20") (inst "t=nv_0:int")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "20") (term "0,1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq0" (formula "20") (term "1") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "20") (term "0,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,1")) - (rule "leq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "allLeft" (formula "23") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "23") (term "0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "eqSymm" (formula "23") (term "1")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0")) - (rule "mul_literals" (formula "23") (term "1,0,0")) - (rule "add_zero_right" (formula "23") (term "0,0")) - (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "32")) - (rule "inEqSimp_sepPosMonomial0" (formula "23") (term "0")) - (rule "mul_literals" (formula "23") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "6")) - (rule "qeq_literals" (formula "23") (term "0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "allLeft" (formula "20") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "20") (term "1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "1")) - (rule "mul_literals" (formula "20") (term "1,0,1")) - (rule "add_zero_right" (formula "20") (term "0,1")) - (rule "applyEq" (formula "20") (term "0,0,0") (ifseqformula "33")) - (rule "inEqSimp_sepPosMonomial0" (formula "20") (term "1")) - (rule "mul_literals" (formula "20") (term "1,1")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "6")) - (rule "qeq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "replace_known_right" (formula "31") (term "0") (ifseqformula "36")) - (builtin "One Step Simplification" (formula "31")) - (rule "allLeft" (formula "24") (inst "t=i_0_0:int")) - (rule "eqSymm" (formula "24") (term "1")) - (rule "applyEq" (formula "24") (term "1,1,1") (ifseqformula "13")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "0,0") (ifseqformula "11")) - (rule "qeq_literals" (formula "24") (term "0,0,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_contradInEq0" (formula "24") (term "0") (ifseqformula "12")) - (rule "inEqSimp_homoInEq1" (formula "24") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0,0")) - (rule "add_literals" (formula "24") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "24") (term "1,0,0,0")) - (rule "add_literals" (formula "24") (term "0,0,0")) - (rule "leq_literals" (formula "24") (term "0,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "allLeft" (formula "27") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_homoInEq0" (formula "27") (term "1,0,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "27") (term "1,0,1,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,1,0,0,0,0,0")) - (rule "mul_literals" (formula "27") (term "0,1,0,1,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,1,0,0,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,1,0,0,0,0,0")) - (rule "inEqSimp_homoInEq1" (formula "27") (term "1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "27") (term "1,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,1,0,0,0,0")) - (rule "mul_literals" (formula "27") (term "0,1,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,0,1,0,0,0,0")) - (rule "add_zero_left" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "27") (term "1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "27") (term "0,1,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "27") (term "0,1,0,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "27") (term "1,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "27") (term "0,1,0,0,0,0")) - (rule "polySimp_elimOne" (formula "27") (term "0,1,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "1,0,0,0,0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "27") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_contradInEq0" (formula "27") (term "1,0,0,0,0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "27") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "27") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "27") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm0" (formula "27") (term "0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "27") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "27") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "27") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "allLeft" (formula "25") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "eqSymm" (formula "25") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "25") (term "0,0")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,0,0")) - (rule "mul_literals" (formula "25") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "25") (term "0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0,0")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "1,0")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,1,0")) - (rule "mul_literals" (formula "25") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "25") (term "0,1,0")) - (rule "polySimp_addComm1" (formula "25") (term "0,0,1,0")) - (rule "add_literals" (formula "25") (term "0,0,0,1,0")) - (rule "add_zero_left" (formula "25") (term "0,0,1,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "25") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "25") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "25") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "25") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "25") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "25") (term "0,1,0")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "25") (term "0,0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_contradInEq0" (formula "25") (term "0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "0,0")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,0,0")) - (rule "mul_literals" (formula "25") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "25") (term "0,0,0")) - (rule "polySimp_addComm0" (formula "25") (term "0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,0")) - (rule "add_literals" (formula "25") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "25") (term "1,0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0")) - (rule "leq_literals" (formula "25") (term "0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "allLeft" (formula "20") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_homoInEq0" (formula "20") (term "1,0")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1,0")) - (rule "mul_literals" (formula "20") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1,0")) - (rule "add_literals" (formula "20") (term "0,0,1,0")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1")) - (rule "polySimp_addComm1" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,0,1")) - (rule "add_zero_left" (formula "20") (term "0,0,1")) - (rule "inEqSimp_sepNegMonomial1" (formula "20") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "20") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "20") (term "0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "20") (term "1")) - (rule "polySimp_mulLiterals" (formula "20") (term "0,1")) - (rule "polySimp_elimOne" (formula "20") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "20") (term "0,1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq0" (formula "20") (term "1") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,0,1")) - (rule "polySimp_addComm0" (formula "20") (term "0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,1")) - (rule "leq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "referencedObjectIsCreatedRightEQ" (formula "45") (ifseqformula "31") (ifseqformula "39")) - (rule "close" (formula "45") (ifseqformula "15")) - ) + (branch "CUT: e2_0 = Node::#data FALSE" + (builtin "One Step Simplification" (formula "7")) + (rule "applyEq" (formula "34") (term "0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "applyEq" (formula "34") (term "0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "applyEq" (formula "5") (term "1,0") (ifseqformula "7")) + (rule "applyEq" (formula "8") (term "1,1") (ifseqformula "7")) + (rule "allLeft" (formula "19") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "19") (term "1,0")) + (builtin "One Step Simplification" (formula "19") (ifInst "" (formula "29"))) + (rule "inEqSimp_commuteGeq" (formula "19")) + (rule "inEqSimp_contradInEq0" (formula "33") (ifseqformula "19")) + (rule "qeq_literals" (formula "33") (term "0")) + (builtin "One Step Simplification" (formula "33")) + (rule "closeFalse" (formula "33")) ) ) - (branch "self.size = 1 + i_0 FALSE" - (rule "inEqSimp_strengthen1" (formula "4") (ifseqformula "29")) - (rule "polySimp_addAssoc" (formula "4") (term "1")) - (rule "add_literals" (formula "4") (term "0,1")) - (rule "inEqSimp_contradEq7" (formula "29") (ifseqformula "4")) - (rule "polySimp_rightDist" (formula "29") (term "1,0,0")) - (rule "mul_literals" (formula "29") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "29") (term "0,0")) - (rule "polySimp_addComm1" (formula "29") (term "0,0,0")) - (rule "add_literals" (formula "29") (term "0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "29") (term "0,0")) - (rule "add_literals" (formula "29") (term "1,1,0,0")) - (rule "times_zero_1" (formula "29") (term "1,0,0")) - (rule "add_literals" (formula "29") (term "0,0")) - (rule "leq_literals" (formula "29") (term "0")) - (builtin "One Step Simplification" (formula "29")) - (rule "false_right" (formula "29")) - (rule "all_pull_out1" (formula "19") (term "0,1,0")) - (rule "ifthenelse_split" (formula "2") (term "0")) - (branch "(Node)self.nodeseq[i_0] = n_2 TRUE" - (rule "applyEqReverse" (formula "30") (term "1,1,0,0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "1")) - (rule "applyEqReverse" (formula "29") (term "1,1") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "applyEq" (formula "28") (term "0,0,0,0,0") (ifseqformula "1")) - (rule "replace_known_right" (formula "28") (term "0,0,0,0") (ifseqformula "26")) - (builtin "One Step Simplification" (formula "28")) - (rule "applyEq" (formula "28") (term "1,0,0,1,0,1,0") (ifseqformula "1")) - (rule "all_pull_out0" (formula "18") (term "1,0")) - (rule "shift_paren_and" (formula "18") (term "0,1,0")) - (rule "all_pull_out3" (formula "18") (term "0")) - (rule "cnf_rightDist" (formula "18") (term "0,0")) - (rule "distr_forallAnd" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "distr_forallAnd" (formula "18")) - (rule "andLeft" (formula "18")) - (rule "shift_paren_or" (formula "19") (term "0")) - (rule "commute_or_2" (formula "19") (term "0,0")) - (rule "inEqSimp_or_weaken3" (formula "19") (term "0")) - (rule "polySimp_addAssoc" (formula "19") (term "1,0,1,0")) - (rule "add_literals" (formula "19") (term "0,1,0,1,0")) - (rule "add_zero_left" (formula "19") (term "1,0,1,0")) + (branch "CUT: self.first = null FALSE" + (builtin "One Step Simplification" (formula "25")) + (rule "allLeft" (formula "21") (inst "t=i_0:int")) + (rule "inEqSimp_commuteGeq" (formula "21") (term "1,0,0,0,0")) + (rule "applyEq" (formula "21") (term "1,0,0,0,0,0,0,0") (ifseqformula "2")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0,0,0,0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "21") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0,0,0,0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "21") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "21") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "21") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "21") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "commute_or_2" (formula "21") (term "0")) + (rule "allLeft" (formula "20") (inst "t=i_0:int")) + (rule "eqSymm" (formula "20") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "20") (term "1,0")) + (rule "applyEq" (formula "20") (term "0,1") (ifseqformula "1")) + (rule "eqSymm" (formula "20") (term "1")) + (rule "applyEq" (formula "20") (term "1,0,1") (ifseqformula "2")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "20") (term "0,0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "20") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,0")) + (rule "add_literals" (formula "20") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "20") (term "1,0,0,0")) + (rule "add_literals" (formula "20") (term "0,0,0")) + (rule "leq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "cut_direct" (formula "7") (term "0")) + (branch "CUT: e2_0 = Node::#data TRUE" + (builtin "One Step Simplification" (formula "8")) + (rule "true_left" (formula "8")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEq" (formula "5") (term "1,0") (ifseqformula "7")) + (rule "applyEq" (formula "8") (term "1,1") (ifseqformula "7")) + (rule "allLeft" (formula "19") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "1,0")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1,0")) + (rule "mul_literals" (formula "19") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1,0")) + (rule "add_literals" (formula "19") (term "0,0,1,0")) + (rule "add_zero_left" (formula "19") (term "0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1")) + (rule "polySimp_addComm0" (formula "19") (term "0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,1")) + (rule "add_literals" (formula "19") (term "1,1,0,1")) + (rule "times_zero_1" (formula "19") (term "1,0,1")) + (rule "add_literals" (formula "19") (term "0,1")) + (rule "leq_literals" (formula "19") (term "1")) (builtin "One Step Simplification" (formula "19")) - (rule "cnf_rightDist" (formula "18") (term "0,0")) - (rule "distr_forallAnd" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "distr_forallAnd" (formula "18")) - (rule "andLeft" (formula "18")) - (rule "commute_or_2" (formula "19") (term "0")) + (rule "applyEq" (formula "19") (term "0,0,0") (ifseqformula "31")) + (rule "inEqSimp_invertInEq1" (formula "19") (term "1")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1")) + (rule "mul_literals" (formula "19") (term "1,1")) + (rule "polySimp_elimOne" (formula "19") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "33")) + (rule "qeq_literals" (formula "19") (term "0,1")) (builtin "One Step Simplification" (formula "19")) - (rule "inEqSimp_homoInEq0" (formula "19") (term "0,1")) + (rule "notLeft" (formula "19")) + (rule "replace_known_right" (formula "29") (term "0") (ifseqformula "34")) + (builtin "One Step Simplification" (formula "29")) + (rule "allLeft" (formula "21") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "21") (term "0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "eqSymm" (formula "21") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "21") (term "0")) + (rule "applyEq" (formula "21") (term "1,1,1") (ifseqformula "29")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "0") (ifseqformula "33")) + (rule "qeq_literals" (formula "21") (term "0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "allLeft" (formula "22") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "22") (term "0,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0,0")) + (rule "add_zero_left" (formula "22") (term "0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "1,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,1,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "22") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,1,0")) + (rule "add_literals" (formula "22") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "22") (term "1,0,1,0")) + (rule "add_literals" (formula "22") (term "0,1,0")) + (rule "leq_literals" (formula "22") (term "1,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "32")) + (rule "inEqSimp_invertInEq1" (formula "22") (term "0")) + (rule "polySimp_mulLiterals" (formula "22") (term "0,0")) + (rule "mul_literals" (formula "22") (term "1,0")) + (rule "polySimp_elimOne" (formula "22") (term "0,0")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "34")) + (rule "qeq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "allLeft" (formula "19") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "19") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "1,0")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1,0")) + (rule "mul_literals" (formula "19") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1,0")) + (rule "add_literals" (formula "19") (term "0,0,1,0")) + (rule "applyEq" (formula "19") (term "0,0,0,0") (ifseqformula "28")) + (rule "inEqSimp_sepNegMonomial1" (formula "19") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "19") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "19") (term "0,1,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "0,1")) (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,1")) (rule "polySimp_rightDist" (formula "19") (term "1,0,0,1")) (rule "mul_literals" (formula "19") (term "0,1,0,0,1")) (rule "polySimp_addAssoc" (formula "19") (term "0,0,1")) - (rule "add_literals" (formula "19") (term "0,0,0,1")) - (rule "add_zero_left" (formula "19") (term "0,0,1")) - (rule "inEqSimp_homoInEq1" (formula "19") (term "1,1")) - (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,1")) - (rule "polySimp_rightDist" (formula "19") (term "1,0,1,1")) - (rule "mul_literals" (formula "19") (term "0,1,0,1,1")) - (rule "polySimp_addAssoc" (formula "19") (term "0,1,1")) - (rule "polySimp_addComm0" (formula "19") (term "0,0,1,1")) - (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,1,1")) - (rule "add_literals" (formula "19") (term "1,1,0,1,1")) - (rule "times_zero_1" (formula "19") (term "1,0,1,1")) - (rule "add_literals" (formula "19") (term "0,1,1")) - (rule "leq_literals" (formula "19") (term "1,1")) + (rule "polySimp_addComm1" (formula "19") (term "0,0,0,1")) + (rule "add_literals" (formula "19") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,0,1")) + (rule "add_literals" (formula "19") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "19") (term "1,0,0,1")) + (rule "add_literals" (formula "19") (term "0,0,1")) + (rule "leq_literals" (formula "19") (term "0,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "notLeft" (formula "19")) + (rule "replace_known_right" (formula "42") (term "1") (ifseqformula "36")) + (builtin "One Step Simplification" (formula "42")) + (rule "false_right" (formula "42")) + (rule "allLeft" (formula "25") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "25") (term "1,0,0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "25") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "25") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "25") (term "0,0,1,0,0,0,0,0")) + (rule "applyEq" (formula "25") (term "1,0,0,0,0,0,0,0") (ifseqformula "28")) + (rule "inEqSimp_sepNegMonomial1" (formula "25") (term "1,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "25") (term "0,1,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "25") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "25") (term "1,0,0,0,0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "25") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "inEqSimp_contradInEq1" (formula "25") (term "1,0,0,0,0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "25") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "25") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "25") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "25") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "25") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "25") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "25") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "25") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "commute_or_2" (formula "25") (term "0")) + (rule "allLeft" (formula "23") (inst "t=add(Z(1(#)), i_0):int")) + (rule "eqSymm" (formula "23") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0")) + (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "29")) + (rule "inEqSimp_sepNegMonomial1" (formula "23") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "23") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "23") (term "0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "23") (term "0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "23") (term "0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0")) + (rule "leq_literals" (formula "23") (term "0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "seqGetAlphaCast" (formula "1") (term "0")) + (rule "castedGetAny" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "seqGetAlphaCast" (formula "29") (term "0")) + (rule "castedGetAny" (formula "29") (term "0")) + (builtin "One Step Simplification" (formula "29")) + (rule "true_left" (formula "29")) + (rule "seqGetAlphaCast" (formula "21") (term "0")) + (rule "castedGetAny" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (rule "true_left" (formula "21")) + (rule "allLeft" (formula "30") (inst "t=Z(0(#)):int")) + (rule "add_literals" (formula "30") (term "1,1,0,0")) + (rule "leq_literals" (formula "30") (term "1,0")) + (builtin "One Step Simplification" (formula "30")) + (rule "inEqSimp_homoInEq1" (formula "30") (term "1")) + (rule "mul_literals" (formula "30") (term "1,0,1")) + (rule "add_zero_right" (formula "30") (term "0,1")) + (rule "applyEq" (formula "30") (term "1,0,0") (ifseqformula "33")) + (rule "eqSymm" (formula "30") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "30") (term "1")) + (rule "mul_literals" (formula "30") (term "1,1")) + (rule "allLeft" (formula "31") (inst "t=add(Z(1(#)), i_0):int")) + (rule "polySimp_addAssoc" (formula "31") (term "1,1,0,0")) + (rule "add_literals" (formula "31") (term "0,1,1,0,0")) + (rule "inEqSimp_homoInEq0" (formula "31") (term "1,0")) + (rule "polySimp_mulComm0" (formula "31") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "31") (term "1,0,1,0")) + (rule "mul_literals" (formula "31") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "31") (term "0,1,0")) + (rule "add_literals" (formula "31") (term "0,0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "31") (term "1")) + (rule "polySimp_mulComm0" (formula "31") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "31") (term "1,0,1")) + (rule "mul_literals" (formula "31") (term "0,1,0,1")) + (rule "polySimp_addComm1" (formula "31") (term "0,1")) + (rule "polySimp_addAssoc" (formula "31") (term "0,0,1")) + (rule "add_literals" (formula "31") (term "0,0,0,1")) + (rule "applyEq" (formula "31") (term "1,0,0,0") (ifseqformula "29")) + (rule "eqSymm" (formula "31") (term "0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "31") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "31") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "31") (term "0,1,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "31") (term "1")) + (rule "polySimp_mulComm0" (formula "31") (term "1,1")) + (rule "polySimp_rightDist" (formula "31") (term "1,1")) + (rule "mul_literals" (formula "31") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "31") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "31") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "31") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "31") (term "0,1,0")) + (builtin "One Step Simplification" (formula "31")) + (rule "allLeft" (formula "27") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "27") (term "1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "inEqSimp_commuteGeq" (formula "27") (term "1,0,0,0,0")) + (rule "applyEq" (formula "27") (term "1,0,0,0,0,0,0") (ifseqformula "35")) + (rule "inEqSimp_contradInEq1" (formula "27") (term "1,0,0,0,0") (ifseqformula "39")) + (rule "qeq_literals" (formula "27") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "commute_or_2" (formula "27") (term "0")) + (rule "inEqSimp_or_weaken2" (formula "27") (term "0,0")) + (rule "add_literals" (formula "27") (term "1,0,1,0,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "allLeft" (formula "28") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "28") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "28") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "28") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "28") (term "0,0,1,0,0,0,0,0")) + (rule "add_zero_left" (formula "28") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "28") (term "1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "28") (term "1,0,1,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "0,1,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "28") (term "0,1,0,0,0,0")) + (rule "polySimp_addComm0" (formula "28") (term "0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "28") (term "0,1,0,0,0,0")) + (rule "add_literals" (formula "28") (term "1,1,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "28") (term "1,0,1,0,0,0,0")) + (rule "add_literals" (formula "28") (term "0,1,0,0,0,0")) + (rule "leq_literals" (formula "28") (term "1,0,0,0,0")) + (builtin "One Step Simplification" (formula "28")) + (rule "applyEq" (formula "28") (term "1,0,0,0,0,0,0") (ifseqformula "38")) + (rule "inEqSimp_invertInEq1" (formula "28") (term "1,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "28") (term "0,1,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "1,1,0,0,0,0")) + (rule "polySimp_elimOne" (formula "28") (term "0,1,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "28") (term "1,0,0,0,0") (ifseqformula "40")) + (rule "qeq_literals" (formula "28") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "28")) + (rule "commute_or_2" (formula "28") (term "0")) + (rule "inEqSimp_or_weaken3" (formula "28") (term "0")) + (rule "polySimp_addAssoc" (formula "28") (term "1,0,1,0")) + (rule "add_literals" (formula "28") (term "0,1,0,1,0")) + (rule "add_zero_left" (formula "28") (term "1,0,1,0")) + (builtin "One Step Simplification" (formula "28")) + (rule "allLeft" (formula "16") (inst "t=pair(self, List::#footprint):Pair")) + (builtin "One Step Simplification" (formula "16") (ifInst "" (formula "15")) (ifInst "" (formula "15")) (ifInst "" (formula "15"))) + (rule "true_left" (formula "16")) + (rule "allLeft" (formula "16") (inst "t=pair(self, List::#seq):Pair")) + (builtin "One Step Simplification" (formula "16") (ifInst "" (formula "14")) (ifInst "" (formula "14")) (ifInst "" (formula "14"))) + (rule "true_left" (formula "16")) + (rule "seqGetAlphaCast" (formula "22") (term "0")) + (rule "castedGetAny" (formula "22") (term "0")) + (builtin "One Step Simplification" (formula "22")) + (rule "true_left" (formula "22")) + (rule "allLeft" (formula "25") (inst "t=add(Z(1(#)), i_0):int")) + (rule "polySimp_homoEq" (formula "25") (term "1,0")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,1,0")) + (rule "mul_literals" (formula "25") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "25") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,1,0")) + (rule "add_literals" (formula "25") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "25") (term "1,0,1,0")) + (rule "add_literals" (formula "25") (term "0,1,0")) + (rule "equal_literals" (formula "25") (term "1,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "inEqSimp_commuteGeq" (formula "25") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "25") (term "1,0")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,1,0")) + (rule "mul_literals" (formula "25") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0,1,0")) + (rule "add_literals" (formula "25") (term "0,0,1,0")) + (rule "applyEq" (formula "25") (term "0,0,0,0") (ifseqformula "32")) + (rule "inEqSimp_sepNegMonomial1" (formula "25") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "25") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "25") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "25") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "25") (term "0,1,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "inEqSimp_contradInEq1" (formula "25") (term "1") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "25") (term "0,1")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,0,1")) + (rule "mul_literals" (formula "25") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "25") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "25") (term "0,0,0,1")) + (rule "add_literals" (formula "25") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,1")) + (rule "add_literals" (formula "25") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "25") (term "1,0,0,1")) + (rule "add_literals" (formula "25") (term "0,0,1")) + (rule "leq_literals" (formula "25") (term "0,1")) + (builtin "One Step Simplification" (formula "25")) + (rule "notLeft" (formula "25")) + (rule "allLeft" (formula "26") (inst "t=i_0:int")) + (rule "polySimp_homoEq" (formula "26") (term "1,0")) + (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,1,0")) + (rule "add_literals" (formula "26") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "26") (term "1,0,1,0")) + (rule "add_literals" (formula "26") (term "0,1,0")) + (rule "equal_literals" (formula "26") (term "1,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_commuteGeq" (formula "26") (term "1")) + (rule "applyEq" (formula "26") (term "0,0,0,0") (ifseqformula "2")) + (rule "eqSymm" (formula "26") (term "0,0,0")) + (rule "replace_known_right" (formula "26") (term "0,0,0") (ifseqformula "43")) + (builtin "One Step Simplification" (formula "26")) + (rule "true_left" (formula "26")) + (rule "onlyCreatedObjectsAreReferenced" (formula "30") (term "0") (ifseqformula "10")) + (rule "replace_known_left" (formula "30") (term "0") (ifseqformula "31")) + (builtin "One Step Simplification" (formula "30")) + (rule "true_left" (formula "30")) + (rule "seqGetAlphaCast" (formula "23") (term "0")) + (rule "castedGetAny" (formula "23") (term "0")) + (builtin "One Step Simplification" (formula "23")) + (rule "true_left" (formula "23")) + (rule "onlyCreatedObjectsAreReferenced" (formula "31") (term "1") (ifseqformula "10")) + (rule "replace_known_right" (formula "31") (term "0") (ifseqformula "44")) + (builtin "One Step Simplification" (formula "31")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "5") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "5")) + (rule "replace_known_right" (formula "5") (term "0") (ifseqformula "49")) + (builtin "One Step Simplification" (formula "5") (ifInst "" (formula "48"))) + (rule "closeFalse" (formula "5")) + ) + (branch "CUT: e2_0 = Node::#data FALSE" + (builtin "One Step Simplification" (formula "7")) + (rule "applyEq" (formula "34") (term "0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEq" (formula "5") (term "1,0") (ifseqformula "7")) + (rule "applyEq" (formula "8") (term "1,1") (ifseqformula "7")) + (rule "allLeft" (formula "19") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "1,0")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1,0")) + (rule "mul_literals" (formula "19") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1,0")) + (rule "add_literals" (formula "19") (term "0,0,1,0")) + (rule "add_zero_left" (formula "19") (term "0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1")) + (rule "polySimp_addComm0" (formula "19") (term "0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,1")) + (rule "add_literals" (formula "19") (term "1,1,0,1")) + (rule "times_zero_1" (formula "19") (term "1,0,1")) + (rule "add_literals" (formula "19") (term "0,1")) + (rule "leq_literals" (formula "19") (term "1")) (builtin "One Step Simplification" (formula "19")) - (rule "applyEq" (formula "19") (term "1,0,0") (ifseqformula "22")) + (rule "applyEq" (formula "19") (term "0,0,0") (ifseqformula "31")) (rule "inEqSimp_invertInEq1" (formula "19") (term "1")) (rule "polySimp_mulLiterals" (formula "19") (term "0,1")) (rule "mul_literals" (formula "19") (term "1,1")) (rule "polySimp_elimOne" (formula "19") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "24")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "33")) (rule "qeq_literals" (formula "19") (term "0,1")) (builtin "One Step Simplification" (formula "19")) - (rule "cnf_rightDist" (formula "18") (term "0,0")) - (rule "distr_forallAnd" (formula "18") (term "0")) + (rule "notLeft" (formula "19")) + (rule "replace_known_right" (formula "29") (term "0") (ifseqformula "34")) + (builtin "One Step Simplification" (formula "29")) + (rule "allLeft" (formula "21") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "21") (term "0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "eqSymm" (formula "21") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "21") (term "0")) + (rule "applyEq" (formula "21") (term "1,1,1") (ifseqformula "29")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "0") (ifseqformula "33")) + (rule "qeq_literals" (formula "21") (term "0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "allLeft" (formula "22") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "22") (term "0,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0,0")) + (rule "add_zero_left" (formula "22") (term "0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "1,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,1,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "22") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,1,0")) + (rule "add_literals" (formula "22") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "22") (term "1,0,1,0")) + (rule "add_literals" (formula "22") (term "0,1,0")) + (rule "leq_literals" (formula "22") (term "1,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "32")) + (rule "inEqSimp_invertInEq1" (formula "22") (term "0")) + (rule "polySimp_mulLiterals" (formula "22") (term "0,0")) + (rule "mul_literals" (formula "22") (term "1,0")) + (rule "polySimp_elimOne" (formula "22") (term "0,0")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "34")) + (rule "qeq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "allLeft" (formula "19") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "19") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "1,0")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1,0")) + (rule "mul_literals" (formula "19") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1,0")) + (rule "add_literals" (formula "19") (term "0,0,1,0")) + (rule "applyEq" (formula "19") (term "0,0,0,0") (ifseqformula "28")) + (rule "inEqSimp_sepNegMonomial1" (formula "19") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "19") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "19") (term "0,1,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "0,1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,0,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "19") (term "0,0,0,1")) + (rule "add_literals" (formula "19") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,0,1")) + (rule "add_literals" (formula "19") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "19") (term "1,0,0,1")) + (rule "add_literals" (formula "19") (term "0,0,1")) + (rule "leq_literals" (formula "19") (term "0,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "notLeft" (formula "19")) + (rule "replace_known_right" (formula "42") (term "1") (ifseqformula "36")) + (builtin "One Step Simplification" (formula "42")) + (rule "false_right" (formula "42")) + (rule "allLeft" (formula "25") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "25") (term "1,0,0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "25") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "25") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "25") (term "0,0,1,0,0,0,0,0")) + (rule "applyEq" (formula "25") (term "1,0,0,0,0,0,0,0") (ifseqformula "28")) + (rule "inEqSimp_sepNegMonomial1" (formula "25") (term "1,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "25") (term "0,1,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "25") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "25") (term "1,0,0,0,0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "25") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "inEqSimp_contradInEq1" (formula "25") (term "1,0,0,0,0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "25") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "25") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "25") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "25") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "25") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "25") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "25") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "25") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "commute_or_2" (formula "25") (term "0")) + (rule "allLeft" (formula "23") (inst "t=add(Z(1(#)), i_0):int")) + (rule "eqSymm" (formula "23") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0")) + (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "29")) + (rule "inEqSimp_sepNegMonomial1" (formula "23") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "23") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "23") (term "0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "23") (term "0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "23") (term "0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0")) + (rule "leq_literals" (formula "23") (term "0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "seqGetAlphaCast" (formula "1") (term "0")) + (rule "castedGetAny" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "seqGetAlphaCast" (formula "29") (term "0")) + (rule "castedGetAny" (formula "29") (term "0")) + (builtin "One Step Simplification" (formula "29")) + (rule "true_left" (formula "29")) + (rule "seqGetAlphaCast" (formula "21") (term "0")) + (rule "castedGetAny" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (rule "true_left" (formula "21")) + (rule "allLeft" (formula "30") (inst "t=Z(0(#)):int")) + (rule "add_literals" (formula "30") (term "1,1,0,0")) + (rule "leq_literals" (formula "30") (term "1,0")) + (builtin "One Step Simplification" (formula "30")) + (rule "inEqSimp_homoInEq1" (formula "30") (term "1")) + (rule "mul_literals" (formula "30") (term "1,0,1")) + (rule "add_zero_right" (formula "30") (term "0,1")) + (rule "applyEq" (formula "30") (term "1,0,0") (ifseqformula "33")) + (rule "eqSymm" (formula "30") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "30") (term "1")) + (rule "mul_literals" (formula "30") (term "1,1")) + (rule "allLeft" (formula "31") (inst "t=add(Z(1(#)), i_0):int")) + (rule "polySimp_addAssoc" (formula "31") (term "1,1,0,0")) + (rule "add_literals" (formula "31") (term "0,1,1,0,0")) + (rule "inEqSimp_homoInEq0" (formula "31") (term "1,0")) + (rule "polySimp_mulComm0" (formula "31") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "31") (term "1,0,1,0")) + (rule "mul_literals" (formula "31") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "31") (term "0,1,0")) + (rule "add_literals" (formula "31") (term "0,0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "31") (term "1")) + (rule "polySimp_mulComm0" (formula "31") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "31") (term "1,0,1")) + (rule "mul_literals" (formula "31") (term "0,1,0,1")) + (rule "polySimp_addComm1" (formula "31") (term "0,1")) + (rule "polySimp_addAssoc" (formula "31") (term "0,0,1")) + (rule "add_literals" (formula "31") (term "0,0,0,1")) + (rule "applyEq" (formula "31") (term "1,0,0,0") (ifseqformula "29")) + (rule "eqSymm" (formula "31") (term "0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "31") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "31") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "31") (term "0,1,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "31") (term "1")) + (rule "polySimp_mulComm0" (formula "31") (term "1,1")) + (rule "polySimp_rightDist" (formula "31") (term "1,1")) + (rule "mul_literals" (formula "31") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "31") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "31") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "31") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "31") (term "0,1,0")) + (builtin "One Step Simplification" (formula "31")) + (rule "allLeft" (formula "27") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "27") (term "1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "inEqSimp_commuteGeq" (formula "27") (term "1,0,0,0,0")) + (rule "applyEq" (formula "27") (term "1,0,0,0,0,0,0") (ifseqformula "35")) + (rule "inEqSimp_contradInEq1" (formula "27") (term "1,0,0,0,0") (ifseqformula "39")) + (rule "qeq_literals" (formula "27") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "commute_or_2" (formula "27") (term "0")) + (rule "inEqSimp_or_weaken2" (formula "27") (term "0,0")) + (rule "add_literals" (formula "27") (term "1,0,1,0,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "allLeft" (formula "28") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "28") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "28") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "28") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "28") (term "0,0,1,0,0,0,0,0")) + (rule "add_zero_left" (formula "28") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "28") (term "1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "28") (term "1,0,1,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "0,1,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "28") (term "0,1,0,0,0,0")) + (rule "polySimp_addComm0" (formula "28") (term "0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "28") (term "0,1,0,0,0,0")) + (rule "add_literals" (formula "28") (term "1,1,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "28") (term "1,0,1,0,0,0,0")) + (rule "add_literals" (formula "28") (term "0,1,0,0,0,0")) + (rule "leq_literals" (formula "28") (term "1,0,0,0,0")) + (builtin "One Step Simplification" (formula "28")) + (rule "applyEq" (formula "28") (term "1,0,0,0,0,0,0") (ifseqformula "38")) + (rule "inEqSimp_invertInEq1" (formula "28") (term "1,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "28") (term "0,1,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "1,1,0,0,0,0")) + (rule "polySimp_elimOne" (formula "28") (term "0,1,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "28") (term "1,0,0,0,0") (ifseqformula "40")) + (rule "qeq_literals" (formula "28") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "28")) + (rule "commute_or_2" (formula "28") (term "0")) + (rule "inEqSimp_or_weaken3" (formula "28") (term "0")) + (rule "polySimp_addAssoc" (formula "28") (term "1,0,1,0")) + (rule "add_literals" (formula "28") (term "0,1,0,1,0")) + (rule "add_zero_left" (formula "28") (term "1,0,1,0")) + (builtin "One Step Simplification" (formula "28")) + (rule "allLeft" (formula "16") (inst "t=pair(self, List::#footprint):Pair")) + (builtin "One Step Simplification" (formula "16") (ifInst "" (formula "15")) (ifInst "" (formula "15")) (ifInst "" (formula "15"))) + (rule "true_left" (formula "16")) + (rule "allLeft" (formula "16") (inst "t=pair(self, List::#seq):Pair")) + (builtin "One Step Simplification" (formula "16") (ifInst "" (formula "14")) (ifInst "" (formula "14")) (ifInst "" (formula "14"))) + (rule "true_left" (formula "16")) + (rule "seqGetAlphaCast" (formula "22") (term "0")) + (rule "castedGetAny" (formula "22") (term "0")) + (builtin "One Step Simplification" (formula "22")) + (rule "true_left" (formula "22")) + (rule "allLeft" (formula "25") (inst "t=add(Z(1(#)), i_0):int")) + (rule "polySimp_homoEq" (formula "25") (term "1,0")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,1,0")) + (rule "mul_literals" (formula "25") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "25") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,1,0")) + (rule "add_literals" (formula "25") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "25") (term "1,0,1,0")) + (rule "add_literals" (formula "25") (term "0,1,0")) + (rule "equal_literals" (formula "25") (term "1,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "inEqSimp_commuteGeq" (formula "25") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "25") (term "1,0")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,1,0")) + (rule "mul_literals" (formula "25") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0,1,0")) + (rule "add_literals" (formula "25") (term "0,0,1,0")) + (rule "applyEq" (formula "25") (term "0,0,0,0") (ifseqformula "32")) + (rule "inEqSimp_sepNegMonomial1" (formula "25") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "25") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "25") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "25") (term "1,0") (ifseqformula "3")) + (rule "qeq_literals" (formula "25") (term "0,1,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "inEqSimp_contradInEq1" (formula "25") (term "1") (ifseqformula "4")) + (rule "inEqSimp_homoInEq1" (formula "25") (term "0,1")) + (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,0,1")) + (rule "mul_literals" (formula "25") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "25") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "25") (term "0,0,0,1")) + (rule "add_literals" (formula "25") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,1")) + (rule "add_literals" (formula "25") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "25") (term "1,0,0,1")) + (rule "add_literals" (formula "25") (term "0,0,1")) + (rule "leq_literals" (formula "25") (term "0,1")) + (builtin "One Step Simplification" (formula "25")) + (rule "notLeft" (formula "25")) + (rule "allLeft" (formula "26") (inst "t=i_0:int")) + (rule "polySimp_homoEq" (formula "26") (term "1,0")) + (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,1,0")) + (rule "add_literals" (formula "26") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "26") (term "1,0,1,0")) + (rule "add_literals" (formula "26") (term "0,1,0")) + (rule "equal_literals" (formula "26") (term "1,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_commuteGeq" (formula "26") (term "1")) + (rule "applyEq" (formula "26") (term "0,0,0,0") (ifseqformula "2")) + (rule "eqSymm" (formula "26") (term "0,0,0")) + (rule "replace_known_right" (formula "26") (term "0,0,0") (ifseqformula "43")) + (builtin "One Step Simplification" (formula "26")) + (rule "true_left" (formula "26")) + (rule "onlyCreatedObjectsAreReferenced" (formula "30") (term "0") (ifseqformula "10")) + (rule "replace_known_left" (formula "30") (term "0") (ifseqformula "31")) + (builtin "One Step Simplification" (formula "30")) + (rule "true_left" (formula "30")) + (rule "seqGetAlphaCast" (formula "23") (term "0")) + (rule "castedGetAny" (formula "23") (term "0")) + (builtin "One Step Simplification" (formula "23")) + (rule "true_left" (formula "23")) + (rule "onlyCreatedObjectsAreReferenced" (formula "31") (term "1") (ifseqformula "10")) + (rule "replace_known_right" (formula "31") (term "0") (ifseqformula "44")) + (builtin "One Step Simplification" (formula "31")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "5") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "5")) + (rule "replace_known_right" (formula "5") (term "0") (ifseqformula "49")) + (builtin "One Step Simplification" (formula "5") (ifInst "" (formula "48"))) + (rule "closeFalse" (formula "5")) + ) + ) + ) + (branch "CUT: (int)self.seq[i_0] = o FALSE" + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "commute_and_2" (formula "15") (term "0,0")) + (rule "allLeft" (formula "22") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "1")) + (rule "polySimp_addComm1" (formula "22") (term "0,1")) + (rule "applyEq" (formula "22") (term "1,0,0,0") (ifseqformula "1")) + (rule "eqSymm" (formula "22") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "1")) + (rule "polySimp_mulComm0" (formula "22") (term "1,1")) + (rule "polySimp_rightDist" (formula "22") (term "1,1")) + (rule "mul_literals" (formula "22") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "22") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "22") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "1,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "22") (term "0,1,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "1") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "0,1")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,1")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "22") (term "0,0,0,1")) + (rule "add_literals" (formula "22") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,1")) + (rule "add_literals" (formula "22") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "22") (term "1,0,0,1")) + (rule "add_literals" (formula "22") (term "0,0,1")) + (rule "leq_literals" (formula "22") (term "0,1")) + (builtin "One Step Simplification" (formula "22")) + (rule "onlyCreatedObjectsAreReferenced" (formula "26") (term "1") (ifseqformula "9")) + (rule "cut_direct" (formula "24") (term "0")) + (branch "CUT: self.first = null TRUE" + (builtin "One Step Simplification" (formula "25")) + (rule "true_left" (formula "25")) + (rule "applyEq" (formula "25") (term "1") (ifseqformula "24")) + (rule "allLeft" (formula "19") (inst "t=i_0:int")) + (rule "eqSymm" (formula "19") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "19") (term "1,0")) + (rule "applyEq" (formula "19") (term "1,1,1") (ifseqformula "1")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "19") (term "0,0,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,0,0")) + (rule "add_literals" (formula "19") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "19") (term "1,0,0,0")) + (rule "add_literals" (formula "19") (term "0,0,0")) + (rule "leq_literals" (formula "19") (term "0,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "applyEq" (formula "36") (term "0") (ifseqformula "19")) + (rule "cut_direct" (formula "6") (term "0")) + (branch "CUT: e2_0 = Node::#data TRUE" + (builtin "One Step Simplification" (formula "7")) + (rule "true_left" (formula "7")) + (rule "applyEq" (formula "32") (term "0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "32")) + (rule "false_right" (formula "32")) + (rule "applyEq" (formula "4") (term "1,0") (ifseqformula "6")) + (rule "applyEq" (formula "7") (term "1,1") (ifseqformula "6")) + (rule "allLeft" (formula "18") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "18") (term "1,0")) + (builtin "One Step Simplification" (formula "18") (ifInst "" (formula "27"))) + (rule "inEqSimp_commuteGeq" (formula "18")) + (rule "inEqSimp_contradInEq0" (formula "31") (ifseqformula "18")) + (rule "qeq_literals" (formula "31") (term "0")) + (builtin "One Step Simplification" (formula "31")) + (rule "closeFalse" (formula "31")) + ) + (branch "CUT: e2_0 = Node::#data FALSE" + (builtin "One Step Simplification" (formula "6")) + (rule "applyEq" (formula "32") (term "0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "32")) + (rule "false_right" (formula "32")) + (rule "applyEq" (formula "32") (term "0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "32")) + (rule "false_right" (formula "32")) + (rule "applyEq" (formula "4") (term "1,0") (ifseqformula "6")) + (rule "applyEq" (formula "7") (term "1,1") (ifseqformula "6")) + (rule "allLeft" (formula "18") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "18") (term "1,0")) + (builtin "One Step Simplification" (formula "18") (ifInst "" (formula "27"))) + (rule "inEqSimp_commuteGeq" (formula "18")) + (rule "inEqSimp_contradInEq0" (formula "31") (ifseqformula "18")) + (rule "qeq_literals" (formula "31") (term "0")) + (builtin "One Step Simplification" (formula "31")) + (rule "closeFalse" (formula "31")) + ) + ) + (branch "CUT: self.first = null FALSE" + (builtin "One Step Simplification" (formula "24")) + (rule "allLeft" (formula "19") (inst "t=i_0:int")) + (rule "eqSymm" (formula "19") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "19") (term "1,0")) + (rule "applyEq" (formula "19") (term "1,1,1") (ifseqformula "1")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "19") (term "0,0,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,0,0")) + (rule "add_literals" (formula "19") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "19") (term "1,0,0,0")) + (rule "add_literals" (formula "19") (term "0,0,0")) + (rule "leq_literals" (formula "19") (term "0,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "applyEq" (formula "37") (term "0") (ifseqformula "19")) + (rule "cut_direct" (formula "6") (term "0")) + (branch "CUT: e2_0 = Node::#data TRUE" + (builtin "One Step Simplification" (formula "7")) + (rule "true_left" (formula "7")) + (rule "applyEq" (formula "33") (term "0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "33")) + (rule "false_right" (formula "33")) + (rule "applyEq" (formula "4") (term "1,0") (ifseqformula "6")) + (rule "applyEq" (formula "7") (term "1,1") (ifseqformula "6")) + (rule "allLeft" (formula "18") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) + (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) + (rule "add_literals" (formula "18") (term "0,0,1,0")) + (rule "add_zero_left" (formula "18") (term "0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "1")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,1")) + (rule "mul_literals" (formula "18") (term "0,1,0,1")) + (rule "polySimp_addAssoc" (formula "18") (term "0,1")) + (rule "polySimp_addComm0" (formula "18") (term "0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1")) + (rule "add_literals" (formula "18") (term "1,1,0,1")) + (rule "times_zero_1" (formula "18") (term "1,0,1")) + (rule "add_literals" (formula "18") (term "0,1")) + (rule "leq_literals" (formula "18") (term "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "applyEq" (formula "18") (term "0,0,0") (ifseqformula "29")) + (rule "inEqSimp_invertInEq1" (formula "18") (term "1")) + (rule "polySimp_mulLiterals" (formula "18") (term "0,1")) + (rule "mul_literals" (formula "18") (term "1,1")) + (rule "polySimp_elimOne" (formula "18") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "31")) + (rule "qeq_literals" (formula "18") (term "0,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "notLeft" (formula "18")) + (rule "replace_known_right" (formula "27") (term "0") (ifseqformula "32")) + (builtin "One Step Simplification" (formula "27")) + (rule "allLeft" (formula "20") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "eqSymm" (formula "20") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "20") (term "0")) + (rule "applyEq" (formula "20") (term "1,1,1") (ifseqformula "27")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0") (ifseqformula "31")) + (rule "qeq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "allLeft" (formula "21") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "eqSymm" (formula "21") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "21") (term "0,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,0,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,0")) + (rule "add_literals" (formula "21") (term "0,0,0,0")) + (rule "add_zero_left" (formula "21") (term "0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "1,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "21") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,1,0")) + (rule "add_literals" (formula "21") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "21") (term "1,0,1,0")) + (rule "add_literals" (formula "21") (term "0,1,0")) + (rule "leq_literals" (formula "21") (term "1,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "applyEq" (formula "21") (term "1,1,1") (ifseqformula "30")) + (rule "inEqSimp_invertInEq1" (formula "21") (term "0")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,0")) + (rule "mul_literals" (formula "21") (term "1,0")) + (rule "polySimp_elimOne" (formula "21") (term "0,0")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "0") (ifseqformula "32")) + (rule "qeq_literals" (formula "21") (term "0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "allLeft" (formula "23") (inst "t=i_0:int")) + (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0,0,0,0")) + (rule "applyEq" (formula "23") (term "1,0,0,0,0,0,0,0") (ifseqformula "1")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "23") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "23") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "commute_or_2" (formula "23") (term "0")) + (rule "allLeft" (formula "18") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) + (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) + (rule "add_literals" (formula "18") (term "0,0,1,0")) + (rule "applyEq" (formula "18") (term "0,0,0,0") (ifseqformula "27")) + (rule "inEqSimp_sepNegMonomial1" (formula "18") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "18") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "18") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "18") (term "0,1,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "0,1")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,0,1")) + (rule "mul_literals" (formula "18") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "18") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "18") (term "0,0,0,1")) + (rule "add_literals" (formula "18") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,1")) + (rule "add_literals" (formula "18") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "18") (term "1,0,0,1")) + (rule "add_literals" (formula "18") (term "0,0,1")) + (rule "leq_literals" (formula "18") (term "0,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "notLeft" (formula "18")) + (rule "allLeft" (formula "24") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0,0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "24") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,1,0,0,0,0,0")) + (rule "applyEq" (formula "24") (term "1,0,0,0,0,0,0,0") (ifseqformula "27")) + (rule "inEqSimp_sepNegMonomial1" (formula "24") (term "1,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "24") (term "0,1,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "24") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "24") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "24") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "24") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "24") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "24") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "commute_or_2" (formula "24") (term "0")) + (rule "allLeft" (formula "22") (inst "t=add(Z(1(#)), i_0):int")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0")) + (rule "inEqSimp_homoInEq0" (formula "22") (term "0,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0,0")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "28")) + (rule "inEqSimp_sepNegMonomial1" (formula "22") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "22") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "22") (term "0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "22") (term "0,0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "0,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "22") (term "0,0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,0")) + (rule "add_literals" (formula "22") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "22") (term "1,0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0")) + (rule "leq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "seqGetAlphaCast" (formula "28") (term "0")) + (rule "castedGetAny" (formula "28") (term "0")) + (builtin "One Step Simplification" (formula "28")) + (rule "true_left" (formula "28")) + (rule "seqGetAlphaCast" (formula "19") (term "0")) + (rule "castedGetAny" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "true_left" (formula "19")) + (rule "seqGetAlphaCast" (formula "20") (term "0")) + (rule "castedGetAny" (formula "20") (term "0")) + (builtin "One Step Simplification" (formula "20")) + (rule "true_left" (formula "20")) + (rule "allLeft" (formula "29") (inst "t=Z(0(#)):int")) + (rule "add_literals" (formula "29") (term "1,1,0,0")) + (rule "leq_literals" (formula "29") (term "1,0")) + (builtin "One Step Simplification" (formula "29")) + (rule "inEqSimp_homoInEq1" (formula "29") (term "1")) + (rule "mul_literals" (formula "29") (term "1,0,1")) + (rule "add_zero_right" (formula "29") (term "0,1")) + (rule "applyEq" (formula "29") (term "1,0,0") (ifseqformula "32")) + (rule "eqSymm" (formula "29") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "29") (term "1")) + (rule "mul_literals" (formula "29") (term "1,1")) + (rule "allLeft" (formula "30") (inst "t=add(Z(1(#)), i_0):int")) + (rule "polySimp_addAssoc" (formula "30") (term "1,1,0,0")) + (rule "add_literals" (formula "30") (term "0,1,1,0,0")) + (rule "inEqSimp_homoInEq0" (formula "30") (term "1,0")) + (rule "polySimp_mulComm0" (formula "30") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "30") (term "1,0,1,0")) + (rule "mul_literals" (formula "30") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "30") (term "0,1,0")) + (rule "add_literals" (formula "30") (term "0,0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "30") (term "1")) + (rule "polySimp_mulComm0" (formula "30") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "30") (term "1,0,1")) + (rule "mul_literals" (formula "30") (term "0,1,0,1")) + (rule "polySimp_addComm1" (formula "30") (term "0,1")) + (rule "polySimp_addAssoc" (formula "30") (term "0,0,1")) + (rule "add_literals" (formula "30") (term "0,0,0,1")) + (rule "applyEq" (formula "30") (term "1,0,0,0") (ifseqformula "28")) + (rule "eqSymm" (formula "30") (term "0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "30") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "30") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "30") (term "0,1,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "30") (term "1")) + (rule "polySimp_mulComm0" (formula "30") (term "1,1")) + (rule "polySimp_rightDist" (formula "30") (term "1,1")) + (rule "mul_literals" (formula "30") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "30") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "30") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "30") (term "1,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "30") (term "0,1,0")) + (builtin "One Step Simplification" (formula "30")) + (rule "allLeft" (formula "26") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "26") (term "1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_commuteGeq" (formula "26") (term "1,0,0,0,0")) + (rule "applyEq" (formula "26") (term "1,0,0,0,0,0,0") (ifseqformula "34")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0") (ifseqformula "38")) + (rule "qeq_literals" (formula "26") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "commute_or_2" (formula "26") (term "0")) + (rule "inEqSimp_or_weaken2" (formula "26") (term "0,0")) + (rule "add_literals" (formula "26") (term "1,0,1,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "allLeft" (formula "27") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "27") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "27") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "27") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "27") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "27") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "27") (term "0,0,1,0,0,0,0,0")) + (rule "add_zero_left" (formula "27") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "27") (term "1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "27") (term "1,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "27") (term "1,0,1,0,0,0,0")) + (rule "mul_literals" (formula "27") (term "0,1,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "27") (term "0,1,0,0,0,0")) + (rule "polySimp_addComm0" (formula "27") (term "0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "27") (term "0,1,0,0,0,0")) + (rule "add_literals" (formula "27") (term "1,1,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "27") (term "1,0,1,0,0,0,0")) + (rule "add_literals" (formula "27") (term "0,1,0,0,0,0")) + (rule "leq_literals" (formula "27") (term "1,0,0,0,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "applyEq" (formula "27") (term "1,0,0,0,0,0,0") (ifseqformula "37")) + (rule "inEqSimp_invertInEq1" (formula "27") (term "1,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "27") (term "0,1,0,0,0,0")) + (rule "mul_literals" (formula "27") (term "1,1,0,0,0,0")) + (rule "polySimp_elimOne" (formula "27") (term "0,1,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "27") (term "1,0,0,0,0") (ifseqformula "39")) + (rule "qeq_literals" (formula "27") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "commute_or_2" (formula "27") (term "0")) + (rule "inEqSimp_or_weaken3" (formula "27") (term "0")) + (rule "polySimp_addAssoc" (formula "27") (term "1,0,1,0")) + (rule "add_literals" (formula "27") (term "0,1,0,1,0")) + (rule "add_zero_left" (formula "27") (term "1,0,1,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "seqGetAlphaCast" (formula "21") (term "0")) + (rule "castedGetAny" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (rule "true_left" (formula "21")) + (rule "allLeft" (formula "15") (inst "t=pair(self, List::#footprint):Pair")) + (builtin "One Step Simplification" (formula "15") (ifInst "" (formula "14")) (ifInst "" (formula "14")) (ifInst "" (formula "14"))) + (rule "true_left" (formula "15")) + (rule "allLeft" (formula "15") (inst "t=pair(self, List::#seq):Pair")) + (builtin "One Step Simplification" (formula "15") (ifInst "" (formula "13")) (ifInst "" (formula "13")) (ifInst "" (formula "13"))) + (rule "true_left" (formula "15")) + (rule "allLeft" (formula "24") (inst "t=add(Z(1(#)), i_0):int")) + (rule "polySimp_homoEq" (formula "24") (term "1,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,1,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "24") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,1,0")) + (rule "add_literals" (formula "24") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "24") (term "1,0,1,0")) + (rule "add_literals" (formula "24") (term "0,1,0")) + (rule "equal_literals" (formula "24") (term "1,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "inEqSimp_commuteGeq" (formula "24") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "24") (term "1,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,1,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,1,0")) + (rule "add_literals" (formula "24") (term "0,0,1,0")) + (rule "applyEq" (formula "24") (term "0,0,0,0") (ifseqformula "31")) + (rule "inEqSimp_sepNegMonomial1" (formula "24") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "24") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "24") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "24") (term "0,1,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "24") (term "0,1")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,0,1")) + (rule "mul_literals" (formula "24") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "24") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "24") (term "0,0,0,1")) + (rule "add_literals" (formula "24") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0,1")) + (rule "add_literals" (formula "24") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "24") (term "1,0,0,1")) + (rule "add_literals" (formula "24") (term "0,0,1")) + (rule "leq_literals" (formula "24") (term "0,1")) + (builtin "One Step Simplification" (formula "24")) + (rule "notLeft" (formula "24")) + (rule "allLeft" (formula "25") (inst "t=i_0:int")) + (rule "polySimp_homoEq" (formula "25") (term "1,0")) + (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,1,0")) + (rule "add_literals" (formula "25") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "25") (term "1,0,1,0")) + (rule "add_literals" (formula "25") (term "0,1,0")) + (rule "equal_literals" (formula "25") (term "1,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "inEqSimp_commuteGeq" (formula "25") (term "1")) + (rule "applyEq" (formula "25") (term "0,0,0,0") (ifseqformula "1")) + (rule "eqSymm" (formula "25") (term "0,0,0")) + (rule "replace_known_right" (formula "25") (term "0,0,0") (ifseqformula "42")) + (builtin "One Step Simplification" (formula "25")) + (rule "true_left" (formula "25")) + (rule "onlyCreatedObjectsAreReferenced" (formula "29") (term "0") (ifseqformula "9")) + (rule "replace_known_left" (formula "29") (term "0") (ifseqformula "30")) + (builtin "One Step Simplification" (formula "29")) + (rule "true_left" (formula "29")) + (rule "seqGetAlphaCast" (formula "22") (term "0")) + (rule "castedGetAny" (formula "22") (term "0")) + (builtin "One Step Simplification" (formula "22")) + (rule "true_left" (formula "22")) + (rule "onlyCreatedObjectsAreReferenced" (formula "30") (term "1") (ifseqformula "9")) + (rule "replace_known_right" (formula "30") (term "0") (ifseqformula "43")) + (builtin "One Step Simplification" (formula "30")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "4") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "4")) + (rule "replace_known_right" (formula "4") (term "0") (ifseqformula "48")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "47"))) + (rule "closeFalse" (formula "4")) + ) + (branch "CUT: e2_0 = Node::#data FALSE" + (builtin "One Step Simplification" (formula "6")) + (rule "applyEq" (formula "32") (term "0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "32")) + (rule "false_right" (formula "32")) + (rule "applyEq" (formula "33") (term "0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "33")) + (rule "false_right" (formula "33")) + (rule "applyEq" (formula "4") (term "1,0") (ifseqformula "6")) + (rule "applyEq" (formula "7") (term "1,1") (ifseqformula "6")) + (rule "allLeft" (formula "18") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) + (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) + (rule "add_literals" (formula "18") (term "0,0,1,0")) + (rule "add_zero_left" (formula "18") (term "0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "1")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,1")) + (rule "mul_literals" (formula "18") (term "0,1,0,1")) + (rule "polySimp_addAssoc" (formula "18") (term "0,1")) + (rule "polySimp_addComm0" (formula "18") (term "0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1")) + (rule "add_literals" (formula "18") (term "1,1,0,1")) + (rule "times_zero_1" (formula "18") (term "1,0,1")) + (rule "add_literals" (formula "18") (term "0,1")) + (rule "leq_literals" (formula "18") (term "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "applyEq" (formula "18") (term "0,0,0") (ifseqformula "29")) + (rule "inEqSimp_invertInEq1" (formula "18") (term "1")) + (rule "polySimp_mulLiterals" (formula "18") (term "0,1")) + (rule "mul_literals" (formula "18") (term "1,1")) + (rule "polySimp_elimOne" (formula "18") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "31")) + (rule "qeq_literals" (formula "18") (term "0,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "notLeft" (formula "18")) + (rule "replace_known_right" (formula "27") (term "0") (ifseqformula "32")) + (builtin "One Step Simplification" (formula "27")) + (rule "allLeft" (formula "20") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "eqSymm" (formula "20") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "20") (term "0")) + (rule "applyEq" (formula "20") (term "1,1,1") (ifseqformula "27")) + (rule "inEqSimp_contradInEq1" (formula "20") (term "0") (ifseqformula "31")) + (rule "qeq_literals" (formula "20") (term "0,0")) + (builtin "One Step Simplification" (formula "20")) + (rule "allLeft" (formula "21") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "eqSymm" (formula "21") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "21") (term "0,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,0,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,0")) + (rule "add_literals" (formula "21") (term "0,0,0,0")) + (rule "add_zero_left" (formula "21") (term "0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "1,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "21") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,1,0")) + (rule "add_literals" (formula "21") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "21") (term "1,0,1,0")) + (rule "add_literals" (formula "21") (term "0,1,0")) + (rule "leq_literals" (formula "21") (term "1,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "applyEq" (formula "21") (term "1,1,1") (ifseqformula "30")) + (rule "inEqSimp_invertInEq1" (formula "21") (term "0")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,0")) + (rule "mul_literals" (formula "21") (term "1,0")) + (rule "polySimp_elimOne" (formula "21") (term "0,0")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "0") (ifseqformula "32")) + (rule "qeq_literals" (formula "21") (term "0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "allLeft" (formula "23") (inst "t=i_0:int")) + (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0,0,0,0")) + (rule "applyEq" (formula "23") (term "1,0,0,0,0,0,0,0") (ifseqformula "1")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "23") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "23") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "commute_or_2" (formula "23") (term "0")) + (rule "allLeft" (formula "18") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) + (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) + (rule "add_literals" (formula "18") (term "0,0,1,0")) + (rule "applyEq" (formula "18") (term "0,0,0,0") (ifseqformula "27")) + (rule "inEqSimp_sepNegMonomial1" (formula "18") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "18") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "18") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "18") (term "0,1,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "0,1")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,0,1")) + (rule "mul_literals" (formula "18") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "18") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "18") (term "0,0,0,1")) + (rule "add_literals" (formula "18") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,1")) + (rule "add_literals" (formula "18") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "18") (term "1,0,0,1")) + (rule "add_literals" (formula "18") (term "0,0,1")) + (rule "leq_literals" (formula "18") (term "0,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "notLeft" (formula "18")) + (rule "allLeft" (formula "24") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0,0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "24") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,1,0,0,0,0,0")) + (rule "applyEq" (formula "24") (term "1,0,0,0,0,0,0,0") (ifseqformula "27")) + (rule "inEqSimp_sepNegMonomial1" (formula "24") (term "1,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "24") (term "0,1,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "24") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "24") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "24") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "24") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "24") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "24") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "commute_or_2" (formula "24") (term "0")) + (rule "allLeft" (formula "22") (inst "t=add(Z(1(#)), i_0):int")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0")) + (rule "inEqSimp_homoInEq0" (formula "22") (term "0,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0,0")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "28")) + (rule "inEqSimp_sepNegMonomial1" (formula "22") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "22") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "22") (term "0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "22") (term "0,0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "0,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "22") (term "0,0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,0")) + (rule "add_literals" (formula "22") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "22") (term "1,0,0,0")) + (rule "add_literals" (formula "22") (term "0,0,0")) + (rule "leq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "seqGetAlphaCast" (formula "28") (term "0")) + (rule "castedGetAny" (formula "28") (term "0")) + (builtin "One Step Simplification" (formula "28")) + (rule "true_left" (formula "28")) + (rule "seqGetAlphaCast" (formula "19") (term "0")) + (rule "castedGetAny" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "true_left" (formula "19")) + (rule "seqGetAlphaCast" (formula "20") (term "0")) + (rule "castedGetAny" (formula "20") (term "0")) + (builtin "One Step Simplification" (formula "20")) + (rule "true_left" (formula "20")) + (rule "allLeft" (formula "29") (inst "t=Z(0(#)):int")) + (rule "add_literals" (formula "29") (term "1,1,0,0")) + (rule "leq_literals" (formula "29") (term "1,0")) + (builtin "One Step Simplification" (formula "29")) + (rule "inEqSimp_homoInEq1" (formula "29") (term "1")) + (rule "mul_literals" (formula "29") (term "1,0,1")) + (rule "add_zero_right" (formula "29") (term "0,1")) + (rule "applyEq" (formula "29") (term "1,0,0") (ifseqformula "32")) + (rule "eqSymm" (formula "29") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "29") (term "1")) + (rule "mul_literals" (formula "29") (term "1,1")) + (rule "allLeft" (formula "30") (inst "t=add(Z(1(#)), i_0):int")) + (rule "polySimp_addAssoc" (formula "30") (term "1,1,0,0")) + (rule "add_literals" (formula "30") (term "0,1,1,0,0")) + (rule "inEqSimp_homoInEq0" (formula "30") (term "1,0")) + (rule "polySimp_mulComm0" (formula "30") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "30") (term "1,0,1,0")) + (rule "mul_literals" (formula "30") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "30") (term "0,1,0")) + (rule "add_literals" (formula "30") (term "0,0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "30") (term "1")) + (rule "polySimp_mulComm0" (formula "30") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "30") (term "1,0,1")) + (rule "mul_literals" (formula "30") (term "0,1,0,1")) + (rule "polySimp_addComm1" (formula "30") (term "0,1")) + (rule "polySimp_addAssoc" (formula "30") (term "0,0,1")) + (rule "add_literals" (formula "30") (term "0,0,0,1")) + (rule "applyEq" (formula "30") (term "1,0,0,0") (ifseqformula "28")) + (rule "eqSymm" (formula "30") (term "0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "30") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "30") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "30") (term "0,1,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "30") (term "1")) + (rule "polySimp_mulComm0" (formula "30") (term "1,1")) + (rule "polySimp_rightDist" (formula "30") (term "1,1")) + (rule "mul_literals" (formula "30") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "30") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "30") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "30") (term "1,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "30") (term "0,1,0")) + (builtin "One Step Simplification" (formula "30")) + (rule "allLeft" (formula "26") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "26") (term "1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_commuteGeq" (formula "26") (term "1,0,0,0,0")) + (rule "applyEq" (formula "26") (term "1,0,0,0,0,0,0") (ifseqformula "34")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0") (ifseqformula "38")) + (rule "qeq_literals" (formula "26") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "commute_or_2" (formula "26") (term "0")) + (rule "inEqSimp_or_weaken2" (formula "26") (term "0,0")) + (rule "add_literals" (formula "26") (term "1,0,1,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "allLeft" (formula "27") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "27") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "27") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "27") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "27") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "27") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "27") (term "0,0,1,0,0,0,0,0")) + (rule "add_zero_left" (formula "27") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "27") (term "1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "27") (term "1,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "27") (term "1,0,1,0,0,0,0")) + (rule "mul_literals" (formula "27") (term "0,1,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "27") (term "0,1,0,0,0,0")) + (rule "polySimp_addComm0" (formula "27") (term "0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "27") (term "0,1,0,0,0,0")) + (rule "add_literals" (formula "27") (term "1,1,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "27") (term "1,0,1,0,0,0,0")) + (rule "add_literals" (formula "27") (term "0,1,0,0,0,0")) + (rule "leq_literals" (formula "27") (term "1,0,0,0,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "applyEq" (formula "27") (term "1,0,0,0,0,0,0") (ifseqformula "37")) + (rule "inEqSimp_invertInEq1" (formula "27") (term "1,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "27") (term "0,1,0,0,0,0")) + (rule "mul_literals" (formula "27") (term "1,1,0,0,0,0")) + (rule "polySimp_elimOne" (formula "27") (term "0,1,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "27") (term "1,0,0,0,0") (ifseqformula "39")) + (rule "qeq_literals" (formula "27") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "commute_or_2" (formula "27") (term "0")) + (rule "inEqSimp_or_weaken3" (formula "27") (term "0")) + (rule "polySimp_addAssoc" (formula "27") (term "1,0,1,0")) + (rule "add_literals" (formula "27") (term "0,1,0,1,0")) + (rule "add_zero_left" (formula "27") (term "1,0,1,0")) + (builtin "One Step Simplification" (formula "27")) + (rule "seqGetAlphaCast" (formula "21") (term "0")) + (rule "castedGetAny" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (rule "true_left" (formula "21")) + (rule "allLeft" (formula "15") (inst "t=pair(self, List::#footprint):Pair")) + (builtin "One Step Simplification" (formula "15") (ifInst "" (formula "14")) (ifInst "" (formula "14")) (ifInst "" (formula "14"))) + (rule "true_left" (formula "15")) + (rule "allLeft" (formula "15") (inst "t=pair(self, List::#seq):Pair")) + (builtin "One Step Simplification" (formula "15") (ifInst "" (formula "13")) (ifInst "" (formula "13")) (ifInst "" (formula "13"))) + (rule "true_left" (formula "15")) + (rule "allLeft" (formula "24") (inst "t=add(Z(1(#)), i_0):int")) + (rule "polySimp_homoEq" (formula "24") (term "1,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,1,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "24") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,1,0")) + (rule "add_literals" (formula "24") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "24") (term "1,0,1,0")) + (rule "add_literals" (formula "24") (term "0,1,0")) + (rule "equal_literals" (formula "24") (term "1,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "inEqSimp_commuteGeq" (formula "24") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "24") (term "1,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,1,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,1,0")) + (rule "add_literals" (formula "24") (term "0,0,1,0")) + (rule "applyEq" (formula "24") (term "0,0,0,0") (ifseqformula "31")) + (rule "inEqSimp_sepNegMonomial1" (formula "24") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "24") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "24") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "24") (term "0,1,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "1") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "24") (term "0,1")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,0,1")) + (rule "mul_literals" (formula "24") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "24") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "24") (term "0,0,0,1")) + (rule "add_literals" (formula "24") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0,1")) + (rule "add_literals" (formula "24") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "24") (term "1,0,0,1")) + (rule "add_literals" (formula "24") (term "0,0,1")) + (rule "leq_literals" (formula "24") (term "0,1")) + (builtin "One Step Simplification" (formula "24")) + (rule "notLeft" (formula "24")) + (rule "allLeft" (formula "25") (inst "t=i_0:int")) + (rule "polySimp_homoEq" (formula "25") (term "1,0")) + (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,1,0")) + (rule "add_literals" (formula "25") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "25") (term "1,0,1,0")) + (rule "add_literals" (formula "25") (term "0,1,0")) + (rule "equal_literals" (formula "25") (term "1,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "inEqSimp_commuteGeq" (formula "25") (term "1")) + (rule "applyEq" (formula "25") (term "0,0,0,0") (ifseqformula "1")) + (rule "eqSymm" (formula "25") (term "0,0,0")) + (rule "replace_known_right" (formula "25") (term "0,0,0") (ifseqformula "42")) + (builtin "One Step Simplification" (formula "25")) + (rule "true_left" (formula "25")) + (rule "onlyCreatedObjectsAreReferenced" (formula "29") (term "0") (ifseqformula "9")) + (rule "replace_known_left" (formula "29") (term "0") (ifseqformula "30")) + (builtin "One Step Simplification" (formula "29")) + (rule "true_left" (formula "29")) + (rule "seqGetAlphaCast" (formula "22") (term "0")) + (rule "castedGetAny" (formula "22") (term "0")) + (builtin "One Step Simplification" (formula "22")) + (rule "true_left" (formula "22")) + (rule "onlyCreatedObjectsAreReferenced" (formula "30") (term "1") (ifseqformula "9")) + (rule "replace_known_right" (formula "30") (term "0") (ifseqformula "43")) + (builtin "One Step Simplification" (formula "30")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "4") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "4")) + (rule "replace_known_right" (formula "4") (term "0") (ifseqformula "48")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "47"))) + (rule "closeFalse" (formula "4")) + ) + ) + ) + ) + ) + (branch "(Node)self.nodeseq[i_0] = n_2 FALSE" + (rule "applyEqReverse" (formula "28") (term "1,1,0,0") (ifseqformula "2")) + (rule "hideAuxiliaryEq" (formula "2")) + (rule "replace_known_right" (formula "1") (term "0,0") (ifseqformula "23")) + (builtin "One Step Simplification" (formula "1")) + (rule "applyEqReverse" (formula "27") (term "1,1") (ifseqformula "1")) + (rule "hideAuxiliaryEq" (formula "1")) + (rule "eqSymm" (formula "26") (term "1")) + (rule "commute_or" (formula "16") (term "0,0,0,1,0,1,0")) + (rule "commute_and" (formula "14") (term "0,0,1,0,0")) + (rule "cut_direct" (formula "26") (term "0,0,0,0")) + (branch "CUT: (Node)self.nodeseq[i_0] = null TRUE" + (builtin "One Step Simplification" (formula "27")) + (rule "false_right" (formula "27")) + (rule "applyEq" (formula "23") (term "0") (ifseqformula "1")) + (rule "eqSymm" (formula "23")) + (rule "all_pull_out1" (formula "16") (term "1,0")) + (rule "ex_pull_out3" (formula "15") (term "0,0")) + (rule "cnf_rightDist" (formula "15") (term "0,0,0")) + (rule "commute_or" (formula "15") (term "1,0,0,0")) + (rule "cnf_rightDist" (formula "15") (term "0,0,0,0")) + (rule "commute_or" (formula "15") (term "1,0,0,0,0")) + (rule "ex_pull_out2" (formula "15") (term "0")) + (rule "commute_or" (formula "15") (term "0,0")) + (rule "cnf_rightDist" (formula "15") (term "0,0")) + (rule "commute_or_2" (formula "15") (term "1,0,0")) + (rule "commute_or" (formula "15") (term "0,1,0,0")) + (rule "cnf_rightDist" (formula "15") (term "0,0,0")) + (rule "commute_or_2" (formula "15") (term "1,0,0,0")) + (rule "shift_paren_or" (formula "15") (term "0,0,0,0")) + (rule "commute_or" (formula "15") (term "0,1,0,0,0")) + (rule "all_pull_out1" (formula "17") (term "0,1,0")) + (rule "all_pull_out3" (formula "16") (term "0")) + (rule "cnf_rightDist" (formula "16") (term "0,0")) + (rule "distr_forallAnd" (formula "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "distr_forallAnd" (formula "16")) + (rule "andLeft" (formula "16")) + (rule "commute_or_2" (formula "17") (term "0,0")) + (rule "commute_or_2" (formula "17") (term "0,0,0")) + (rule "commute_or" (formula "17") (term "0,0,0,0")) + (rule "seqGetAlphaCast" (formula "19") (term "0")) + (rule "castedGetAny" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "true_left" (formula "19")) + (rule "seqGetAlphaCast" (formula "20") (term "0")) + (rule "castedGetAny" (formula "20") (term "0")) + (builtin "One Step Simplification" (formula "20")) + (rule "true_left" (formula "20")) + (rule "all_pull_out0" (formula "18") (term "1,0")) + (rule "shift_paren_and" (formula "18") (term "0,1,0")) + (rule "cut_direct" (formula "6") (term "1,0")) + (branch "CUT: e2_0 = Node::#next TRUE" + (builtin "One Step Simplification" (formula "7")) + (rule "true_left" (formula "7")) + (rule "applyEq" (formula "4") (term "1,0") (ifseqformula "6")) + (rule "applyEq" (formula "7") (term "1,1") (ifseqformula "6")) + (rule "onlyCreatedObjectsAreReferenced" (formula "19") (term "1") (ifseqformula "9")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "13") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "13")) + (rule "replace_known_right" (formula "13") (term "0") (ifseqformula "28")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "10"))) + (rule "true_left" (formula "13")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "14") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "14")) + (rule "replace_known_right" (formula "14") (term "0") (ifseqformula "28")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "10"))) + (rule "true_left" (formula "14")) + (rule "all_pull_out3" (formula "18") (term "0")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "shift_paren_or" (formula "19") (term "0")) + (rule "commute_or_2" (formula "19") (term "0,0")) + (rule "inEqSimp_or_weaken3" (formula "19") (term "0")) + (rule "polySimp_addAssoc" (formula "19") (term "1,0,1,0")) + (rule "add_literals" (formula "19") (term "0,1,0,1,0")) + (rule "add_zero_left" (formula "19") (term "1,0,1,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "0,1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,0,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,0,1")) + (rule "add_literals" (formula "19") (term "0,0,0,1")) + (rule "add_zero_left" (formula "19") (term "0,0,1")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "1,1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,1,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1,1")) + (rule "polySimp_addComm0" (formula "19") (term "0,0,1,1")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,1,1")) + (rule "add_literals" (formula "19") (term "1,1,0,1,1")) + (rule "times_zero_1" (formula "19") (term "1,0,1,1")) + (rule "add_literals" (formula "19") (term "0,1,1")) + (rule "leq_literals" (formula "19") (term "1,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "applyEq" (formula "19") (term "1,0,0") (ifseqformula "23")) + (rule "inEqSimp_invertInEq1" (formula "19") (term "1")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1")) + (rule "mul_literals" (formula "19") (term "1,1")) + (rule "polySimp_elimOne" (formula "19") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "25")) + (rule "qeq_literals" (formula "19") (term "0,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "19") (term "0,0")) + (rule "commute_or_2" (formula "19") (term "0,0,0")) + (rule "cnf_rightDist" (formula "18") (term "0")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "18") (term "0")) + (rule "commute_or" (formula "19") (term "0")) + (rule "commute_or" (formula "18") (term "0,0")) + (rule "commute_or_2" (formula "20") (term "0,0,0,0")) + (rule "shift_paren_or" (formula "20") (term "0,0,0,0,0")) + (rule "commute_and" (formula "15") (term "0,0,0")) + (rule "seqGetAlphaCast" (formula "1") (term "0")) + (rule "castedGetAny" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "commute_and_2" (formula "15") (term "0,0")) + (rule "allLeft" (formula "18") (inst "t=i_0:int")) + (rule "replace_known_left" (formula "18") (term "0,0,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "2")) + (rule "qeq_literals" (formula "18") (term "0,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_contradInEq1" (formula "18") (ifseqformula "3")) + (rule "andLeft" (formula "18")) + (rule "inEqSimp_homoInEq1" (formula "18")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0")) + (rule "add_literals" (formula "18") (term "1,1,0")) + (rule "times_zero_1" (formula "18") (term "1,0")) + (rule "add_literals" (formula "18") (term "0")) + (rule "leq_literals" (formula "18")) + (rule "closeFalse" (formula "18")) + ) + (branch "CUT: e2_0 = Node::#next FALSE" + (builtin "One Step Simplification" (formula "6")) + (rule "onlyCreatedObjectsAreReferenced" (formula "19") (term "1") (ifseqformula "9")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "13") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "13")) + (rule "replace_known_right" (formula "13") (term "0") (ifseqformula "29")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "10"))) + (rule "true_left" (formula "13")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "14") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "14")) + (rule "replace_known_right" (formula "14") (term "0") (ifseqformula "29")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "10"))) + (rule "true_left" (formula "14")) + (rule "all_pull_out3" (formula "18") (term "0")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "shift_paren_or" (formula "19") (term "0")) + (rule "commute_or_2" (formula "19") (term "0,0")) + (rule "inEqSimp_or_weaken3" (formula "19") (term "0")) + (rule "polySimp_addAssoc" (formula "19") (term "1,0,1,0")) + (rule "add_literals" (formula "19") (term "0,1,0,1,0")) + (rule "add_zero_left" (formula "19") (term "1,0,1,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "0,1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,0,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,0,1")) + (rule "add_literals" (formula "19") (term "0,0,0,1")) + (rule "add_zero_left" (formula "19") (term "0,0,1")) + (rule "inEqSimp_homoInEq1" (formula "19") (term "1,1")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,1,1")) + (rule "mul_literals" (formula "19") (term "0,1,0,1,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1,1")) + (rule "polySimp_addComm0" (formula "19") (term "0,0,1,1")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,1,1")) + (rule "add_literals" (formula "19") (term "1,1,0,1,1")) + (rule "times_zero_1" (formula "19") (term "1,0,1,1")) + (rule "add_literals" (formula "19") (term "0,1,1")) + (rule "leq_literals" (formula "19") (term "1,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "applyEq" (formula "19") (term "1,0,0") (ifseqformula "23")) + (rule "inEqSimp_invertInEq1" (formula "19") (term "1")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1")) + (rule "mul_literals" (formula "19") (term "1,1")) + (rule "polySimp_elimOne" (formula "19") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "25")) + (rule "qeq_literals" (formula "19") (term "0,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "cnf_rightDist" (formula "18") (term "0,0")) + (rule "distr_forallAnd" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "19") (term "0,0")) + (rule "commute_or_2" (formula "19") (term "0,0,0")) + (rule "cnf_rightDist" (formula "18") (term "0")) + (rule "distr_forallAnd" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "commute_or_2" (formula "18") (term "0")) + (rule "commute_or" (formula "19") (term "0")) + (rule "commute_or" (formula "18") (term "0,0")) + (rule "commute_or_2" (formula "20") (term "0,0,0,0")) + (rule "shift_paren_or" (formula "20") (term "0,0,0,0,0")) + (rule "commute_and" (formula "15") (term "0,0,0")) + (rule "seqGetAlphaCast" (formula "1") (term "0")) + (rule "castedGetAny" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "commute_and_2" (formula "15") (term "0,0")) + (rule "allLeft" (formula "18") (inst "t=i_0:int")) + (rule "replace_known_left" (formula "18") (term "0,0,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "2")) + (rule "qeq_literals" (formula "18") (term "0,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_contradInEq1" (formula "18") (ifseqformula "3")) + (rule "andLeft" (formula "18")) + (rule "inEqSimp_homoInEq1" (formula "18")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0")) + (rule "add_literals" (formula "18") (term "1,1,0")) + (rule "times_zero_1" (formula "18") (term "1,0")) + (rule "add_literals" (formula "18") (term "0")) + (rule "leq_literals" (formula "18")) + (rule "closeFalse" (formula "18")) + ) + ) + (branch "CUT: (Node)self.nodeseq[i_0] = null FALSE" + (builtin "One Step Simplification" (formula "27")) + (rule "all_pull_out1" (formula "15") (term "1,0")) + (rule "ex_pull_out3" (formula "14") (term "0,0")) + (rule "cnf_rightDist" (formula "14") (term "0,0,0")) + (rule "commute_or" (formula "14") (term "1,0,0,0")) + (rule "cnf_rightDist" (formula "14") (term "0,0,0,0")) + (rule "commute_or" (formula "14") (term "1,0,0,0,0")) + (rule "ex_pull_out2" (formula "14") (term "0")) + (rule "commute_or" (formula "14") (term "0,0")) + (rule "cnf_rightDist" (formula "14") (term "0,0")) + (rule "commute_or_2" (formula "14") (term "1,0,0")) + (rule "commute_or" (formula "14") (term "0,1,0,0")) + (rule "cnf_rightDist" (formula "14") (term "0,0,0")) + (rule "commute_or_2" (formula "14") (term "1,0,0,0")) + (rule "shift_paren_or" (formula "14") (term "0,0,0,0")) + (rule "commute_or" (formula "14") (term "0,1,0,0,0")) + (rule "all_pull_out1" (formula "16") (term "0,1,0")) + (rule "all_pull_out3" (formula "15") (term "0")) + (rule "cnf_rightDist" (formula "15") (term "0,0")) + (rule "distr_forallAnd" (formula "15") (term "0")) + (builtin "One Step Simplification" (formula "15")) + (rule "distr_forallAnd" (formula "15")) + (rule "andLeft" (formula "15")) + (rule "commute_or_2" (formula "16") (term "0,0")) + (rule "commute_or_2" (formula "16") (term "0,0,0")) + (rule "commute_or" (formula "16") (term "0,0,0,0")) + (rule "seqGetAlphaCast" (formula "18") (term "0")) + (rule "castedGetAny" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "true_left" (formula "18")) + (rule "seqGetAlphaCast" (formula "19") (term "0")) + (rule "castedGetAny" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "true_left" (formula "19")) + (rule "all_pull_out0" (formula "17") (term "1,0")) + (rule "shift_paren_and" (formula "17") (term "0,1,0")) + (rule "cut_direct" (formula "5") (term "1,0")) + (branch "CUT: e2_0 = Node::#next TRUE" + (builtin "One Step Simplification" (formula "6")) + (rule "true_left" (formula "6")) + (rule "applyEq" (formula "3") (term "1,0") (ifseqformula "5")) + (rule "applyEq" (formula "6") (term "1,1") (ifseqformula "5")) + (rule "onlyCreatedObjectsAreReferenced" (formula "18") (term "1") (ifseqformula "8")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "12") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "12")) + (rule "replace_known_right" (formula "12") (term "0") (ifseqformula "28")) + (builtin "One Step Simplification" (formula "12") (ifInst "" (formula "9"))) + (rule "true_left" (formula "12")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "13") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "13")) + (rule "replace_known_right" (formula "13") (term "0") (ifseqformula "28")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "9"))) + (rule "true_left" (formula "13")) + (rule "all_pull_out3" (formula "17") (term "0")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "shift_paren_or" (formula "18") (term "0")) + (rule "commute_or_2" (formula "18") (term "0,0")) + (rule "inEqSimp_or_weaken3" (formula "18") (term "0")) + (rule "polySimp_addAssoc" (formula "18") (term "1,0,1,0")) + (rule "add_literals" (formula "18") (term "0,1,0,1,0")) + (rule "add_zero_left" (formula "18") (term "1,0,1,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_homoInEq0" (formula "18") (term "0,1")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,0,1")) + (rule "mul_literals" (formula "18") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "18") (term "0,0,1")) + (rule "add_literals" (formula "18") (term "0,0,0,1")) + (rule "add_zero_left" (formula "18") (term "0,0,1")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "1,1")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,1")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,1,1")) + (rule "mul_literals" (formula "18") (term "0,1,0,1,1")) + (rule "polySimp_addAssoc" (formula "18") (term "0,1,1")) + (rule "polySimp_addComm0" (formula "18") (term "0,0,1,1")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1,1")) + (rule "add_literals" (formula "18") (term "1,1,0,1,1")) + (rule "times_zero_1" (formula "18") (term "1,0,1,1")) + (rule "add_literals" (formula "18") (term "0,1,1")) + (rule "leq_literals" (formula "18") (term "1,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "applyEq" (formula "18") (term "1,0,0") (ifseqformula "22")) + (rule "inEqSimp_invertInEq1" (formula "18") (term "1")) + (rule "polySimp_mulLiterals" (formula "18") (term "0,1")) + (rule "mul_literals" (formula "18") (term "1,1")) + (rule "polySimp_elimOne" (formula "18") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "24")) + (rule "qeq_literals" (formula "18") (term "0,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "18") (term "0,0")) + (rule "commute_or_2" (formula "18") (term "0,0,0")) + (rule "cnf_rightDist" (formula "17") (term "0")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "17") (term "0")) + (rule "commute_or" (formula "18") (term "0")) + (rule "commute_or" (formula "17") (term "0,0")) + (rule "commute_or_2" (formula "19") (term "0,0,0,0")) + (rule "shift_paren_or" (formula "19") (term "0,0,0,0,0")) + (rule "commute_and" (formula "14") (term "0,0,0")) + (rule "seqGetAlphaCast" (formula "28") (term "0")) + (rule "castedGetAny" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "cut_direct" (formula "33") (term "0,0")) + (branch "CUT: (int)self.seq[i_0] = (Node)self.nodeseq[i_0].data TRUE" + (builtin "One Step Simplification" (formula "34")) + (rule "commute_and_2" (formula "15") (term "0,0")) + (rule "allLeft" (formula "22") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "1")) + (rule "polySimp_addComm1" (formula "22") (term "0,1")) + (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "1")) + (rule "polySimp_mulComm0" (formula "22") (term "1,1")) + (rule "polySimp_rightDist" (formula "22") (term "1,1")) + (rule "mul_literals" (formula "22") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "22") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "22") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "1,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "22") (term "0,1,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "1") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "0,1")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,1")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "22") (term "0,0,0,1")) + (rule "add_literals" (formula "22") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,1")) + (rule "add_literals" (formula "22") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "22") (term "1,0,0,1")) + (rule "add_literals" (formula "22") (term "0,0,1")) + (rule "leq_literals" (formula "22") (term "0,1")) + (builtin "One Step Simplification" (formula "22")) + (rule "replace_known_left" (formula "35") (term "1") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "35")) + (rule "allRight" (formula "35") (inst "sk=j_0:int")) + (rule "orRight" (formula "35")) + (rule "orRight" (formula "36")) + (rule "orRight" (formula "35")) + (rule "notRight" (formula "37")) + (rule "inEqSimp_geqRight" (formula "37")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "inEqSimp_leqRight" (formula "37")) + (rule "mul_literals" (formula "1") (term "1,0,0")) + (rule "add_literals" (formula "1") (term "0,0")) + (rule "add_zero_left" (formula "1") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "allLeft" (formula "23") (inst "t=i_0:int")) + (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0,0") (ifseqformula "5")) + (rule "qeq_literals" (formula "23") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "23") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "commute_or_2" (formula "23") (term "0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "30") (term "1") (ifseqformula "12")) + (rule "cut_direct" (formula "28") (term "0")) + (branch "CUT: self.first = null TRUE" + (builtin "One Step Simplification" (formula "29")) + (rule "true_left" (formula "29")) + (rule "applyEq" (formula "29") (term "1") (ifseqformula "28")) + (rule "allLeft" (formula "21") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "21") (term "1,0")) + (builtin "One Step Simplification" (formula "21") (ifInst "" (formula "30"))) + (rule "inEqSimp_commuteGeq" (formula "21")) + (rule "inEqSimp_contradInEq0" (formula "34") (ifseqformula "21")) + (rule "qeq_literals" (formula "34") (term "0")) + (builtin "One Step Simplification" (formula "34")) + (rule "closeFalse" (formula "34")) + ) + (branch "CUT: self.first = null FALSE" + (builtin "One Step Simplification" (formula "28")) + (rule "allLeft" (formula "21") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "21") (term "1,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1,0")) + (rule "add_literals" (formula "21") (term "0,0,1,0")) + (rule "add_zero_left" (formula "21") (term "0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "1")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1")) + (rule "mul_literals" (formula "21") (term "0,1,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1")) + (rule "polySimp_addComm0" (formula "21") (term "0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,1")) + (rule "add_literals" (formula "21") (term "1,1,0,1")) + (rule "times_zero_1" (formula "21") (term "1,0,1")) + (rule "add_literals" (formula "21") (term "0,1")) + (rule "leq_literals" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "applyEq" (formula "21") (term "0,0,0") (ifseqformula "32")) + (rule "inEqSimp_invertInEq1" (formula "21") (term "1")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,1")) + (rule "mul_literals" (formula "21") (term "1,1")) + (rule "polySimp_elimOne" (formula "21") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1") (ifseqformula "34")) + (rule "qeq_literals" (formula "21") (term "0,1")) + (builtin "One Step Simplification" (formula "21")) + (rule "notLeft" (formula "21")) + (rule "replace_known_right" (formula "30") (term "0") (ifseqformula "35")) + (builtin "One Step Simplification" (formula "30")) + (rule "allLeft" (formula "22") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "22") (term "0")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "30")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "34")) + (rule "qeq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "allLeft" (formula "23") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "eqSymm" (formula "23") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0")) + (rule "add_zero_left" (formula "23") (term "0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "1,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,1,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "23") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,1,0")) + (rule "add_literals" (formula "23") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "23") (term "1,0,1,0")) + (rule "add_literals" (formula "23") (term "0,1,0")) + (rule "leq_literals" (formula "23") (term "1,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "33")) + (rule "inEqSimp_invertInEq1" (formula "23") (term "0")) + (rule "polySimp_mulLiterals" (formula "23") (term "0,0")) + (rule "mul_literals" (formula "23") (term "1,0")) + (rule "polySimp_elimOne" (formula "23") (term "0,0")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "35")) + (rule "qeq_literals" (formula "23") (term "0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "allLeft" (formula "21") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "21") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "21") (term "1,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1,0")) + (rule "add_literals" (formula "21") (term "0,0,1,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "21") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "21") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0") (ifseqformula "5")) + (rule "qeq_literals" (formula "21") (term "0,1,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1")) + (rule "mul_literals" (formula "21") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "21") (term "0,0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1")) + (rule "add_literals" (formula "21") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "21") (term "1,0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,1")) + (rule "leq_literals" (formula "21") (term "0,1")) + (builtin "One Step Simplification" (formula "21")) + (rule "notLeft" (formula "21")) + (rule "allLeft" (formula "26") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "26") (term "1,0,0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "26") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "26") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "26") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "26") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "26") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,1,0,0,0,0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "26") (term "1,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "26") (term "0,1,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "26") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0,0") (ifseqformula "5")) + (rule "qeq_literals" (formula "26") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "26") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "26") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "26") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "26") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "commute_or_2" (formula "26") (term "0")) + (rule "allLeft" (formula "24") (inst "t=add(Z(1(#)), i_0):int")) + (rule "eqSymm" (formula "24") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0")) + (rule "inEqSimp_homoInEq0" (formula "24") (term "0,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,0,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "24") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "24") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "24") (term "0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "0,0") (ifseqformula "5")) + (rule "qeq_literals" (formula "24") (term "0,0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "24") (term "0,0")) + (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "24") (term "1,0,0,0")) + (rule "mul_literals" (formula "24") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "24") (term "0,0,0")) + (rule "polySimp_addComm1" (formula "24") (term "0,0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0,0")) + (rule "add_literals" (formula "24") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "24") (term "1,0,0,0")) + (rule "add_literals" (formula "24") (term "0,0,0")) + (rule "leq_literals" (formula "24") (term "0,0")) + (builtin "One Step Simplification" (formula "24")) + (rule "allLeft" (formula "26") (inst "t=j_0:int")) + (rule "replace_known_left" (formula "26") (term "0,0,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "26") (ifInst "" (formula "48"))) + (rule "inEqSimp_commuteGeq" (formula "26") (term "1")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "0") (ifseqformula "1")) + (rule "qeq_literals" (formula "26") (term "0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_contradInEq1" (formula "26") (ifseqformula "2")) + (rule "andLeft" (formula "26")) + (rule "inEqSimp_homoInEq1" (formula "26")) + (rule "polySimp_pullOutFactor1b" (formula "26") (term "0")) + (rule "add_literals" (formula "26") (term "1,1,0")) + (rule "times_zero_1" (formula "26") (term "1,0")) + (rule "add_literals" (formula "26") (term "0")) + (rule "leq_literals" (formula "26")) + (rule "closeFalse" (formula "26")) + ) + ) + (branch "CUT: (int)self.seq[i_0] = (Node)self.nodeseq[i_0].data FALSE" + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "commute_and_2" (formula "14") (term "0,0")) + (rule "allLeft" (formula "21") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "1")) + (rule "polySimp_addComm1" (formula "21") (term "0,1")) + (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1")) + (rule "polySimp_mulComm0" (formula "21") (term "1,1")) + (rule "polySimp_rightDist" (formula "21") (term "1,1")) + (rule "mul_literals" (formula "21") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "21") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0") (ifseqformula "1")) + (rule "qeq_literals" (formula "21") (term "0,1,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1") (ifseqformula "2")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1")) + (rule "mul_literals" (formula "21") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "21") (term "0,0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1")) + (rule "add_literals" (formula "21") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "21") (term "1,0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,1")) + (rule "leq_literals" (formula "21") (term "0,1")) + (builtin "One Step Simplification" (formula "21")) + (rule "onlyCreatedObjectsAreReferenced" (formula "25") (term "1") (ifseqformula "8")) + (rule "cut_direct" (formula "23") (term "0")) + (branch "CUT: self.first = null TRUE" + (builtin "One Step Simplification" (formula "24")) + (rule "true_left" (formula "24")) + (rule "applyEq" (formula "24") (term "1") (ifseqformula "23")) + (rule "allLeft" (formula "18") (inst "t=i_0:int")) + (rule "eqSymm" (formula "18") (term "1")) + (rule "replace_known_right" (formula "18") (term "1") (ifseqformula "36")) (builtin "One Step Simplification" (formula "18")) - (rule "distr_forallAnd" (formula "18")) + (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "1")) + (rule "qeq_literals" (formula "18") (term "0,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_contradInEq1" (formula "18") (ifseqformula "2")) (rule "andLeft" (formula "18")) - (rule "commute_or_2" (formula "19") (term "0,0")) - (rule "commute_or_2" (formula "19") (term "0,0,0")) - (rule "cnf_rightDist" (formula "18") (term "0")) - (rule "distr_forallAnd" (formula "18")) + (rule "inEqSimp_homoInEq1" (formula "18")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0")) + (rule "add_literals" (formula "18") (term "1,1,0")) + (rule "times_zero_1" (formula "18") (term "1,0")) + (rule "add_literals" (formula "18") (term "0")) + (rule "leq_literals" (formula "18")) + (rule "closeFalse" (formula "18")) + ) + (branch "CUT: self.first = null FALSE" + (builtin "One Step Simplification" (formula "23")) + (rule "allLeft" (formula "18") (inst "t=i_0:int")) + (rule "eqSymm" (formula "18") (term "1")) + (rule "replace_known_right" (formula "18") (term "1") (ifseqformula "37")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "1")) + (rule "qeq_literals" (formula "18") (term "0,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_contradInEq1" (formula "18") (ifseqformula "2")) (rule "andLeft" (formula "18")) - (rule "commute_or_2" (formula "18") (term "0")) - (rule "commute_or" (formula "19") (term "0")) - (rule "commute_or" (formula "18") (term "0,0")) - (rule "commute_or_2" (formula "20") (term "0,0,0,0")) - (rule "shift_paren_or" (formula "20") (term "0,0,0,0,0")) - (rule "cut_direct" (formula "8") (term "0,0")) - (branch "CUT: fv_0 = Node::#data TRUE" + (rule "inEqSimp_homoInEq1" (formula "18")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0")) + (rule "add_literals" (formula "18") (term "1,1,0")) + (rule "times_zero_1" (formula "18") (term "1,0")) + (rule "add_literals" (formula "18") (term "0")) + (rule "leq_literals" (formula "18")) + (rule "closeFalse" (formula "18")) + ) + ) + ) + (branch "CUT: e2_0 = Node::#next FALSE" + (builtin "One Step Simplification" (formula "5")) + (rule "onlyCreatedObjectsAreReferenced" (formula "18") (term "1") (ifseqformula "8")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "12") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "12")) + (rule "replace_known_right" (formula "12") (term "0") (ifseqformula "29")) + (builtin "One Step Simplification" (formula "12") (ifInst "" (formula "9"))) + (rule "true_left" (formula "12")) + (rule "onlyCreatedObjectsAreInLocSets" (formula "13") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "13")) + (rule "replace_known_right" (formula "13") (term "0") (ifseqformula "29")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "9"))) + (rule "true_left" (formula "13")) + (rule "all_pull_out3" (formula "17") (term "0")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "shift_paren_or" (formula "18") (term "0")) + (rule "commute_or_2" (formula "18") (term "0,0")) + (rule "inEqSimp_or_weaken3" (formula "18") (term "0")) + (rule "polySimp_addAssoc" (formula "18") (term "1,0,1,0")) + (rule "add_literals" (formula "18") (term "0,1,0,1,0")) + (rule "add_zero_left" (formula "18") (term "1,0,1,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_homoInEq0" (formula "18") (term "0,1")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,0,1")) + (rule "mul_literals" (formula "18") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "18") (term "0,0,1")) + (rule "add_literals" (formula "18") (term "0,0,0,1")) + (rule "add_zero_left" (formula "18") (term "0,0,1")) + (rule "inEqSimp_homoInEq1" (formula "18") (term "1,1")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,1")) + (rule "polySimp_rightDist" (formula "18") (term "1,0,1,1")) + (rule "mul_literals" (formula "18") (term "0,1,0,1,1")) + (rule "polySimp_addAssoc" (formula "18") (term "0,1,1")) + (rule "polySimp_addComm0" (formula "18") (term "0,0,1,1")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1,1")) + (rule "add_literals" (formula "18") (term "1,1,0,1,1")) + (rule "times_zero_1" (formula "18") (term "1,0,1,1")) + (rule "add_literals" (formula "18") (term "0,1,1")) + (rule "leq_literals" (formula "18") (term "1,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "applyEq" (formula "18") (term "1,0,0") (ifseqformula "22")) + (rule "inEqSimp_invertInEq1" (formula "18") (term "1")) + (rule "polySimp_mulLiterals" (formula "18") (term "0,1")) + (rule "mul_literals" (formula "18") (term "1,1")) + (rule "polySimp_elimOne" (formula "18") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "24")) + (rule "qeq_literals" (formula "18") (term "0,1")) + (builtin "One Step Simplification" (formula "18")) + (rule "cnf_rightDist" (formula "17") (term "0,0")) + (rule "distr_forallAnd" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "18") (term "0,0")) + (rule "commute_or_2" (formula "18") (term "0,0,0")) + (rule "cnf_rightDist" (formula "17") (term "0")) + (rule "distr_forallAnd" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "commute_or_2" (formula "17") (term "0")) + (rule "commute_or" (formula "18") (term "0")) + (rule "commute_or" (formula "17") (term "0,0")) + (rule "commute_or_2" (formula "19") (term "0,0,0,0")) + (rule "shift_paren_or" (formula "19") (term "0,0,0,0,0")) + (rule "commute_and" (formula "14") (term "0,0,0")) + (rule "seqGetAlphaCast" (formula "29") (term "0")) + (rule "castedGetAny" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "commute_and_2" (formula "14") (term "0,0")) + (rule "cut_direct" (formula "34") (term "0,0")) + (branch "CUT: (int)self.seq[i_0] = (Node)self.nodeseq[i_0].data TRUE" + (builtin "One Step Simplification" (formula "35")) + (rule "allLeft" (formula "22") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "1")) + (rule "polySimp_addComm1" (formula "22") (term "0,1")) + (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "1")) + (rule "polySimp_mulComm0" (formula "22") (term "1,1")) + (rule "polySimp_rightDist" (formula "22") (term "1,1")) + (rule "mul_literals" (formula "22") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "22") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "22") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "1,0") (ifseqformula "2")) + (rule "qeq_literals" (formula "22") (term "0,1,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "1") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (formula "22") (term "0,1")) + (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "22") (term "1,0,0,1")) + (rule "mul_literals" (formula "22") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "22") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "22") (term "0,0,0,1")) + (rule "add_literals" (formula "22") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,1")) + (rule "add_literals" (formula "22") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "22") (term "1,0,0,1")) + (rule "add_literals" (formula "22") (term "0,0,1")) + (rule "leq_literals" (formula "22") (term "0,1")) + (builtin "One Step Simplification" (formula "22")) + (rule "replace_known_left" (formula "36") (term "1") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "36")) + (rule "allRight" (formula "36") (inst "sk=j_0:int")) + (rule "orRight" (formula "36")) + (rule "orRight" (formula "37")) + (rule "orRight" (formula "36")) + (rule "notRight" (formula "38")) + (rule "inEqSimp_geqRight" (formula "38")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "inEqSimp_leqRight" (formula "38")) + (rule "mul_literals" (formula "1") (term "1,0,0")) + (rule "add_literals" (formula "1") (term "0,0")) + (rule "add_zero_left" (formula "1") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "allLeft" (formula "23") (inst "t=i_0:int")) + (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0,0") (ifseqformula "5")) + (rule "qeq_literals" (formula "23") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "23") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "commute_or_2" (formula "23") (term "0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "30") (term "1") (ifseqformula "12")) + (rule "cut_direct" (formula "28") (term "0")) + (branch "CUT: self.first = null TRUE" + (builtin "One Step Simplification" (formula "29")) + (rule "true_left" (formula "29")) + (rule "applyEq" (formula "29") (term "1") (ifseqformula "28")) + (rule "cut_direct" (formula "9") (term "0")) + (branch "CUT: e2_0 = Node::#data TRUE" + (builtin "One Step Simplification" (formula "10")) + (rule "true_left" (formula "10")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEq" (formula "7") (term "1,0") (ifseqformula "9")) + (rule "applyEq" (formula "10") (term "1,1") (ifseqformula "9")) + (rule "allLeft" (formula "21") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "21") (term "1,0")) + (builtin "One Step Simplification" (formula "21") (ifInst "" (formula "30"))) + (rule "inEqSimp_commuteGeq" (formula "21")) + (rule "inEqSimp_contradInEq0" (formula "34") (ifseqformula "21")) + (rule "qeq_literals" (formula "34") (term "0")) + (builtin "One Step Simplification" (formula "34")) + (rule "closeFalse" (formula "34")) + ) + (branch "CUT: e2_0 = Node::#data FALSE" (builtin "One Step Simplification" (formula "9")) - (rule "true_left" (formula "9")) - (rule "seqGetAlphaCast" (formula "23") (term "0")) - (rule "castedGetAny" (formula "23") (term "0")) - (builtin "One Step Simplification" (formula "23")) - (rule "true_left" (formula "23")) - (rule "seqGetAlphaCast" (formula "24") (term "0")) - (rule "castedGetAny" (formula "24") (term "0")) - (builtin "One Step Simplification" (formula "24")) - (rule "true_left" (formula "24")) - (rule "onlyCreatedObjectsAreReferenced" (formula "23") (term "1") (ifseqformula "13")) - (rule "allLeft" (formula "22") (inst "t=i_0:int")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "1")) - (rule "polySimp_addComm1" (formula "22") (term "0,1")) - (rule "applyEq" (formula "22") (term "1,0,0,0") (ifseqformula "1")) - (rule "eqSymm" (formula "22") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,1")) - (rule "polySimp_rightDist" (formula "22") (term "1,1")) - (rule "mul_literals" (formula "22") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "22") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "22") (term "1,1,1")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "22") (term "0,1,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "0,1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "22") (term "1,0,0,1")) - (rule "mul_literals" (formula "22") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "22") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "22") (term "0,0,0,1")) - (rule "add_literals" (formula "22") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,1")) - (rule "add_literals" (formula "22") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "22") (term "1,0,0,1")) - (rule "add_literals" (formula "22") (term "0,0,1")) - (rule "leq_literals" (formula "22") (term "0,1")) - (builtin "One Step Simplification" (formula "22")) - (rule "applyEq" (formula "34") (term "0,1") (ifseqformula "22")) - (rule "allLeft" (formula "23") (inst "t=nv_0:int")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "1")) - (rule "polySimp_addComm1" (formula "23") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "23") (term "1")) - (rule "polySimp_mulComm0" (formula "23") (term "1,1")) - (rule "polySimp_rightDist" (formula "23") (term "1,1")) - (rule "mul_literals" (formula "23") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "23") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "23") (term "1,1,1")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "23") (term "0,1,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1")) - (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "23") (term "1,0,0,1")) - (rule "mul_literals" (formula "23") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "23") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "23") (term "0,0,0,1")) - (rule "add_literals" (formula "23") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1")) - (rule "add_literals" (formula "23") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "23") (term "1,0,0,1")) - (rule "add_literals" (formula "23") (term "0,0,1")) - (rule "leq_literals" (formula "23") (term "0,1")) - (builtin "One Step Simplification" (formula "23")) - (rule "seqGetAlphaCast" (formula "1") (term "0")) - (rule "castedGetAny" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "true_left" (formula "1")) - (rule "allLeft" (formula "19") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "19") (term "0,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "eqSymm" (formula "19") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "19") (term "0")) - (rule "applyEq" (formula "19") (term "1,1,1") (ifseqformula "27")) - (rule "inEqSimp_contradInEq1" (formula "19") (term "0") (ifseqformula "30")) - (rule "qeq_literals" (formula "19") (term "0,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "allLeft" (formula "20") (inst "t=i_0:int")) - (rule "eqSymm" (formula "20") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1,0")) - (rule "applyEq" (formula "20") (term "1,1,1") (ifseqformula "1")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "0,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "20") (term "0,0,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,0")) - (rule "add_literals" (formula "20") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "20") (term "1,0,0,0")) - (rule "add_literals" (formula "20") (term "0,0,0")) - (rule "leq_literals" (formula "20") (term "0,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "applyEq" (formula "37") (term "0,0,0") (ifseqformula "20")) - (rule "allLeft" (formula "21") (inst "t=nv_0:int")) - (rule "eqSymm" (formula "21") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "21") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "21") (term "0,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "21") (term "0,0,0")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEq" (formula "7") (term "1,0") (ifseqformula "9")) + (rule "applyEq" (formula "10") (term "1,1") (ifseqformula "9")) + (rule "allLeft" (formula "21") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "21") (term "1,0")) + (builtin "One Step Simplification" (formula "21") (ifInst "" (formula "30"))) + (rule "inEqSimp_commuteGeq" (formula "21")) + (rule "inEqSimp_contradInEq0" (formula "34") (ifseqformula "21")) + (rule "qeq_literals" (formula "34") (term "0")) + (builtin "One Step Simplification" (formula "34")) + (rule "closeFalse" (formula "34")) + ) + ) + (branch "CUT: self.first = null FALSE" + (builtin "One Step Simplification" (formula "28")) + (rule "cut_direct" (formula "9") (term "0")) + (branch "CUT: e2_0 = Node::#data TRUE" + (builtin "One Step Simplification" (formula "10")) + (rule "true_left" (formula "10")) + (rule "applyEq" (formula "36") (term "0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "36")) + (rule "false_right" (formula "36")) + (rule "applyEq" (formula "7") (term "1,0") (ifseqformula "9")) + (rule "applyEq" (formula "10") (term "1,1") (ifseqformula "9")) + (rule "allLeft" (formula "21") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "21") (term "1,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1,0")) + (rule "add_literals" (formula "21") (term "0,0,1,0")) + (rule "add_zero_left" (formula "21") (term "0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "1")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1")) + (rule "mul_literals" (formula "21") (term "0,1,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1")) + (rule "polySimp_addComm0" (formula "21") (term "0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,1")) + (rule "add_literals" (formula "21") (term "1,1,0,1")) + (rule "times_zero_1" (formula "21") (term "1,0,1")) + (rule "add_literals" (formula "21") (term "0,1")) + (rule "leq_literals" (formula "21") (term "1")) (builtin "One Step Simplification" (formula "21")) - (rule "inEqSimp_contradInEq1" (formula "21") (term "0") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "21") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,0")) - (rule "add_literals" (formula "21") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "21") (term "1,0,0,0")) - (rule "add_literals" (formula "21") (term "0,0,0")) - (rule "leq_literals" (formula "21") (term "0,0")) + (rule "applyEq" (formula "21") (term "0,0,0") (ifseqformula "32")) + (rule "inEqSimp_invertInEq1" (formula "21") (term "1")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,1")) + (rule "mul_literals" (formula "21") (term "1,1")) + (rule "polySimp_elimOne" (formula "21") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1") (ifseqformula "34")) + (rule "qeq_literals" (formula "21") (term "0,1")) (builtin "One Step Simplification" (formula "21")) - (rule "allLeft" (formula "23") (inst "t=i_0:int")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0,0,0,0")) - (rule "applyEq" (formula "23") (term "1,0,0,0,0,0,0,0") (ifseqformula "1")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "23") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "23") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "commute_or_2" (formula "23") (term "0")) - (rule "allLeft" (formula "24") (inst "t=nv_0:int")) - (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "24") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "24") (term "0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "24") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "24") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "24") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "24") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "commute_or_2" (formula "24") (term "0")) - (rule "allLeft" (formula "18") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "18") (term "1,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) - (rule "applyEq" (formula "18") (term "0,0,0") (ifseqformula "32")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "35")) - (rule "qeq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "notLeft" (formula "18")) - (rule "replace_known_right" (formula "30") (term "0") (ifseqformula "36")) + (rule "notLeft" (formula "21")) + (rule "replace_known_right" (formula "30") (term "0") (ifseqformula "35")) (builtin "One Step Simplification" (formula "30")) - (rule "allLeft" (formula "18") (inst "t=nv_0:int")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "18") (term "0,1,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,1")) - (rule "add_literals" (formula "18") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "18") (term "1,0,0,1")) - (rule "add_literals" (formula "18") (term "0,0,1")) - (rule "leq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "notLeft" (formula "18")) - (rule "allLeft" (formula "22") (inst "t=add(Z(neglit(1(#))), - select(heap, self, LinkedList::#size)):int")) - (rule "eqSymm" (formula "22") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "22") (term "0,0")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) - (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) - (rule "add_literals" (formula "22") (term "0,0,0,0")) - (rule "add_zero_left" (formula "22") (term "0,0,0")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "1,0")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "22") (term "1,0,1,0")) - (rule "mul_literals" (formula "22") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "22") (term "0,1,0")) - (rule "polySimp_addComm0" (formula "22") (term "0,0,1,0")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,1,0")) - (rule "add_literals" (formula "22") (term "1,1,0,1,0")) - (rule "times_zero_1" (formula "22") (term "1,0,1,0")) - (rule "add_literals" (formula "22") (term "0,1,0")) - (rule "leq_literals" (formula "22") (term "1,0")) + (rule "allLeft" (formula "22") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "22") (term "0,0")) (builtin "One Step Simplification" (formula "22")) - (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "33")) - (rule "inEqSimp_invertInEq1" (formula "22") (term "0")) - (rule "polySimp_mulLiterals" (formula "22") (term "0,0")) - (rule "mul_literals" (formula "22") (term "1,0")) - (rule "polySimp_elimOne" (formula "22") (term "0,0")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "35")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "22") (term "0")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "30")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "34")) (rule "qeq_literals" (formula "22") (term "0,0")) (builtin "One Step Simplification" (formula "22")) - (rule "allLeft" (formula "23") (inst "t=i_0_0:int")) + (rule "allLeft" (formula "23") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) (rule "eqSymm" (formula "23") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0")) - (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "11")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0,0") (ifseqformula "9")) - (rule "qeq_literals" (formula "23") (term "0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0")) + (rule "add_zero_left" (formula "23") (term "0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "1,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,1,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "23") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,1,0")) + (rule "add_literals" (formula "23") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "23") (term "1,0,1,0")) + (rule "add_literals" (formula "23") (term "0,1,0")) + (rule "leq_literals" (formula "23") (term "1,0")) (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "10")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,0")) - (rule "leq_literals" (formula "23") (term "0,0")) + (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "33")) + (rule "inEqSimp_invertInEq1" (formula "23") (term "0")) + (rule "polySimp_mulLiterals" (formula "23") (term "0,0")) + (rule "mul_literals" (formula "23") (term "1,0")) + (rule "polySimp_elimOne" (formula "23") (term "0,0")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "35")) + (rule "qeq_literals" (formula "23") (term "0,0")) (builtin "One Step Simplification" (formula "23")) - (rule "allLeft" (formula "27") (inst "t=i_0_0:int")) - (rule "inEqSimp_commuteGeq" (formula "27") (term "1,0,0,0,0")) - (rule "applyEq" (formula "27") (term "1,0,0,0,0,0,0,0") (ifseqformula "11")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "1,0,0,0,0,0") (ifseqformula "9")) - (rule "qeq_literals" (formula "27") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "1,0,0,0,0") (ifseqformula "10")) - (rule "inEqSimp_homoInEq1" (formula "27") (term "0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "27") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "27") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "27") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "commute_or_2" (formula "27") (term "0")) - (rule "allLeft" (formula "18") (inst "t=add(Z(neglit(1(#))), - select(heap, self, LinkedList::#size)):int")) - (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) - (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) - (rule "add_literals" (formula "18") (term "0,0,1,0")) - (rule "add_zero_left" (formula "18") (term "0,1,0")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "1")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,1")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,1")) - (rule "mul_literals" (formula "18") (term "0,1,0,1")) - (rule "polySimp_addAssoc" (formula "18") (term "0,1")) - (rule "polySimp_addComm0" (formula "18") (term "0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1")) - (rule "add_literals" (formula "18") (term "1,1,0,1")) - (rule "times_zero_1" (formula "18") (term "1,0,1")) - (rule "add_literals" (formula "18") (term "0,1")) - (rule "leq_literals" (formula "18") (term "1")) - (builtin "One Step Simplification" (formula "18")) - (rule "applyEq" (formula "18") (term "0,0,0") (ifseqformula "36")) - (rule "inEqSimp_invertInEq1" (formula "18") (term "1")) - (rule "polySimp_mulLiterals" (formula "18") (term "0,1")) - (rule "mul_literals" (formula "18") (term "1,1")) - (rule "polySimp_elimOne" (formula "18") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "38")) - (rule "qeq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "notLeft" (formula "18")) + (rule "allLeft" (formula "21") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "21") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "21") (term "1,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1,0")) + (rule "add_literals" (formula "21") (term "0,0,1,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "21") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "21") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0") (ifseqformula "5")) + (rule "qeq_literals" (formula "21") (term "0,1,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1")) + (rule "mul_literals" (formula "21") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "21") (term "0,0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1")) + (rule "add_literals" (formula "21") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "21") (term "1,0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,1")) + (rule "leq_literals" (formula "21") (term "0,1")) + (builtin "One Step Simplification" (formula "21")) + (rule "notLeft" (formula "21")) + (rule "allLeft" (formula "26") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "26") (term "1,0,0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "26") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "26") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "26") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "26") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "26") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,1,0,0,0,0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "26") (term "1,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "26") (term "0,1,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "26") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0,0") (ifseqformula "5")) + (rule "qeq_literals" (formula "26") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "26") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "26") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "26") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "26") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "commute_or_2" (formula "26") (term "0")) (rule "allLeft" (formula "24") (inst "t=add(Z(1(#)), i_0):int")) (rule "eqSymm" (formula "24") (term "1")) (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0")) @@ -2168,14 +5163,13 @@ (rule "mul_literals" (formula "24") (term "0,1,0,0,0")) (rule "polySimp_addAssoc" (formula "24") (term "0,0,0")) (rule "add_literals" (formula "24") (term "0,0,0,0")) - (rule "applyEq" (formula "24") (term "1,1,1") (ifseqformula "31")) (rule "inEqSimp_sepNegMonomial1" (formula "24") (term "0,0")) (rule "polySimp_mulLiterals" (formula "24") (term "0,0,0")) (rule "polySimp_elimOne" (formula "24") (term "0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "0,0") (ifseqformula "2")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "0,0") (ifseqformula "5")) (rule "qeq_literals" (formula "24") (term "0,0,0")) (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "0") (ifseqformula "3")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "0") (ifseqformula "6")) (rule "inEqSimp_homoInEq1" (formula "24") (term "0,0")) (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,0")) (rule "polySimp_rightDist" (formula "24") (term "1,0,0,0")) @@ -2189,410 +5183,162 @@ (rule "add_literals" (formula "24") (term "0,0,0")) (rule "leq_literals" (formula "24") (term "0,0")) (builtin "One Step Simplification" (formula "24")) - (rule "allLeft" (formula "25") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "eqSymm" (formula "25") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "25") (term "1,0")) - (rule "inEqSimp_homoInEq0" (formula "25") (term "0,0")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,0,0")) - (rule "mul_literals" (formula "25") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "25") (term "0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "25") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "25") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "25") (term "0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "25") (term "0,0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "0,0")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,0,0")) - (rule "mul_literals" (formula "25") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "25") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "25") (term "0,0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,0")) - (rule "add_literals" (formula "25") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "25") (term "1,0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0")) - (rule "leq_literals" (formula "25") (term "0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "allLeft" (formula "30") (inst "t=add(Z(1(#)), i_0):int")) - (rule "inEqSimp_commuteGeq" (formula "30") (term "1,0,0,0,0")) - (rule "inEqSimp_homoInEq0" (formula "30") (term "1,0,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "30") (term "1,0,1,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "30") (term "1,0,1,0,0,0,0,0")) - (rule "mul_literals" (formula "30") (term "0,1,0,1,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "30") (term "0,1,0,0,0,0,0")) - (rule "add_literals" (formula "30") (term "0,0,1,0,0,0,0,0")) - (rule "applyEq" (formula "30") (term "1,0,0,0,0,0,0,0") (ifseqformula "33")) - (rule "inEqSimp_sepNegMonomial1" (formula "30") (term "1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "30") (term "0,1,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "30") (term "0,1,0,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "30") (term "1,0,0,0,0,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "30") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "30")) - (rule "inEqSimp_contradInEq1" (formula "30") (term "1,0,0,0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "30") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "30") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "30") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "30") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "30") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "30") (term "0,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "30") (term "0,0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "30") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "30") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "30") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "30") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "30") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "30")) - (rule "allLeft" (formula "31") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_commuteGeq" (formula "31") (term "1,0,0,0,0")) - (rule "inEqSimp_homoInEq0" (formula "31") (term "1,0,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,1,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "31") (term "1,0,1,0,0,0,0,0")) - (rule "mul_literals" (formula "31") (term "0,1,0,1,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,1,0,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "31") (term "1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "31") (term "1,0,0,0,0,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "31") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "31")) - (rule "inEqSimp_contradInEq1" (formula "31") (term "1,0,0,0,0") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "31") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "31") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "31") (term "0,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "31") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "31")) - (rule "allLeft" (formula "18") (inst "t=add(Z(1(#)), i_0):int")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) - (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) - (rule "add_literals" (formula "18") (term "0,0,1,0")) - (rule "applyEq" (formula "18") (term "0,0,0,0") (ifseqformula "35")) - (rule "inEqSimp_sepNegMonomial1" (formula "18") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "18") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "18") (term "0,1,0")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "18") (term "0,1,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "0,1")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,0,1")) - (rule "mul_literals" (formula "18") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "18") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "18") (term "0,0,0,1")) - (rule "add_literals" (formula "18") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,1")) - (rule "add_literals" (formula "18") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "18") (term "1,0,0,1")) - (rule "add_literals" (formula "18") (term "0,0,1")) - (rule "leq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "notLeft" (formula "18")) - (rule "replace_known_right" (formula "51") (term "1") (ifseqformula "43")) - (builtin "One Step Simplification" (formula "51")) - (rule "false_right" (formula "51")) - (rule "allLeft" (formula "18") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) - (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) - (rule "add_literals" (formula "18") (term "0,0,1,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "18") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "18") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "18") (term "0,1,0")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "18") (term "0,1,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "0,1")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,0,1")) - (rule "mul_literals" (formula "18") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "18") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "18") (term "0,0,0,1")) - (rule "add_literals" (formula "18") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,1")) - (rule "add_literals" (formula "18") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "18") (term "1,0,0,1")) - (rule "add_literals" (formula "18") (term "0,0,1")) - (rule "leq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "notLeft" (formula "18")) - (rule "referencedObjectIsCreatedRightEQ" (formula "48") (ifseqformula "35") (ifseqformula "43")) - (rule "close" (formula "48") (ifseqformula "13")) + (rule "allLeft" (formula "26") (inst "t=j_0:int")) + (rule "replace_known_left" (formula "26") (term "0,0,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "26") (ifInst "" (formula "48"))) + (rule "inEqSimp_commuteGeq" (formula "26") (term "1")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "0") (ifseqformula "1")) + (rule "qeq_literals" (formula "26") (term "0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_contradInEq1" (formula "26") (ifseqformula "2")) + (rule "andLeft" (formula "26")) + (rule "inEqSimp_homoInEq1" (formula "26")) + (rule "polySimp_pullOutFactor1b" (formula "26") (term "0")) + (rule "add_literals" (formula "26") (term "1,1,0")) + (rule "times_zero_1" (formula "26") (term "1,0")) + (rule "add_literals" (formula "26") (term "0")) + (rule "leq_literals" (formula "26")) + (rule "closeFalse" (formula "26")) ) - (branch "CUT: fv_0 = Node::#data FALSE" - (builtin "One Step Simplification" (formula "8")) - (rule "seqGetAlphaCast" (formula "23") (term "0")) - (rule "castedGetAny" (formula "23") (term "0")) - (builtin "One Step Simplification" (formula "23")) - (rule "true_left" (formula "23")) - (rule "seqGetAlphaCast" (formula "24") (term "0")) - (rule "castedGetAny" (formula "24") (term "0")) - (builtin "One Step Simplification" (formula "24")) - (rule "true_left" (formula "24")) - (rule "onlyCreatedObjectsAreReferenced" (formula "23") (term "1") (ifseqformula "13")) - (rule "allLeft" (formula "22") (inst "t=i_0:int")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "1")) - (rule "polySimp_addComm1" (formula "22") (term "0,1")) - (rule "applyEq" (formula "22") (term "1,0,0,0") (ifseqformula "1")) - (rule "eqSymm" (formula "22") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,1")) - (rule "polySimp_rightDist" (formula "22") (term "1,1")) - (rule "mul_literals" (formula "22") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "22") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "22") (term "1,1,1")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "22") (term "0,1,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "0,1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "22") (term "1,0,0,1")) - (rule "mul_literals" (formula "22") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "22") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "22") (term "0,0,0,1")) - (rule "add_literals" (formula "22") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,1")) - (rule "add_literals" (formula "22") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "22") (term "1,0,0,1")) - (rule "add_literals" (formula "22") (term "0,0,1")) - (rule "leq_literals" (formula "22") (term "0,1")) - (builtin "One Step Simplification" (formula "22")) - (rule "applyEq" (formula "35") (term "0,1") (ifseqformula "22")) - (rule "allLeft" (formula "23") (inst "t=nv_0:int")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "1")) - (rule "polySimp_addComm1" (formula "23") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "23") (term "1")) - (rule "polySimp_mulComm0" (formula "23") (term "1,1")) - (rule "polySimp_rightDist" (formula "23") (term "1,1")) - (rule "mul_literals" (formula "23") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "23") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "23") (term "1,1,1")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "23") (term "0,1,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1")) - (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "23") (term "1,0,0,1")) - (rule "mul_literals" (formula "23") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "23") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "23") (term "0,0,0,1")) - (rule "add_literals" (formula "23") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1")) - (rule "add_literals" (formula "23") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "23") (term "1,0,0,1")) - (rule "add_literals" (formula "23") (term "0,0,1")) - (rule "leq_literals" (formula "23") (term "0,1")) - (builtin "One Step Simplification" (formula "23")) - (rule "seqGetAlphaCast" (formula "1") (term "0")) - (rule "castedGetAny" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "true_left" (formula "1")) - (rule "allLeft" (formula "19") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "19") (term "0,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "eqSymm" (formula "19") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "19") (term "0")) - (rule "applyEq" (formula "19") (term "1,1,1") (ifseqformula "27")) - (rule "inEqSimp_contradInEq1" (formula "19") (term "0") (ifseqformula "30")) - (rule "qeq_literals" (formula "19") (term "0,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "allLeft" (formula "20") (inst "t=i_0:int")) - (rule "eqSymm" (formula "20") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1,0")) - (rule "applyEq" (formula "20") (term "1,1,1") (ifseqformula "1")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "0,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "20") (term "0,0,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,0")) - (rule "add_literals" (formula "20") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "20") (term "1,0,0,0")) - (rule "add_literals" (formula "20") (term "0,0,0")) - (rule "leq_literals" (formula "20") (term "0,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "applyEq" (formula "38") (term "0,0,0") (ifseqformula "20")) - (rule "allLeft" (formula "21") (inst "t=nv_0:int")) - (rule "eqSymm" (formula "21") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "21") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "21") (term "0,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "21") (term "0,0,0")) + (branch "CUT: e2_0 = Node::#data FALSE" + (builtin "One Step Simplification" (formula "9")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEq" (formula "36") (term "0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "36")) + (rule "false_right" (formula "36")) + (rule "applyEq" (formula "7") (term "1,0") (ifseqformula "9")) + (rule "applyEq" (formula "10") (term "1,1") (ifseqformula "9")) + (rule "allLeft" (formula "21") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) + (rule "inEqSimp_homoInEq0" (formula "21") (term "1,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1,0")) + (rule "add_literals" (formula "21") (term "0,0,1,0")) + (rule "add_zero_left" (formula "21") (term "0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "1")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1")) + (rule "mul_literals" (formula "21") (term "0,1,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1")) + (rule "polySimp_addComm0" (formula "21") (term "0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,1")) + (rule "add_literals" (formula "21") (term "1,1,0,1")) + (rule "times_zero_1" (formula "21") (term "1,0,1")) + (rule "add_literals" (formula "21") (term "0,1")) + (rule "leq_literals" (formula "21") (term "1")) (builtin "One Step Simplification" (formula "21")) - (rule "inEqSimp_contradInEq1" (formula "21") (term "0") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "21") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,0")) - (rule "add_literals" (formula "21") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "21") (term "1,0,0,0")) - (rule "add_literals" (formula "21") (term "0,0,0")) - (rule "leq_literals" (formula "21") (term "0,0")) + (rule "applyEq" (formula "21") (term "0,0,0") (ifseqformula "32")) + (rule "inEqSimp_invertInEq1" (formula "21") (term "1")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,1")) + (rule "mul_literals" (formula "21") (term "1,1")) + (rule "polySimp_elimOne" (formula "21") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1") (ifseqformula "34")) + (rule "qeq_literals" (formula "21") (term "0,1")) (builtin "One Step Simplification" (formula "21")) - (rule "allLeft" (formula "23") (inst "t=i_0:int")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0,0,0,0")) - (rule "applyEq" (formula "23") (term "1,0,0,0,0,0,0,0") (ifseqformula "1")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "23") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "23") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "commute_or_2" (formula "23") (term "0")) - (rule "allLeft" (formula "24") (inst "t=nv_0:int")) - (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "24") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "1,0,0,0,0") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "24") (term "0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "24") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "24") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "24") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "24") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "commute_or_2" (formula "24") (term "0")) - (rule "allLeft" (formula "18") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "18") (term "1,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) - (rule "applyEq" (formula "18") (term "0,0,0") (ifseqformula "32")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "35")) - (rule "qeq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "notLeft" (formula "18")) - (rule "replace_known_right" (formula "30") (term "0") (ifseqformula "36")) + (rule "notLeft" (formula "21")) + (rule "replace_known_right" (formula "30") (term "0") (ifseqformula "35")) (builtin "One Step Simplification" (formula "30")) - (rule "allLeft" (formula "18") (inst "t=nv_0:int")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "18") (term "0,1,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,1")) - (rule "add_literals" (formula "18") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "18") (term "1,0,0,1")) - (rule "add_literals" (formula "18") (term "0,0,1")) - (rule "leq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "notLeft" (formula "18")) - (rule "allLeft" (formula "22") (inst "t=add(Z(neglit(1(#))), - select(heap, self, LinkedList::#size)):int")) - (rule "eqSymm" (formula "22") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "22") (term "0,0")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "22") (term "1,0,0,0")) - (rule "mul_literals" (formula "22") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) - (rule "add_literals" (formula "22") (term "0,0,0,0")) - (rule "add_zero_left" (formula "22") (term "0,0,0")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "1,0")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "22") (term "1,0,1,0")) - (rule "mul_literals" (formula "22") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "22") (term "0,1,0")) - (rule "polySimp_addComm0" (formula "22") (term "0,0,1,0")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,1,0")) - (rule "add_literals" (formula "22") (term "1,1,0,1,0")) - (rule "times_zero_1" (formula "22") (term "1,0,1,0")) - (rule "add_literals" (formula "22") (term "0,1,0")) - (rule "leq_literals" (formula "22") (term "1,0")) + (rule "allLeft" (formula "22") (inst "t=Z(0(#)):int")) + (rule "leq_literals" (formula "22") (term "0,0")) (builtin "One Step Simplification" (formula "22")) - (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "33")) - (rule "inEqSimp_invertInEq1" (formula "22") (term "0")) - (rule "polySimp_mulLiterals" (formula "22") (term "0,0")) - (rule "mul_literals" (formula "22") (term "1,0")) - (rule "polySimp_elimOne" (formula "22") (term "0,0")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "35")) + (rule "eqSymm" (formula "22") (term "1")) + (rule "inEqSimp_commuteGeq" (formula "22") (term "0")) + (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "30")) + (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "34")) (rule "qeq_literals" (formula "22") (term "0,0")) (builtin "One Step Simplification" (formula "22")) - (rule "allLeft" (formula "23") (inst "t=i_0_0:int")) + (rule "allLeft" (formula "23") (inst "t=add(Z(neglit(1(#))), + select(heap, self, LinkedList::#size)):int")) (rule "eqSymm" (formula "23") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0")) - (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "11")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0,0") (ifseqformula "9")) - (rule "qeq_literals" (formula "23") (term "0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,0,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,0,0")) + (rule "add_zero_left" (formula "23") (term "0,0,0")) + (rule "inEqSimp_homoInEq1" (formula "23") (term "1,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,0,1,0")) + (rule "mul_literals" (formula "23") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "23") (term "0,0,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,1,0")) + (rule "add_literals" (formula "23") (term "1,1,0,1,0")) + (rule "times_zero_1" (formula "23") (term "1,0,1,0")) + (rule "add_literals" (formula "23") (term "0,1,0")) + (rule "leq_literals" (formula "23") (term "1,0")) (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "10")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,0")) - (rule "leq_literals" (formula "23") (term "0,0")) + (rule "applyEq" (formula "23") (term "1,1,1") (ifseqformula "33")) + (rule "inEqSimp_invertInEq1" (formula "23") (term "0")) + (rule "polySimp_mulLiterals" (formula "23") (term "0,0")) + (rule "mul_literals" (formula "23") (term "1,0")) + (rule "polySimp_elimOne" (formula "23") (term "0,0")) + (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "35")) + (rule "qeq_literals" (formula "23") (term "0,0")) (builtin "One Step Simplification" (formula "23")) - (rule "allLeft" (formula "27") (inst "t=i_0_0:int")) - (rule "inEqSimp_commuteGeq" (formula "27") (term "1,0,0,0,0")) - (rule "applyEq" (formula "27") (term "1,0,0,0,0,0,0,0") (ifseqformula "11")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "1,0,0,0,0,0") (ifseqformula "9")) - (rule "qeq_literals" (formula "27") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "1,0,0,0,0") (ifseqformula "10")) - (rule "inEqSimp_homoInEq1" (formula "27") (term "0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "27") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "27") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "27") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "commute_or_2" (formula "27") (term "0")) - (rule "allLeft" (formula "18") (inst "t=add(Z(neglit(1(#))), - select(heap, self, LinkedList::#size)):int")) - (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) - (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) - (rule "add_literals" (formula "18") (term "0,0,1,0")) - (rule "add_zero_left" (formula "18") (term "0,1,0")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "1")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,1")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,1")) - (rule "mul_literals" (formula "18") (term "0,1,0,1")) - (rule "polySimp_addAssoc" (formula "18") (term "0,1")) - (rule "polySimp_addComm0" (formula "18") (term "0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1")) - (rule "add_literals" (formula "18") (term "1,1,0,1")) - (rule "times_zero_1" (formula "18") (term "1,0,1")) - (rule "add_literals" (formula "18") (term "0,1")) - (rule "leq_literals" (formula "18") (term "1")) - (builtin "One Step Simplification" (formula "18")) - (rule "applyEq" (formula "18") (term "0,0,0") (ifseqformula "36")) - (rule "inEqSimp_invertInEq1" (formula "18") (term "1")) - (rule "polySimp_mulLiterals" (formula "18") (term "0,1")) - (rule "mul_literals" (formula "18") (term "1,1")) - (rule "polySimp_elimOne" (formula "18") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "38")) - (rule "qeq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "notLeft" (formula "18")) + (rule "allLeft" (formula "21") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "21") (term "1")) + (rule "inEqSimp_homoInEq0" (formula "21") (term "1,0")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,1,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1,0")) + (rule "add_literals" (formula "21") (term "0,0,1,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "21") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "21") (term "0,1,0")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0") (ifseqformula "5")) + (rule "qeq_literals" (formula "21") (term "0,1,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1")) + (rule "mul_literals" (formula "21") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "21") (term "0,0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1")) + (rule "add_literals" (formula "21") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "21") (term "1,0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,1")) + (rule "leq_literals" (formula "21") (term "0,1")) + (builtin "One Step Simplification" (formula "21")) + (rule "notLeft" (formula "21")) + (rule "allLeft" (formula "26") (inst "t=add(Z(1(#)), i_0):int")) + (rule "inEqSimp_commuteGeq" (formula "26") (term "1,0,0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "26") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "26") (term "1,0,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "26") (term "1,0,1,0,0,0,0,0")) + (rule "mul_literals" (formula "26") (term "0,1,0,1,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "26") (term "0,1,0,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,1,0,0,0,0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "26") (term "1,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "26") (term "0,1,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "26") (term "0,1,0,0,0,0,0")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0,0") (ifseqformula "5")) + (rule "qeq_literals" (formula "26") (term "0,1,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq1" (formula "26") (term "0,1,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "polySimp_rightDist" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "mul_literals" (formula "26") (term "0,1,0,0,1,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "26") (term "0,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,0,0,1,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "1,1,0,0,1,0,0,0,0")) + (rule "times_zero_1" (formula "26") (term "1,0,0,1,0,0,0,0")) + (rule "add_literals" (formula "26") (term "0,0,1,0,0,0,0")) + (rule "leq_literals" (formula "26") (term "0,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "commute_or_2" (formula "26") (term "0")) (rule "allLeft" (formula "24") (inst "t=add(Z(1(#)), i_0):int")) (rule "eqSymm" (formula "24") (term "1")) (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0")) @@ -2602,14 +5348,13 @@ (rule "mul_literals" (formula "24") (term "0,1,0,0,0")) (rule "polySimp_addAssoc" (formula "24") (term "0,0,0")) (rule "add_literals" (formula "24") (term "0,0,0,0")) - (rule "applyEq" (formula "24") (term "1,1,1") (ifseqformula "31")) (rule "inEqSimp_sepNegMonomial1" (formula "24") (term "0,0")) (rule "polySimp_mulLiterals" (formula "24") (term "0,0,0")) (rule "polySimp_elimOne" (formula "24") (term "0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "0,0") (ifseqformula "2")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "0,0") (ifseqformula "5")) (rule "qeq_literals" (formula "24") (term "0,0,0")) (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "0") (ifseqformula "3")) + (rule "inEqSimp_contradInEq1" (formula "24") (term "0") (ifseqformula "6")) (rule "inEqSimp_homoInEq1" (formula "24") (term "0,0")) (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,0")) (rule "polySimp_rightDist" (formula "24") (term "1,0,0,0")) @@ -2623,1831 +5368,104 @@ (rule "add_literals" (formula "24") (term "0,0,0")) (rule "leq_literals" (formula "24") (term "0,0")) (builtin "One Step Simplification" (formula "24")) - (rule "allLeft" (formula "25") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "eqSymm" (formula "25") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "25") (term "1,0")) - (rule "inEqSimp_homoInEq0" (formula "25") (term "0,0")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,0,0")) - (rule "mul_literals" (formula "25") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "25") (term "0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "25") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "25") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "25") (term "0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "25") (term "0,0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "0,0")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,0,0")) - (rule "mul_literals" (formula "25") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "25") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "25") (term "0,0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,0")) - (rule "add_literals" (formula "25") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "25") (term "1,0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0")) - (rule "leq_literals" (formula "25") (term "0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "allLeft" (formula "30") (inst "t=add(Z(1(#)), i_0):int")) - (rule "inEqSimp_commuteGeq" (formula "30") (term "1,0,0,0,0")) - (rule "inEqSimp_homoInEq0" (formula "30") (term "1,0,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "30") (term "1,0,1,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "30") (term "1,0,1,0,0,0,0,0")) - (rule "mul_literals" (formula "30") (term "0,1,0,1,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "30") (term "0,1,0,0,0,0,0")) - (rule "add_literals" (formula "30") (term "0,0,1,0,0,0,0,0")) - (rule "applyEq" (formula "30") (term "1,0,0,0,0,0,0,0") (ifseqformula "33")) - (rule "inEqSimp_sepNegMonomial1" (formula "30") (term "1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "30") (term "0,1,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "30") (term "0,1,0,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "30") (term "1,0,0,0,0,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "30") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "30")) - (rule "inEqSimp_contradInEq1" (formula "30") (term "1,0,0,0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "30") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "30") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "30") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "30") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "30") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "30") (term "0,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "30") (term "0,0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "30") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "30") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "30") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "30") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "30") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "30")) - (rule "allLeft" (formula "31") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_commuteGeq" (formula "31") (term "1,0,0,0,0")) - (rule "inEqSimp_homoInEq0" (formula "31") (term "1,0,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,1,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "31") (term "1,0,1,0,0,0,0,0")) - (rule "mul_literals" (formula "31") (term "0,1,0,1,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,1,0,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "31") (term "1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "31") (term "1,0,0,0,0,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "31") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "31")) - (rule "inEqSimp_contradInEq1" (formula "31") (term "1,0,0,0,0") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "31") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "31") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "31") (term "0,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "31") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "31")) - (rule "allLeft" (formula "18") (inst "t=add(Z(1(#)), i_0):int")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) - (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) - (rule "add_literals" (formula "18") (term "0,0,1,0")) - (rule "applyEq" (formula "18") (term "0,0,0,0") (ifseqformula "35")) - (rule "inEqSimp_sepNegMonomial1" (formula "18") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "18") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "18") (term "0,1,0")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "18") (term "0,1,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "0,1")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,0,1")) - (rule "mul_literals" (formula "18") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "18") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "18") (term "0,0,0,1")) - (rule "add_literals" (formula "18") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,1")) - (rule "add_literals" (formula "18") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "18") (term "1,0,0,1")) - (rule "add_literals" (formula "18") (term "0,0,1")) - (rule "leq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "notLeft" (formula "18")) - (rule "replace_known_right" (formula "52") (term "1") (ifseqformula "43")) - (builtin "One Step Simplification" (formula "52")) - (rule "false_right" (formula "52")) - (rule "allLeft" (formula "18") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "18") (term "1,0")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,1,0")) - (rule "mul_literals" (formula "18") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) - (rule "add_literals" (formula "18") (term "0,0,1,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "18") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "18") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "18") (term "0,1,0")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "18") (term "0,1,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "0,1")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,0,1")) - (rule "mul_literals" (formula "18") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "18") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "18") (term "0,0,0,1")) - (rule "add_literals" (formula "18") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,1")) - (rule "add_literals" (formula "18") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "18") (term "1,0,0,1")) - (rule "add_literals" (formula "18") (term "0,0,1")) - (rule "leq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "notLeft" (formula "18")) - (rule "referencedObjectIsCreatedRightEQ" (formula "49") (ifseqformula "35") (ifseqformula "43")) - (rule "close" (formula "49") (ifseqformula "13")) - ) - ) - (branch "(Node)self.nodeseq[i_0] = n_2 FALSE" - (rule "applyEqReverse" (formula "30") (term "1,1,0,0") (ifseqformula "2")) - (rule "hideAuxiliaryEq" (formula "2")) - (rule "replace_known_right" (formula "1") (term "0,0") (ifseqformula "24")) - (builtin "One Step Simplification" (formula "1")) - (rule "applyEqReverse" (formula "29") (term "1,1") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "eqSymm" (formula "28") (term "1")) - (rule "cut_direct" (formula "28") (term "0,0,0,0")) - (branch "CUT: (Node)self.nodeseq[i_0] = null TRUE" - (builtin "One Step Simplification" (formula "29")) - (rule "false_right" (formula "29")) - (rule "applyEq" (formula "24") (term "0") (ifseqformula "1")) - (rule "eqSymm" (formula "24")) - (rule "all_pull_out0" (formula "18") (term "1,0")) - (rule "shift_paren_and" (formula "18") (term "0,1,0")) - (rule "all_pull_out3" (formula "18") (term "0")) - (rule "cnf_rightDist" (formula "18") (term "0,0")) - (rule "distr_forallAnd" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "distr_forallAnd" (formula "18")) - (rule "andLeft" (formula "18")) - (rule "shift_paren_or" (formula "19") (term "0")) - (rule "commute_or_2" (formula "19") (term "0,0")) - (rule "inEqSimp_or_weaken3" (formula "19") (term "0")) - (rule "polySimp_addAssoc" (formula "19") (term "1,0,1,0")) - (rule "add_literals" (formula "19") (term "0,1,0,1,0")) - (rule "add_zero_left" (formula "19") (term "1,0,1,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "cnf_rightDist" (formula "18") (term "0,0")) - (rule "distr_forallAnd" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "distr_forallAnd" (formula "18")) - (rule "andLeft" (formula "18")) - (rule "commute_or_2" (formula "19") (term "0")) - (builtin "One Step Simplification" (formula "19")) - (rule "inEqSimp_homoInEq0" (formula "19") (term "0,1")) - (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "19") (term "1,0,0,1")) - (rule "mul_literals" (formula "19") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "19") (term "0,0,1")) - (rule "add_literals" (formula "19") (term "0,0,0,1")) - (rule "add_zero_left" (formula "19") (term "0,0,1")) - (rule "inEqSimp_homoInEq1" (formula "19") (term "1,1")) - (rule "polySimp_mulComm0" (formula "19") (term "1,0,1,1")) - (rule "polySimp_rightDist" (formula "19") (term "1,0,1,1")) - (rule "mul_literals" (formula "19") (term "0,1,0,1,1")) - (rule "polySimp_addAssoc" (formula "19") (term "0,1,1")) - (rule "polySimp_addComm0" (formula "19") (term "0,0,1,1")) - (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,1,1")) - (rule "add_literals" (formula "19") (term "1,1,0,1,1")) - (rule "times_zero_1" (formula "19") (term "1,0,1,1")) - (rule "add_literals" (formula "19") (term "0,1,1")) - (rule "leq_literals" (formula "19") (term "1,1")) - (builtin "One Step Simplification" (formula "19")) - (rule "applyEq" (formula "19") (term "1,0,0") (ifseqformula "22")) - (rule "inEqSimp_invertInEq1" (formula "19") (term "1")) - (rule "polySimp_mulLiterals" (formula "19") (term "0,1")) - (rule "mul_literals" (formula "19") (term "1,1")) - (rule "polySimp_elimOne" (formula "19") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "19") (term "1") (ifseqformula "24")) - (rule "qeq_literals" (formula "19") (term "0,1")) - (builtin "One Step Simplification" (formula "19")) - (rule "cnf_rightDist" (formula "18") (term "0,0")) - (rule "distr_forallAnd" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "distr_forallAnd" (formula "18")) - (rule "andLeft" (formula "18")) - (rule "commute_or_2" (formula "19") (term "0,0")) - (rule "commute_or_2" (formula "19") (term "0,0,0")) - (rule "cnf_rightDist" (formula "18") (term "0")) - (rule "distr_forallAnd" (formula "18")) - (rule "andLeft" (formula "18")) - (rule "commute_or_2" (formula "18") (term "0")) - (rule "commute_or" (formula "19") (term "0")) - (rule "commute_or" (formula "18") (term "0,0")) - (rule "commute_or_2" (formula "20") (term "0,0,0,0")) - (rule "shift_paren_or" (formula "20") (term "0,0,0,0,0")) - (rule "cut_direct" (formula "8") (term "0,0")) - (branch "CUT: fv_0 = Node::#data TRUE" - (builtin "One Step Simplification" (formula "9")) - (rule "true_left" (formula "9")) - (rule "seqGetAlphaCast" (formula "23") (term "0")) - (rule "castedGetAny" (formula "23") (term "0")) - (builtin "One Step Simplification" (formula "23")) - (rule "true_left" (formula "23")) - (rule "seqGetAlphaCast" (formula "24") (term "0")) - (rule "castedGetAny" (formula "24") (term "0")) - (builtin "One Step Simplification" (formula "24")) - (rule "true_left" (formula "24")) - (rule "onlyCreatedObjectsAreReferenced" (formula "23") (term "1") (ifseqformula "13")) - (rule "allLeft" (formula "18") (inst "t=i_0:int")) - (rule "replace_known_left" (formula "18") (term "0,0,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "2")) - (rule "qeq_literals" (formula "18") (term "0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_contradInEq1" (formula "18") (ifseqformula "3")) - (rule "andLeft" (formula "18")) - (rule "inEqSimp_homoInEq1" (formula "18")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0")) - (rule "add_literals" (formula "18") (term "1,1,0")) - (rule "times_zero_1" (formula "18") (term "1,0")) - (rule "add_literals" (formula "18") (term "0")) - (rule "leq_literals" (formula "18")) - (rule "closeFalse" (formula "18")) - ) - (branch "CUT: fv_0 = Node::#data FALSE" - (builtin "One Step Simplification" (formula "8")) - (rule "seqGetAlphaCast" (formula "23") (term "0")) - (rule "castedGetAny" (formula "23") (term "0")) - (builtin "One Step Simplification" (formula "23")) - (rule "true_left" (formula "23")) - (rule "seqGetAlphaCast" (formula "24") (term "0")) - (rule "castedGetAny" (formula "24") (term "0")) - (builtin "One Step Simplification" (formula "24")) - (rule "true_left" (formula "24")) - (rule "onlyCreatedObjectsAreReferenced" (formula "23") (term "1") (ifseqformula "13")) - (rule "allLeft" (formula "18") (inst "t=i_0:int")) - (rule "replace_known_left" (formula "18") (term "0,0,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "2")) - (rule "qeq_literals" (formula "18") (term "0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_contradInEq1" (formula "18") (ifseqformula "3")) - (rule "andLeft" (formula "18")) - (rule "inEqSimp_homoInEq1" (formula "18")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0")) - (rule "add_literals" (formula "18") (term "1,1,0")) - (rule "times_zero_1" (formula "18") (term "1,0")) - (rule "add_literals" (formula "18") (term "0")) - (rule "leq_literals" (formula "18")) - (rule "closeFalse" (formula "18")) - ) - ) - (branch "CUT: (Node)self.nodeseq[i_0] = null FALSE" - (builtin "One Step Simplification" (formula "29")) - (rule "all_pull_out0" (formula "17") (term "1,0")) - (rule "shift_paren_and" (formula "17") (term "0,1,0")) - (rule "all_pull_out3" (formula "17") (term "0")) - (rule "cnf_rightDist" (formula "17") (term "0,0")) - (rule "distr_forallAnd" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "shift_paren_or" (formula "18") (term "0")) - (rule "commute_or_2" (formula "18") (term "0,0")) - (rule "inEqSimp_or_weaken3" (formula "18") (term "0")) - (rule "polySimp_addAssoc" (formula "18") (term "1,0,1,0")) - (rule "add_literals" (formula "18") (term "0,1,0,1,0")) - (rule "add_zero_left" (formula "18") (term "1,0,1,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "cnf_rightDist" (formula "17") (term "0,0")) - (rule "distr_forallAnd" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "commute_or_2" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_homoInEq0" (formula "18") (term "0,1")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,0,1")) - (rule "mul_literals" (formula "18") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "18") (term "0,0,1")) - (rule "add_literals" (formula "18") (term "0,0,0,1")) - (rule "add_zero_left" (formula "18") (term "0,0,1")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "1,1")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0,1,1")) - (rule "polySimp_rightDist" (formula "18") (term "1,0,1,1")) - (rule "mul_literals" (formula "18") (term "0,1,0,1,1")) - (rule "polySimp_addAssoc" (formula "18") (term "0,1,1")) - (rule "polySimp_addComm0" (formula "18") (term "0,0,1,1")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,1,1")) - (rule "add_literals" (formula "18") (term "1,1,0,1,1")) - (rule "times_zero_1" (formula "18") (term "1,0,1,1")) - (rule "add_literals" (formula "18") (term "0,1,1")) - (rule "leq_literals" (formula "18") (term "1,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "applyEq" (formula "18") (term "1,0,0") (ifseqformula "21")) - (rule "inEqSimp_invertInEq1" (formula "18") (term "1")) - (rule "polySimp_mulLiterals" (formula "18") (term "0,1")) - (rule "mul_literals" (formula "18") (term "1,1")) - (rule "polySimp_elimOne" (formula "18") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "23")) - (rule "qeq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "cnf_rightDist" (formula "17") (term "0,0")) - (rule "distr_forallAnd" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "commute_or_2" (formula "18") (term "0,0")) - (rule "commute_or_2" (formula "18") (term "0,0,0")) - (rule "cnf_rightDist" (formula "17") (term "0")) - (rule "distr_forallAnd" (formula "17")) - (rule "andLeft" (formula "17")) - (rule "commute_or_2" (formula "17") (term "0")) - (rule "commute_or" (formula "18") (term "0")) - (rule "commute_or" (formula "17") (term "0,0")) - (rule "commute_or_2" (formula "19") (term "0,0,0,0")) - (rule "shift_paren_or" (formula "19") (term "0,0,0,0,0")) - (rule "cut_direct" (formula "7") (term "0,0")) - (branch "CUT: fv_0 = Node::#data TRUE" - (builtin "One Step Simplification" (formula "8")) - (rule "true_left" (formula "8")) - (rule "seqGetAlphaCast" (formula "22") (term "0")) - (rule "castedGetAny" (formula "22") (term "0")) - (builtin "One Step Simplification" (formula "22")) - (rule "true_left" (formula "22")) - (rule "seqGetAlphaCast" (formula "23") (term "0")) - (rule "castedGetAny" (formula "23") (term "0")) - (builtin "One Step Simplification" (formula "23")) - (rule "true_left" (formula "23")) - (rule "onlyCreatedObjectsAreReferenced" (formula "22") (term "1") (ifseqformula "12")) - (rule "allLeft" (formula "21") (inst "t=i_0:int")) - (rule "inEqSimp_homoInEq1" (formula "21") (term "1")) - (rule "polySimp_addComm1" (formula "21") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1")) - (rule "polySimp_mulComm0" (formula "21") (term "1,1")) - (rule "polySimp_rightDist" (formula "21") (term "1,1")) - (rule "mul_literals" (formula "21") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,1")) - (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0") (ifseqformula "1")) - (rule "qeq_literals" (formula "21") (term "0,1,0")) - (builtin "One Step Simplification" (formula "21")) - (rule "inEqSimp_contradInEq1" (formula "21") (term "1") (ifseqformula "2")) - (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1")) - (rule "mul_literals" (formula "21") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "21") (term "0,0,0,1")) - (rule "add_literals" (formula "21") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1")) - (rule "add_literals" (formula "21") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "21") (term "1,0,0,1")) - (rule "add_literals" (formula "21") (term "0,0,1")) - (rule "leq_literals" (formula "21") (term "0,1")) - (builtin "One Step Simplification" (formula "21")) - (rule "replace_known_left" (formula "35") (term "1") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "35")) - (rule "allLeft" (formula "22") (inst "t=nv_0:int")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "1")) - (rule "polySimp_addComm1" (formula "22") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,1")) - (rule "polySimp_rightDist" (formula "22") (term "1,1")) - (rule "mul_literals" (formula "22") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "22") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "22") (term "1,1,1")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1,0") (ifseqformula "4")) - (rule "qeq_literals" (formula "22") (term "0,1,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "0,1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "22") (term "1,0,0,1")) - (rule "mul_literals" (formula "22") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "22") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "22") (term "0,0,0,1")) - (rule "add_literals" (formula "22") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,1")) - (rule "add_literals" (formula "22") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "22") (term "1,0,0,1")) - (rule "add_literals" (formula "22") (term "0,0,1")) - (rule "leq_literals" (formula "22") (term "0,1")) - (builtin "One Step Simplification" (formula "22")) - (rule "seqGetAlphaCast" (formula "30") (term "0")) - (rule "castedGetAny" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "true_left" (formula "1")) - (rule "allLeft" (formula "18") (inst "t=i_0:int")) - (rule "eqSymm" (formula "18") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "0,0") (ifseqformula "1")) - (rule "qeq_literals" (formula "18") (term "0,0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "2")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,0")) - (rule "add_literals" (formula "18") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "18") (term "1,0,0,0")) - (rule "add_literals" (formula "18") (term "0,0,0")) - (rule "leq_literals" (formula "18") (term "0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "replace_known_left" (formula "37") (term "0") (ifseqformula "18")) - (builtin "One Step Simplification" (formula "37")) - (rule "allRight" (formula "37") (inst "sk=j_0:int")) - (rule "orRight" (formula "37")) - (rule "orRight" (formula "38")) - (rule "orRight" (formula "37")) - (rule "notRight" (formula "39")) - (rule "inEqSimp_geqRight" (formula "39")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0")) - (rule "inEqSimp_leqRight" (formula "39")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_literals" (formula "1") (term "0,0")) - (rule "add_zero_left" (formula "1") (term "0")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "allLeft" (formula "23") (inst "t=i_0:int")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0,0") (ifseqformula "4")) - (rule "qeq_literals" (formula "23") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "23") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "commute_or_2" (formula "23") (term "0")) - (rule "allLeft" (formula "22") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "22") (term "0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "eqSymm" (formula "22") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "0")) - (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "31")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "34")) - (rule "qeq_literals" (formula "22") (term "0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "allLeft" (formula "23") (inst "t=nv_0:int")) - (rule "eqSymm" (formula "23") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "23") (term "0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,0")) - (rule "leq_literals" (formula "23") (term "0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "allLeft" (formula "26") (inst "t=nv_0:int")) - (rule "inEqSimp_commuteGeq" (formula "26") (term "1,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "26") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "26") (term "0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "26") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "26") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "26") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "26") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "commute_or_2" (formula "26") (term "0")) - (rule "allLeft" (formula "20") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "20") (term "1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1")) - (rule "applyEq" (formula "20") (term "0,0,0") (ifseqformula "34")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "37")) - (rule "qeq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "replace_known_right" (formula "32") (term "0") (ifseqformula "38")) - (builtin "One Step Simplification" (formula "32")) - (rule "allLeft" (formula "20") (inst "t=nv_0:int")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "20") (term "0,1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,1")) - (rule "leq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "allLeft" (formula "24") (inst "t=add(Z(neglit(1(#))), - select(heap, self, LinkedList::#size)):int")) - (rule "eqSymm" (formula "24") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "24") (term "0,0")) - (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "24") (term "1,0,0,0")) - (rule "mul_literals" (formula "24") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "24") (term "0,0,0")) - (rule "add_literals" (formula "24") (term "0,0,0,0")) - (rule "add_zero_left" (formula "24") (term "0,0,0")) - (rule "inEqSimp_homoInEq1" (formula "24") (term "1,0")) - (rule "polySimp_mulComm0" (formula "24") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "24") (term "1,0,1,0")) - (rule "mul_literals" (formula "24") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "24") (term "0,1,0")) - (rule "polySimp_addComm0" (formula "24") (term "0,0,1,0")) - (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,1,0")) - (rule "add_literals" (formula "24") (term "1,1,0,1,0")) - (rule "times_zero_1" (formula "24") (term "1,0,1,0")) - (rule "add_literals" (formula "24") (term "0,1,0")) - (rule "leq_literals" (formula "24") (term "1,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "applyEq" (formula "24") (term "1,1,1") (ifseqformula "35")) - (rule "inEqSimp_invertInEq1" (formula "24") (term "0")) - (rule "polySimp_mulLiterals" (formula "24") (term "0,0")) - (rule "mul_literals" (formula "24") (term "1,0")) - (rule "polySimp_elimOne" (formula "24") (term "0,0")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "0") (ifseqformula "37")) - (rule "qeq_literals" (formula "24") (term "0,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "allLeft" (formula "25") (inst "t=i_0_0:int")) - (rule "eqSymm" (formula "25") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "25") (term "1,0")) - (rule "applyEq" (formula "25") (term "1,1,1") (ifseqformula "13")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0,0") (ifseqformula "11")) - (rule "qeq_literals" (formula "25") (term "0,0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0") (ifseqformula "12")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,0")) - (rule "add_literals" (formula "25") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "25") (term "1,0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0")) - (rule "leq_literals" (formula "25") (term "0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "allLeft" (formula "20") (inst "t=add(Z(neglit(1(#))), - select(heap, self, LinkedList::#size)):int")) - (rule "inEqSimp_homoInEq0" (formula "20") (term "1,0")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1,0")) - (rule "mul_literals" (formula "20") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1,0")) - (rule "add_literals" (formula "20") (term "0,0,1,0")) - (rule "add_zero_left" (formula "20") (term "0,1,0")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1")) - (rule "polySimp_addComm0" (formula "20") (term "0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,1")) - (rule "add_literals" (formula "20") (term "0,1")) - (rule "leq_literals" (formula "20") (term "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "applyEq" (formula "20") (term "0,0,0") (ifseqformula "37")) - (rule "inEqSimp_invertInEq1" (formula "20") (term "1")) - (rule "polySimp_mulLiterals" (formula "20") (term "0,1")) - (rule "mul_literals" (formula "20") (term "1,1")) - (rule "polySimp_elimOne" (formula "20") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "39")) - (rule "qeq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "allLeft" (formula "26") (inst "t=add(Z(1(#)), i_0):int")) - (rule "eqSymm" (formula "26") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "26") (term "1,0")) - (rule "inEqSimp_homoInEq0" (formula "26") (term "0,0")) - (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "26") (term "1,0,0,0")) - (rule "mul_literals" (formula "26") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "26") (term "0,0,0")) - (rule "add_literals" (formula "26") (term "0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "26") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "26") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "26") (term "0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "0,0") (ifseqformula "4")) - (rule "qeq_literals" (formula "26") (term "0,0,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "26") (term "0,0")) - (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "26") (term "1,0,0,0")) - (rule "mul_literals" (formula "26") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "26") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "26") (term "0,0,0,0")) - (rule "add_literals" (formula "26") (term "0,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,0")) - (rule "add_literals" (formula "26") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "26") (term "1,0,0,0")) - (rule "add_literals" (formula "26") (term "0,0,0")) - (rule "leq_literals" (formula "26") (term "0,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "allLeft" (formula "27") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "eqSymm" (formula "27") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "27") (term "1,0")) - (rule "inEqSimp_homoInEq0" (formula "27") (term "0,0")) - (rule "polySimp_mulComm0" (formula "27") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,0,0")) - (rule "mul_literals" (formula "27") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "27") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "27") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "27") (term "0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "27") (term "0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "0") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "27") (term "0,0")) - (rule "polySimp_mulComm0" (formula "27") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,0,0")) - (rule "mul_literals" (formula "27") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "27") (term "0,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "27") (term "0,0,0")) - (rule "add_literals" (formula "27") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "27") (term "1,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,0")) - (rule "leq_literals" (formula "27") (term "0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "allLeft" (formula "31") (inst "t=add(Z(1(#)), i_0):int")) - (rule "inEqSimp_commuteGeq" (formula "31") (term "1,0,0,0,0")) - (rule "inEqSimp_homoInEq0" (formula "31") (term "1,0,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,1,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "31") (term "1,0,1,0,0,0,0,0")) - (rule "mul_literals" (formula "31") (term "0,1,0,1,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,1,0,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "31") (term "1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "31") (term "1,0,0,0,0,0") (ifseqformula "4")) - (rule "qeq_literals" (formula "31") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "31")) - (rule "inEqSimp_contradInEq1" (formula "31") (term "1,0,0,0,0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "31") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "31") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "31") (term "0,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "31") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "31")) - (rule "allLeft" (formula "32") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_commuteGeq" (formula "32") (term "1,0,0,0,0")) - (rule "inEqSimp_homoInEq0" (formula "32") (term "1,0,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "32") (term "1,0,1,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "32") (term "1,0,1,0,0,0,0,0")) - (rule "mul_literals" (formula "32") (term "0,1,0,1,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "32") (term "0,1,0,0,0,0,0")) - (rule "add_literals" (formula "32") (term "0,0,1,0,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "32") (term "1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "32") (term "0,1,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "32") (term "0,1,0,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "32") (term "1,0,0,0,0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "32") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "32")) - (rule "inEqSimp_contradInEq1" (formula "32") (term "1,0,0,0,0") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "32") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "32") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "32") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "32") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "32") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "32") (term "0,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "32") (term "0,0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "32") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "32") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "32") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "32") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "32") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "32")) - (rule "allLeft" (formula "20") (inst "t=add(Z(1(#)), i_0):int")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "20") (term "1,0")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1,0")) - (rule "mul_literals" (formula "20") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1,0")) - (rule "add_literals" (formula "20") (term "0,0,1,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "20") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "20") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "20") (term "0,1,0")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1,0") (ifseqformula "4")) - (rule "qeq_literals" (formula "20") (term "0,1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "20") (term "0,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,1")) - (rule "leq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "allLeft" (formula "20") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "20") (term "1,0")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1,0")) - (rule "mul_literals" (formula "20") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1,0")) - (rule "add_literals" (formula "20") (term "0,0,1,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "20") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "20") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "20") (term "0,1,0")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "20") (term "0,1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "20") (term "0,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,1")) - (rule "leq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "referencedObjectIsCreatedRightEQ" (formula "50") (ifseqformula "36") (ifseqformula "44")) - (rule "close" (formula "50") (ifseqformula "15")) - ) - (branch "CUT: fv_0 = Node::#data FALSE" - (builtin "One Step Simplification" (formula "7")) - (rule "seqGetAlphaCast" (formula "22") (term "0")) - (rule "castedGetAny" (formula "22") (term "0")) - (builtin "One Step Simplification" (formula "22")) - (rule "true_left" (formula "22")) - (rule "seqGetAlphaCast" (formula "23") (term "0")) - (rule "castedGetAny" (formula "23") (term "0")) - (builtin "One Step Simplification" (formula "23")) - (rule "true_left" (formula "23")) - (rule "onlyCreatedObjectsAreReferenced" (formula "22") (term "1") (ifseqformula "12")) - (rule "allLeft" (formula "21") (inst "t=i_0:int")) - (rule "inEqSimp_homoInEq1" (formula "21") (term "1")) - (rule "polySimp_addComm1" (formula "21") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1")) - (rule "polySimp_mulComm0" (formula "21") (term "1,1")) - (rule "polySimp_rightDist" (formula "21") (term "1,1")) - (rule "mul_literals" (formula "21") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,1")) - (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0") (ifseqformula "1")) - (rule "qeq_literals" (formula "21") (term "0,1,0")) - (builtin "One Step Simplification" (formula "21")) - (rule "inEqSimp_contradInEq1" (formula "21") (term "1") (ifseqformula "2")) - (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1")) - (rule "mul_literals" (formula "21") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "21") (term "0,0,0,1")) - (rule "add_literals" (formula "21") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1")) - (rule "add_literals" (formula "21") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "21") (term "1,0,0,1")) - (rule "add_literals" (formula "21") (term "0,0,1")) - (rule "leq_literals" (formula "21") (term "0,1")) - (builtin "One Step Simplification" (formula "21")) - (rule "replace_known_left" (formula "36") (term "1") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "36")) - (rule "allLeft" (formula "22") (inst "t=nv_0:int")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "1")) - (rule "polySimp_addComm1" (formula "22") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,1")) - (rule "polySimp_rightDist" (formula "22") (term "1,1")) - (rule "mul_literals" (formula "22") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "22") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "22") (term "1,1,1")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1,0") (ifseqformula "4")) - (rule "qeq_literals" (formula "22") (term "0,1,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "0,1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "22") (term "1,0,0,1")) - (rule "mul_literals" (formula "22") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "22") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "22") (term "0,0,0,1")) - (rule "add_literals" (formula "22") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,1")) - (rule "add_literals" (formula "22") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "22") (term "1,0,0,1")) - (rule "add_literals" (formula "22") (term "0,0,1")) - (rule "leq_literals" (formula "22") (term "0,1")) - (builtin "One Step Simplification" (formula "22")) - (rule "seqGetAlphaCast" (formula "31") (term "0")) - (rule "castedGetAny" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "true_left" (formula "1")) - (rule "allLeft" (formula "18") (inst "t=i_0:int")) - (rule "eqSymm" (formula "18") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "0,0") (ifseqformula "1")) - (rule "qeq_literals" (formula "18") (term "0,0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "2")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,0")) - (rule "add_literals" (formula "18") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "18") (term "1,0,0,0")) - (rule "add_literals" (formula "18") (term "0,0,0")) - (rule "leq_literals" (formula "18") (term "0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "replace_known_left" (formula "38") (term "0") (ifseqformula "18")) - (builtin "One Step Simplification" (formula "38")) - (rule "allRight" (formula "38") (inst "sk=j_0:int")) - (rule "orRight" (formula "38")) - (rule "orRight" (formula "39")) - (rule "orRight" (formula "38")) - (rule "notRight" (formula "40")) - (rule "inEqSimp_geqRight" (formula "40")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0")) - (rule "inEqSimp_leqRight" (formula "40")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_literals" (formula "1") (term "0,0")) - (rule "add_zero_left" (formula "1") (term "0")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "allLeft" (formula "23") (inst "t=i_0:int")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0,0") (ifseqformula "4")) - (rule "qeq_literals" (formula "23") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0,0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "23") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "commute_or_2" (formula "23") (term "0")) - (rule "allLeft" (formula "22") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "22") (term "0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "eqSymm" (formula "22") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "0")) - (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "31")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "34")) - (rule "qeq_literals" (formula "22") (term "0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "allLeft" (formula "23") (inst "t=nv_0:int")) - (rule "eqSymm" (formula "23") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "23") (term "0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,0")) - (rule "leq_literals" (formula "23") (term "0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "allLeft" (formula "26") (inst "t=nv_0:int")) - (rule "inEqSimp_commuteGeq" (formula "26") (term "1,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "26") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "1,0,0,0,0") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "26") (term "0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "26") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "26") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "26") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "26") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "commute_or_2" (formula "26") (term "0")) - (rule "allLeft" (formula "20") (inst "t=Z(0(#)):int")) - (rule "leq_literals" (formula "20") (term "1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1")) - (rule "applyEq" (formula "20") (term "0,0,0") (ifseqformula "34")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "37")) - (rule "qeq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "replace_known_right" (formula "32") (term "0") (ifseqformula "38")) - (builtin "One Step Simplification" (formula "32")) - (rule "allLeft" (formula "20") (inst "t=nv_0:int")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "20") (term "0,1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,1")) - (rule "leq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "allLeft" (formula "24") (inst "t=add(Z(neglit(1(#))), - select(heap, self, LinkedList::#size)):int")) - (rule "eqSymm" (formula "24") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "24") (term "0,0")) - (rule "polySimp_mulComm0" (formula "24") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "24") (term "1,0,0,0")) - (rule "mul_literals" (formula "24") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "24") (term "0,0,0")) - (rule "add_literals" (formula "24") (term "0,0,0,0")) - (rule "add_zero_left" (formula "24") (term "0,0,0")) - (rule "inEqSimp_homoInEq1" (formula "24") (term "1,0")) - (rule "polySimp_mulComm0" (formula "24") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "24") (term "1,0,1,0")) - (rule "mul_literals" (formula "24") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "24") (term "0,1,0")) - (rule "polySimp_addComm0" (formula "24") (term "0,0,1,0")) - (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,1,0")) - (rule "add_literals" (formula "24") (term "1,1,0,1,0")) - (rule "times_zero_1" (formula "24") (term "1,0,1,0")) - (rule "add_literals" (formula "24") (term "0,1,0")) - (rule "leq_literals" (formula "24") (term "1,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "applyEq" (formula "24") (term "1,1,1") (ifseqformula "35")) - (rule "inEqSimp_invertInEq1" (formula "24") (term "0")) - (rule "polySimp_mulLiterals" (formula "24") (term "0,0")) - (rule "mul_literals" (formula "24") (term "1,0")) - (rule "polySimp_elimOne" (formula "24") (term "0,0")) - (rule "inEqSimp_contradInEq1" (formula "24") (term "0") (ifseqformula "37")) - (rule "qeq_literals" (formula "24") (term "0,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "allLeft" (formula "25") (inst "t=i_0_0:int")) - (rule "eqSymm" (formula "25") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "25") (term "1,0")) - (rule "applyEq" (formula "25") (term "1,1,1") (ifseqformula "13")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0,0") (ifseqformula "11")) - (rule "qeq_literals" (formula "25") (term "0,0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0") (ifseqformula "12")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,0")) - (rule "add_literals" (formula "25") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "25") (term "1,0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,0")) - (rule "leq_literals" (formula "25") (term "0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "allLeft" (formula "20") (inst "t=add(Z(neglit(1(#))), - select(heap, self, LinkedList::#size)):int")) - (rule "inEqSimp_homoInEq0" (formula "20") (term "1,0")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1,0")) - (rule "mul_literals" (formula "20") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1,0")) - (rule "add_literals" (formula "20") (term "0,0,1,0")) - (rule "add_zero_left" (formula "20") (term "0,1,0")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1")) - (rule "polySimp_addComm0" (formula "20") (term "0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,1")) - (rule "add_literals" (formula "20") (term "0,1")) - (rule "leq_literals" (formula "20") (term "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "applyEq" (formula "20") (term "0,0,0") (ifseqformula "37")) - (rule "inEqSimp_invertInEq1" (formula "20") (term "1")) - (rule "polySimp_mulLiterals" (formula "20") (term "0,1")) - (rule "mul_literals" (formula "20") (term "1,1")) - (rule "polySimp_elimOne" (formula "20") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "39")) - (rule "qeq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "allLeft" (formula "26") (inst "t=add(Z(1(#)), i_0):int")) - (rule "eqSymm" (formula "26") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "26") (term "1,0")) - (rule "inEqSimp_homoInEq0" (formula "26") (term "0,0")) - (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "26") (term "1,0,0,0")) - (rule "mul_literals" (formula "26") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "26") (term "0,0,0")) - (rule "add_literals" (formula "26") (term "0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "26") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "26") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "26") (term "0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "0,0") (ifseqformula "4")) - (rule "qeq_literals" (formula "26") (term "0,0,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "26") (term "0,0")) - (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "26") (term "1,0,0,0")) - (rule "mul_literals" (formula "26") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "26") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "26") (term "0,0,0,0")) - (rule "add_literals" (formula "26") (term "0,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,0")) - (rule "add_literals" (formula "26") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "26") (term "1,0,0,0")) - (rule "add_literals" (formula "26") (term "0,0,0")) - (rule "leq_literals" (formula "26") (term "0,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "allLeft" (formula "27") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "eqSymm" (formula "27") (term "1")) - (rule "inEqSimp_commuteGeq" (formula "27") (term "1,0")) - (rule "inEqSimp_homoInEq0" (formula "27") (term "0,0")) - (rule "polySimp_mulComm0" (formula "27") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,0,0")) - (rule "mul_literals" (formula "27") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "27") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "27") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "27") (term "0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "27") (term "0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "0") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "27") (term "0,0")) - (rule "polySimp_mulComm0" (formula "27") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,0,0")) - (rule "mul_literals" (formula "27") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "27") (term "0,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "27") (term "0,0,0")) - (rule "add_literals" (formula "27") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "27") (term "1,0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,0")) - (rule "leq_literals" (formula "27") (term "0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "allLeft" (formula "31") (inst "t=add(Z(1(#)), i_0):int")) - (rule "inEqSimp_commuteGeq" (formula "31") (term "1,0,0,0,0")) - (rule "inEqSimp_homoInEq0" (formula "31") (term "1,0,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,1,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "31") (term "1,0,1,0,0,0,0,0")) - (rule "mul_literals" (formula "31") (term "0,1,0,1,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,1,0,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "31") (term "1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "31") (term "0,1,0,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "31") (term "1,0,0,0,0,0") (ifseqformula "4")) - (rule "qeq_literals" (formula "31") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "31")) - (rule "inEqSimp_contradInEq1" (formula "31") (term "1,0,0,0,0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "31") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "31") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "31") (term "0,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "31") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "31") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "31")) - (rule "allLeft" (formula "32") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_commuteGeq" (formula "32") (term "1,0,0,0,0")) - (rule "inEqSimp_homoInEq0" (formula "32") (term "1,0,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "32") (term "1,0,1,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "32") (term "1,0,1,0,0,0,0,0")) - (rule "mul_literals" (formula "32") (term "0,1,0,1,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "32") (term "0,1,0,0,0,0,0")) - (rule "add_literals" (formula "32") (term "0,0,1,0,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "32") (term "1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "32") (term "0,1,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "32") (term "0,1,0,0,0,0,0")) - (rule "inEqSimp_contradInEq1" (formula "32") (term "1,0,0,0,0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "32") (term "0,1,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "32")) - (rule "inEqSimp_contradInEq1" (formula "32") (term "1,0,0,0,0") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "32") (term "0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "32") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "32") (term "1,0,0,1,0,0,0,0")) - (rule "mul_literals" (formula "32") (term "0,1,0,0,1,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "32") (term "0,0,1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "32") (term "0,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "32") (term "0,0,0,0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "32") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "32") (term "1,1,0,0,1,0,0,0,0")) - (rule "times_zero_1" (formula "32") (term "1,0,0,1,0,0,0,0")) - (rule "add_literals" (formula "32") (term "0,0,1,0,0,0,0")) - (rule "leq_literals" (formula "32") (term "0,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "32")) - (rule "allLeft" (formula "20") (inst "t=add(Z(1(#)), i_0):int")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "20") (term "1,0")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1,0")) - (rule "mul_literals" (formula "20") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1,0")) - (rule "add_literals" (formula "20") (term "0,0,1,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "20") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "20") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "20") (term "0,1,0")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1,0") (ifseqformula "4")) - (rule "qeq_literals" (formula "20") (term "0,1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "20") (term "0,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,1")) - (rule "leq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "allLeft" (formula "20") (inst "t=add(Z(1(#)), nv_0):int")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "20") (term "1,0")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,1,0")) - (rule "mul_literals" (formula "20") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "20") (term "0,1,0")) - (rule "add_literals" (formula "20") (term "0,0,1,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "20") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "20") (term "0,1,0")) - (rule "polySimp_elimOne" (formula "20") (term "0,1,0")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "20") (term "0,1,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradInEq1" (formula "20") (term "1") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "20") (term "0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "20") (term "0,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0,1")) - (rule "add_literals" (formula "20") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "20") (term "1,0,0,1")) - (rule "add_literals" (formula "20") (term "0,0,1")) - (rule "leq_literals" (formula "20") (term "0,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "notLeft" (formula "20")) - (rule "referencedObjectIsCreatedRightEQ" (formula "51") (ifseqformula "36") (ifseqformula "44")) - (rule "close" (formula "51") (ifseqformula "15")) - ) + (rule "allLeft" (formula "26") (inst "t=j_0:int")) + (rule "replace_known_left" (formula "26") (term "0,0,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "26") (ifInst "" (formula "48"))) + (rule "inEqSimp_commuteGeq" (formula "26") (term "1")) + (rule "inEqSimp_contradInEq1" (formula "26") (term "0") (ifseqformula "1")) + (rule "qeq_literals" (formula "26") (term "0,0")) + (builtin "One Step Simplification" (formula "26")) + (rule "inEqSimp_contradInEq1" (formula "26") (ifseqformula "2")) + (rule "andLeft" (formula "26")) + (rule "inEqSimp_homoInEq1" (formula "26")) + (rule "polySimp_pullOutFactor1b" (formula "26") (term "0")) + (rule "add_literals" (formula "26") (term "1,1,0")) + (rule "times_zero_1" (formula "26") (term "1,0")) + (rule "add_literals" (formula "26") (term "0")) + (rule "leq_literals" (formula "26")) + (rule "closeFalse" (formula "26")) ) ) ) - ) - ) - (branch "Use Case" - (builtin "One Step Simplification" (formula "14")) - (builtin "One Step Simplification" (formula "13")) - (builtin "One Step Simplification" (formula "4")) - (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "2")) (ifInst "" (formula "2"))) - (rule "andLeft" (formula "4")) - (rule "eqSymm" (formula "17")) - (rule "eqSymm" (formula "16")) - (rule "eqSymm" (formula "18")) - (rule "eqSymm" (formula "6")) - (rule "eqSymm" (formula "19")) - (rule "eqSymm" (formula "15") (term "1,1,0")) - (rule "eqSymm" (formula "15") (term "0,1,0,1,0,1,0")) - (rule "eqSymm" (formula "15") (term "1,0,0,1,0")) - (rule "eqSymm" (formula "15") (term "1,1,0,1,0,1,0")) - (rule "eqSymm" (formula "14")) - (rule "polySimp_elimSub" (formula "17") (term "1,0,2,0")) - (rule "mul_literals" (formula "17") (term "1,1,0,2,0")) - (rule "polySimp_elimSub" (formula "15") (term "1,0,0,1,1,0")) - (rule "mul_literals" (formula "15") (term "1,1,0,0,1,1,0")) - (rule "polySimp_addComm0" (formula "15") (term "1,0,2,0,1,1,0")) - (rule "polySimp_addComm0" (formula "17") (term "1,0,2,0")) - (rule "polySimp_addComm0" (formula "15") (term "1,0,0,1,1,0")) - (rule "subsetSingletonLeft" (formula "12")) - (rule "subsetSingletonLeft" (formula "13")) - (rule "castedGetAny" (formula "1") (term "1,0,1,1,0")) - (rule "castedGetAny" (formula "15") (term "0,0,0,0,0,1,0")) - (rule "castedGetAny" (formula "16") (term "2,0")) - (rule "castedGetAny" (formula "6") (term "0")) - (rule "castedGetAny" (formula "15") (term "1,1,1,1,0")) - (rule "castedGetAny" (formula "15") (term "1,0,1,0,1,0,1,0")) - (rule "castedGetAny" (formula "15") (term "0,0,1,0,1,0,1,0")) - (rule "castedGetAny" (formula "15") (term "1,1,1,0,0,1,0")) - (rule "castedGetAny" (formula "15") (term "0,1,0,0,1,0")) - (rule "eqSymm" (formula "15") (term "1,0,0,1,0")) - (rule "castedGetAny" (formula "14") (term "0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "1") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0,1,0")) - (rule "castedGetAny" (formula "15") (term "2,0,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "15") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "15") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,0,1,0,0,1,0,1,0")) - (rule "castedGetAny" (formula "17") (term "2,0")) - (rule "inEqSimp_ltToLeq" (formula "5")) - (rule "polySimp_mulComm0" (formula "5") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "5") (term "0")) - (rule "inEqSimp_ltToLeq" (formula "14") (term "1,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "14") (term "1,0,0,1,0,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "15") (term "0,0,0,1,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "15") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "4")) - (rule "inEqSimp_commuteLeq" (formula "14") (term "0,0,0,1,0")) - (rule "applyEq" (formula "6") (term "1") (ifseqformula "2")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,1,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,1,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,1,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "15") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,1,1,0,0")) - (rule "mul_literals" (formula "15") (term "0,1,1,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "1,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "15") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,1,0,0,1,0,1,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,1,0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,1,1,0,0,1,0,1,0")) - (rule "mul_literals" (formula "15") (term "0,1,1,0,0,1,0,1,0")) - (rule "polySimp_elimOne" (formula "15") (term "1,1,1,0,0,1,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "5")) - (rule "polySimp_mulLiterals" (formula "5") (term "0")) - (rule "polySimp_elimOne" (formula "5") (term "0")) - (rule "inEqSimp_sepPosMonomial0" (formula "14") (term "1,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "14") (term "1,1,0,0,1,0")) - (rule "polySimp_rightDist" (formula "14") (term "1,1,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "14") (term "1,1,1,0,0,1,0")) - (rule "mul_literals" (formula "14") (term "0,1,1,0,0,1,0")) - (rule "polySimp_elimOne" (formula "14") (term "1,1,1,0,0,1,0")) - (rule "elementOfUnionEQ" (formula "12") (ifseqformula "14")) - (builtin "One Step Simplification" (formula "12")) - (rule "true_left" (formula "12")) - (rule "elementOfUnionEQ" (formula "12") (ifseqformula "13")) - (builtin "One Step Simplification" (formula "12")) - (rule "true_left" (formula "12")) - (rule "nnf_imp2or" (formula "1") (term "0")) - (rule "inEqSimp_notGeq" (formula "1") (term "0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "0,0")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "nnf_imp2or" (formula "13") (term "0")) - (rule "nnf_imp2or" (formula "1") (term "1,0")) - (rule "inEqSimp_notLeq" (formula "1") (term "0,1,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0,1,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0,0,1,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0,0,1,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0,1,0")) - (rule "add_zero_left" (formula "1") (term "0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,1,0")) - (rule "nnf_notAnd" (formula "13") (term "0,0")) - (rule "inEqSimp_notLeq" (formula "13") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "13") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "13") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "13") (term "0,0,1,0,0")) - (rule "add_literals" (formula "13") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "13") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "13") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "13") (term "1,1,0,0")) - (rule "inEqSimp_notGeq" (formula "13") (term "0,0,0")) - (rule "mul_literals" (formula "13") (term "1,0,0,0,0,0")) - (rule "add_zero_right" (formula "13") (term "0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "13") (term "0,0,0")) - (rule "mul_literals" (formula "13") (term "1,0,0,0")) - (rule "nnf_imp2or" (formula "13") (term "0,1,0,1,0")) - (rule "nnf_notAnd" (formula "13") (term "0,0,1,0,1,0")) - (rule "inEqSimp_notLeq" (formula "13") (term "1,0,0,1,0,1,0")) - (rule "polySimp_rightDist" (formula "13") (term "1,0,0,1,0,0,1,0,1,0")) - (rule "mul_literals" (formula "13") (term "0,1,0,0,1,0,0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "13") (term "0,0,1,0,0,1,0,1,0")) - (rule "add_literals" (formula "13") (term "0,0,0,1,0,0,1,0,1,0")) - (rule "add_zero_left" (formula "13") (term "0,0,1,0,0,1,0,1,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "13") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,1,0,0,1,0,1,0")) - (rule "polySimp_elimOne" (formula "13") (term "1,1,0,0,1,0,1,0")) - (rule "inEqSimp_notGeq" (formula "13") (term "0,0,0,1,0,1,0")) - (rule "times_zero_1" (formula "13") (term "1,0,0,0,0,0,1,0,1,0")) - (rule "add_zero_right" (formula "13") (term "0,0,0,0,0,1,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "13") (term "0,0,0,1,0,1,0")) - (rule "mul_literals" (formula "13") (term "1,0,0,0,1,0,1,0")) - (rule "nnf_imp2or" (formula "13") (term "1,0,1,0,1,0")) - (rule "commute_or" (formula "3") (term "1")) - (rule "Class_invariant_axiom_for_LinkedList" (formula "21") (inst "i=i") (inst "i_0=i_0") (inst "j=j") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "21")) - (rule "eqSymm" (formula "21") (term "1,0,0,1,0,1,0,0,0")) - (rule "eqSymm" (formula "21") (term "0,1")) - (rule "eqSymm" (formula "21") (term "1,0,0,0,0")) - (rule "eqSymm" (formula "21") (term "1,1")) - (rule "eqSymm" (formula "21") (term "1,0,0")) - (rule "eqSymm" (formula "21") (term "1,1,0,1,0,0,0")) - (rule "eqSymm" (formula "21") (term "0,1,0,1,0,1,0,1,0,0,0")) - (rule "eqSymm" (formula "21") (term "1,1,0,1,0,1,0,1,0,0,0")) - (rule "eqSymm" (formula "21") (term "1,0")) - (rule "polySimp_elimSub" (formula "21") (term "1,0,0,1,1,0,1,0,0,0")) - (rule "mul_literals" (formula "21") (term "1,1,0,0,1,1,0,1,0,0,0")) - (rule "polySimp_elimSub" (formula "21") (term "1,0,2,0,1,0")) - (rule "mul_literals" (formula "21") (term "1,1,0,2,0,1,0")) - (rule "polySimp_addComm0" (formula "21") (term "1,0,2,0,1,1,0,1,0,0,0")) - (rule "polySimp_addComm0" (formula "21") (term "1,0,0,1,1,0,1,0,0,0")) - (rule "polySimp_addComm0" (formula "21") (term "1,0,2,0,1,0")) - (rule "subsetSingletonLeft" (formula "21") (term "0,0,0,0,0,0")) - (rule "subsetSingletonLeft" (formula "21") (term "1,0,0,0,0,0")) - (rule "castedGetAny" (formula "21") (term "0,1,0,1,0,1,0,0,0,0")) - (rule "castedGetAny" (formula "21") (term "0,0,0,0,0,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "21") (term "0,1,0,0,1,0,1,0,0,0")) - (rule "eqSymm" (formula "21") (term "1,0,0,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "21") (term "0,0,1,0,1,0,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "21") (term "1,0,1,0,1,0,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "21") (term "2,0,1,1,0,1,0,0,0")) - (rule "eqSymm" (formula "21") (term "1,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "21") (term "2,0,1,0,0")) - (rule "castedGetAny" (formula "21") (term "2,0,1,0")) - (rule "castedGetAny" (formula "21") (term "1,0,1,0,0,1,0,1,0,0,0")) - (rule "castedGetAny" (formula "21") (term "1,0,1,1,0,1,0,0,0")) - (rule "eqSymm" (formula "21") (term "1,1,0,1,0,0,0")) - (rule "inEqSimp_ltToLeq" (formula "21") (term "1,0,0,1,0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1,0,0,1,0,1,0,0,0,0")) - (rule "inEqSimp_ltToLeq" (formula "21") (term "1,0,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1,0,0,1,0,0,0")) - (rule "inEqSimp_ltToLeq" (formula "21") (term "1,0,0,1,0,1,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1,0,0,1,0,1,0,1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "0,0,0,1,0,1,0,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "0,0,0,1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "0,0,0,1,0,1,0,1,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1,0,0,1,0,1,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,1,0,0,1,0,1,0,0,0,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,1,0,0,1,0,1,0,0,0,0")) - (rule "mul_literals" (formula "21") (term "0,1,1,0,0,1,0,1,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1,0,0,1,0,1,0,0,0,0")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,1,0,0,1,0,1,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1,0,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,1,0,0,1,0,0,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,1,0,0,1,0,0,0")) - (rule "mul_literals" (formula "21") (term "0,1,1,0,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1,0,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,1,0,0,1,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1,0,0,1,0,1,0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,1,0,0,1,0,1,0,1,0,0,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,1,0,0,1,0,1,0,1,0,0,0")) - (rule "mul_literals" (formula "21") (term "0,1,1,0,0,1,0,1,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1,0,0,1,0,1,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,1,0,0,1,0,1,0,1,0,0,0")) - (rule "pullOutSelect" (formula "21") (term "1,1,0,0,0,0") (inst "selectSK=List_footprint_0:LocSet")) - (rule "applyEq" (formula "22") (term "2,0,0,0,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "2,1,0,0,0,0,0") (ifseqformula "1")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) - (rule "applyEqReverse" (formula "22") (term "2,0,0,0,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "2,1,0,0,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "1,1,0,0,0,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "elementOfUnionEQ" (formula "21") (term "0,0,0,0,0,0") (ifseqformula "12")) - (builtin "One Step Simplification" (formula "21")) - (rule "elementOfUnionEQ" (formula "21") (term "0,0,0,0,0") (ifseqformula "12")) - (builtin "One Step Simplification" (formula "21")) - (rule "pullOutSelect" (formula "21") (term "1,1,1,0,0,1,0,0,0,0,0") (inst "selectSK=LinkedList_size_0:int")) - (rule "applyEq" (formula "22") (term "1,1,1,0,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "1,1,1,0,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,0,0,1,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,0,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "1,1,2,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "1,1,0,0,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "1,0,1") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "1,1,1") (ifseqformula "1")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) - (rule "applyEqReverse" (formula "22") (term "1,1,1,0,0,1,0,0,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "1,1,1,0,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "1,1,1,0,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "1,1,0,0,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,0,0,1,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,0,0,1,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "1,1,2,0,1,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "1,0,1") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "1,1,1") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "pullOutSelect" (formula "21") (term "0,0,1,0,1,0,0,0,0,0") (inst "selectSK=LinkedList_nodeseq_0:Seq")) - (rule "applyEq" (formula "22") (term "0,0,0,0,0,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,1,0,1,0,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,0,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,1,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,2,0,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,1,1,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,2,0,1,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,2,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,0,1,1") (ifseqformula "1")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) - (rule "applyEqReverse" (formula "22") (term "0,0,1,0,1,0,0,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,0,0,0,0,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,1,0,1,0,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,0,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,1,0,1,0,1,0,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,2,0,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,1,1,1,1,0,1,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,2,0,1,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,2,0,1,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,0,1,1") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "replace_known_left" (formula "21") (term "0,0,0,0") (ifseqformula "12")) - (builtin "One Step Simplification" (formula "21") (ifInst "" (formula "17"))) - (rule "applyEq" (formula "21") (term "0,1,0,0") (ifseqformula "14")) - (rule "eqSymm" (formula "21") (term "1,0,0")) - (rule "applyEq" (formula "21") (term "0,1,0") (ifseqformula "15")) - (rule "eqSymm" (formula "21") (term "1,0")) - (rule "pullOutSelect" (formula "21") (term "0,1,1,0,0,1,0,0,0,0") (inst "selectSK=List_seq_0:Seq")) - (rule "applyEq" (formula "22") (term "0,0,1") (ifseqformula "1")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) - (rule "applyEqReverse" (formula "22") (term "0,1,1,0,0,1,0,0,0,0") (ifseqformula "1")) - (rule "applyEqReverse" (formula "22") (term "0,0,1") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "replace_known_left" (formula "21") (term "1") (ifseqformula "16")) - (builtin "One Step Simplification" (formula "21")) - (rule "pullOutSelect" (formula "21") (term "0,1,0") (inst "selectSK=LinkedList_first_0:Node")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) - (rule "applyEqReverse" (formula "22") (term "0,1,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "22")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "pullOutSelect" (formula "21") (term "0,1") (inst "selectSK=LinkedList_last_0:Node")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) - (rule "applyEqReverse" (formula "22") (term "0,1") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "22")) - (rule "allRight" (formula "22") (inst "sk=i_0:int")) - (rule "impRight" (formula "22")) - (rule "andLeft" (formula "1")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "polySimp_homoEq" (formula "23") (term "0,0,1")) - (rule "polySimp_addComm1" (formula "23") (term "0,0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_sepPosMonomial" (formula "23") (term "0,0,1")) - (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "23") (term "1,0,0,1")) - (rule "mul_literals" (formula "23") (term "0,1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "23") (term "1,1,0,0,1")) - (rule "polySimp_elimOne" (formula "23") (term "1,1,0,0,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "mul_literals" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) - (rule "polySimp_elimOne" (formula "2") (term "1,1")) - (rule "pullOutSelect" (formula "23") (term "0,1,0,0") (inst "selectSK=Node_data_0:int")) - (rule "simplifySelectOfStore" (formula "1")) - (builtin "One Step Simplification" (formula "1")) - (rule "castDel" (formula "1") (term "1,0")) - (rule "eqSymm" (formula "24") (term "1,0,0")) - (rule "eqSymm" (formula "1") (term "0,0")) - (rule "pullOutSelect" (formula "24") (term "1,1") (inst "selectSK=Node_next_0:Node")) - (rule "simplifySelectOfStore" (formula "1")) - (builtin "One Step Simplification" (formula "1")) - (rule "castDel" (formula "1") (term "1,0")) - (rule "eqSymm" (formula "1") (term "0,0")) - (rule "pullOutSelect" (formula "2") (term "2,0") (inst "selectSK=Node_data_1:int")) - (rule "simplifySelectOfCreate" (formula "2")) - (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "24"))) - (rule "applyEqReverse" (formula "3") (term "2,0") (ifseqformula "2")) - (rule "hideAuxiliaryEq" (formula "2")) - (rule "pullOutSelect" (formula "1") (term "2,0") (inst "selectSK=Node_next_1:Node")) - (rule "simplifySelectOfCreate" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "24"))) - (rule "applyEqReverse" (formula "2") (term "2,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "nnf_imp2or" (formula "25") (term "0,1,0")) - (rule "nnf_notAnd" (formula "25") (term "0,0,1,0")) - (rule "inEqSimp_notGeq" (formula "25") (term "0,0,0,1,0")) - (rule "mul_literals" (formula "25") (term "1,0,0,0,0,0,1,0")) - (rule "add_literals" (formula "25") (term "0,0,0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "25") (term "0,0,0,1,0")) - (rule "mul_literals" (formula "25") (term "1,0,0,0,1,0")) - (rule "inEqSimp_notLeq" (formula "25") (term "1,0,0,1,0")) - (rule "polySimp_rightDist" (formula "25") (term "1,0,0,1,0,0,1,0")) - (rule "mul_literals" (formula "25") (term "0,1,0,0,1,0,0,1,0")) - (rule "polySimp_addAssoc" (formula "25") (term "0,0,1,0,0,1,0")) - (rule "add_literals" (formula "25") (term "0,0,0,1,0,0,1,0")) - (rule "add_zero_left" (formula "25") (term "0,0,1,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "25") (term "1,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "25") (term "1,1,0,0,1,0")) - (rule "polySimp_elimOne" (formula "25") (term "1,1,0,0,1,0")) - (rule "nnf_imp2or" (formula "25") (term "1,0,1,0")) - (rule "shift_paren_or" (formula "7")) - (rule "shift_paren_or" (formula "5") (term "0")) - (rule "shift_paren_or" (formula "17") (term "0,1,0,1,0")) - (rule "ifthenelse_to_or_left" (formula "17") (term "1,1,0")) - (rule "eqSymm" (formula "17") (term "1,0,1,1,0")) - (rule "eqSymm" (formula "17") (term "1,1,1,1,0")) - (rule "commute_or_2" (formula "5") (term "0")) - (rule "commute_or" (formula "5") (term "0,0")) - (rule "ifthenelse_split" (formula "18") (term "0")) - (branch "self.size = 0 TRUE" - (rule "eqSymm" (formula "19")) - (rule "replace_known_left" (formula "20") (term "0,0") (ifseqformula "18")) - (builtin "One Step Simplification" (formula "20")) - (rule "eqSymm" (formula "20")) - (rule "applyEq" (formula "26") (term "1,1,0,0,1,0") (ifseqformula "18")) - (rule "applyEq" (formula "26") (term "0,0,0,1") (ifseqformula "18")) - (rule "polySimp_homoEq" (formula "26") (term "0,0,1")) - (rule "mul_literals" (formula "26") (term "1,0,0,0,1")) - (rule "add_zero_right" (formula "26") (term "0,0,0,1")) - (rule "applyEq" (formula "9") (term "0") (ifseqformula "18")) - (rule "inEqSimp_homoInEq1" (formula "9")) - (rule "mul_literals" (formula "9") (term "1,0")) - (rule "add_zero_right" (formula "9") (term "0")) - (rule "applyEq" (formula "4") (term "0") (ifseqformula "18")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "mul_literals" (formula "4") (term "1,0")) - (rule "add_zero_right" (formula "4") (term "0")) - (rule "applyEq" (formula "17") (term "1,1,0,0") (ifseqformula "18")) - (rule "applyEq" (formula "16") (term "1,1,1,0,0,1,0") (ifseqformula "18")) - (rule "add_literals" (formula "16") (term "1,1,0,0,1,0")) - (rule "applyEq" (formula "17") (term "1,1,0,0,0,1,0,1,0") (ifseqformula "18")) - (rule "applyEq" (formula "5") (term "1,1,0") (ifseqformula "18")) - (rule "applyEq" (formula "17") (term "1,1,0,0,0,1,1,0") (ifseqformula "18")) - (rule "add_literals" (formula "17") (term "1,0,0,0,1,1,0")) - (rule "applyEq" (formula "17") (term "1,1,0,1,1,1,0") (ifseqformula "18")) - (rule "add_literals" (formula "17") (term "1,0,1,1,1,0")) - (rule "applyEq" (formula "22") (term "1") (ifseqformula "18")) - (rule "applyEq" (formula "21") (term "1") (ifseqformula "18")) - (rule "polySimp_sepPosMonomial" (formula "26") (term "0,0,1")) - (rule "mul_literals" (formula "26") (term "1,0,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "9")) - (rule "mul_literals" (formula "9") (term "1")) - (rule "inEqSimp_sepPosMonomial0" (formula "4")) - (rule "mul_literals" (formula "4") (term "1")) - (rule "inEqSimp_contradEq7" (formula "26") (term "0,0,1") (ifseqformula "3")) - (rule "add_zero_left" (formula "26") (term "0,0,0,0,1")) - (rule "mul_literals" (formula "26") (term "0,0,0,0,1")) - (rule "leq_literals" (formula "26") (term "0,0,0,1")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "4")) - (rule "qeq_literals" (formula "3") (term "0")) - (builtin "One Step Simplification" (formula "3")) - (rule "closeFalse" (formula "3")) - ) - (branch "self.size = 0 FALSE" - (rule "replace_known_right" (formula "19") (term "0,0") (ifseqformula "22")) - (builtin "One Step Simplification" (formula "19")) - (rule "commute_or" (formula "17") (term "0,1,1,0")) - (rule "commute_or" (formula "17") (term "1,1,1,0")) - (rule "commute_or_2" (formula "17") (term "0,0,1,0,1,0")) - (rule "commute_or" (formula "17") (term "0,0,0,1,0,1,0")) - (rule "seqGetAlphaCast" (formula "10") (term "0")) - (rule "castedGetAny" (formula "10") (term "0")) - (builtin "One Step Simplification" (formula "10")) - (rule "true_left" (formula "10")) - (rule "lenNonNegative" (formula "21") (term "0")) - (rule "inEqSimp_commuteLeq" (formula "21")) - (rule "applyEq" (formula "21") (term "0") (ifseqformula "22")) - (rule "inEqSimp_strengthen1" (formula "21") (ifseqformula "23")) - (rule "add_literals" (formula "21") (term "1")) - (rule "inEqSimp_contradEq7" (formula "23") (ifseqformula "21")) - (rule "mul_literals" (formula "23") (term "1,0,0")) - (rule "add_literals" (formula "23") (term "0,0")) - (rule "leq_literals" (formula "23") (term "0")) - (builtin "One Step Simplification" (formula "23")) - (rule "false_right" (formula "23")) - (rule "lenNonNegative" (formula "20") (term "0")) - (rule "inEqSimp_commuteLeq" (formula "20")) - (rule "applyEq" (formula "20") (term "0") (ifseqformula "21")) - (rule "inEqSimp_subsumption1" (formula "20") (ifseqformula "22")) - (rule "leq_literals" (formula "20") (term "0")) - (builtin "One Step Simplification" (formula "20")) - (rule "true_left" (formula "20")) - (rule "ifthenelse_split" (formula "26") (term "0,1")) - (branch "self.size = 1 + i_0 TRUE" - (rule "eqSymm" (formula "27") (term "1")) - (rule "applyEq" (formula "27") (term "1,1,0,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "10") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq1" (formula "10")) - (rule "polySimp_mulComm0" (formula "10") (term "1,0")) - (rule "polySimp_rightDist" (formula "10") (term "1,0")) - (rule "mul_literals" (formula "10") (term "0,1,0")) - (rule "polySimp_addComm1" (formula "10") (term "0")) - (rule "polySimp_addAssoc" (formula "10") (term "0,0")) - (rule "add_literals" (formula "10") (term "0,0,0")) - (rule "add_zero_left" (formula "10") (term "0,0")) - (rule "applyEq" (formula "5") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq1" (formula "5")) - (rule "polySimp_pullOutFactor1" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,0")) - (rule "times_zero_1" (formula "5") (term "0")) - (rule "leq_literals" (formula "5")) - (rule "true_left" (formula "5")) - (rule "applyEq" (formula "21") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq1" (formula "21")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,0")) - (rule "mul_literals" (formula "21") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "21") (term "0")) - (rule "add_literals" (formula "21") (term "0,0")) - (rule "add_zero_left" (formula "21") (term "0")) - (rule "applyEq" (formula "17") (term "1,1,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "16") (term "1,1,1,0,0,1,0") (ifseqformula "1")) - (rule "polySimp_addAssoc" (formula "16") (term "1,1,0,0,1,0")) - (rule "add_literals" (formula "16") (term "0,1,1,0,0,1,0")) - (rule "add_zero_left" (formula "16") (term "1,1,0,0,1,0")) - (rule "applyEq" (formula "17") (term "1,1,0,0,1,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "5") (term "1,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "19") (term "1,1,0") (ifseqformula "1")) - (rule "polySimp_addAssoc" (formula "19") (term "1,0")) - (rule "add_literals" (formula "19") (term "0,1,0")) - (rule "add_zero_left" (formula "19") (term "1,0")) - (rule "applyEq" (formula "17") (term "1,1,0,1,0,1,1,0") (ifseqformula "1")) - (rule "polySimp_addAssoc" (formula "17") (term "1,0,1,0,1,1,0")) - (rule "add_literals" (formula "17") (term "0,1,0,1,0,1,1,0")) - (rule "add_zero_left" (formula "17") (term "1,0,1,0,1,1,0")) - (rule "applyEq" (formula "17") (term "1,1,1,1,1,1,0") (ifseqformula "1")) - (rule "polySimp_addAssoc" (formula "17") (term "1,1,1,1,1,0")) - (rule "add_literals" (formula "17") (term "0,1,1,1,1,1,0")) - (rule "add_zero_left" (formula "17") (term "1,1,1,1,1,0")) - (rule "applyEq" (formula "22") (term "1") (ifseqformula "1")) - (rule "applyEq" (formula "20") (term "1") (ifseqformula "1")) - (rule "applyEq" (formula "26") (term "0,0,0,0,0") (ifseqformula "19")) - (rule "applyEq" (formula "26") (term "1,0,0,1,0,1,0") (ifseqformula "19")) - (rule "applyEq" (formula "2") (term "0,0,0") (ifseqformula "19")) - (rule "applyEq" (formula "3") (term "0,0,0") (ifseqformula "19")) - (rule "applyEq" (formula "2") (term "1,2,0") (ifseqformula "19")) - (rule "applyEq" (formula "3") (term "1,2,0") (ifseqformula "19")) - (rule "inEqSimp_sepPosMonomial0" (formula "9")) - (rule "polySimp_mulLiterals" (formula "9") (term "1")) - (rule "polySimp_elimOne" (formula "9") (term "1")) - (rule "inEqSimp_invertInEq0" (formula "21")) - (rule "polySimp_mulLiterals" (formula "21") (term "0")) - (rule "mul_literals" (formula "21") (term "1")) - (rule "polySimp_elimOne" (formula "21") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "9")) - (rule "mul_literals" (formula "8") (term "0,0")) - (rule "add_zero_left" (formula "8") (term "0")) - (rule "all_pull_out1" (formula "17") (term "0,1,0")) - (rule "seqGetAlphaCast" (formula "25") (term "0,1,0,0")) - (rule "castedGetAny" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "true_left" (formula "1")) - (rule "allLeft" (formula "5") (inst "t=i_0_0:int")) - (rule "applyEq" (formula "5") (term "1,0,0,0") (ifseqformula "11")) - (rule "replace_known_right" (formula "5") (term "0,0") (ifseqformula "23")) - (builtin "One Step Simplification" (formula "5")) - (rule "inEqSimp_contradInEq1" (formula "5") (term "0") (ifseqformula "9")) - (rule "qeq_literals" (formula "5") (term "0,0")) - (builtin "One Step Simplification" (formula "5")) - (rule "inEqSimp_contradInEq0" (formula "5") (ifseqformula "10")) - (rule "andLeft" (formula "5")) - (rule "inEqSimp_homoInEq1" (formula "5")) - (rule "polySimp_pullOutFactor1b" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,1,0")) - (rule "times_zero_1" (formula "5") (term "1,0")) - (rule "add_literals" (formula "5") (term "0")) - (rule "leq_literals" (formula "5")) - (rule "closeFalse" (formula "5")) - ) - (branch "self.size = 1 + i_0 FALSE" - (rule "inEqSimp_strengthen1" (formula "4") (ifseqformula "26")) - (rule "polySimp_addAssoc" (formula "4") (term "1")) - (rule "add_literals" (formula "4") (term "0,1")) - (rule "inEqSimp_contradEq7" (formula "26") (ifseqformula "4")) - (rule "polySimp_rightDist" (formula "26") (term "1,0,0")) - (rule "mul_literals" (formula "26") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "26") (term "0,0")) - (rule "polySimp_addComm1" (formula "26") (term "0,0,0")) - (rule "add_literals" (formula "26") (term "0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0")) - (rule "add_literals" (formula "26") (term "1,1,0,0")) - (rule "times_zero_1" (formula "26") (term "1,0,0")) - (rule "add_literals" (formula "26") (term "0,0")) - (rule "leq_literals" (formula "26") (term "0")) - (builtin "One Step Simplification" (formula "26")) - (rule "false_right" (formula "26")) - (rule "ifthenelse_split" (formula "2") (term "0")) - (branch "(Node)self.nodeseq[i_0] = n_2 TRUE" - (rule "applyEqReverse" (formula "27") (term "1,1,0,0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "1")) - (rule "applyEqReverse" (formula "26") (term "1,1") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "applyEq" (formula "25") (term "0,0,0,0,0") (ifseqformula "1")) - (rule "replace_known_right" (formula "25") (term "0,0,0,0") (ifseqformula "23")) - (builtin "One Step Simplification" (formula "25")) - (rule "applyEq" (formula "25") (term "1,0,0,1,0,1,0") (ifseqformula "1")) - (rule "all_pull_out1" (formula "16") (term "0,1,0")) - (rule "allLeft" (formula "4") (inst "t=i_0:int")) - (rule "inEqSimp_commuteGeq" (formula "4") (term "1")) - (rule "applyEq" (formula "4") (term "1,0,0,0") (ifseqformula "1")) - (rule "replace_known_right" (formula "4") (term "0,0") (ifseqformula "23")) - (builtin "One Step Simplification" (formula "4")) - (rule "allLeft" (formula "5") (inst "t=i_0_0:int")) - (rule "inEqSimp_commuteGeq" (formula "5") (term "1")) - (rule "applyEq" (formula "5") (term "1,0,0,0") (ifseqformula "11")) - (rule "replace_known_right" (formula "5") (term "0,0") (ifseqformula "24")) - (builtin "One Step Simplification" (formula "5")) - (rule "inEqSimp_contradInEq1" (formula "5") (term "0") (ifseqformula "9")) - (rule "qeq_literals" (formula "5") (term "0,0")) - (builtin "One Step Simplification" (formula "5")) - (rule "inEqSimp_contradInEq1" (formula "4") (term "0") (ifseqformula "2")) - (rule "qeq_literals" (formula "4") (term "0,0")) - (builtin "One Step Simplification" (formula "4")) - (rule "inEqSimp_contradInEq0" (formula "10") (ifseqformula "5")) - (rule "andLeft" (formula "10")) - (rule "inEqSimp_homoInEq1" (formula "10")) - (rule "polySimp_pullOutFactor1b" (formula "10") (term "0")) - (rule "add_literals" (formula "10") (term "1,1,0")) - (rule "times_zero_1" (formula "10") (term "1,0")) - (rule "add_literals" (formula "10") (term "0")) - (rule "leq_literals" (formula "10")) - (rule "closeFalse" (formula "10")) + (branch "CUT: (int)self.seq[i_0] = (Node)self.nodeseq[i_0].data FALSE" + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "allLeft" (formula "21") (inst "t=i_0:int")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "1")) + (rule "polySimp_addComm1" (formula "21") (term "0,1")) + (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1")) + (rule "polySimp_mulComm0" (formula "21") (term "1,1")) + (rule "polySimp_rightDist" (formula "21") (term "1,1")) + (rule "mul_literals" (formula "21") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "21") (term "1,1,1")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0") (ifseqformula "1")) + (rule "qeq_literals" (formula "21") (term "0,1,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_contradInEq1" (formula "21") (term "1") (ifseqformula "2")) + (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1")) + (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1")) + (rule "mul_literals" (formula "21") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "21") (term "0,0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,0,0,1")) + (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1")) + (rule "add_literals" (formula "21") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "21") (term "1,0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,1")) + (rule "leq_literals" (formula "21") (term "0,1")) + (builtin "One Step Simplification" (formula "21")) + (rule "onlyCreatedObjectsAreReferenced" (formula "25") (term "1") (ifseqformula "8")) + (rule "cut_direct" (formula "23") (term "0")) + (branch "CUT: self.first = null TRUE" + (builtin "One Step Simplification" (formula "24")) + (rule "true_left" (formula "24")) + (rule "applyEq" (formula "24") (term "1") (ifseqformula "23")) + (rule "allLeft" (formula "18") (inst "t=i_0:int")) + (rule "eqSymm" (formula "18") (term "1")) + (rule "replace_known_right" (formula "18") (term "1") (ifseqformula "37")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "1")) + (rule "qeq_literals" (formula "18") (term "0,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_contradInEq1" (formula "18") (ifseqformula "2")) + (rule "andLeft" (formula "18")) + (rule "inEqSimp_homoInEq1" (formula "18")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0")) + (rule "add_literals" (formula "18") (term "1,1,0")) + (rule "times_zero_1" (formula "18") (term "1,0")) + (rule "add_literals" (formula "18") (term "0")) + (rule "leq_literals" (formula "18")) + (rule "closeFalse" (formula "18")) ) - (branch "(Node)self.nodeseq[i_0] = n_2 FALSE" - (rule "applyEqReverse" (formula "27") (term "1,1,0,0") (ifseqformula "2")) - (rule "hideAuxiliaryEq" (formula "2")) - (rule "replace_known_right" (formula "1") (term "0,0") (ifseqformula "22")) - (builtin "One Step Simplification" (formula "1")) - (rule "applyEqReverse" (formula "26") (term "1,1") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "eqSymm" (formula "25") (term "1")) - (rule "all_pull_out1" (formula "15") (term "0,1,0")) - (rule "allLeft" (formula "3") (inst "t=i_0_0:int")) - (rule "inEqSimp_commuteGeq" (formula "3") (term "1")) - (rule "applyEq" (formula "3") (term "1,0,0,0") (ifseqformula "9")) - (rule "replace_known_right" (formula "3") (term "0,0") (ifseqformula "23")) - (builtin "One Step Simplification" (formula "3")) - (rule "inEqSimp_contradInEq1" (formula "3") (term "0") (ifseqformula "7")) - (rule "qeq_literals" (formula "3") (term "0,0")) - (builtin "One Step Simplification" (formula "3")) - (rule "inEqSimp_contradInEq0" (formula "8") (ifseqformula "3")) - (rule "andLeft" (formula "8")) - (rule "inEqSimp_homoInEq1" (formula "8")) - (rule "polySimp_pullOutFactor1b" (formula "8") (term "0")) - (rule "add_literals" (formula "8") (term "1,1,0")) - (rule "times_zero_1" (formula "8") (term "1,0")) - (rule "add_literals" (formula "8") (term "0")) - (rule "leq_literals" (formula "8")) - (rule "closeFalse" (formula "8")) + (branch "CUT: self.first = null FALSE" + (builtin "One Step Simplification" (formula "23")) + (rule "allLeft" (formula "18") (inst "t=i_0:int")) + (rule "eqSymm" (formula "18") (term "1")) + (rule "replace_known_right" (formula "18") (term "1") (ifseqformula "38")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) + (rule "inEqSimp_contradInEq1" (formula "18") (term "0") (ifseqformula "1")) + (rule "qeq_literals" (formula "18") (term "0,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_contradInEq1" (formula "18") (ifseqformula "2")) + (rule "andLeft" (formula "18")) + (rule "inEqSimp_homoInEq1" (formula "18")) + (rule "polySimp_pullOutFactor1b" (formula "18") (term "0")) + (rule "add_literals" (formula "18") (term "1,1,0")) + (rule "times_zero_1" (formula "18") (term "1,0")) + (rule "add_literals" (formula "18") (term "0")) + (rule "leq_literals" (formula "18")) + (rule "closeFalse" (formula "18")) ) ) ) ) ) - (branch "inInt(i_0_0) & (0 <= i_0_0 & i_0_0 < self.size) FALSE" - (builtin "One Step Simplification" (formula "17")) - (builtin "One Step Simplification" (formula "12")) - (builtin "One Step Simplification" (formula "11")) - (builtin "One Step Simplification" (formula "3")) - (rule "closeFalse" (formula "3")) - ) ) ) - (branch "CUT: ov_0 = n_2 FALSE" - (builtin "One Step Simplification" (formula "11")) - (builtin "One Step Simplification" (formula "10")) - (builtin "One Step Simplification" (formula "2")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "16")) (ifInst "" (formula "16"))) - (rule "closeFalse" (formula "1")) - ) ) ) (branch "Case 2" diff --git a/key.ui/examples/heap/FM2024Tutorial/BinarySearch/BinSearch_binSearchR.key.proof b/key.ui/examples/heap/FM2024Tutorial/BinarySearch/BinSearch_binSearchR.key.proof deleted file mode 100644 index 972078fa002..00000000000 --- a/key.ui/examples/heap/FM2024Tutorial/BinarySearch/BinSearch_binSearchR.key.proof +++ /dev/null @@ -1,3908 +0,0 @@ -\profile "Java Profile"; - -\settings { - "Choice" : { - "JavaCard" : "JavaCard:off", - "Strings" : "Strings:on", - "assertions" : "assertions:safe", - "bigint" : "bigint:on", - "finalFields" : "finalFields:immutable", - "floatRules" : "floatRules:strictfpOnly", - "initialisation" : "initialisation:disableStaticInitialisation", - "intRules" : "intRules:arithmeticSemanticsIgnoringOF", - "integerSimplificationRules" : "integerSimplificationRules:full", - "javaLoopTreatment" : "javaLoopTreatment:efficient", - "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", - "methodExpansion" : "methodExpansion:modularOnly", - "modelFields" : "modelFields:treatAsAxiom", - "moreSeqRules" : "moreSeqRules:off", - "permissions" : "permissions:off", - "programRules" : "programRules:Java", - "reach" : "reach:on", - "runtimeExceptions" : "runtimeExceptions:ban", - "sequences" : "sequences:on", - "soundDefaultContracts" : "soundDefaultContracts:on", - "wdChecks" : "wdChecks:off", - "wdOperator" : "wdOperator:L" - }, - "Labels" : { - "UseOriginLabels" : true - }, - "NewSMT" : { - "Axiomatisations" : "false", - "Presburger" : "false", - "sqrtSMTTranslation" : "SMT" - }, - "SMTSettings" : { - "SelectedTaclets" : [ - - ], - "UseBuiltUniqueness" : false, - "explicitTypeHierarchy" : false, - "instantiateHierarchyAssumptions" : true, - "integersMaximum" : 2147483645, - "integersMinimum" : -2147483645, - "invariantForall" : false, - "maxGenericSorts" : 2, - "useConstantsForBigOrSmallIntegers" : true, - "useUninterpretedMultiplication" : true - }, - "Strategy" : { - "ActiveStrategy" : "Modular JavaDL Strategy", - "MaximumNumberOfAutomaticApplications" : 10000, - "Timeout" : -1, - "options" : { - "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", - "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", - "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", - "DEP_OPTIONS_KEY" : "DEP_ON", - "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", - "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", - "MPS_OPTIONS_KEY" : "MPS_MERGE", - "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_DEF_OPS", - "OSS_OPTIONS_KEY" : "OSS_ON", - "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", - "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_OFF", - "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", - "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", - "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", - "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", - "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", - "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", - "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", - "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", - "VBT_PHASE" : "VBT_SYM_EX" - } - } -} - - -\bootclasspath "../../../../../key.core/build/resources/main/de/uka/ilkd/key/java/JavaRedux"; -\javaSource "src"; - -\proofObligation -// -{ - "class" : "de.uka.ilkd.key.proof.init.FunctionalOperationContractPO", - "contract" : "BinSearch[BinSearch::binSearchR([I,int,int,int)].JML normal_behavior operation contract.0", - "name" : "BinSearch[BinSearch::binSearchR([I,int,int,int)].JML normal_behavior operation contract.0" -} - -\proof { -(keyLog "0" (keyUser "daniel" ) (keyVersion "ba42c20cd404dc00d6aaa5695542be46eee5b0b6")) - -(autoModeTime "1710") - -(branch "dummy ID" - (builtin "One Step Simplification" (formula "1")) -(rule "impRight" (formula "1")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "3")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "5")) -(rule "andLeft" (formula "4")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "8")) -(rule "andLeft" (formula "5")) -(rule "andLeft" (formula "1")) -(rule "notLeft" (formula "11")) -(rule "andLeft" (formula "1")) -(rule "notLeft" (formula "2")) -(rule "eqSymm" (formula "13") (term "1,0,0,1,0,1")) -(rule "replace_known_right" (formula "4") (term "0") (ifseqformula "12")) - (builtin "One Step Simplification" (formula "4")) -(rule "polySimp_elimSub" (formula "5") (term "0")) -(rule "polySimp_addComm0" (formula "5") (term "0")) -(rule "inEqSimp_ltToLeq" (formula "13") (term "1,1,0,0,0,0,1")) -(rule "polySimp_mulComm0" (formula "13") (term "1,0,0,1,1,0,0,0,0,1")) -(rule "polySimp_addComm1" (formula "13") (term "0,1,1,0,0,0,0,1")) -(rule "inEqSimp_ltToLeq" (formula "13") (term "1,0,0,0,0,1,0,0,0,1")) -(rule "polySimp_mulComm0" (formula "13") (term "1,0,0,1,0,0,0,0,1,0,0,0,1")) -(rule "inEqSimp_ltToLeq" (formula "9") (term "1,0,0,0,0")) -(rule "polySimp_mulComm0" (formula "9") (term "1,0,0,1,0,0,0,0")) -(rule "polySimp_addComm1" (formula "9") (term "0,1,0,0,0,0")) -(rule "inEqSimp_ltToLeq" (formula "9") (term "1,0,0,0")) -(rule "polySimp_mulComm0" (formula "9") (term "1,0,0,1,0,0,0")) -(rule "inEqSimp_commuteLeq" (formula "13") (term "0,1,0,0,0,0,1")) -(rule "inEqSimp_commuteLeq" (formula "13") (term "0,0,0,0,0,1,0,0,0,1")) -(rule "inEqSimp_commuteLeq" (formula "9") (term "0,0,0,0,0")) -(rule "inEqSimp_commuteLeq" (formula "9") (term "1,0,0")) -(rule "inEqSimp_commuteLeq" (formula "8")) -(rule "inEqSimp_commuteLeq" (formula "6")) -(rule "inEqSimp_commuteLeq" (formula "7")) -(rule "assignment" (formula "13") (term "1")) - (builtin "One Step Simplification" (formula "13")) -(rule "inEqSimp_sepNegMonomial0" (formula "9") (term "1,0,0,0,0")) -(rule "polySimp_mulLiterals" (formula "9") (term "0,1,0,0,0,0")) -(rule "polySimp_elimOne" (formula "9") (term "0,1,0,0,0,0")) -(rule "inEqSimp_sepPosMonomial0" (formula "9") (term "1,0,0,0")) -(rule "polySimp_mulComm0" (formula "9") (term "1,1,0,0,0")) -(rule "polySimp_rightDist" (formula "9") (term "1,1,0,0,0")) -(rule "mul_literals" (formula "9") (term "0,1,1,0,0,0")) -(rule "polySimp_mulLiterals" (formula "9") (term "1,1,1,0,0,0")) -(rule "polySimp_elimOne" (formula "9") (term "1,1,1,0,0,0")) -(rule "inEqSimp_sepNegMonomial0" (formula "13") (term "1,1,0,0,0,0,1")) -(rule "polySimp_mulLiterals" (formula "13") (term "0,1,1,0,0,0,0,1")) -(rule "polySimp_elimOne" (formula "13") (term "0,1,1,0,0,0,0,1")) -(rule "inEqSimp_sepPosMonomial0" (formula "13") (term "1,0,0,0,0,1,0,0,0,1")) -(rule "polySimp_mulComm0" (formula "13") (term "1,1,0,0,0,0,1,0,0,0,1")) -(rule "polySimp_rightDist" (formula "13") (term "1,1,0,0,0,0,1,0,0,0,1")) -(rule "mul_literals" (formula "13") (term "0,1,1,0,0,0,0,1,0,0,0,1")) -(rule "polySimp_mulLiterals" (formula "13") (term "1,1,1,0,0,0,0,1,0,0,0,1")) -(rule "polySimp_elimOne" (formula "13") (term "1,1,1,0,0,0,0,1,0,0,0,1")) -(rule "nnf_imp2or" (formula "9") (term "0,0")) -(rule "nnf_notAnd" (formula "9") (term "0,0,0")) -(rule "inEqSimp_notLeq" (formula "9") (term "1,0,0,0")) -(rule "polySimp_rightDist" (formula "9") (term "1,0,0,1,0,0,0")) -(rule "mul_literals" (formula "9") (term "0,1,0,0,1,0,0,0")) -(rule "polySimp_addAssoc" (formula "9") (term "0,0,1,0,0,0")) -(rule "add_literals" (formula "9") (term "0,0,0,1,0,0,0")) -(rule "add_zero_left" (formula "9") (term "0,0,1,0,0,0")) -(rule "inEqSimp_sepPosMonomial1" (formula "9") (term "1,0,0,0")) -(rule "polySimp_mulLiterals" (formula "9") (term "1,1,0,0,0")) -(rule "polySimp_elimOne" (formula "9") (term "1,1,0,0,0")) -(rule "nnf_notAnd" (formula "9") (term "0,0,0,0")) -(rule "inEqSimp_notGeq" (formula "9") (term "0,0,0,0,0")) -(rule "mul_literals" (formula "9") (term "1,0,0,0,0,0,0,0")) -(rule "add_literals" (formula "9") (term "0,0,0,0,0,0,0")) -(rule "inEqSimp_sepPosMonomial0" (formula "9") (term "0,0,0,0,0")) -(rule "mul_literals" (formula "9") (term "1,0,0,0,0,0")) -(rule "inEqSimp_notGeq" (formula "9") (term "1,0,0,0,0")) -(rule "polySimp_rightDist" (formula "9") (term "1,0,0,1,0,0,0,0")) -(rule "mul_literals" (formula "9") (term "0,1,0,0,1,0,0,0,0")) -(rule "polySimp_addAssoc" (formula "9") (term "0,0,1,0,0,0,0")) -(rule "add_literals" (formula "9") (term "0,0,0,1,0,0,0,0")) -(rule "add_zero_left" (formula "9") (term "0,0,1,0,0,0,0")) -(rule "inEqSimp_sepPosMonomial0" (formula "9") (term "1,0,0,0,0")) -(rule "polySimp_mulLiterals" (formula "9") (term "1,1,0,0,0,0")) -(rule "polySimp_elimOne" (formula "9") (term "1,1,0,0,0,0")) -(rule "commute_or_2" (formula "9") (term "0,0,0")) -(rule "methodBodyExpand" (formula "13") (term "1") (newnames "heapBefore_binSearchR,savedHeapBefore_binSearchR")) - (builtin "One Step Simplification" (formula "13")) -(rule "ifUnfold" (formula "13") (term "1") (inst "#boolv=b")) -(rule "variableDeclaration" (formula "13") (term "1") (newnames "b")) -(rule "less_than_comparison_simple" (formula "13") (term "1")) - (builtin "One Step Simplification" (formula "13")) -(rule "inEqSimp_ltToLeq" (formula "13") (term "0,0,1,0")) -(rule "polySimp_mulComm0" (formula "13") (term "1,0,0,0,0,1,0")) -(rule "polySimp_addComm1" (formula "13") (term "0,0,0,1,0")) -(rule "inEqSimp_sepNegMonomial0" (formula "13") (term "0,0,1,0")) -(rule "polySimp_mulLiterals" (formula "13") (term "0,0,0,1,0")) -(rule "polySimp_elimOne" (formula "13") (term "0,0,0,1,0")) -(rule "arrayLengthIsAnInt" (formula "8") (term "0")) - (builtin "One Step Simplification" (formula "8")) -(rule "true_left" (formula "8")) -(rule "arrayLengthNotNegative" (formula "8") (term "0")) -(rule "ifSplit" (formula "14")) -(branch "if b true" - (builtin "One Step Simplification" (formula "15")) - (builtin "One Step Simplification" (formula "1")) - (rule "variableDeclarationAssign" (formula "15") (term "1")) - (rule "variableDeclaration" (formula "15") (term "1") (newnames "mid")) - (rule "inEqSimp_subsumption1" (formula "8") (ifseqformula "1")) - (rule "inEqSimp_homoInEq0" (formula "8") (term "0")) - (rule "polySimp_pullOutFactor1b" (formula "8") (term "0,0")) - (rule "add_literals" (formula "8") (term "1,1,0,0")) - (rule "times_zero_1" (formula "8") (term "1,0,0")) - (rule "add_literals" (formula "8") (term "0,0")) - (rule "qeq_literals" (formula "8") (term "0")) - (builtin "One Step Simplification" (formula "8")) - (rule "true_left" (formula "8")) - (rule "compound_addition_2" (formula "14") (term "1") (inst "#v0=i") (inst "#v1=i_1")) - (rule "variableDeclarationAssign" (formula "14") (term "1")) - (rule "variableDeclaration" (formula "14") (term "1") (newnames "i")) - (rule "assignment" (formula "14") (term "1")) - (builtin "One Step Simplification" (formula "14")) - (rule "variableDeclarationAssign" (formula "14") (term "1")) - (rule "variableDeclaration" (formula "14") (term "1") (newnames "i_1")) - (rule "remove_parentheses_right" (formula "14") (term "1")) - (rule "compound_division_1" (formula "14") (term "1") (inst "#v=i_2")) - (rule "variableDeclarationAssign" (formula "14") (term "1")) - (rule "variableDeclaration" (formula "14") (term "1") (newnames "i_2")) - (rule "remove_parentheses_right" (formula "14") (term "1")) - (rule "assignmentSubtractionInt" (formula "14") (term "1")) - (builtin "One Step Simplification" (formula "14")) - (rule "translateJavaSubInt" (formula "14") (term "0,1,0")) - (rule "polySimp_elimSub" (formula "14") (term "0,1,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,1,0")) - (rule "assignmentDivisionInt" (formula "14")) - (branch - (builtin "One Step Simplification" (formula "14")) - (rule "translateJavaDivInt" (formula "14") (term "0,1,0")) - (rule "assignmentAdditionInt" (formula "14") (term "1")) - (builtin "One Step Simplification" (formula "14")) - (rule "translateJavaAddInt" (formula "14") (term "0,1,0")) - (rule "ifElseUnfold" (formula "14") (term "1") (inst "#boolv=b_1")) - (rule "variableDeclaration" (formula "14") (term "1") (newnames "b_1")) - (rule "compound_equality_comparison_2" (formula "14") (term "1") (inst "#v0=i_3") (inst "#v1=i_4")) - (rule "variableDeclarationAssign" (formula "14") (term "1")) - (rule "variableDeclaration" (formula "14") (term "1") (newnames "i_3")) - (rule "assignment" (formula "14") (term "1")) - (builtin "One Step Simplification" (formula "14")) - (rule "variableDeclarationAssign" (formula "14") (term "1")) - (rule "variableDeclaration" (formula "14") (term "1") (newnames "i_4")) - (rule "assignment_array2" (formula "14")) - (branch "Normal Execution (_a != null)" - (builtin "One Step Simplification" (formula "14")) - (rule "equality_comparison_simple" (formula "14") (term "1")) - (builtin "One Step Simplification" (formula "14")) - (rule "eqSymm" (formula "14") (term "0,0,1,0")) - (rule "ifElseSplit" (formula "14")) - (branch "if b_1 true" - (builtin "One Step Simplification" (formula "15")) - (builtin "One Step Simplification" (formula "1")) - (rule "blockReturn" (formula "15") (term "1")) - (rule "blockReturn" (formula "15") (term "1")) - (rule "methodCallReturn" (formula "15") (term "1")) - (rule "assignment" (formula "15") (term "1")) - (builtin "One Step Simplification" (formula "15")) - (rule "methodCallEmpty" (formula "15") (term "1")) - (rule "tryEmpty" (formula "15") (term "1")) - (rule "emptyModality" (formula "15") (term "1")) - (builtin "One Step Simplification" (formula "15") (ifInst "" (formula "12")) (ifInst "" (formula "1"))) - (rule "polySimp_homoEq" (formula "15") (term "0,0")) - (rule "polySimp_homoEq" (formula "15") (term "2,1")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,0,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,2,1")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,0,0")) - (rule "polySimp_mulComm0" (formula "15") (term "0,1,0,0,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,2,1")) - (rule "polySimp_mulComm0" (formula "15") (term "0,1,0,2,1")) - (rule "polySimp_addAssoc" (formula "15") (term "1,1,1,0")) - (rule "polySimp_addAssoc" (formula "15") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "15") (term "0,2,1")) - (rule "inEqSimp_homoInEq1" (formula "15") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,0,1,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "15") (term "0,1,0,0,1,0")) - (rule "polySimp_addAssoc" (formula "15") (term "0,0,1,0")) - (rule "polySimp_pullOutFactor1" (formula "15") (term "0,0,0,1,0")) - (rule "add_literals" (formula "15") (term "1,0,0,0,1,0")) - (rule "times_zero_1" (formula "15") (term "0,0,0,1,0")) - (rule "add_zero_left" (formula "15") (term "0,0,1,0")) - (rule "inEqSimp_homoInEq1" (formula "15") (term "1,1")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,1,1")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,1,1")) - (rule "polySimp_mulComm0" (formula "15") (term "0,1,0,1,1")) - (rule "polySimp_addAssoc" (formula "15") (term "0,1,1")) - (rule "polySimp_pullOutFactor1" (formula "15") (term "0,0,1,1")) - (rule "add_literals" (formula "15") (term "1,0,0,1,1")) - (rule "times_zero_1" (formula "15") (term "0,0,1,1")) - (rule "add_zero_left" (formula "15") (term "0,1,1")) - (rule "inEqSimp_homoInEq1" (formula "15") (term "1,1,0")) - (rule "polySimp_addComm1" (formula "15") (term "0,1,1,0")) - (rule "polySimp_sepNegMonomial" (formula "15") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,0,0")) - (rule "polySimp_sepNegMonomial" (formula "15") (term "2,1")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,2,1")) - (rule "polySimp_elimOne" (formula "15") (term "0,2,1")) - (rule "inEqSimp_invertInEq0" (formula "15") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,0,1,0")) - (rule "mul_literals" (formula "15") (term "1,0,1,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,0,1,0")) - (rule "inEqSimp_invertInEq0" (formula "15") (term "1,1")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,1,1")) - (rule "mul_literals" (formula "15") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "15") (term "0,1,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "15") (term "1,1,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,1,1,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,1,1,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,1,1,1,0")) - (rule "polySimp_elimOne" (formula "15") (term "1,1,1,1,0")) - (rule "polySimp_rightDist" (formula "15") (term "0,1,1,1,0")) - (rule "mul_literals" (formula "15") (term "0,0,1,1,1,0")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "12") (ifseqformula "5")) - (rule "true_left" (formula "12")) - (rule "cnf_rightDist" (formula "14") (term "0")) - (rule "commute_or" (formula "14") (term "0,0")) - (rule "commute_or" (formula "14") (term "1,0")) - (rule "jdiv_axiom" (formula "1") (term "1,0,2,0")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,2,0")) - (rule "polySimp_rightDist" (formula "1") (term "0,0,2,0")) - (rule "polySimp_mulAssoc" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,0,0,2,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,0,2,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "eqSymm" (formula "1")) - (rule "applyEq" (formula "15") (term "0,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "15") (term "0,1,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "15") (term "0,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "15") (term "0,1,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "15") (term "0,1,1") (ifseqformula "1")) - (rule "applyEq" (formula "15") (term "0,2,1") (ifseqformula "1")) - (rule "applyEq" (formula "2") (term "1,0,2,0") (ifseqformula "1")) - (rule "polyDiv_pullOut" (formula "15") (term "0,0,0,0") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "15") (term "0,0,0,0,0")) - (builtin "One Step Simplification" (formula "15")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,0,0,0")) - (rule "polySimp_addComm0" (formula "15") (term "0,0,0,0")) - (rule "polySimp_addComm1" (formula "15") (term "0,1,0,0,0,0")) - (rule "polySimp_pullOutFactor0" (formula "15") (term "0,0,1,0,0,0,0")) - (rule "add_literals" (formula "15") (term "1,0,0,1,0,0,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,0,1,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "15") (term "0,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "1,0,0,0")) - (rule "polyDiv_pullOut" (formula "1") (term "1") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_addComm0" (formula "1") (term "1")) - (rule "polySimp_addComm1" (formula "1") (term "0,1,1")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0,1,1")) - (rule "add_literals" (formula "1") (term "1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,1,1")) - (rule "polyDiv_pullOut" (formula "2") (term "1,0,2,0") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "2") (term "0,1,0,2,0")) - (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,0,2,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,0,2,0")) - (rule "polySimp_addComm0" (formula "2") (term "1,0,2,0")) - (rule "polySimp_addComm1" (formula "2") (term "0,1,1,0,2,0")) - (rule "polySimp_pullOutFactor0" (formula "2") (term "0,0,1,1,0,2,0")) - (rule "add_literals" (formula "2") (term "1,0,0,1,1,0,2,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,0,1,1,0,2,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0,2,0")) - (rule "polySimp_pullOutFactor1" (formula "2") (term "0,0,2,0")) - (rule "add_literals" (formula "2") (term "1,0,0,2,0")) - (rule "times_zero_1" (formula "2") (term "0,0,2,0")) - (rule "add_zero_left" (formula "2") (term "0,2,0")) - (rule "polyDiv_pullOut" (formula "15") (term "0,1,0,0") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "15") (term "0,0,1,0,0")) - (builtin "One Step Simplification" (formula "15")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,1,0,0")) - (rule "polySimp_homoEq" (formula "15") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,1,0,0")) - (rule "polySimp_addComm0" (formula "15") (term "1,1,0,1,0,0")) - (rule "polySimp_addComm1" (formula "15") (term "0,1,1,1,0,1,0,0")) - (rule "polySimp_pullOutFactor0" (formula "15") (term "0,0,1,1,1,0,1,0,0")) - (rule "add_literals" (formula "15") (term "1,0,0,1,1,1,0,1,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,0,1,1,1,0,1,0,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,1,0,0")) - (rule "polySimp_mulAssoc" (formula "15") (term "0,1,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "15") (term "0,0,1,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,1,0,1,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,1,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "15") (term "0,1,0,0")) - (rule "polySimp_pullOutFactor2b" (formula "15") (term "0,0,1,0,0")) - (rule "add_literals" (formula "15") (term "1,1,0,0,1,0,0")) - (rule "times_zero_1" (formula "15") (term "1,0,0,1,0,0")) - (rule "add_literals" (formula "15") (term "0,0,1,0,0")) - (rule "polySimp_sepNegMonomial" (formula "15") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,1,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,1,0,0")) - (rule "polyDiv_pullOut" (formula "15") (term "0,0,1,0") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "15") (term "0,0,0,1,0")) - (builtin "One Step Simplification" (formula "15")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,0,1,0")) - (rule "polySimp_homoEq" (formula "15") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,0,1,0")) - (rule "polySimp_addComm0" (formula "15") (term "1,1,0,0,1,0")) - (rule "polySimp_addComm1" (formula "15") (term "0,1,1,1,0,0,1,0")) - (rule "polySimp_pullOutFactor0" (formula "15") (term "0,0,1,1,1,0,0,1,0")) - (rule "add_literals" (formula "15") (term "1,0,0,1,1,1,0,0,1,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,0,1,1,1,0,0,1,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,0,1,0")) - (rule "polySimp_mulAssoc" (formula "15") (term "0,1,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "15") (term "0,0,1,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,1,0,0,1,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,1,0,0,1,0")) - (rule "polySimp_addAssoc" (formula "15") (term "0,0,1,0")) - (rule "polySimp_pullOutFactor2b" (formula "15") (term "0,0,0,1,0")) - (rule "add_literals" (formula "15") (term "1,1,0,0,0,1,0")) - (rule "times_zero_1" (formula "15") (term "1,0,0,0,1,0")) - (rule "add_literals" (formula "15") (term "0,0,0,1,0")) - (rule "polySimp_sepNegMonomial" (formula "15") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,0,1,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,0,1,0")) - (rule "polyDiv_pullOut" (formula "15") (term "0,1,1,0") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "15") (term "0,0,1,1,0")) - (builtin "One Step Simplification" (formula "15")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,1,1,0")) - (rule "polySimp_addComm0" (formula "15") (term "0,1,1,0")) - (rule "polySimp_addComm1" (formula "15") (term "0,1,0,1,1,0")) - (rule "polySimp_pullOutFactor0" (formula "15") (term "0,0,1,0,1,1,0")) - (rule "add_literals" (formula "15") (term "1,0,0,1,0,1,1,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,0,1,0,1,1,0")) - (rule "inEqSimp_homoInEq0" (formula "15") (term "1,1,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,1,1,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,1,1,0")) - (rule "polySimp_mulAssoc" (formula "15") (term "0,1,0,1,1,0")) - (rule "polySimp_mulComm0" (formula "15") (term "0,0,1,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,1,0,1,1,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,1,0,1,1,0")) - (rule "polySimp_addAssoc" (formula "15") (term "0,1,1,0")) - (rule "polySimp_addComm1" (formula "15") (term "0,0,1,1,0")) - (rule "polySimp_pullOutFactor2b" (formula "15") (term "0,0,0,1,1,0")) - (rule "add_literals" (formula "15") (term "1,1,0,0,0,1,1,0")) - (rule "times_zero_1" (formula "15") (term "1,0,0,0,1,1,0")) - (rule "add_literals" (formula "15") (term "0,0,0,1,1,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "15") (term "1,1,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,1,1,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,1,1,0")) - (rule "polyDiv_pullOut" (formula "15") (term "0,1,1") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "15") (term "0,0,1,1")) - (builtin "One Step Simplification" (formula "15")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,1,1")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,1,1")) - (rule "polySimp_addComm0" (formula "15") (term "0,1,1")) - (rule "polySimp_addComm1" (formula "15") (term "0,1,0,1,1")) - (rule "polySimp_pullOutFactor0" (formula "15") (term "0,0,1,0,1,1")) - (rule "add_literals" (formula "15") (term "1,0,0,1,0,1,1")) - (rule "polySimp_elimOne" (formula "15") (term "0,0,1,0,1,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "15") (term "1,1")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "15") (term "1,1,1")) - (rule "polyDiv_pullOut" (formula "15") (term "0,2,1") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "15") (term "0,0,2,1")) - (builtin "One Step Simplification" (formula "15")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,2,1")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,0,0,0,2,1")) - (rule "polySimp_homoEq" (formula "15") (term "2,1")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,2,1")) - (rule "polySimp_addComm0" (formula "15") (term "1,1,0,2,1")) - (rule "polySimp_addComm1" (formula "15") (term "0,1,1,1,0,2,1")) - (rule "polySimp_pullOutFactor0" (formula "15") (term "0,0,1,1,1,0,2,1")) - (rule "add_literals" (formula "15") (term "1,0,0,1,1,1,0,2,1")) - (rule "polySimp_elimOne" (formula "15") (term "0,0,1,1,1,0,2,1")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,2,1")) - (rule "polySimp_mulAssoc" (formula "15") (term "0,1,0,2,1")) - (rule "polySimp_mulComm0" (formula "15") (term "0,0,1,0,2,1")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,1,0,2,1")) - (rule "polySimp_elimOne" (formula "15") (term "0,1,0,2,1")) - (rule "polySimp_addAssoc" (formula "15") (term "0,2,1")) - (rule "polySimp_pullOutFactor2b" (formula "15") (term "0,0,2,1")) - (rule "add_literals" (formula "15") (term "1,1,0,0,2,1")) - (rule "times_zero_1" (formula "15") (term "1,0,0,2,1")) - (rule "add_literals" (formula "15") (term "0,0,2,1")) - (rule "polySimp_sepNegMonomial" (formula "15") (term "2,1")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,2,1")) - (rule "polySimp_elimOne" (formula "15") (term "0,2,1")) - (rule "commute_or" (formula "15") (term "0,0")) - (rule "div_axiom" (formula "1") (term "1,1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "qeq_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "mul_literals" (formula "1") (term "1,1,1")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "polySimp_addAssoc" (formula "3") (term "0,1")) - (rule "polySimp_addComm1" (formula "3") (term "1")) - (rule "polySimp_addComm1" (formula "3") (term "0,1")) - (rule "add_literals" (formula "3") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "applyEq" (formula "18") (term "0,0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "18") (term "0,1,0,0") (ifseqformula "1")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1,0,0")) - (rule "applyEq" (formula "18") (term "0,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "18") (term "0,1,1,0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq0" (formula "18") (term "1,1,0")) - (rule "polySimp_addComm1" (formula "18") (term "0,1,1,0")) - (rule "applyEq" (formula "18") (term "0,1,1") (ifseqformula "1")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1,1")) - (rule "applyEq" (formula "18") (term "0,2,1") (ifseqformula "1")) - (rule "applyEq" (formula "5") (term "0,2,0") (ifseqformula "1")) - (rule "applyEq" (formula "4") (term "1,1") (ifseqformula "1")) - (rule "polySimp_addComm0" (formula "4") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "polySimp_mulComm0" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "0,1")) - (rule "mul_literals" (formula "3") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "18") (term "1,1,0")) - (rule "polySimp_mulComm0" (formula "18") (term "1,1,1,0")) - (rule "polySimp_rightDist" (formula "18") (term "1,1,1,0")) - (rule "mul_literals" (formula "18") (term "0,1,1,1,0")) - (rule "polySimp_mulLiterals" (formula "18") (term "1,1,1,1,0")) - (rule "polySimp_elimOne" (formula "18") (term "1,1,1,1,0")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "3")) - (rule "polySimp_rightDist" (formula "6") (term "0,0")) - (rule "mul_literals" (formula "6") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0")) - (rule "polySimp_addComm1" (formula "6") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "0,0,0")) - (rule "add_zero_left" (formula "6") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "0")) - (rule "elimGcdLeq_antec" (formula "6") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "6") (term "0,0")) - (builtin "One Step Simplification" (formula "6")) - (rule "neg_literal" (formula "6") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_zero_right" (formula "6") (term "0,0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "replace_known_left" (formula "19") (term "1,0,0") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "19") (ifInst "" (formula "6"))) - (rule "inEqSimp_exactShadow3" (formula "13") (ifseqformula "6")) - (rule "mul_literals" (formula "13") (term "0,0")) - (rule "add_zero_left" (formula "13") (term "0")) - (rule "inEqSimp_contradEq7" (formula "20") (term "0,0") (ifseqformula "13")) - (rule "add_zero_left" (formula "20") (term "0,0,0,0")) - (rule "mul_literals" (formula "20") (term "0,0,0,0")) - (rule "leq_literals" (formula "20") (term "0,0,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_contradEq7" (formula "20") (term "2,1") (ifseqformula "13")) - (rule "add_zero_left" (formula "20") (term "0,0,2,1")) - (rule "mul_literals" (formula "20") (term "0,0,2,1")) - (rule "leq_literals" (formula "20") (term "0,2,1")) - (builtin "One Step Simplification" (formula "20")) - (rule "cut_direct" (formula "20") (term "0")) - (branch "CUT: up >= 1 + quotient_0 TRUE" - (builtin "One Step Simplification" (formula "21")) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "4")) - (rule "polySimp_rightDist" (formula "1") (term "0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "nnf_ex2all" (formula "21")) - (rule "nnf_notAnd" (formula "1") (term "0")) - (rule "nnf_notAnd" (formula "1") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "1") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "1") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0,1,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,0,0")) - (rule "allLeft" (formula "1") (inst "t=quotient_0:int")) - (rule "replace_known_left" (formula "1") (term "0,1") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_commuteGeq" (formula "1") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0")) - (rule "polySimp_addComm1" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0")) - (rule "mul_literals" (formula "1") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,0")) - (rule "inEqSimp_contradInEq0" (formula "1") (term "0") (ifseqformula "9")) - (rule "inEqSimp_homoInEq1" (formula "1") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "leq_literals" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "1")) - (rule "andLeft" (formula "3")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) - (rule "add_literals" (formula "3") (term "1,1,0")) - (rule "times_zero_1" (formula "3") (term "1,0")) - (rule "add_literals" (formula "3") (term "0")) - (rule "leq_literals" (formula "3")) - (rule "closeFalse" (formula "3")) - ) - (branch "CUT: up >= 1 + quotient_0 FALSE" - (builtin "One Step Simplification" (formula "21")) - (rule "false_right" (formula "21")) - (rule "inEqSimp_geqRight" (formula "20")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) - (rule "inEqSimp_subsumption0" (formula "7") (ifseqformula "8")) - (rule "inEqSimp_homoInEq0" (formula "7") (term "0")) - (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "7") (term "1,0,0")) - (rule "mul_literals" (formula "7") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "7") (term "0,0")) - (rule "polySimp_addComm0" (formula "7") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "7") (term "0,0")) - (rule "add_literals" (formula "7") (term "1,1,0,0")) - (rule "times_zero_1" (formula "7") (term "1,0,0")) - (rule "add_literals" (formula "7") (term "0,0")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "3") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "3") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1")) - (rule "polySimp_elimOne" (formula "3") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "8")) - (rule "andLeft" (formula "3")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,0")) - (rule "mul_literals" (formula "3") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) - (rule "add_literals" (formula "3") (term "1,1,0")) - (rule "times_zero_1" (formula "3") (term "1,0")) - (rule "add_literals" (formula "3") (term "0")) - (rule "leq_literals" (formula "3")) - (rule "closeFalse" (formula "3")) - ) - ) - (branch "if b_1 false" - (builtin "One Step Simplification" (formula "15")) - (builtin "One Step Simplification" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "elim_double_block_2" (formula "15") (term "1")) - (rule "jdiv_axiom" (formula "12") (term "1,0,2,0")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,2,0")) - (rule "polySimp_rightDist" (formula "1") (term "0,0,2,0")) - (rule "polySimp_mulAssoc" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,0,0,2,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,0,2,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "2")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "eqSymm" (formula "1")) - (rule "applyEq" (formula "16") (term "1,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "13") (term "1,0,2,0") (ifseqformula "1")) - (rule "polyDiv_pullOut" (formula "16") (term "1,0,1,0") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "16") (term "0,1,0,1,0")) - (builtin "One Step Simplification" (formula "16")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,0,0,1,0,1,0")) - (rule "polySimp_addComm0" (formula "16") (term "1,0,1,0")) - (rule "polySimp_addComm1" (formula "16") (term "0,1,1,0,1,0")) - (rule "polySimp_pullOutFactor0" (formula "16") (term "0,0,1,1,0,1,0")) - (rule "add_literals" (formula "16") (term "1,0,0,1,1,0,1,0")) - (rule "polySimp_elimOne" (formula "16") (term "0,0,1,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "16") (term "0,1,0")) - (rule "polySimp_pullOutFactor1" (formula "16") (term "0,0,1,0")) - (rule "add_literals" (formula "16") (term "1,0,0,1,0")) - (rule "times_zero_1" (formula "16") (term "0,0,1,0")) - (rule "add_zero_left" (formula "16") (term "0,1,0")) - (rule "polyDiv_pullOut" (formula "1") (term "1") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_addComm0" (formula "1") (term "1")) - (rule "polySimp_addComm1" (formula "1") (term "0,1,1")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0,1,1")) - (rule "add_literals" (formula "1") (term "1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,1,1")) - (rule "polyDiv_pullOut" (formula "13") (term "1,0,2,0") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "13") (term "0,1,0,2,0")) - (builtin "One Step Simplification" (formula "13")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,0,0,1,0,2,0")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,0,0,1,0,2,0")) - (rule "polySimp_addComm0" (formula "13") (term "1,0,2,0")) - (rule "polySimp_addComm1" (formula "13") (term "0,1,1,0,2,0")) - (rule "polySimp_pullOutFactor0" (formula "13") (term "0,0,1,1,0,2,0")) - (rule "add_literals" (formula "13") (term "1,0,0,1,1,0,2,0")) - (rule "polySimp_elimOne" (formula "13") (term "0,0,1,1,0,2,0")) - (rule "polySimp_addAssoc" (formula "13") (term "0,2,0")) - (rule "polySimp_pullOutFactor1" (formula "13") (term "0,0,2,0")) - (rule "add_literals" (formula "13") (term "1,0,0,2,0")) - (rule "times_zero_1" (formula "13") (term "0,0,2,0")) - (rule "add_zero_left" (formula "13") (term "0,2,0")) - (rule "ifElseUnfold" (formula "16") (term "1") (inst "#boolv=b_2")) - (rule "variableDeclaration" (formula "16") (term "1") (newnames "b_2")) - (rule "compound_less_than_comparison_2" (formula "16") (term "1") (inst "#v0=i_5") (inst "#v1=i_6")) - (rule "variableDeclarationAssign" (formula "16") (term "1")) - (rule "variableDeclaration" (formula "16") (term "1") (newnames "i_5")) - (rule "assignment" (formula "16") (term "1")) - (builtin "One Step Simplification" (formula "16")) - (rule "variableDeclarationAssign" (formula "16") (term "1")) - (rule "variableDeclaration" (formula "16") (term "1") (newnames "i_6")) - (rule "assignment_array2" (formula "16")) - (branch "Normal Execution (_a != null)" - (builtin "One Step Simplification" (formula "16")) - (rule "less_than_comparison_simple" (formula "16") (term "1")) - (builtin "One Step Simplification" (formula "16")) - (rule "inEqSimp_ltToLeq" (formula "16") (term "0,0,1,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0,0,0,0,1,0")) - (rule "polySimp_addComm1" (formula "16") (term "0,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "16") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "16") (term "0,0,0,1,0")) - (rule "div_axiom" (formula "1") (term "1,1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "qeq_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "mul_literals" (formula "1") (term "1,1,1")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "polySimp_addAssoc" (formula "3") (term "0,1")) - (rule "polySimp_addComm1" (formula "3") (term "1")) - (rule "polySimp_addComm1" (formula "3") (term "0,1")) - (rule "add_literals" (formula "3") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "applyEq" (formula "19") (term "0,1,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "19") (term "0,2,0,0,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "16") (term "0,2,0") (ifseqformula "1")) - (rule "applyEq" (formula "4") (term "1,1") (ifseqformula "1")) - (rule "polySimp_addComm0" (formula "4") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "polySimp_mulComm0" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "0,1")) - (rule "mul_literals" (formula "3") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,1")) - (rule "inEqSimp_exactShadow3" (formula "5") (ifseqformula "3")) - (rule "polySimp_rightDist" (formula "5") (term "0,0")) - (rule "mul_literals" (formula "5") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0")) - (rule "polySimp_addComm1" (formula "5") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "0,0,0")) - (rule "add_zero_left" (formula "5") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "5")) - (rule "polySimp_mulLiterals" (formula "5") (term "0")) - (rule "elimGcdLeq_antec" (formula "5") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "5") (term "0,0")) - (builtin "One Step Simplification" (formula "5")) - (rule "neg_literal" (formula "5") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "5") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "5") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,1,0,0")) - (rule "times_zero_1" (formula "5") (term "1,0,0")) - (rule "add_zero_right" (formula "5") (term "0,0")) - (rule "polySimp_mulComm0" (formula "5") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,1,0,0")) - (rule "times_zero_1" (formula "5") (term "1,0,0")) - (rule "add_literals" (formula "5") (term "0,0")) - (rule "qeq_literals" (formula "5") (term "0")) - (builtin "One Step Simplification" (formula "5")) - (rule "inEqSimp_exactShadow3" (formula "12") (ifseqformula "5")) - (rule "mul_literals" (formula "12") (term "0,0")) - (rule "add_zero_left" (formula "12") (term "0")) - (rule "ifElseSplit" (formula "21")) - (branch "if b_2 true" - (builtin "One Step Simplification" (formula "22")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_contradEq7" (formula "19") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "19") (term "1,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,0")) - (rule "add_literals" (formula "19") (term "1,1,0,0")) - (rule "times_zero_1" (formula "19") (term "1,0,0")) - (rule "add_literals" (formula "19") (term "0,0")) - (rule "leq_literals" (formula "19") (term "0")) - (builtin "One Step Simplification" (formula "19")) - (rule "false_right" (formula "19")) - (rule "elim_double_block_2" (formula "21") (term "1")) - (rule "returnUnfold" (formula "21") (term "1") (inst "#v0=i_7")) - (rule "variableDeclarationAssign" (formula "21") (term "1")) - (rule "variableDeclaration" (formula "21") (term "1") (newnames "i_7")) - (builtin "Use Operation Contract" (formula "21") (newnames "heapBefore_binSearchR_0,result_binSearchR_0,exc_0,heapAfter_binSearchR,anon_heap_binSearchR") (contract "BinSearch[BinSearch::binSearchR([I,int,int,int)].JML normal_behavior operation contract.0") (modality "diamond")) - (branch "Post (binSearchR)" - (builtin "One Step Simplification" (formula "23")) - (builtin "One Step Simplification" (formula "20")) - (rule "andLeft" (formula "20")) - (rule "andLeft" (formula "21")) - (rule "andLeft" (formula "22")) - (rule "andLeft" (formula "22")) - (rule "andLeft" (formula "23")) - (rule "inEqSimp_ltToLeq" (formula "22") (term "1,1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,1,1")) - (rule "inEqSimp_ltToLeq" (formula "23") (term "1,0,0,0")) - (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "22") (term "0,1")) - (rule "inEqSimp_commuteLeq" (formula "23") (term "0,0,0,0")) - (rule "assignment" (formula "27") (term "1")) - (builtin "One Step Simplification" (formula "27")) - (rule "blockReturn" (formula "27") (term "1")) - (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "1,1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,1,1")) - (rule "polySimp_rightDist" (formula "22") (term "1,1,1")) - (rule "mul_literals" (formula "22") (term "0,1,1,1")) - (rule "polySimp_mulLiterals" (formula "22") (term "1,1,1,1")) - (rule "polySimp_elimOne" (formula "22") (term "1,1,1,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "23") (term "1,0,0,0")) - (rule "polySimp_mulComm0" (formula "23") (term "1,1,0,0,0")) - (rule "polySimp_rightDist" (formula "23") (term "1,1,0,0,0")) - (rule "mul_literals" (formula "23") (term "0,1,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "23") (term "1,1,1,0,0,0")) - (rule "polySimp_elimOne" (formula "23") (term "1,1,1,0,0,0")) - (rule "pullOutSelect" (formula "23") (term "0,1,1") (inst "selectSK=arr_0:int")) - (rule "simplifySelectOfAnonEQ" (formula "23") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "23") (ifInst "" (formula "27")) (ifInst "" (formula "11"))) - (rule "applyEqReverse" (formula "24") (term "0,1,1") (ifseqformula "23")) - (rule "hideAuxiliaryEq" (formula "23")) - (rule "cnf_rightDist" (formula "22")) - (rule "andLeft" (formula "22")) - (rule "commute_or" (formula "23")) - (rule "methodCallReturn" (formula "28") (term "1")) - (rule "assignment" (formula "28") (term "1")) - (builtin "One Step Simplification" (formula "28")) - (rule "methodCallEmpty" (formula "28") (term "1")) - (rule "tryEmpty" (formula "28") (term "1")) - (rule "emptyModality" (formula "28") (term "1")) - (builtin "One Step Simplification" (formula "28") (ifInst "" (formula "25"))) - (rule "replaceKnownSelect_taclet0001000_0" (formula "28") (term "0,1,1,1,0")) - (rule "replaceKnownAuxiliaryConstant_taclet0001000_1" (formula "28") (term "0,1,1,1,0")) - (rule "eqSymm" (formula "28") (term "1,0,0,1")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "18") (ifseqformula "10")) - (rule "true_left" (formula "18")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "24") (ifseqformula "10")) - (rule "true_left" (formula "24")) - (rule "cnf_rightDist" (formula "26") (term "0,0")) - (rule "replace_known_left" (formula "26") (term "0,0,0") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "26")) - (rule "commute_or" (formula "26") (term "0,0")) - (rule "ifthenelse_split_for" (formula "23")) - (branch "exists int idx; ( idx >= low & idx <= -1 + quotient_0 & a[idx]@heapAfter_binSearchR = v) TRUE" - (rule "andLeft" (formula "24")) - (rule "exLeft" (formula "23") (inst "sk=idx_0:int")) - (rule "andLeft" (formula "23")) - (rule "andLeft" (formula "23")) - (rule "replace_known_left" (formula "21") (term "1") (ifseqformula "26")) - (builtin "One Step Simplification" (formula "21")) - (rule "true_left" (formula "21")) - (rule "replace_known_left" (formula "29") (term "0,1,1,0") (ifseqformula "25")) - (builtin "One Step Simplification" (formula "29") (ifInst "" (formula "26"))) - (rule "inEqSimp_commuteGeq" (formula "22")) - (rule "pullOutSelect" (formula "24") (term "0") (inst "selectSK=arr_1:int")) - (rule "simplifySelectOfAnonEQ" (formula "24") (ifseqformula "19")) - (builtin "One Step Simplification" (formula "24") (ifInst "" (formula "29")) (ifInst "" (formula "11"))) - (rule "applyEqReverse" (formula "25") (term "0") (ifseqformula "24")) - (rule "hideAuxiliaryEq" (formula "24")) - (rule "inEqSimp_exactShadow3" (formula "14") (ifseqformula "22")) - (rule "mul_literals" (formula "14") (term "0,0")) - (rule "add_zero_left" (formula "14") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "14") (ifseqformula "24")) - (rule "mul_literals" (formula "14") (term "0,0")) - (rule "add_zero_left" (formula "14") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "14")) - (rule "mul_literals" (formula "14") (term "1")) - (rule "inEqSimp_subsumption1" (formula "13") (ifseqformula "14")) - (rule "leq_literals" (formula "13") (term "0")) - (builtin "One Step Simplification" (formula "13")) - (rule "true_left" (formula "13")) - (rule "ifthenelse_split_for" (formula "30") (term "1,0")) - (branch "exists int idx; ( idx >= low & idx <= -1 + up & a[idx]@heapAfter_binSearchR = v) TRUE" - (builtin "One Step Simplification" (formula "31")) - (rule "exLeft" (formula "1") (inst "sk=idx_1:int")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "inEqSimp_commuteGeq" (formula "1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "mul_literals" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) - (rule "polySimp_elimOne" (formula "2") (term "1,1")) - (rule "pullOutSelect" (formula "3") (term "0") (inst "selectSK=arr_2:int")) - (rule "simplifySelectOfAnonEQ" (formula "3") (ifseqformula "24")) - (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "33")) (ifInst "" (formula "15"))) - (rule "applyEqReverse" (formula "4") (term "0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "1")) - (rule "mul_literals" (formula "18") (term "0,0")) - (rule "add_zero_left" (formula "18") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "7")) - (rule "polySimp_rightDist" (formula "2") (term "0,0")) - (rule "mul_literals" (formula "2") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0")) - (rule "polySimp_addComm1" (formula "2") (term "0,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0,0,0")) - (rule "add_literals" (formula "2") (term "0,0,0,0")) - (rule "add_zero_left" (formula "2") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "20") (ifseqformula "2")) - (rule "mul_literals" (formula "20") (term "0,0")) - (rule "add_zero_left" (formula "20") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "20")) - (rule "polySimp_mulLiterals" (formula "20") (term "0")) - (rule "polySimp_elimOne" (formula "20") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "20")) - (rule "mul_literals" (formula "19") (term "0,0")) - (rule "add_zero_left" (formula "19") (term "0")) - (rule "inEqSimp_subsumption6" (formula "19") (ifseqformula "17")) - (rule "greater_literals" (formula "19") (term "0,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "mul_literals" (formula "19") (term "1,0")) - (rule "leq_literals" (formula "19") (term "0")) - (builtin "One Step Simplification" (formula "19")) - (rule "true_left" (formula "19")) - (rule "andRight" (formula "36")) - (branch - (rule "orRight" (formula "36")) - (rule "replace_known_right" (formula "28") (term "0") (ifseqformula "36")) - (builtin "One Step Simplification" (formula "28")) - (rule "inEqSimp_geqRight" (formula "37")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "33") (ifseqformula "29")) - (rule "polySimp_mulComm0" (formula "33") (term "0,0")) - (rule "polySimp_addComm0" (formula "33") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "33")) - (rule "polySimp_mulLiterals" (formula "33") (term "0")) - (rule "polySimp_elimOne" (formula "33") (term "0")) - (rule "inEqSimp_subsumption0" (formula "11") (ifseqformula "33")) - (rule "inEqSimp_homoInEq0" (formula "11") (term "0")) - (rule "polySimp_mulComm0" (formula "11") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "11") (term "1,0,0")) - (rule "mul_literals" (formula "11") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "11") (term "0,0")) - (rule "polySimp_addComm0" (formula "11") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "11") (term "0,0")) - (rule "add_literals" (formula "11") (term "1,1,0,0")) - (rule "times_zero_1" (formula "11") (term "1,0,0")) - (rule "add_literals" (formula "11") (term "0,0")) - (rule "qeq_literals" (formula "11") (term "0")) - (builtin "One Step Simplification" (formula "11")) - (rule "true_left" (formula "11")) - (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "4") (term "0,0")) - (rule "mul_literals" (formula "4") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "mul_literals" (formula "4") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,1")) - (rule "polySimp_elimOne" (formula "4") (term "1,1")) - (rule "inEqSimp_exactShadow3" (formula "12") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "12") (term "0,0")) - (rule "mul_literals" (formula "12") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "12")) - (rule "polySimp_mulComm0" (formula "12") (term "1")) - (rule "polySimp_rightDist" (formula "12") (term "1")) - (rule "mul_literals" (formula "12") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "12") (term "1,1")) - (rule "polySimp_elimOne" (formula "12") (term "1,1")) - (rule "inEqSimp_subsumption1" (formula "35") (ifseqformula "12")) - (rule "inEqSimp_homoInEq0" (formula "35") (term "0")) - (rule "polySimp_pullOutFactor1b" (formula "35") (term "0,0")) - (rule "add_literals" (formula "35") (term "1,1,0,0")) - (rule "times_zero_1" (formula "35") (term "1,0,0")) - (rule "add_literals" (formula "35") (term "0,0")) - (rule "qeq_literals" (formula "35") (term "0")) - (builtin "One Step Simplification" (formula "35")) - (rule "true_left" (formula "35")) - (rule "inEqSimp_exactShadow3" (formula "9") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "9") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "9") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "9") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "9") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "9") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "9") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "9")) - (rule "polySimp_mulComm0" (formula "9") (term "1")) - (rule "polySimp_rightDist" (formula "9") (term "1")) - (rule "polySimp_mulComm0" (formula "9") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "9") (term "0,1")) - (rule "inEqSimp_exactShadow3" (formula "24") (ifseqformula "35")) - (rule "mul_literals" (formula "24") (term "0,0")) - (rule "add_zero_left" (formula "24") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "24")) - (rule "mul_literals" (formula "24") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "31")) - (rule "polySimp_rightDist" (formula "4") (term "0,0")) - (rule "mul_literals" (formula "4") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_addAssoc" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "4")) - (rule "polySimp_mulLiterals" (formula "4") (term "0")) - (rule "polySimp_elimOne" (formula "4") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "14") (ifseqformula "32")) - (rule "polySimp_rightDist" (formula "14") (term "0,0")) - (rule "mul_literals" (formula "14") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "14") (term "0")) - (rule "polySimp_addAssoc" (formula "14") (term "0,0")) - (rule "add_literals" (formula "14") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "14")) - (rule "polySimp_mulLiterals" (formula "14") (term "0")) - (rule "polySimp_elimOne" (formula "14") (term "0")) - (rule "inEqSimp_subsumption0" (formula "37") (ifseqformula "14")) - (rule "inEqSimp_homoInEq0" (formula "37") (term "0")) - (rule "polySimp_mulComm0" (formula "37") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "37") (term "1,0,0")) - (rule "mul_literals" (formula "37") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "37") (term "0,0")) - (rule "polySimp_addComm1" (formula "37") (term "0,0,0")) - (rule "add_literals" (formula "37") (term "0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "37") (term "0,0")) - (rule "add_literals" (formula "37") (term "1,1,0,0")) - (rule "times_zero_1" (formula "37") (term "1,0,0")) - (rule "add_literals" (formula "37") (term "0,0")) - (rule "qeq_literals" (formula "37") (term "0")) - (builtin "One Step Simplification" (formula "37")) - (rule "true_left" (formula "37")) - (rule "inEqSimp_exactShadow3" (formula "10") (ifseqformula "33")) - (rule "polySimp_rightDist" (formula "10") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "10") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "10") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "10") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "10") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "10") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "10") (term "0")) - (rule "polySimp_addAssoc" (formula "10") (term "0,0")) - (rule "polySimp_addComm0" (formula "10") (term "0,0,0")) - (rule "polySimp_pullOutFactor2b" (formula "10") (term "0,0")) - (rule "add_literals" (formula "10") (term "1,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "10")) - (rule "polySimp_mulComm0" (formula "10") (term "1")) - (rule "polySimp_rightDist" (formula "10") (term "1")) - (rule "mul_literals" (formula "10") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "10") (term "1,1")) - (rule "polySimp_elimOne" (formula "10") (term "1,1")) - (rule "inEqSimp_contradInEq0" (formula "10") (ifseqformula "15")) - (rule "andLeft" (formula "10")) - (rule "inEqSimp_homoInEq1" (formula "10")) - (rule "polySimp_mulComm0" (formula "10") (term "1,0")) - (rule "polySimp_rightDist" (formula "10") (term "1,0")) - (rule "mul_literals" (formula "10") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "10") (term "0")) - (rule "polySimp_addComm1" (formula "10") (term "0,0")) - (rule "add_literals" (formula "10") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "10") (term "0")) - (rule "add_literals" (formula "10") (term "1,1,0")) - (rule "times_zero_1" (formula "10") (term "1,0")) - (rule "add_literals" (formula "10") (term "0")) - (rule "leq_literals" (formula "10")) - (rule "closeFalse" (formula "10")) - ) - (branch - (rule "allRight" (formula "36") (inst "sk=f_0:Field")) - (rule "allRight" (formula "36") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "36")) - (rule "pullOutSelect" (formula "37") (term "0") (inst "selectSK=f_0_0:any")) - (rule "simplifySelectOfAnonEQ" (formula "1") (ifseqformula "27")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "37"))) - (rule "applyEqReverse" (formula "38") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "38")) - (rule "closeTrue" (formula "38")) - ) - ) - (branch "exists int idx; ( idx >= low & idx <= -1 + up & a[idx]@heapAfter_binSearchR = v) FALSE" - (rule "nnf_ex2all" (formula "30")) - (rule "nnf_notAnd" (formula "1") (term "0")) - (rule "nnf_notAnd" (formula "1") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "1") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "1") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0,1,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,0,0")) - (rule "commute_and" (formula "31") (term "0")) - (rule "cut_direct" (formula "23") (term "1")) - (branch "CUT: result_binSearchR_0 <= -1 + quotient_0 TRUE" - (builtin "One Step Simplification" (formula "24")) - (rule "true_left" (formula "24")) - (rule "inEqSimp_exactShadow3" (formula "27") (ifseqformula "23")) - (rule "polySimp_mulComm0" (formula "27") (term "0,0")) - (rule "polySimp_addComm0" (formula "27") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "27")) - (rule "polySimp_mulLiterals" (formula "27") (term "0")) - (rule "polySimp_elimOne" (formula "27") (term "0")) - (rule "inEqSimp_subsumption0" (formula "7") (ifseqformula "27")) - (rule "inEqSimp_homoInEq0" (formula "7") (term "0")) - (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "7") (term "1,0,0")) - (rule "mul_literals" (formula "7") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "7") (term "0,0")) - (rule "polySimp_addComm0" (formula "7") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "7") (term "0,0")) - (rule "add_literals" (formula "7") (term "1,1,0,0")) - (rule "times_zero_1" (formula "7") (term "1,0,0")) - (rule "add_literals" (formula "7") (term "0,0")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "inEqSimp_exactShadow3" (formula "15") (ifseqformula "26")) - (rule "mul_literals" (formula "15") (term "0,0")) - (rule "add_zero_left" (formula "15") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "15")) - (rule "mul_literals" (formula "15") (term "1")) - (rule "cut_direct" (formula "31") (term "0,0")) - (branch "CUT: result_binSearchR_0 = -1 TRUE" - (builtin "One Step Simplification" (formula "32") (ifInst "" (formula "1"))) - (rule "allRight" (formula "32") (inst "sk=f_0:Field")) - (rule "allRight" (formula "32") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "32")) - (rule "applyEq" (formula "28") (term "0") (ifseqformula "1")) - (rule "inEqSimp_commuteGeq" (formula "28")) - (rule "applyEq" (formula "23") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq0" (formula "23")) - (rule "mul_literals" (formula "23") (term "1,0")) - (rule "polySimp_addComm1" (formula "23") (term "0")) - (rule "add_literals" (formula "23") (term "0,0")) - (rule "add_zero_left" (formula "23") (term "0")) - (rule "applyEq" (formula "29") (term "0,2,0") (ifseqformula "1")) - (rule "inEqSimp_contradInEq0" (formula "16") (ifseqformula "28")) - (rule "qeq_literals" (formula "16") (term "0")) - (builtin "One Step Simplification" (formula "16")) - (rule "closeFalse" (formula "16")) - ) - (branch "CUT: result_binSearchR_0 = -1 FALSE" - (builtin "One Step Simplification" (formula "32") (ifInst "" (formula "31"))) - (rule "false_right" (formula "32")) - (rule "allLeft" (formula "18") (inst "t=result_binSearchR_0:int")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "18") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1,0")) - (rule "applyEq" (formula "18") (term "1,1,0") (ifseqformula "29")) - (rule "commute_or_2" (formula "18") (term "0,0")) - (rule "commute_or_2" (formula "18") (term "0")) - (rule "cut_direct" (formula "18") (term "1,0")) - (branch "CUT: a.length <= result_binSearchR_0 TRUE" - (builtin "One Step Simplification" (formula "19")) - (rule "true_left" (formula "19")) - (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "18")) - (rule "mul_literals" (formula "16") (term "0,0")) - (rule "add_zero_left" (formula "16") (term "0")) - (rule "inEqSimp_contradEq7" (formula "33") (ifseqformula "16")) - (rule "add_zero_left" (formula "33") (term "0,0")) - (rule "mul_literals" (formula "33") (term "0,0")) - (rule "leq_literals" (formula "33") (term "0")) - (builtin "One Step Simplification" (formula "33")) - (rule "false_right" (formula "33")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "19")) - (rule "polySimp_mulComm0" (formula "18") (term "0,0")) - (rule "polySimp_addComm0" (formula "18") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "18")) - (rule "polySimp_mulLiterals" (formula "18") (term "0")) - (rule "polySimp_elimOne" (formula "18") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "25")) - (rule "mul_literals" (formula "16") (term "0,0")) - (rule "add_zero_left" (formula "16") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "16")) - (rule "mul_literals" (formula "16") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "18")) - (rule "polySimp_rightDist" (formula "7") (term "0,0")) - (rule "mul_literals" (formula "7") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "7")) - (rule "polySimp_mulComm0" (formula "7") (term "1")) - (rule "polySimp_rightDist" (formula "7") (term "1")) - (rule "mul_literals" (formula "7") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "7") (term "1,1")) - (rule "polySimp_elimOne" (formula "7") (term "1,1")) - (rule "inEqSimp_subsumption1" (formula "31") (ifseqformula "7")) - (rule "inEqSimp_homoInEq0" (formula "31") (term "0")) - (rule "polySimp_pullOutFactor1b" (formula "31") (term "0,0")) - (rule "add_literals" (formula "31") (term "1,1,0,0")) - (rule "times_zero_1" (formula "31") (term "1,0,0")) - (rule "add_literals" (formula "31") (term "0,0")) - (rule "qeq_literals" (formula "31") (term "0")) - (builtin "One Step Simplification" (formula "31")) - (rule "true_left" (formula "31")) - (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "19")) - (rule "polySimp_rightDist" (formula "4") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "4") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "4") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "4") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "polySimp_mulComm0" (formula "4") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "0,1")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "27")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "polySimp_addAssoc" (formula "8") (term "0,0")) - (rule "add_literals" (formula "8") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) - (rule "inEqSimp_subsumption0" (formula "32") (ifseqformula "8")) - (rule "inEqSimp_homoInEq0" (formula "32") (term "0")) - (rule "polySimp_mulComm0" (formula "32") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "32") (term "1,0,0")) - (rule "mul_literals" (formula "32") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "32") (term "0,0")) - (rule "polySimp_addComm1" (formula "32") (term "0,0,0")) - (rule "add_literals" (formula "32") (term "0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "32") (term "0,0")) - (rule "add_literals" (formula "32") (term "1,1,0,0")) - (rule "times_zero_1" (formula "32") (term "1,0,0")) - (rule "add_literals" (formula "32") (term "0,0")) - (rule "qeq_literals" (formula "32") (term "0")) - (builtin "One Step Simplification" (formula "32")) - (rule "true_left" (formula "32")) - (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "28")) - (rule "polySimp_rightDist" (formula "4") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "4") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "4") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "4") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_addAssoc" (formula "4") (term "0,0")) - (rule "polySimp_addComm0" (formula "4") (term "0,0,0")) - (rule "polySimp_pullOutFactor2b" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "1,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "mul_literals" (formula "4") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,1")) - (rule "polySimp_elimOne" (formula "4") (term "1,1")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "9")) - (rule "andLeft" (formula "4")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1,0")) - (rule "polySimp_rightDist" (formula "4") (term "1,0")) - (rule "mul_literals" (formula "4") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "4") (term "0")) - (rule "polySimp_addComm1" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) - (rule "add_literals" (formula "4") (term "1,1,0")) - (rule "times_zero_1" (formula "4") (term "1,0")) - (rule "add_literals" (formula "4") (term "0")) - (rule "leq_literals" (formula "4")) - (rule "closeFalse" (formula "4")) - ) - (branch "CUT: a.length <= result_binSearchR_0 FALSE" - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_leqRight" (formula "30")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "allLeft" (formula "20") (inst "t=quotient_0:int")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "20") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "20") (term "1,0")) - (rule "commute_or_2" (formula "20") (term "0,0")) - (rule "commute_or_2" (formula "20") (term "0")) - (rule "cut_direct" (formula "20") (term "1,0")) - (branch "CUT: a.length <= quotient_0 TRUE" - (builtin "One Step Simplification" (formula "21")) - (rule "true_left" (formula "21")) - (rule "inEqSimp_exactShadow3" (formula "17") (ifseqformula "20")) - (rule "mul_literals" (formula "17") (term "0,0")) - (rule "add_zero_left" (formula "17") (term "0")) - (rule "inEqSimp_subsumption1" (formula "17") (ifseqformula "14")) - (rule "leq_literals" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "true_left" (formula "17")) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "20")) - (rule "polySimp_rightDist" (formula "1") (term "0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "20")) - (rule "polySimp_mulComm0" (formula "18") (term "0,0")) - (rule "polySimp_addComm0" (formula "18") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "18")) - (rule "polySimp_mulLiterals" (formula "18") (term "0")) - (rule "polySimp_elimOne" (formula "18") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "18")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "5") (ifseqformula "18")) - (rule "polySimp_rightDist" (formula "5") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "5") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "5") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "5") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "5") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "5") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "5") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "5")) - (rule "polySimp_mulLiterals" (formula "5") (term "1")) - (rule "polySimp_elimOne" (formula "5") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "5") (ifseqformula "31")) - (rule "andLeft" (formula "5")) - (rule "inEqSimp_homoInEq1" (formula "5")) - (rule "polySimp_mulComm0" (formula "5") (term "1,0")) - (rule "polySimp_rightDist" (formula "5") (term "1,0")) - (rule "mul_literals" (formula "5") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0")) - (rule "polySimp_addComm0" (formula "5") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,1,0")) - (rule "times_zero_1" (formula "5") (term "1,0")) - (rule "add_literals" (formula "5") (term "0")) - (rule "leq_literals" (formula "5")) - (rule "closeFalse" (formula "5")) - ) - (branch "CUT: a.length <= quotient_0 FALSE" - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_leqRight" (formula "32")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "allLeft" (formula "21") (inst "t=idx_0:int")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "1")) - (rule "applyEq" (formula "21") (term "1,1") (ifseqformula "30")) - (rule "inEqSimp_contradInEq1" (formula "21") (term "0,0") (ifseqformula "16")) - (rule "qeq_literals" (formula "21") (term "0,0,0")) - (builtin "One Step Simplification" (formula "21")) - (rule "inEqSimp_contradInEq0" (formula "21") (term "0") (ifseqformula "29")) - (rule "inEqSimp_homoInEq1" (formula "21") (term "0,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,0,0,0")) - (rule "mul_literals" (formula "21") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,0")) - (rule "polySimp_addComm0" (formula "21") (term "0,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,0")) - (rule "add_literals" (formula "21") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "21") (term "1,0,0,0")) - (rule "add_literals" (formula "21") (term "0,0,0")) - (rule "leq_literals" (formula "21") (term "0,0")) - (builtin "One Step Simplification" (formula "21")) - (rule "inEqSimp_subsumption1" (formula "21") (ifseqformula "4")) - (rule "inEqSimp_homoInEq0" (formula "21") (term "0")) - (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0")) - (rule "add_literals" (formula "21") (term "1,1,0,0")) - (rule "times_zero_1" (formula "21") (term "1,0,0")) - (rule "add_literals" (formula "21") (term "0,0")) - (rule "qeq_literals" (formula "21") (term "0")) - (builtin "One Step Simplification" (formula "21")) - (rule "true_left" (formula "21")) - (rule "allLeft" (formula "22") (inst "t=idx_0:int")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "22") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0")) - (rule "applyEq" (formula "22") (term "1,1,0") (ifseqformula "30")) - (rule "commute_or_2" (formula "22") (term "0,0")) - (rule "commute_or_2" (formula "22") (term "0")) - (rule "cut_direct" (formula "22") (term "1,0")) - (branch "CUT: a.length <= idx_0 TRUE" - (builtin "One Step Simplification" (formula "23")) - (rule "true_left" (formula "23")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "22")) - (rule "mul_literals" (formula "18") (term "0,0")) - (rule "add_zero_left" (formula "18") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "22")) - (rule "polySimp_rightDist" (formula "1") (term "0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "30")) - (rule "andLeft" (formula "1")) - (rule "inEqSimp_homoInEq1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0")) - (rule "mul_literals" (formula "1") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0")) - (rule "polySimp_addComm1" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) - (rule "add_literals" (formula "1") (term "1,1,0")) - (rule "times_zero_1" (formula "1") (term "1,0")) - (rule "add_literals" (formula "1") (term "0")) - (rule "leq_literals" (formula "1")) - (rule "closeFalse" (formula "1")) - ) - (branch "CUT: a.length <= idx_0 FALSE" - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_leqRight" (formula "34")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "allLeft" (formula "4") (inst "t=idx_0:int")) - (rule "replaceKnownSelect_taclet00001000_2" (formula "4") (term "0,0,1")) - (rule "replaceKnownAuxiliaryConstant_taclet00001000_3" (formula "4") (term "0,0,1")) - (rule "replace_known_left" (formula "4") (term "0,1") (ifseqformula "32")) - (builtin "One Step Simplification" (formula "4")) - (rule "inEqSimp_commuteGeq" (formula "4") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "4") (term "0")) - (rule "polySimp_addComm1" (formula "4") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "4") (term "0")) - (rule "polySimp_mulComm0" (formula "4") (term "1,0")) - (rule "polySimp_rightDist" (formula "4") (term "1,0")) - (rule "mul_literals" (formula "4") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,1,0")) - (rule "polySimp_elimOne" (formula "4") (term "1,1,0")) - (rule "inEqSimp_contradInEq0" (formula "4") (term "0") (ifseqformula "30")) - (rule "inEqSimp_homoInEq1" (formula "4") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0,0,0")) - (rule "add_literals" (formula "4") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "4") (term "1,0,0,0")) - (rule "add_literals" (formula "4") (term "0,0,0")) - (rule "leq_literals" (formula "4") (term "0,0")) - (builtin "One Step Simplification" (formula "4")) - (rule "inEqSimp_exactShadow3" (formula "11") (ifseqformula "4")) - (rule "polySimp_rightDist" (formula "11") (term "0,0")) - (rule "mul_literals" (formula "11") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "11") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "11")) - (rule "polySimp_mulLiterals" (formula "11") (term "0")) - (rule "polySimp_elimOne" (formula "11") (term "0")) - (rule "inEqSimp_subsumption0" (formula "31") (ifseqformula "11")) - (rule "inEqSimp_homoInEq0" (formula "31") (term "0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "31") (term "1,0,0")) - (rule "mul_literals" (formula "31") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "31") (term "0,0")) - (rule "polySimp_addComm0" (formula "31") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "31") (term "0,0")) - (rule "add_literals" (formula "31") (term "1,1,0,0")) - (rule "times_zero_1" (formula "31") (term "1,0,0")) - (rule "add_literals" (formula "31") (term "0,0")) - (rule "qeq_literals" (formula "31") (term "0")) - (builtin "One Step Simplification" (formula "31")) - (rule "true_left" (formula "31")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "4")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "8") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "8") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "8") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "8") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "8")) - (rule "polySimp_mulComm0" (formula "8") (term "1")) - (rule "polySimp_rightDist" (formula "8") (term "1")) - (rule "polySimp_mulComm0" (formula "8") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "8") (term "0,1")) - (rule "inEqSimp_exactShadow3" (formula "21") (ifseqformula "12")) - (rule "mul_literals" (formula "21") (term "0,0")) - (rule "add_zero_left" (formula "21") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "21")) - (rule "mul_literals" (formula "21") (term "1")) - (rule "inEqSimp_subsumption1" (formula "20") (ifseqformula "21")) - (rule "leq_literals" (formula "20") (term "0")) - (builtin "One Step Simplification" (formula "20")) - (rule "true_left" (formula "20")) - (rule "inEqSimp_exactShadow3" (formula "20") (ifseqformula "32")) - (rule "mul_literals" (formula "20") (term "0,0")) - (rule "polySimp_addAssoc" (formula "20") (term "0")) - (rule "add_literals" (formula "20") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "20")) - (rule "mul_literals" (formula "20") (term "1")) - (rule "inEqSimp_subsumption1" (formula "19") (ifseqformula "20")) - (rule "leq_literals" (formula "19") (term "0")) - (builtin "One Step Simplification" (formula "19")) - (rule "true_left" (formula "19")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "12")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "8") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "8") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "8") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "8") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "8") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "8") (term "0")) - (rule "polySimp_addComm1" (formula "8") (term "0,0")) - (rule "polySimp_pullOutFactor3b" (formula "8") (term "0")) - (rule "polySimp_addComm0" (formula "8") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "8")) - (rule "polySimp_mulComm0" (formula "8") (term "1")) - (rule "polySimp_rightDist" (formula "8") (term "1")) - (rule "mul_literals" (formula "8") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "8") (term "1,1")) - (rule "inEqSimp_contradInEq3" (formula "8") (ifseqformula "33")) - (rule "greater_literals" (formula "8") (term "0,0")) - (builtin "One Step Simplification" (formula "8")) - (rule "andLeft" (formula "8")) - (rule "polySimp_rightDist" (formula "8") (term "0")) - (rule "mul_literals" (formula "8") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "8")) - (rule "polySimp_mulComm0" (formula "8") (term "1,0")) - (rule "polySimp_rightDist" (formula "8") (term "1,0")) - (rule "mul_literals" (formula "8") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "8") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "8") (term "0")) - (rule "polySimp_addComm1" (formula "8") (term "0,0")) - (rule "add_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "8") (term "0")) - (rule "add_literals" (formula "8") (term "1,1,0")) - (rule "times_zero_1" (formula "8") (term "1,0")) - (rule "add_literals" (formula "8") (term "0")) - (rule "leq_literals" (formula "8")) - (rule "closeFalse" (formula "8")) - ) - ) - ) - ) - ) - (branch "CUT: result_binSearchR_0 <= -1 + quotient_0 FALSE" - (builtin "One Step Simplification" (formula "23")) - (rule "replace_known_left" (formula "32") (term "0,0") (ifseqformula "23")) - (builtin "One Step Simplification" (formula "32") (ifInst "" (formula "23"))) - (rule "allRight" (formula "32") (inst "sk=f_0:Field")) - (rule "allRight" (formula "32") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "32")) - (rule "inEqSimp_leqRight" (formula "29")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "applyEq" (formula "28") (term "0") (ifseqformula "24")) - (rule "inEqSimp_commuteGeq" (formula "28")) - (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "24")) - (rule "polySimp_addComm0" (formula "1") (term "0")) - (rule "applyEq" (formula "29") (term "0,2,0") (ifseqformula "24")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "17") (ifseqformula "28")) - (rule "qeq_literals" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "closeFalse" (formula "17")) - ) - ) - ) - (branch "exists int idx; ( idx >= low & idx <= -1 + quotient_0 & a[idx]@heapAfter_binSearchR = v) FALSE" - (rule "replace_known_left" (formula "21") (term "0") (ifseqformula "23")) - (builtin "One Step Simplification" (formula "21")) - (rule "true_left" (formula "21")) - (rule "replace_known_left" (formula "21") (term "0") (ifseqformula "22")) - (builtin "One Step Simplification" (formula "21")) - (rule "true_left" (formula "21")) - (rule "replace_known_left" (formula "25") (term "0,0,0") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "25") (ifInst "" (formula "21"))) - (rule "applyEq" (formula "25") (term "0,0,1,0") (ifseqformula "21")) - (rule "inEqSimp_commuteGeq" (formula "25") (term "0,1,0")) - (rule "applyEq" (formula "25") (term "0,2,0,1,1,0") (ifseqformula "21")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0,1,0") (ifseqformula "14")) - (rule "qeq_literals" (formula "25") (term "0,0,1,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "nnf_ex2all" (formula "22")) - (rule "nnf_notAnd" (formula "1") (term "0")) - (rule "nnf_notAnd" (formula "1") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "1") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "1") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0,1,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,0,0")) - (rule "andRight" (formula "25")) - (branch - (rule "notRight" (formula "25")) - (rule "exLeft" (formula "1") (inst "sk=idx_0:int")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "inEqSimp_commuteGeq" (formula "1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "mul_literals" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) - (rule "polySimp_elimOne" (formula "2") (term "1,1")) - (rule "pullOutSelect" (formula "3") (term "0") (inst "selectSK=arr_1:int")) - (rule "simplifySelectOfAnonEQ" (formula "3") (ifseqformula "24")) - (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "28")) (ifInst "" (formula "16"))) - (rule "applyEqReverse" (formula "4") (term "0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "1")) - (rule "mul_literals" (formula "18") (term "0,0")) - (rule "add_zero_left" (formula "18") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "8")) - (rule "polySimp_rightDist" (formula "2") (term "0,0")) - (rule "mul_literals" (formula "2") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0")) - (rule "polySimp_addComm1" (formula "2") (term "0,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0,0,0")) - (rule "add_literals" (formula "2") (term "0,0,0,0")) - (rule "add_zero_left" (formula "2") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "20") (ifseqformula "2")) - (rule "mul_literals" (formula "20") (term "0,0")) - (rule "add_zero_left" (formula "20") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "20")) - (rule "polySimp_mulLiterals" (formula "20") (term "0")) - (rule "polySimp_elimOne" (formula "20") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "20")) - (rule "mul_literals" (formula "19") (term "0,0")) - (rule "add_zero_left" (formula "19") (term "0")) - (rule "inEqSimp_subsumption6" (formula "19") (ifseqformula "18")) - (rule "greater_literals" (formula "19") (term "0,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "mul_literals" (formula "19") (term "1,0")) - (rule "leq_literals" (formula "19") (term "0")) - (builtin "One Step Simplification" (formula "19")) - (rule "true_left" (formula "19")) - (rule "allLeft" (formula "24") (inst "t=quotient_0:int")) - (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "24") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0")) - (rule "commute_or_2" (formula "24") (term "0,0")) - (rule "commute_or_2" (formula "24") (term "0")) - (rule "cut_direct" (formula "24") (term "1,0")) - (branch "CUT: a.length <= quotient_0 TRUE" - (builtin "One Step Simplification" (formula "25")) - (rule "true_left" (formula "25")) - (rule "inEqSimp_exactShadow3" (formula "22") (ifseqformula "24")) - (rule "mul_literals" (formula "22") (term "0,0")) - (rule "add_zero_left" (formula "22") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "23") (ifseqformula "24")) - (rule "polySimp_mulComm0" (formula "23") (term "0,0")) - (rule "polySimp_addComm0" (formula "23") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "23")) - (rule "polySimp_mulLiterals" (formula "23") (term "0")) - (rule "polySimp_elimOne" (formula "23") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "23")) - (rule "polySimp_rightDist" (formula "3") (term "0,0")) - (rule "mul_literals" (formula "3") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "13") (ifseqformula "24")) - (rule "polySimp_rightDist" (formula "13") (term "0,0")) - (rule "mul_literals" (formula "13") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "13") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "13")) - (rule "polySimp_mulLiterals" (formula "13") (term "0")) - (rule "polySimp_elimOne" (formula "13") (term "0")) - (rule "inEqSimp_subsumption0" (formula "12") (ifseqformula "13")) - (rule "inEqSimp_homoInEq0" (formula "12") (term "0")) - (rule "polySimp_mulComm0" (formula "12") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "12") (term "1,0,0")) - (rule "mul_literals" (formula "12") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "12") (term "0,0")) - (rule "polySimp_addComm0" (formula "12") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "12") (term "0,0")) - (rule "add_literals" (formula "12") (term "1,1,0,0")) - (rule "times_zero_1" (formula "12") (term "1,0,0")) - (rule "add_literals" (formula "12") (term "0,0")) - (rule "qeq_literals" (formula "12") (term "0")) - (builtin "One Step Simplification" (formula "12")) - (rule "true_left" (formula "12")) - (rule "inEqSimp_exactShadow3" (formula "9") (ifseqformula "24")) - (rule "polySimp_rightDist" (formula "9") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "9") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "9") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "9") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "9") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "9") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "9") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "9") (term "0,0")) - (rule "add_literals" (formula "9") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "9")) - (rule "polySimp_mulLiterals" (formula "9") (term "1")) - (rule "polySimp_elimOne" (formula "9") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "9") (ifseqformula "13")) - (rule "andLeft" (formula "9")) - (rule "inEqSimp_homoInEq1" (formula "9")) - (rule "polySimp_mulComm0" (formula "9") (term "1,0")) - (rule "polySimp_rightDist" (formula "9") (term "1,0")) - (rule "mul_literals" (formula "9") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "9") (term "0")) - (rule "polySimp_addComm0" (formula "9") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "9") (term "0")) - (rule "add_literals" (formula "9") (term "1,1,0")) - (rule "times_zero_1" (formula "9") (term "1,0")) - (rule "add_literals" (formula "9") (term "0")) - (rule "leq_literals" (formula "9")) - (rule "closeFalse" (formula "9")) - ) - (branch "CUT: a.length <= quotient_0 FALSE" - (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_leqRight" (formula "30")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "allLeft" (formula "6") (inst "t=idx_0:int")) - (rule "replaceKnownSelect_taclet010001000_2" (formula "6") (term "0,0,1")) - (rule "replaceKnownAuxiliaryConstant_taclet010001000_3" (formula "6") (term "0,0,1")) - (rule "replace_known_left" (formula "6") (term "0,1") (ifseqformula "5")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_homoInEq0" (formula "6") (term "0")) - (rule "polySimp_addComm1" (formula "6") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "6") (term "0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0")) - (rule "polySimp_rightDist" (formula "6") (term "1,0")) - (rule "mul_literals" (formula "6") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,1,0")) - (rule "polySimp_elimOne" (formula "6") (term "1,1,0")) - (rule "inEqSimp_contradInEq0" (formula "6") (term "0") (ifseqformula "2")) - (rule "inEqSimp_homoInEq1" (formula "6") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0,0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0,0")) - (rule "add_literals" (formula "6") (term "0,0,0")) - (rule "leq_literals" (formula "6") (term "0,0")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "22")) - (rule "polySimp_mulComm0" (formula "6") (term "0,0")) - (rule "polySimp_pullOutFactor0" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,0")) - (rule "polySimp_elimOne" (formula "6") (term "0")) - (rule "allLeft" (formula "27") (inst "t=idx_0:int")) - (rule "inEqSimp_commuteGeq" (formula "27") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "27") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "27") (term "1,0")) - (rule "applyEq" (formula "27") (term "1,1,0") (ifseqformula "5")) - (rule "commute_or_2" (formula "27") (term "0,0")) - (rule "commute_or_2" (formula "27") (term "0")) - (rule "cut_direct" (formula "27") (term "1,0")) - (branch "CUT: a.length <= idx_0 TRUE" - (builtin "One Step Simplification" (formula "28")) - (rule "true_left" (formula "28")) - (rule "inEqSimp_exactShadow3" (formula "24") (ifseqformula "27")) - (rule "mul_literals" (formula "24") (term "0,0")) - (rule "add_zero_left" (formula "24") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "27")) - (rule "polySimp_rightDist" (formula "1") (term "0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_subsumption1" (formula "7") (ifseqformula "1")) - (rule "inEqSimp_homoInEq0" (formula "7") (term "0")) - (rule "polySimp_pullOutFactor1b" (formula "7") (term "0,0")) - (rule "add_literals" (formula "7") (term "1,1,0,0")) - (rule "times_zero_1" (formula "7") (term "1,0,0")) - (rule "add_literals" (formula "7") (term "0,0")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "inEqSimp_exactShadow3" (formula "25") (ifseqformula "27")) - (rule "polySimp_mulComm0" (formula "25") (term "0,0")) - (rule "polySimp_addComm0" (formula "25") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "25")) - (rule "polySimp_mulLiterals" (formula "25") (term "0")) - (rule "polySimp_elimOne" (formula "25") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "5") (ifseqformula "25")) - (rule "andLeft" (formula "5")) - (rule "inEqSimp_homoInEq1" (formula "5")) - (rule "polySimp_pullOutFactor1b" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,1,0")) - (rule "times_zero_1" (formula "5") (term "1,0")) - (rule "add_literals" (formula "5") (term "0")) - (rule "leq_literals" (formula "5")) - (rule "closeFalse" (formula "5")) - ) - (branch "CUT: a.length <= idx_0 FALSE" - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_leqRight" (formula "33")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "allLeft" (formula "28") (inst "t=quotient_0:int")) - (rule "inEqSimp_commuteGeq" (formula "28") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "28") (term "0,0") (ifseqformula "21")) - (rule "qeq_literals" (formula "28") (term "0,0,0")) - (builtin "One Step Simplification" (formula "28")) - (rule "inEqSimp_contradInEq1" (formula "28") (term "1") (ifseqformula "9")) - (rule "inEqSimp_homoInEq1" (formula "28") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "28") (term "0,0,1")) - (rule "add_literals" (formula "28") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "28") (term "1,0,0,1")) - (rule "add_literals" (formula "28") (term "0,0,1")) - (rule "leq_literals" (formula "28") (term "0,1")) - (builtin "One Step Simplification" (formula "28")) - (rule "inEqSimp_antiSymm" (formula "7") (ifseqformula "28")) - (rule "applyEq" (formula "23") (term "0") (ifseqformula "7")) - (rule "applyEq" (formula "8") (term "0") (ifseqformula "7")) - (rule "inEqSimp_homoInEq1" (formula "8")) - (rule "polySimp_pullOutFactor1" (formula "8") (term "0")) - (rule "add_literals" (formula "8") (term "1,0")) - (rule "times_zero_1" (formula "8") (term "0")) - (rule "leq_literals" (formula "8")) - (rule "true_left" (formula "8")) - (rule "applyEq" (formula "22") (term "0") (ifseqformula "7")) - (rule "inEqSimp_homoInEq0" (formula "22")) - (rule "polySimp_pullOutFactor0" (formula "22") (term "0")) - (rule "add_literals" (formula "22") (term "1,0")) - (rule "polySimp_elimOne" (formula "22") (term "0")) - (rule "applyEq" (formula "26") (term "0") (ifseqformula "7")) - (rule "inEqSimp_homoInEq0" (formula "26")) - (rule "polySimp_pullOutFactor1" (formula "26") (term "0")) - (rule "add_literals" (formula "26") (term "1,0")) - (rule "times_zero_1" (formula "26") (term "0")) - (rule "qeq_literals" (formula "26")) - (rule "true_left" (formula "26")) - (rule "applyEq" (formula "26") (term "1,1,0,0") (ifseqformula "7")) - (rule "applyEq" (formula "6") (term "0,2,0") (ifseqformula "7")) - (rule "applyEq" (formula "3") (term "1") (ifseqformula "7")) - (rule "applyEq" (formula "1") (term "1,1") (ifseqformula "6")) - (rule "applyEq" (formula "3") (term "1,1") (ifseqformula "5")) - (rule "applyEq" (formula "2") (term "0,1,1") (ifseqformula "5")) - (rule "polySimp_pullOutFactor0" (formula "2") (term "1")) - (rule "add_literals" (formula "2") (term "1,1")) - (rule "polySimp_elimOne" (formula "2") (term "1")) - (rule "applyEq" (formula "6") (term "0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "6")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "times_zero_1" (formula "6") (term "1,0")) - (rule "add_literals" (formula "6") (term "0")) - (rule "leq_literals" (formula "6")) - (rule "closeFalse" (formula "6")) - ) - ) - ) - (branch - (rule "allRight" (formula "25") (inst "sk=f_0:Field")) - (rule "allRight" (formula "25") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "25")) - (rule "pullOutSelect" (formula "26") (term "0") (inst "selectSK=f_0_0:any")) - (rule "simplifySelectOfAnonEQ" (formula "1") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "26"))) - (rule "applyEqReverse" (formula "27") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "27")) - (rule "closeTrue" (formula "27")) - ) - ) - ) - (branch "Exceptional Post (binSearchR)" - (builtin "One Step Simplification" (formula "23")) - (builtin "One Step Simplification" (formula "20")) - (rule "andLeft" (formula "20")) - (rule "andLeft" (formula "21")) - (rule "andLeft" (formula "22")) - (rule "andLeft" (formula "21")) - (rule "andLeft" (formula "23")) - (rule "notLeft" (formula "21")) - (rule "close" (formula "25") (ifseqformula "24")) - ) - (branch "Pre (binSearchR)" - (builtin "One Step Simplification" (formula "21") (ifInst "" (formula "6")) (ifInst "" (formula "18")) (ifInst "" (formula "20")) (ifInst "" (formula "8")) (ifInst "" (formula "20")) (ifInst "" (formula "11"))) - (rule "polySimp_elimSub" (formula "21") (term "0,1")) - (rule "measuredByCheck" (formula "21") (term "1") (ifseqformula "12")) - (rule "precOfInt" (formula "21") (term "1")) - (rule "inEqSimp_ltToLeq" (formula "21") (term "1,0,0,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1,0,0,0,0,1,0")) - (rule "polySimp_addComm1" (formula "21") (term "0,1,0,0,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "21") (term "1,0,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1,0,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "21") (term "1,1")) - (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1,1")) - (rule "polySimp_mulAssoc" (formula "21") (term "0,1,0,0,1,1")) - (rule "polySimp_mulComm0" (formula "21") (term "0,0,1,0,0,1,1")) - (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "21") (term "0,1,0,0,1,1")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,1,1")) - (rule "polySimp_addComm1" (formula "21") (term "0,1,1")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,1,1")) - (rule "polySimp_addComm1" (formula "21") (term "0,0,0,1,1")) - (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1,1")) - (rule "add_literals" (formula "21") (term "1,1,0,0,1,1")) - (rule "times_zero_1" (formula "21") (term "1,0,0,1,1")) - (rule "add_zero_right" (formula "21") (term "0,0,1,1")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "0,0,0")) - (rule "replace_known_left" (formula "21") (term "0,0,0") (ifseqformula "14")) - (builtin "One Step Simplification" (formula "21")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "0,0")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "0,0,0,0,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "1,0,0,1,0")) - (rule "inEqSimp_homoInEq0" (formula "21") (term "0,1")) - (rule "mul_literals" (formula "21") (term "1,0,0,1")) - (rule "add_zero_right" (formula "21") (term "0,0,1")) - (rule "inEqSimp_sepNegMonomial0" (formula "21") (term "1,0,0,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0,0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "21") (term "0,1,0,0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1,0,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,1,0,0,0,1,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,1,0,0,0,1,0")) - (rule "mul_literals" (formula "21") (term "0,1,1,0,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1,0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,1,0,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "21") (term "1,1")) - (rule "polySimp_mulLiterals" (formula "21") (term "0,1,1")) - (rule "polySimp_elimOne" (formula "21") (term "0,1,1")) - (rule "inEqSimp_sepNegMonomial1" (formula "21") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "21") (term "0,0,1")) - (rule "polySimp_elimOne" (formula "21") (term "0,0,1")) - (rule "replace_known_left" (formula "21") (term "0,1") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "21")) - (rule "nnf_imp2or" (formula "21") (term "0,0,1,0")) - (rule "nnf_notAnd" (formula "21") (term "0,0,0,1,0")) - (rule "inEqSimp_notLeq" (formula "21") (term "1,0,0,0,1,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1,0,0,0,1,0")) - (rule "mul_literals" (formula "21") (term "0,1,0,0,1,0,0,0,1,0")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,1,0,0,0,1,0")) - (rule "add_literals" (formula "21") (term "0,0,0,1,0,0,0,1,0")) - (rule "add_zero_left" (formula "21") (term "0,0,1,0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "21") (term "1,0,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,0,0,0,1,0")) - (rule "nnf_notAnd" (formula "21") (term "0,0,0,0,1,0")) - (rule "inEqSimp_notGeq" (formula "21") (term "0,0,0,0,0,1,0")) - (rule "mul_literals" (formula "21") (term "1,0,0,0,0,0,0,0,1,0")) - (rule "add_literals" (formula "21") (term "0,0,0,0,0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "0,0,0,0,0,1,0")) - (rule "mul_literals" (formula "21") (term "1,0,0,0,0,0,1,0")) - (rule "inEqSimp_notGeq" (formula "21") (term "1,0,0,0,0,1,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1,0,0,0,0,1,0")) - (rule "mul_literals" (formula "21") (term "0,1,0,0,1,0,0,0,0,1,0")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,1,0,0,0,0,1,0")) - (rule "add_literals" (formula "21") (term "0,0,0,1,0,0,0,0,1,0")) - (rule "add_zero_left" (formula "21") (term "0,0,1,0,0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1,0,0,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,0,0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,0,0,0,0,1,0")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "18") (ifseqformula "10")) - (rule "true_left" (formula "18")) - (rule "cut_direct" (formula "20") (term "0,0")) - (branch "CUT: a.length >= quotient_0 TRUE" - (builtin "One Step Simplification" (formula "21")) - (rule "cut_direct" (formula "21") (term "1")) - (branch "CUT: up >= 1 + quotient_0 TRUE" - (builtin "One Step Simplification" (formula "22")) - (rule "allRight" (formula "22") (inst "sk=y_0:int")) - (rule "allRight" (formula "22") (inst "sk=x_0:int")) - (rule "orRight" (formula "22")) - (rule "orRight" (formula "22")) - (rule "orRight" (formula "22")) - (rule "inEqSimp_geqRight" (formula "25")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_geqRight" (formula "25")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0")) - (rule "inEqSimp_leqRight" (formula "24")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_literals" (formula "1") (term "0,0")) - (rule "add_zero_left" (formula "1") (term "0")) - (rule "inEqSimp_leqRight" (formula "25")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "mul_literals" (formula "4") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,1")) - (rule "polySimp_elimOne" (formula "4") (term "1,1")) - (rule "inEqSimp_sepNegMonomial0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_exactShadow3" (formula "5") (ifseqformula "10")) - (rule "polySimp_rightDist" (formula "5") (term "0,0")) - (rule "mul_literals" (formula "5") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0")) - (rule "polySimp_addAssoc" (formula "5") (term "0,0")) - (rule "polySimp_addComm1" (formula "5") (term "0,0,0")) - (rule "add_literals" (formula "5") (term "0,0,0,0")) - (rule "add_zero_left" (formula "5") (term "0,0,0")) - (rule "polySimp_pullOutFactor0" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "5") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "5")) - (rule "polySimp_mulLiterals" (formula "5") (term "0")) - (rule "polySimp_elimOne" (formula "5") (term "0")) - (rule "allLeft" (formula "23") (inst "t=y_0:int")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "23") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "1,0,0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,1,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,1,0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,1,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,1,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,1,0,0,0")) - (rule "leq_literals" (formula "23") (term "0,1,0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "allLeft" (formula "23") (inst "t=x_0:int")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "1,0")) - (rule "inEqSimp_commuteLeq" (formula "23") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "23") (term "0,0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq1" (formula "23") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq1" (formula "23") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0,0")) - (rule "add_literals" (formula "23") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "23") (term "1,0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,0")) - (rule "leq_literals" (formula "23") (term "0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_contradInEq0" (formula "23") (ifseqformula "4")) - (rule "andLeft" (formula "23")) - (rule "inEqSimp_homoInEq1" (formula "23")) - (rule "polySimp_mulComm0" (formula "23") (term "1,0")) - (rule "polySimp_rightDist" (formula "23") (term "1,0")) - (rule "mul_literals" (formula "23") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "23") (term "0")) - (rule "polySimp_addComm0" (formula "23") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "23") (term "0")) - (rule "add_literals" (formula "23") (term "1,1,0")) - (rule "times_zero_1" (formula "23") (term "1,0")) - (rule "add_literals" (formula "23") (term "0")) - (rule "leq_literals" (formula "23")) - (rule "closeFalse" (formula "23")) - ) - (branch "CUT: up >= 1 + quotient_0 FALSE" - (builtin "One Step Simplification" (formula "22")) - (rule "false_right" (formula "22")) - (rule "inEqSimp_geqRight" (formula "21")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "9") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "9") (term "0,0")) - (rule "mul_literals" (formula "9") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "9") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "9")) - (rule "polySimp_mulLiterals" (formula "9") (term "0")) - (rule "polySimp_elimOne" (formula "9") (term "0")) - (rule "inEqSimp_subsumption0" (formula "8") (ifseqformula "9")) - (rule "inEqSimp_homoInEq0" (formula "8") (term "0")) - (rule "polySimp_mulComm0" (formula "8") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "8") (term "1,0,0")) - (rule "mul_literals" (formula "8") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "8") (term "0,0")) - (rule "polySimp_addComm0" (formula "8") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "8") (term "0,0")) - (rule "add_literals" (formula "8") (term "1,1,0,0")) - (rule "times_zero_1" (formula "8") (term "1,0,0")) - (rule "add_literals" (formula "8") (term "0,0")) - (rule "qeq_literals" (formula "8") (term "0")) - (builtin "One Step Simplification" (formula "8")) - (rule "true_left" (formula "8")) - (rule "inEqSimp_exactShadow3" (formula "5") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "5") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "5") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "5") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "5") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "5") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "5") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "5") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "5")) - (rule "polySimp_mulLiterals" (formula "5") (term "1")) - (rule "polySimp_elimOne" (formula "5") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "5") (ifseqformula "9")) - (rule "andLeft" (formula "5")) - (rule "inEqSimp_homoInEq1" (formula "5")) - (rule "polySimp_mulComm0" (formula "5") (term "1,0")) - (rule "polySimp_rightDist" (formula "5") (term "1,0")) - (rule "mul_literals" (formula "5") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0")) - (rule "polySimp_addComm0" (formula "5") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,1,0")) - (rule "times_zero_1" (formula "5") (term "1,0")) - (rule "add_literals" (formula "5") (term "0")) - (rule "leq_literals" (formula "5")) - (rule "closeFalse" (formula "5")) - ) - ) - (branch "CUT: a.length >= quotient_0 FALSE" - (builtin "One Step Simplification" (formula "21")) - (rule "false_right" (formula "21")) - (rule "inEqSimp_geqRight" (formula "20")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "1")) - (rule "mul_literals" (formula "16") (term "0,0")) - (rule "add_zero_left" (formula "16") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "16")) - (rule "mul_literals" (formula "16") (term "1")) - (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "16")) - (rule "leq_literals" (formula "14") (term "0")) - (builtin "One Step Simplification" (formula "14")) - (rule "true_left" (formula "14")) - (rule "inEqSimp_exactShadow3" (formula "17") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "17") (term "0,0")) - (rule "polySimp_addComm0" (formula "17") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "17")) - (rule "polySimp_mulLiterals" (formula "17") (term "0")) - (rule "polySimp_elimOne" (formula "17") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "17")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "polySimp_addAssoc" (formula "8") (term "0,0")) - (rule "add_literals" (formula "8") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) - (rule "inEqSimp_subsumption0" (formula "7") (ifseqformula "8")) - (rule "inEqSimp_homoInEq0" (formula "7") (term "0")) - (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "7") (term "1,0,0")) - (rule "mul_literals" (formula "7") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "7") (term "0,0")) - (rule "polySimp_addComm0" (formula "7") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "7") (term "0,0")) - (rule "add_literals" (formula "7") (term "1,1,0,0")) - (rule "times_zero_1" (formula "7") (term "1,0,0")) - (rule "add_literals" (formula "7") (term "0,0")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "17")) - (rule "polySimp_rightDist" (formula "4") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "4") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "4") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "4") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_addAssoc" (formula "4") (term "0,0")) - (rule "polySimp_addComm0" (formula "4") (term "0,0,0")) - (rule "polySimp_pullOutFactor2b" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "1,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "mul_literals" (formula "4") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,1")) - (rule "polySimp_elimOne" (formula "4") (term "1,1")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "8")) - (rule "andLeft" (formula "4")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1,0")) - (rule "polySimp_rightDist" (formula "4") (term "1,0")) - (rule "mul_literals" (formula "4") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "4") (term "0")) - (rule "polySimp_addComm1" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) - (rule "add_literals" (formula "4") (term "1,1,0")) - (rule "times_zero_1" (formula "4") (term "1,0")) - (rule "add_literals" (formula "4") (term "0")) - (rule "leq_literals" (formula "4")) - (rule "closeFalse" (formula "4")) - ) - ) - ) - (branch "if b_2 false" - (builtin "One Step Simplification" (formula "22")) - (builtin "One Step Simplification" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "inEqSimp_geqRight" (formula "18")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_strengthen0" (formula "1") (ifseqformula "19")) - (rule "inEqSimp_contradEq3" (formula "19") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "19") (term "1,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,0")) - (rule "add_literals" (formula "19") (term "1,1,0,0")) - (rule "times_zero_1" (formula "19") (term "1,0,0")) - (rule "add_literals" (formula "19") (term "0,0")) - (rule "qeq_literals" (formula "19") (term "0")) - (builtin "One Step Simplification" (formula "19")) - (rule "false_right" (formula "19")) - (rule "elim_double_block_2" (formula "21") (term "1")) - (rule "elim_double_block_2" (formula "21") (term "1")) - (rule "returnUnfold" (formula "21") (term "1") (inst "#v0=i_7")) - (rule "variableDeclarationAssign" (formula "21") (term "1")) - (rule "variableDeclaration" (formula "21") (term "1") (newnames "i_7")) - (rule "methodCallWithAssignmentUnfoldArguments" (formula "21") (term "1")) - (rule "variableDeclarationAssign" (formula "21") (term "1")) - (rule "variableDeclaration" (formula "21") (term "1") (newnames "var")) - (rule "assignment" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "variableDeclarationAssign" (formula "21") (term "1")) - (rule "variableDeclaration" (formula "21") (term "1") (newnames "var_1")) - (rule "assignment" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "variableDeclarationAssign" (formula "21") (term "1")) - (rule "variableDeclaration" (formula "21") (term "1") (newnames "var_2")) - (rule "assignmentAdditionInt" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "translateJavaAddInt" (formula "21") (term "0,1,0")) - (rule "polySimp_addComm0" (formula "21") (term "0,1,0")) - (rule "variableDeclarationAssign" (formula "21") (term "1")) - (rule "variableDeclaration" (formula "21") (term "1") (newnames "var_3")) - (rule "assignment" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (builtin "Use Operation Contract" (formula "21") (newnames "heapBefore_binSearchR_0,result_binSearchR_0,exc_0,heapAfter_binSearchR,anon_heap_binSearchR") (contract "BinSearch[BinSearch::binSearchR([I,int,int,int)].JML normal_behavior operation contract.0") (modality "diamond")) - (branch "Post (binSearchR)" - (builtin "One Step Simplification" (formula "23")) - (builtin "One Step Simplification" (formula "20")) - (rule "andLeft" (formula "20")) - (rule "andLeft" (formula "21")) - (rule "andLeft" (formula "22")) - (rule "andLeft" (formula "22")) - (rule "andLeft" (formula "23")) - (rule "inEqSimp_ltToLeq" (formula "22") (term "1,1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,1,1")) - (rule "polySimp_addComm1" (formula "22") (term "0,1,1")) - (rule "inEqSimp_ltToLeq" (formula "23") (term "1,0,0,0")) - (rule "polySimp_mulComm0" (formula "23") (term "1,0,0,1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "22") (term "0,1")) - (rule "inEqSimp_commuteLeq" (formula "23") (term "0,0,0,0")) - (rule "assignment" (formula "27") (term "1")) - (builtin "One Step Simplification" (formula "27")) - (rule "blockEmpty" (formula "27") (term "1")) - (rule "blockReturn" (formula "27") (term "1")) - (rule "inEqSimp_sepNegMonomial0" (formula "22") (term "1,1")) - (rule "polySimp_mulLiterals" (formula "22") (term "0,1,1")) - (rule "polySimp_elimOne" (formula "22") (term "0,1,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "23") (term "1,0,0,0")) - (rule "polySimp_mulComm0" (formula "23") (term "1,1,0,0,0")) - (rule "polySimp_rightDist" (formula "23") (term "1,1,0,0,0")) - (rule "mul_literals" (formula "23") (term "0,1,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "23") (term "1,1,1,0,0,0")) - (rule "polySimp_elimOne" (formula "23") (term "1,1,1,0,0,0")) - (rule "pullOutSelect" (formula "23") (term "0,1,1") (inst "selectSK=arr_0:int")) - (rule "simplifySelectOfAnonEQ" (formula "23") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "23") (ifInst "" (formula "27")) (ifInst "" (formula "11"))) - (rule "applyEqReverse" (formula "24") (term "0,1,1") (ifseqformula "23")) - (rule "hideAuxiliaryEq" (formula "23")) - (rule "cnf_rightDist" (formula "22")) - (rule "andLeft" (formula "22")) - (rule "commute_or" (formula "23")) - (rule "methodCallReturn" (formula "28") (term "1")) - (rule "assignment" (formula "28") (term "1")) - (builtin "One Step Simplification" (formula "28")) - (rule "methodCallEmpty" (formula "28") (term "1")) - (rule "tryEmpty" (formula "28") (term "1")) - (rule "emptyModality" (formula "28") (term "1")) - (builtin "One Step Simplification" (formula "28") (ifInst "" (formula "25"))) - (rule "replaceKnownSelect_taclet0101000_0" (formula "28") (term "0,1,1,1,0")) - (rule "replaceKnownAuxiliaryConstant_taclet0101000_1" (formula "28") (term "0,1,1,1,0")) - (rule "eqSymm" (formula "28") (term "1,0,0,1")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "18") (ifseqformula "10")) - (rule "true_left" (formula "18")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "24") (ifseqformula "10")) - (rule "true_left" (formula "24")) - (rule "cnf_rightDist" (formula "26") (term "0,0")) - (rule "commute_or" (formula "26") (term "1,0,0")) - (rule "replace_known_left" (formula "26") (term "1,0,0") (ifseqformula "22")) - (builtin "One Step Simplification" (formula "26")) - (rule "ifthenelse_split_for" (formula "23")) - (branch "exists int idx; ( idx >= 1 + quotient_0 & idx <= -1 + up & a[idx]@heapAfter_binSearchR = v) TRUE" - (rule "andLeft" (formula "24")) - (rule "exLeft" (formula "23") (inst "sk=idx_0:int")) - (rule "andLeft" (formula "23")) - (rule "andLeft" (formula "23")) - (rule "replace_known_left" (formula "21") (term "1") (ifseqformula "26")) - (builtin "One Step Simplification" (formula "21")) - (rule "true_left" (formula "21")) - (rule "replace_known_left" (formula "29") (term "1,1,1,0") (ifseqformula "26")) - (builtin "One Step Simplification" (formula "29")) - (rule "inEqSimp_homoInEq0" (formula "23")) - (rule "polySimp_addComm1" (formula "23") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "23")) - (rule "polySimp_mulComm0" (formula "23") (term "1")) - (rule "polySimp_rightDist" (formula "23") (term "1")) - (rule "mul_literals" (formula "23") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "23") (term "1,1")) - (rule "polySimp_elimOne" (formula "23") (term "1,1")) - (rule "pullOutSelect" (formula "24") (term "0") (inst "selectSK=arr_1:int")) - (rule "simplifySelectOfAnonEQ" (formula "24") (ifseqformula "19")) - (builtin "One Step Simplification" (formula "24") (ifInst "" (formula "29")) (ifInst "" (formula "11"))) - (rule "applyEqReverse" (formula "25") (term "0") (ifseqformula "24")) - (rule "hideAuxiliaryEq" (formula "24")) - (rule "inEqSimp_exactShadow3" (formula "23") (ifseqformula "4")) - (rule "polySimp_rightDist" (formula "23") (term "0,0")) - (rule "mul_literals" (formula "23") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "23") (term "0")) - (rule "polySimp_addComm1" (formula "23") (term "0,0")) - (rule "polySimp_addAssoc" (formula "23") (term "0,0,0")) - (rule "add_literals" (formula "23") (term "0,0,0,0")) - (rule "add_zero_left" (formula "23") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "23")) - (rule "polySimp_mulLiterals" (formula "23") (term "0")) - (rule "polySimp_elimOne" (formula "23") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "14") (ifseqformula "23")) - (rule "mul_literals" (formula "14") (term "0,0")) - (rule "add_zero_left" (formula "14") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "14")) - (rule "polySimp_mulLiterals" (formula "14") (term "0")) - (rule "polySimp_elimOne" (formula "14") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "23") (ifseqformula "14")) - (rule "polySimp_rightDist" (formula "23") (term "0,0")) - (rule "mul_literals" (formula "23") (term "0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "23") (term "0")) - (rule "add_literals" (formula "23") (term "1,1,0")) - (rule "polySimp_elimOne" (formula "23") (term "1,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "23")) - (rule "mul_literals" (formula "23") (term "1")) - (rule "inEqSimp_subsumption1" (formula "13") (ifseqformula "23")) - (rule "leq_literals" (formula "13") (term "0")) - (builtin "One Step Simplification" (formula "13")) - (rule "true_left" (formula "13")) - (rule "ifthenelse_split_for" (formula "31") (term "1,0")) - (branch "exists int idx; ( idx >= low & idx <= -1 + up & a[idx]@heapAfter_binSearchR = v) TRUE" - (rule "exLeft" (formula "1") (inst "sk=idx_1:int")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "inEqSimp_commuteGeq" (formula "1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "mul_literals" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) - (rule "polySimp_elimOne" (formula "2") (term "1,1")) - (rule "pullOutSelect" (formula "3") (term "0") (inst "selectSK=arr_2:int")) - (rule "simplifySelectOfAnonEQ" (formula "3") (ifseqformula "23")) - (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "34")) (ifInst "" (formula "15"))) - (rule "applyEqReverse" (formula "4") (term "0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "inEqSimp_exactShadow3" (formula "17") (ifseqformula "1")) - (rule "mul_literals" (formula "17") (term "0,0")) - (rule "add_zero_left" (formula "17") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "7")) - (rule "polySimp_rightDist" (formula "2") (term "0,0")) - (rule "mul_literals" (formula "2") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0")) - (rule "polySimp_addComm1" (formula "2") (term "0,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0,0,0")) - (rule "add_literals" (formula "2") (term "0,0,0,0")) - (rule "add_zero_left" (formula "2") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "2")) - (rule "mul_literals" (formula "19") (term "0,0")) - (rule "add_zero_left" (formula "19") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "19")) - (rule "polySimp_mulLiterals" (formula "19") (term "0")) - (rule "polySimp_elimOne" (formula "19") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "19")) - (rule "mul_literals" (formula "18") (term "0,0")) - (rule "add_zero_left" (formula "18") (term "0")) - (rule "inEqSimp_subsumption6" (formula "18") (ifseqformula "29")) - (rule "greater_literals" (formula "18") (term "0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "mul_literals" (formula "18") (term "1,0")) - (rule "leq_literals" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "true_left" (formula "18")) - (rule "commute_and" (formula "37") (term "0")) - (rule "cut_direct" (formula "27") (term "1")) - (branch "CUT: up >= 1 + result_binSearchR_0 TRUE" - (builtin "One Step Simplification" (formula "28")) - (rule "true_left" (formula "28")) - (rule "inEqSimp_exactShadow3" (formula "27") (ifseqformula "8")) - (rule "polySimp_rightDist" (formula "27") (term "0,0")) - (rule "mul_literals" (formula "27") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "27") (term "0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,0")) - (rule "add_literals" (formula "27") (term "0,0,0,0")) - (rule "add_zero_left" (formula "27") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "27")) - (rule "polySimp_mulLiterals" (formula "27") (term "0")) - (rule "polySimp_elimOne" (formula "27") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "34") (ifseqformula "27")) - (rule "polySimp_rightDist" (formula "34") (term "0,0")) - (rule "mul_literals" (formula "34") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "34") (term "0")) - (rule "polySimp_pullOutFactor0b" (formula "34") (term "0,0")) - (rule "add_literals" (formula "34") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "34") (term "1,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "34")) - (rule "polySimp_mulLiterals" (formula "34") (term "0")) - (rule "polySimp_elimOne" (formula "34") (term "0")) - (rule "inEqSimp_subsumption0" (formula "10") (ifseqformula "34")) - (rule "inEqSimp_homoInEq0" (formula "10") (term "0")) - (rule "polySimp_mulComm0" (formula "10") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "10") (term "1,0,0")) - (rule "mul_literals" (formula "10") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "10") (term "0,0")) - (rule "polySimp_addComm0" (formula "10") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "10") (term "0,0")) - (rule "add_literals" (formula "10") (term "1,1,0,0")) - (rule "times_zero_1" (formula "10") (term "1,0,0")) - (rule "add_literals" (formula "10") (term "0,0")) - (rule "qeq_literals" (formula "10") (term "0")) - (builtin "One Step Simplification" (formula "10")) - (rule "true_left" (formula "10")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "33")) - (rule "mul_literals" (formula "19") (term "0,0")) - (rule "add_zero_left" (formula "19") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "19")) - (rule "mul_literals" (formula "19") (term "1")) - (rule "cut_direct" (formula "38") (term "0,0")) - (branch "CUT: result_binSearchR_0 >= low TRUE" - (builtin "One Step Simplification" (formula "39") (ifInst "" (formula "1"))) - (rule "allRight" (formula "39") (inst "sk=f_0:Field")) - (rule "allRight" (formula "39") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "39")) - (rule "pullOutSelect" (formula "40") (term "0") (inst "selectSK=f_0_0:any")) - (rule "simplifySelectOfAnonEQ" (formula "1") (ifseqformula "26")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "40"))) - (rule "applyEqReverse" (formula "41") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "41")) - (rule "closeTrue" (formula "41")) - ) - (branch "CUT: result_binSearchR_0 >= low FALSE" - (builtin "One Step Simplification" (formula "39") (ifInst "" (formula "38"))) - (rule "false_right" (formula "39")) - (rule "inEqSimp_geqRight" (formula "38")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_exactShadow3" (formula "35") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "35") (term "0,0")) - (rule "mul_literals" (formula "35") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "35") (term "0")) - (rule "polySimp_addComm1" (formula "35") (term "0,0")) - (rule "add_literals" (formula "35") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "35")) - (rule "polySimp_mulComm0" (formula "35") (term "1")) - (rule "polySimp_rightDist" (formula "35") (term "1")) - (rule "mul_literals" (formula "35") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "35") (term "1,1")) - (rule "polySimp_elimOne" (formula "35") (term "1,1")) - (rule "inEqSimp_contradInEq0" (formula "35") (ifseqformula "34")) - (rule "andLeft" (formula "35")) - (rule "inEqSimp_homoInEq1" (formula "35")) - (rule "polySimp_mulComm0" (formula "35") (term "1,0")) - (rule "polySimp_rightDist" (formula "35") (term "1,0")) - (rule "mul_literals" (formula "35") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "35") (term "0")) - (rule "polySimp_addComm1" (formula "35") (term "0,0")) - (rule "add_literals" (formula "35") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "35") (term "0")) - (rule "add_literals" (formula "35") (term "1,1,0")) - (rule "times_zero_1" (formula "35") (term "1,0")) - (rule "add_literals" (formula "35") (term "0")) - (rule "leq_literals" (formula "35")) - (rule "closeFalse" (formula "35")) - ) - ) - (branch "CUT: up >= 1 + result_binSearchR_0 FALSE" - (builtin "One Step Simplification" (formula "27")) - (rule "replace_known_left" (formula "38") (term "0,1,0") (ifseqformula "27")) - (builtin "One Step Simplification" (formula "38")) - (rule "inEqSimp_geqRight" (formula "35")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "applyEq" (formula "38") (term "0,0") (ifseqformula "28")) - (rule "inEqSimp_commuteGeq" (formula "38") (term "0")) - (rule "applyEq" (formula "34") (term "0") (ifseqformula "28")) - (rule "inEqSimp_homoInEq1" (formula "34")) - (rule "mul_literals" (formula "34") (term "1,0")) - (rule "polySimp_addComm1" (formula "34") (term "0")) - (rule "add_literals" (formula "34") (term "0,0")) - (rule "applyEq" (formula "35") (term "0,2,0") (ifseqformula "28")) - (rule "applyEq" (formula "1") (term "0,0,0") (ifseqformula "28")) - (rule "mul_literals" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "34")) - (rule "mul_literals" (formula "34") (term "1")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "mul_literals" (formula "1") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "38") (term "0") (ifseqformula "21")) - (rule "qeq_literals" (formula "38") (term "0,0")) - (builtin "One Step Simplification" (formula "38")) - (rule "false_right" (formula "38")) - (rule "inEqSimp_contradInEq0" (formula "29") (ifseqformula "34")) - (rule "qeq_literals" (formula "29") (term "0")) - (builtin "One Step Simplification" (formula "29")) - (rule "closeFalse" (formula "29")) - ) - ) - (branch "exists int idx; ( idx >= low & idx <= -1 + up & a[idx]@heapAfter_binSearchR = v) FALSE" - (rule "nnf_ex2all" (formula "31")) - (rule "nnf_notAnd" (formula "1") (term "0")) - (rule "nnf_notAnd" (formula "1") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "1") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "1") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0,1,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,0,0")) - (rule "commute_and" (formula "32") (term "0")) - (rule "cut_direct" (formula "22") (term "1")) - (branch "CUT: up >= 1 + result_binSearchR_0 TRUE" - (builtin "One Step Simplification" (formula "23")) - (rule "true_left" (formula "23")) - (rule "inEqSimp_exactShadow3" (formula "22") (ifseqformula "5")) - (rule "polySimp_rightDist" (formula "22") (term "0,0")) - (rule "mul_literals" (formula "22") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "22") (term "0")) - (rule "polySimp_addAssoc" (formula "22") (term "0,0")) - (rule "polySimp_addAssoc" (formula "22") (term "0,0,0")) - (rule "add_literals" (formula "22") (term "0,0,0,0")) - (rule "add_zero_left" (formula "22") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "22")) - (rule "polySimp_mulLiterals" (formula "22") (term "0")) - (rule "polySimp_elimOne" (formula "22") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "29") (ifseqformula "22")) - (rule "polySimp_rightDist" (formula "29") (term "0,0")) - (rule "mul_literals" (formula "29") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "29") (term "0")) - (rule "polySimp_pullOutFactor0b" (formula "29") (term "0,0")) - (rule "add_literals" (formula "29") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "29") (term "1,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "29")) - (rule "polySimp_mulLiterals" (formula "29") (term "0")) - (rule "polySimp_elimOne" (formula "29") (term "0")) - (rule "inEqSimp_subsumption0" (formula "7") (ifseqformula "29")) - (rule "inEqSimp_homoInEq0" (formula "7") (term "0")) - (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "7") (term "1,0,0")) - (rule "mul_literals" (formula "7") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "7") (term "0,0")) - (rule "polySimp_addComm0" (formula "7") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "7") (term "0,0")) - (rule "add_literals" (formula "7") (term "1,1,0,0")) - (rule "times_zero_1" (formula "7") (term "1,0,0")) - (rule "add_literals" (formula "7") (term "0,0")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "inEqSimp_exactShadow3" (formula "14") (ifseqformula "28")) - (rule "mul_literals" (formula "14") (term "0,0")) - (rule "add_zero_left" (formula "14") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "14")) - (rule "mul_literals" (formula "14") (term "1")) - (rule "cut_direct" (formula "33") (term "0,0")) - (branch "CUT: result_binSearchR_0 = -1 TRUE" - (builtin "One Step Simplification" (formula "34") (ifInst "" (formula "1"))) - (rule "allRight" (formula "34") (inst "sk=f_0:Field")) - (rule "allRight" (formula "34") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "34")) - (rule "applyEq" (formula "30") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq1" (formula "30")) - (rule "mul_literals" (formula "30") (term "1,0")) - (rule "polySimp_addComm1" (formula "30") (term "0")) - (rule "add_literals" (formula "30") (term "0,0")) - (rule "applyEq" (formula "22") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq0" (formula "22")) - (rule "mul_literals" (formula "22") (term "1,0")) - (rule "polySimp_addComm1" (formula "22") (term "0")) - (rule "polySimp_addComm0" (formula "22") (term "0,0")) - (rule "applyEq" (formula "31") (term "0,2,0") (ifseqformula "1")) - (rule "applyEq" (formula "23") (term "1,1") (ifseqformula "1")) - (rule "add_literals" (formula "23") (term "1")) - (rule "inEqSimp_sepPosMonomial0" (formula "30")) - (rule "mul_literals" (formula "30") (term "1")) - (rule "inEqSimp_sepNegMonomial1" (formula "22")) - (rule "polySimp_mulLiterals" (formula "22") (term "0")) - (rule "polySimp_elimOne" (formula "22") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "24") (ifseqformula "30")) - (rule "qeq_literals" (formula "24") (term "0")) - (builtin "One Step Simplification" (formula "24")) - (rule "closeFalse" (formula "24")) - ) - (branch "CUT: result_binSearchR_0 = -1 FALSE" - (builtin "One Step Simplification" (formula "34") (ifInst "" (formula "33"))) - (rule "false_right" (formula "34")) - (rule "allLeft" (formula "17") (inst "t=result_binSearchR_0:int")) - (rule "inEqSimp_commuteGeq" (formula "17") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "17") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "17") (term "1,0")) - (rule "applyEq" (formula "17") (term "1,1,0") (ifseqformula "31")) - (rule "commute_or_2" (formula "17") (term "0,0")) - (rule "commute_or_2" (formula "17") (term "0")) - (rule "cut_direct" (formula "17") (term "1,0")) - (branch "CUT: a.length <= result_binSearchR_0 TRUE" - (builtin "One Step Simplification" (formula "18")) - (rule "true_left" (formula "18")) - (rule "inEqSimp_exactShadow3" (formula "15") (ifseqformula "17")) - (rule "mul_literals" (formula "15") (term "0,0")) - (rule "add_zero_left" (formula "15") (term "0")) - (rule "inEqSimp_contradEq7" (formula "35") (ifseqformula "15")) - (rule "add_zero_left" (formula "35") (term "0,0")) - (rule "mul_literals" (formula "35") (term "0,0")) - (rule "leq_literals" (formula "35") (term "0")) - (builtin "One Step Simplification" (formula "35")) - (rule "false_right" (formula "35")) - (rule "inEqSimp_exactShadow3" (formula "17") (ifseqformula "18")) - (rule "polySimp_mulComm0" (formula "17") (term "0,0")) - (rule "polySimp_addComm0" (formula "17") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "17")) - (rule "polySimp_mulLiterals" (formula "17") (term "0")) - (rule "polySimp_elimOne" (formula "17") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "25") (ifseqformula "17")) - (rule "andLeft" (formula "25")) - (rule "inEqSimp_homoInEq1" (formula "25")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0")) - (rule "add_literals" (formula "25") (term "1,1,0")) - (rule "times_zero_1" (formula "25") (term "1,0")) - (rule "add_literals" (formula "25") (term "0")) - (rule "leq_literals" (formula "25")) - (rule "closeFalse" (formula "25")) - ) - (branch "CUT: a.length <= result_binSearchR_0 FALSE" - (builtin "One Step Simplification" (formula "17")) - (rule "inEqSimp_leqRight" (formula "32")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "allLeft" (formula "19") (inst "t=idx_0:int")) - (rule "inEqSimp_commuteGeq" (formula "19") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "19") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "19") (term "1,0")) - (rule "applyEq" (formula "19") (term "1,1,0") (ifseqformula "30")) - (rule "commute_or_2" (formula "19") (term "0,0")) - (rule "commute_or_2" (formula "19") (term "0")) - (rule "cut_direct" (formula "19") (term "1,0")) - (branch "CUT: a.length <= idx_0 TRUE" - (builtin "One Step Simplification" (formula "20")) - (rule "true_left" (formula "20")) - (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "19")) - (rule "mul_literals" (formula "16") (term "0,0")) - (rule "add_zero_left" (formula "16") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "20")) - (rule "polySimp_rightDist" (formula "1") (term "0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "21")) - (rule "polySimp_mulComm0" (formula "19") (term "0,0")) - (rule "polySimp_addComm0" (formula "19") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "19")) - (rule "polySimp_mulLiterals" (formula "19") (term "0")) - (rule "polySimp_elimOne" (formula "19") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "32") (ifseqformula "19")) - (rule "andLeft" (formula "32")) - (rule "inEqSimp_homoInEq1" (formula "32")) - (rule "polySimp_pullOutFactor1b" (formula "32") (term "0")) - (rule "add_literals" (formula "32") (term "1,1,0")) - (rule "times_zero_1" (formula "32") (term "1,0")) - (rule "add_literals" (formula "32") (term "0")) - (rule "leq_literals" (formula "32")) - (rule "closeFalse" (formula "32")) - ) - (branch "CUT: a.length <= idx_0 FALSE" - (builtin "One Step Simplification" (formula "19")) - (rule "inEqSimp_leqRight" (formula "34")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "allLeft" (formula "3") (inst "t=idx_0:int")) - (rule "replaceKnownSelect_taclet00101000_2" (formula "3") (term "0,0,1")) - (rule "replaceKnownAuxiliaryConstant_taclet00101000_3" (formula "3") (term "0,0,1")) - (rule "replace_known_left" (formula "3") (term "0,1") (ifseqformula "32")) - (builtin "One Step Simplification" (formula "3")) - (rule "inEqSimp_commuteGeq" (formula "3") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "3") (term "0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,0")) - (rule "mul_literals" (formula "3") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,1,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,1,0")) - (rule "inEqSimp_contradInEq1" (formula "3") (term "1") (ifseqformula "31")) - (rule "inEqSimp_homoInEq1" (formula "3") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "3") (term "0,0,1")) - (rule "add_literals" (formula "3") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "3") (term "1,0,0,1")) - (rule "add_literals" (formula "3") (term "0,0,1")) - (rule "leq_literals" (formula "3") (term "0,1")) - (builtin "One Step Simplification" (formula "3")) - (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "33")) - (rule "polySimp_rightDist" (formula "3") (term "0,0")) - (rule "mul_literals" (formula "3") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addAssoc" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "30") (ifseqformula "3")) - (rule "andLeft" (formula "30")) - (rule "inEqSimp_homoInEq1" (formula "30")) - (rule "polySimp_mulComm0" (formula "30") (term "1,0")) - (rule "polySimp_rightDist" (formula "30") (term "1,0")) - (rule "mul_literals" (formula "30") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "30") (term "0")) - (rule "polySimp_addComm1" (formula "30") (term "0,0")) - (rule "add_literals" (formula "30") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "30") (term "0")) - (rule "add_literals" (formula "30") (term "1,1,0")) - (rule "times_zero_1" (formula "30") (term "1,0")) - (rule "add_literals" (formula "30") (term "0")) - (rule "leq_literals" (formula "30")) - (rule "closeFalse" (formula "30")) - ) - ) - ) - ) - (branch "CUT: up >= 1 + result_binSearchR_0 FALSE" - (builtin "One Step Simplification" (formula "22")) - (rule "replace_known_left" (formula "33") (term "0,0") (ifseqformula "22")) - (builtin "One Step Simplification" (formula "33") (ifInst "" (formula "22"))) - (rule "allRight" (formula "33") (inst "sk=f_0:Field")) - (rule "allRight" (formula "33") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "33")) - (rule "inEqSimp_geqRight" (formula "30")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "applyEq" (formula "29") (term "0") (ifseqformula "23")) - (rule "inEqSimp_homoInEq1" (formula "29")) - (rule "mul_literals" (formula "29") (term "1,0")) - (rule "polySimp_addComm1" (formula "29") (term "0")) - (rule "add_literals" (formula "29") (term "0,0")) - (rule "applyEq" (formula "30") (term "0,2,0") (ifseqformula "23")) - (rule "applyEq" (formula "1") (term "0,0,0") (ifseqformula "23")) - (rule "mul_literals" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "29")) - (rule "mul_literals" (formula "29") (term "1")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "mul_literals" (formula "1") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "24") (ifseqformula "29")) - (rule "qeq_literals" (formula "24") (term "0")) - (builtin "One Step Simplification" (formula "24")) - (rule "closeFalse" (formula "24")) - ) - ) - ) - (branch "exists int idx; ( idx >= 1 + quotient_0 & idx <= -1 + up & a[idx]@heapAfter_binSearchR = v) FALSE" - (rule "replace_known_left" (formula "21") (term "0") (ifseqformula "23")) - (builtin "One Step Simplification" (formula "21")) - (rule "true_left" (formula "21")) - (rule "replace_known_left" (formula "21") (term "0") (ifseqformula "22")) - (builtin "One Step Simplification" (formula "21")) - (rule "true_left" (formula "21")) - (rule "replace_known_left" (formula "25") (term "0,0,0") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "25") (ifInst "" (formula "21"))) - (rule "applyEq" (formula "25") (term "0,0,1,0") (ifseqformula "21")) - (rule "inEqSimp_commuteGeq" (formula "25") (term "0,1,0")) - (rule "applyEq" (formula "25") (term "0,2,0,1,1,0") (ifseqformula "21")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0,1,0") (ifseqformula "14")) - (rule "qeq_literals" (formula "25") (term "0,0,1,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "nnf_ex2all" (formula "22")) - (rule "nnf_notAnd" (formula "1") (term "0")) - (rule "nnf_notAnd" (formula "1") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "1") (term "0,0,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0,0,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "0,0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "1") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0,1,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,0,0")) - (rule "andRight" (formula "25")) - (branch - (rule "notRight" (formula "25")) - (rule "exLeft" (formula "1") (inst "sk=idx_0:int")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "inEqSimp_commuteGeq" (formula "1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "mul_literals" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) - (rule "polySimp_elimOne" (formula "2") (term "1,1")) - (rule "pullOutSelect" (formula "3") (term "0") (inst "selectSK=arr_1:int")) - (rule "simplifySelectOfAnonEQ" (formula "3") (ifseqformula "24")) - (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "28")) (ifInst "" (formula "16"))) - (rule "applyEqReverse" (formula "4") (term "0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "1")) - (rule "mul_literals" (formula "18") (term "0,0")) - (rule "add_zero_left" (formula "18") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "8")) - (rule "polySimp_rightDist" (formula "2") (term "0,0")) - (rule "mul_literals" (formula "2") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0")) - (rule "polySimp_addComm1" (formula "2") (term "0,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0,0,0")) - (rule "add_literals" (formula "2") (term "0,0,0,0")) - (rule "add_zero_left" (formula "2") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "20") (ifseqformula "2")) - (rule "mul_literals" (formula "20") (term "0,0")) - (rule "add_zero_left" (formula "20") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "20")) - (rule "polySimp_mulLiterals" (formula "20") (term "0")) - (rule "polySimp_elimOne" (formula "20") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "20")) - (rule "mul_literals" (formula "19") (term "0,0")) - (rule "add_zero_left" (formula "19") (term "0")) - (rule "inEqSimp_subsumption6" (formula "19") (ifseqformula "18")) - (rule "greater_literals" (formula "19") (term "0,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "mul_literals" (formula "19") (term "1,0")) - (rule "leq_literals" (formula "19") (term "0")) - (builtin "One Step Simplification" (formula "19")) - (rule "true_left" (formula "19")) - (rule "allLeft" (formula "24") (inst "t=quotient_0:int")) - (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "24") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0")) - (rule "commute_or_2" (formula "24") (term "0,0")) - (rule "commute_or_2" (formula "24") (term "0")) - (rule "cut_direct" (formula "24") (term "1,0")) - (branch "CUT: a.length <= quotient_0 TRUE" - (builtin "One Step Simplification" (formula "25")) - (rule "true_left" (formula "25")) - (rule "inEqSimp_exactShadow3" (formula "22") (ifseqformula "24")) - (rule "mul_literals" (formula "22") (term "0,0")) - (rule "add_zero_left" (formula "22") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "23") (ifseqformula "24")) - (rule "polySimp_mulComm0" (formula "23") (term "0,0")) - (rule "polySimp_addComm0" (formula "23") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "23")) - (rule "polySimp_mulLiterals" (formula "23") (term "0")) - (rule "polySimp_elimOne" (formula "23") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "23")) - (rule "polySimp_rightDist" (formula "3") (term "0,0")) - (rule "mul_literals" (formula "3") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "13") (ifseqformula "24")) - (rule "polySimp_rightDist" (formula "13") (term "0,0")) - (rule "mul_literals" (formula "13") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "13") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "13")) - (rule "polySimp_mulLiterals" (formula "13") (term "0")) - (rule "polySimp_elimOne" (formula "13") (term "0")) - (rule "inEqSimp_subsumption0" (formula "12") (ifseqformula "13")) - (rule "inEqSimp_homoInEq0" (formula "12") (term "0")) - (rule "polySimp_mulComm0" (formula "12") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "12") (term "1,0,0")) - (rule "mul_literals" (formula "12") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "12") (term "0,0")) - (rule "polySimp_addComm0" (formula "12") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "12") (term "0,0")) - (rule "add_literals" (formula "12") (term "1,1,0,0")) - (rule "times_zero_1" (formula "12") (term "1,0,0")) - (rule "add_literals" (formula "12") (term "0,0")) - (rule "qeq_literals" (formula "12") (term "0")) - (builtin "One Step Simplification" (formula "12")) - (rule "true_left" (formula "12")) - (rule "inEqSimp_exactShadow3" (formula "9") (ifseqformula "24")) - (rule "polySimp_rightDist" (formula "9") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "9") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "9") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "9") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "9") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "9") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "9") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "9") (term "0,0")) - (rule "add_literals" (formula "9") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "9")) - (rule "polySimp_mulLiterals" (formula "9") (term "1")) - (rule "polySimp_elimOne" (formula "9") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "9") (ifseqformula "13")) - (rule "andLeft" (formula "9")) - (rule "inEqSimp_homoInEq1" (formula "9")) - (rule "polySimp_mulComm0" (formula "9") (term "1,0")) - (rule "polySimp_rightDist" (formula "9") (term "1,0")) - (rule "mul_literals" (formula "9") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "9") (term "0")) - (rule "polySimp_addComm0" (formula "9") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "9") (term "0")) - (rule "add_literals" (formula "9") (term "1,1,0")) - (rule "times_zero_1" (formula "9") (term "1,0")) - (rule "add_literals" (formula "9") (term "0")) - (rule "leq_literals" (formula "9")) - (rule "closeFalse" (formula "9")) - ) - (branch "CUT: a.length <= quotient_0 FALSE" - (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_leqRight" (formula "30")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "allLeft" (formula "6") (inst "t=idx_0:int")) - (rule "replaceKnownSelect_taclet010101000_2" (formula "6") (term "0,0,1")) - (rule "replaceKnownAuxiliaryConstant_taclet010101000_3" (formula "6") (term "0,0,1")) - (rule "replace_known_left" (formula "6") (term "0,1") (ifseqformula "5")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_commuteGeq" (formula "6") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "6") (term "1") (ifseqformula "4")) - (rule "inEqSimp_homoInEq1" (formula "6") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0,0,1")) - (rule "add_literals" (formula "6") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "6") (term "1,0,0,1")) - (rule "add_literals" (formula "6") (term "0,0,1")) - (rule "leq_literals" (formula "6") (term "0,1")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "21") (ifseqformula "6")) - (rule "mul_literals" (formula "21") (term "0,0")) - (rule "add_zero_left" (formula "21") (term "0")) - (rule "allLeft" (formula "26") (inst "t=idx_0:int")) - (rule "inEqSimp_commuteLeq" (formula "26") (term "1")) - (rule "applyEq" (formula "26") (term "1,1") (ifseqformula "5")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "0,0") (ifseqformula "21")) - (rule "qeq_literals" (formula "26") (term "0,0,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_contradInEq0" (formula "26") (term "1") (ifseqformula "8")) - (rule "inEqSimp_homoInEq1" (formula "26") (term "0,1")) - (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "26") (term "1,0,0,1")) - (rule "mul_literals" (formula "26") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "26") (term "0,0,1")) - (rule "polySimp_addComm0" (formula "26") (term "0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,1")) - (rule "add_literals" (formula "26") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "26") (term "1,0,0,1")) - (rule "add_literals" (formula "26") (term "0,0,1")) - (rule "leq_literals" (formula "26") (term "0,1")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_antiSymm" (formula "26") (ifseqformula "6")) - (rule "applyEq" (formula "21") (term "0") (ifseqformula "26")) - (rule "applyEq" (formula "26") (term "0") (ifseqformula "25")) - (rule "inEqSimp_homoInEq1" (formula "26")) - (rule "polySimp_pullOutFactor1" (formula "26") (term "0")) - (rule "add_literals" (formula "26") (term "1,0")) - (rule "times_zero_1" (formula "26") (term "0")) - (rule "leq_literals" (formula "26")) - (rule "true_left" (formula "26")) - (rule "applyEq" (formula "21") (term "0") (ifseqformula "25")) - (rule "inEqSimp_homoInEq0" (formula "21")) - (rule "polySimp_pullOutFactor0" (formula "21") (term "0")) - (rule "add_literals" (formula "21") (term "1,0")) - (rule "polySimp_elimOne" (formula "21") (term "0")) - (rule "applyEq" (formula "6") (term "0") (ifseqformula "24")) - (rule "inEqSimp_homoInEq0" (formula "6")) - (rule "polySimp_pullOutFactor1" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,0")) - (rule "times_zero_1" (formula "6") (term "0")) - (rule "qeq_literals" (formula "6")) - (rule "true_left" (formula "6")) - (rule "applyEq" (formula "5") (term "0,2,0") (ifseqformula "23")) - (rule "applyEq" (formula "2") (term "1") (ifseqformula "23")) - (rule "applyEq" (formula "3") (term "1,1") (ifseqformula "22")) - (rule "applyEq" (formula "2") (term "0,1,1") (ifseqformula "22")) - (rule "polySimp_pullOutFactor0" (formula "2") (term "1")) - (rule "add_literals" (formula "2") (term "1,1")) - (rule "polySimp_elimOne" (formula "2") (term "1")) - (rule "applyEq" (formula "5") (term "0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq0" (formula "5")) - (rule "polySimp_pullOutFactor1b" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,1,0")) - (rule "times_zero_1" (formula "5") (term "1,0")) - (rule "add_literals" (formula "5") (term "0")) - (rule "qeq_literals" (formula "5")) - (rule "closeFalse" (formula "5")) - ) - ) - (branch - (rule "allRight" (formula "25") (inst "sk=f_0:Field")) - (rule "allRight" (formula "25") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "25")) - (rule "pullOutSelect" (formula "26") (term "0") (inst "selectSK=f_0_0:any")) - (rule "simplifySelectOfAnonEQ" (formula "1") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "26"))) - (rule "applyEqReverse" (formula "27") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "27")) - (rule "closeTrue" (formula "27")) - ) - ) - ) - (branch "Exceptional Post (binSearchR)" - (builtin "One Step Simplification" (formula "23")) - (builtin "One Step Simplification" (formula "20")) - (rule "andLeft" (formula "20")) - (rule "andLeft" (formula "21")) - (rule "andLeft" (formula "22")) - (rule "andLeft" (formula "21")) - (rule "andLeft" (formula "23")) - (rule "notLeft" (formula "21")) - (rule "close" (formula "25") (ifseqformula "24")) - ) - (branch "Pre (binSearchR)" - (builtin "One Step Simplification" (formula "21") (ifInst "" (formula "18")) (ifInst "" (formula "20")) (ifInst "" (formula "8")) (ifInst "" (formula "20")) (ifInst "" (formula "11"))) - (rule "polySimp_elimSub" (formula "21") (term "0,1")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,1")) - (rule "polySimp_rightDist" (formula "21") (term "1,0,1")) - (rule "mul_literals" (formula "21") (term "0,1,0,1")) - (rule "polySimp_addComm0" (formula "21") (term "0,1")) - (rule "measuredByCheck" (formula "21") (term "1") (ifseqformula "12")) - (rule "precOfInt" (formula "21") (term "1")) - (rule "inEqSimp_ltToLeq" (formula "21") (term "1,0,0,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1,0,0,0,0,1,0")) - (rule "polySimp_addComm1" (formula "21") (term "0,1,0,0,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "21") (term "1,0,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,1,0,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "21") (term "1,1")) - (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1,1")) - (rule "polySimp_mulAssoc" (formula "21") (term "0,1,0,0,1,1")) - (rule "polySimp_mulComm0" (formula "21") (term "0,0,1,0,0,1,1")) - (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "21") (term "0,1,0,0,1,1")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,1,1")) - (rule "polySimp_addAssoc" (formula "21") (term "0,1,1")) - (rule "polySimp_addComm1" (formula "21") (term "0,0,1,1")) - (rule "polySimp_pullOutFactor2b" (formula "21") (term "0,1,1")) - (rule "add_literals" (formula "21") (term "1,1,0,1,1")) - (rule "times_zero_1" (formula "21") (term "1,0,1,1")) - (rule "add_zero_right" (formula "21") (term "0,1,1")) - (rule "polySimp_addComm1" (formula "21") (term "0,1,1")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,1,1")) - (rule "add_literals" (formula "21") (term "0,0,0,1,1")) - (rule "add_zero_left" (formula "21") (term "0,0,1,1")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "1,0,0")) - (rule "replace_known_left" (formula "21") (term "1,0,0") (ifseqformula "16")) - (builtin "One Step Simplification" (formula "21")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "0,0,0,0,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "1,0,0,1,0")) - (rule "inEqSimp_homoInEq0" (formula "21") (term "0,0,0")) - (rule "mul_literals" (formula "21") (term "1,0,0,0,0")) - (rule "add_zero_right" (formula "21") (term "0,0,0,0")) - (rule "inEqSimp_homoInEq0" (formula "21") (term "0,1")) - (rule "mul_literals" (formula "21") (term "1,0,0,1")) - (rule "add_zero_right" (formula "21") (term "0,0,1")) - (rule "inEqSimp_sepNegMonomial0" (formula "21") (term "1,0,0,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0,0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "21") (term "0,1,0,0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1,0,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,1,0,0,0,1,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,1,0,0,0,1,0")) - (rule "mul_literals" (formula "21") (term "0,1,1,0,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1,0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,1,0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1,1")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,1")) - (rule "replace_known_left" (formula "21") (term "1,1") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "21")) - (rule "inEqSimp_sepPosMonomial1" (formula "21") (term "0,0,0")) - (rule "mul_literals" (formula "21") (term "1,0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "21") (term "1")) - (rule "polySimp_mulComm0" (formula "21") (term "1,1")) - (rule "polySimp_rightDist" (formula "21") (term "1,1")) - (rule "mul_literals" (formula "21") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,1")) - (rule "inEqSimp_subsumption1" (formula "21") (term "0,0,0") (ifseqformula "13")) - (rule "leq_literals" (formula "21") (term "0,0,0,0")) - (builtin "One Step Simplification" (formula "21")) - (rule "nnf_imp2or" (formula "21") (term "0,0,1,0")) - (rule "nnf_notAnd" (formula "21") (term "0,0,0,1,0")) - (rule "inEqSimp_notLeq" (formula "21") (term "1,0,0,0,1,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1,0,0,0,1,0")) - (rule "mul_literals" (formula "21") (term "0,1,0,0,1,0,0,0,1,0")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,1,0,0,0,1,0")) - (rule "add_literals" (formula "21") (term "0,0,0,1,0,0,0,1,0")) - (rule "add_zero_left" (formula "21") (term "0,0,1,0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "21") (term "1,0,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,0,0,0,1,0")) - (rule "nnf_notAnd" (formula "21") (term "0,0,0,0,1,0")) - (rule "inEqSimp_notGeq" (formula "21") (term "0,0,0,0,0,1,0")) - (rule "mul_literals" (formula "21") (term "1,0,0,0,0,0,0,0,1,0")) - (rule "add_literals" (formula "21") (term "0,0,0,0,0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "0,0,0,0,0,1,0")) - (rule "mul_literals" (formula "21") (term "1,0,0,0,0,0,1,0")) - (rule "inEqSimp_notGeq" (formula "21") (term "1,0,0,0,0,1,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1,0,0,0,0,1,0")) - (rule "mul_literals" (formula "21") (term "0,1,0,0,1,0,0,0,0,1,0")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,1,0,0,0,0,1,0")) - (rule "add_literals" (formula "21") (term "0,0,0,1,0,0,0,0,1,0")) - (rule "add_zero_left" (formula "21") (term "0,0,1,0,0,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1,0,0,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,0,0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "21") (term "1,1,0,0,0,0,1,0")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "18") (ifseqformula "10")) - (rule "true_left" (formula "18")) - (rule "cut_direct" (formula "20") (term "0,0")) - (branch "CUT: up >= 1 + quotient_0 TRUE" - (builtin "One Step Simplification" (formula "21") (ifInst "" (formula "1"))) - (rule "allRight" (formula "21") (inst "sk=y_0:int")) - (rule "allRight" (formula "21") (inst "sk=x_0:int")) - (rule "orRight" (formula "21")) - (rule "orRight" (formula "21")) - (rule "orRight" (formula "21")) - (rule "inEqSimp_geqRight" (formula "24")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_geqRight" (formula "24")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0")) - (rule "inEqSimp_leqRight" (formula "23")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_literals" (formula "1") (term "0,0")) - (rule "add_zero_left" (formula "1") (term "0")) - (rule "inEqSimp_leqRight" (formula "24")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "mul_literals" (formula "4") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,1")) - (rule "polySimp_elimOne" (formula "4") (term "1,1")) - (rule "inEqSimp_sepNegMonomial0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_exactShadow3" (formula "5") (ifseqformula "9")) - (rule "polySimp_rightDist" (formula "5") (term "0,0")) - (rule "mul_literals" (formula "5") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0")) - (rule "polySimp_addAssoc" (formula "5") (term "0,0")) - (rule "polySimp_addComm1" (formula "5") (term "0,0,0")) - (rule "add_literals" (formula "5") (term "0,0,0,0")) - (rule "add_zero_left" (formula "5") (term "0,0,0")) - (rule "polySimp_pullOutFactor0" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "5") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "5")) - (rule "polySimp_mulLiterals" (formula "5") (term "0")) - (rule "polySimp_elimOne" (formula "5") (term "0")) - (rule "allLeft" (formula "22") (inst "t=y_0:int")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "22") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1,0,0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "0,1,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,1,0,0,0")) - (rule "add_literals" (formula "22") (term "1,1,0,0,1,0,0,0")) - (rule "times_zero_1" (formula "22") (term "1,0,0,1,0,0,0")) - (rule "add_literals" (formula "22") (term "0,0,1,0,0,0")) - (rule "leq_literals" (formula "22") (term "0,1,0,0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "allLeft" (formula "22") (inst "t=x_0:int")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0")) - (rule "inEqSimp_commuteLeq" (formula "22") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "0,0") (ifseqformula "2")) - (rule "qeq_literals" (formula "22") (term "0,0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "0") (ifseqformula "1")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,0")) - (rule "add_literals" (formula "22") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "22") (term "1,0,0,0")) - (rule "add_literals" (formula "22") (term "0,0,0")) - (rule "leq_literals" (formula "22") (term "0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_contradInEq0" (formula "22") (ifseqformula "4")) - (rule "andLeft" (formula "22")) - (rule "inEqSimp_homoInEq1" (formula "22")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0")) - (rule "polySimp_rightDist" (formula "22") (term "1,0")) - (rule "mul_literals" (formula "22") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "22") (term "0")) - (rule "polySimp_addComm0" (formula "22") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0")) - (rule "add_literals" (formula "22") (term "1,1,0")) - (rule "times_zero_1" (formula "22") (term "1,0")) - (rule "add_literals" (formula "22") (term "0")) - (rule "leq_literals" (formula "22")) - (rule "closeFalse" (formula "22")) - ) - (branch "CUT: up >= 1 + quotient_0 FALSE" - (builtin "One Step Simplification" (formula "21") (ifInst "" (formula "20"))) - (rule "false_right" (formula "21")) - (rule "inEqSimp_geqRight" (formula "20")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) - (rule "inEqSimp_subsumption0" (formula "7") (ifseqformula "8")) - (rule "inEqSimp_homoInEq0" (formula "7") (term "0")) - (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "7") (term "1,0,0")) - (rule "mul_literals" (formula "7") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "7") (term "0,0")) - (rule "polySimp_addComm0" (formula "7") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "7") (term "0,0")) - (rule "add_literals" (formula "7") (term "1,1,0,0")) - (rule "times_zero_1" (formula "7") (term "1,0,0")) - (rule "add_literals" (formula "7") (term "0,0")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "4") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "4") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "4") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "4") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "4")) - (rule "polySimp_mulLiterals" (formula "4") (term "1")) - (rule "polySimp_elimOne" (formula "4") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "8")) - (rule "andLeft" (formula "4")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1,0")) - (rule "polySimp_rightDist" (formula "4") (term "1,0")) - (rule "mul_literals" (formula "4") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "4") (term "0")) - (rule "polySimp_addComm0" (formula "4") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) - (rule "add_literals" (formula "4") (term "1,1,0")) - (rule "times_zero_1" (formula "4") (term "1,0")) - (rule "add_literals" (formula "4") (term "0")) - (rule "leq_literals" (formula "4")) - (rule "closeFalse" (formula "4")) - ) - ) - ) - ) - (branch "Null Reference (_a = null)" - (builtin "One Step Simplification" (formula "17")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "16"))) - (rule "close" (formula "17") (ifseqformula "1")) - ) - (branch "Index Out of Bounds (_a != null, but mid Out of Bounds!)" - (builtin "One Step Simplification" (formula "17")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "16"))) - (rule "false_right" (formula "17")) - (rule "inEqSimp_ltToLeq" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "1,0,0,1")) - (rule "add_literals" (formula "1") (term "0,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "1,1")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "13") (ifseqformula "6")) - (rule "true_left" (formula "13")) - (rule "commute_or" (formula "1")) - (rule "div_axiom" (formula "2") (term "1,1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "2") (term "0")) - (builtin "One Step Simplification" (formula "2")) - (rule "qeq_literals" (formula "2") (term "0,1")) - (builtin "One Step Simplification" (formula "2")) - (rule "mul_literals" (formula "2") (term "1,1,1")) - (rule "andLeft" (formula "2")) - (rule "andLeft" (formula "2")) - (rule "polySimp_addAssoc" (formula "4") (term "0,1")) - (rule "polySimp_addComm1" (formula "4") (term "1")) - (rule "polySimp_addComm1" (formula "4") (term "0,1")) - (rule "add_literals" (formula "4") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_addComm1" (formula "4") (term "0,0")) - (rule "applyEq" (formula "16") (term "0,2,0") (ifseqformula "2")) - (rule "applyEq" (formula "1") (term "0,0") (ifseqformula "2")) - (rule "applyEq" (formula "1") (term "1,1") (ifseqformula "2")) - (rule "applyEq" (formula "5") (term "1,1") (ifseqformula "2")) - (rule "polySimp_addComm0" (formula "5") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_mulComm0" (formula "3") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "0,1")) - (rule "mul_literals" (formula "4") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,1")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "4")) - (rule "polySimp_rightDist" (formula "6") (term "0,0")) - (rule "mul_literals" (formula "6") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0")) - (rule "polySimp_addComm1" (formula "6") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "0,0,0")) - (rule "add_zero_left" (formula "6") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "0")) - (rule "elimGcdLeq_antec" (formula "6") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "6") (term "0,0")) - (builtin "One Step Simplification" (formula "6")) - (rule "neg_literal" (formula "6") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_zero_right" (formula "6") (term "0,0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "13") (ifseqformula "6")) - (rule "mul_literals" (formula "13") (term "0,0")) - (rule "add_zero_left" (formula "13") (term "0")) - (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "13")) - (rule "qeq_literals" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_exactShadow3" (formula "15") (ifseqformula "1")) - (rule "mul_literals" (formula "15") (term "0,0")) - (rule "add_zero_left" (formula "15") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "16") (term "0,0")) - (rule "polySimp_addComm0" (formula "16") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "16")) - (rule "polySimp_mulLiterals" (formula "16") (term "0")) - (rule "polySimp_elimOne" (formula "16") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "16")) - (rule "polySimp_rightDist" (formula "7") (term "0,0")) - (rule "mul_literals" (formula "7") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "7") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "7")) - (rule "polySimp_mulLiterals" (formula "7") (term "0")) - (rule "polySimp_elimOne" (formula "7") (term "0")) - (rule "inEqSimp_subsumption0" (formula "6") (ifseqformula "7")) - (rule "inEqSimp_homoInEq0" (formula "6") (term "0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "6") (term "1,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "polySimp_addComm0" (formula "6") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "true_left" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "16")) - (rule "polySimp_rightDist" (formula "3") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "3") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1")) - (rule "polySimp_elimOne" (formula "3") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "7")) - (rule "andLeft" (formula "3")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,0")) - (rule "mul_literals" (formula "3") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) - (rule "add_literals" (formula "3") (term "1,1,0")) - (rule "times_zero_1" (formula "3") (term "1,0")) - (rule "add_literals" (formula "3") (term "0")) - (rule "leq_literals" (formula "3")) - (rule "closeFalse" (formula "3")) - ) - ) - ) - (branch "Null Reference (_a = null)" - (builtin "One Step Simplification" (formula "15")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "14"))) - (rule "close" (formula "15") (ifseqformula "1")) - ) - (branch "Index Out of Bounds (_a != null, but mid Out of Bounds!)" - (builtin "One Step Simplification" (formula "15")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "14"))) - (rule "false_right" (formula "15")) - (rule "inEqSimp_ltToLeq" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "1,0,0,1")) - (rule "add_literals" (formula "1") (term "0,0,1")) - (rule "polySimp_addAssoc" (formula "1") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1,1")) - (rule "polySimp_rightDist" (formula "1") (term "1,1")) - (rule "mul_literals" (formula "1") (term "0,1,1")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "12") (ifseqformula "5")) - (rule "true_left" (formula "12")) - (rule "commute_or" (formula "1")) - (rule "jdiv_axiom" (formula "1") (term "0,0")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,2,0")) - (rule "polySimp_rightDist" (formula "1") (term "0,0,2,0")) - (rule "polySimp_mulAssoc" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,0,0,2,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,0,2,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "eqSymm" (formula "1")) - (rule "applyEq" (formula "2") (term "0,0") (ifseqformula "1")) - (rule "applyEq" (formula "2") (term "1,1,1") (ifseqformula "1")) - (rule "polyDiv_pullOut" (formula "2") (term "0,0") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "2") (term "0,0,0")) - (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0,1,0,0")) - (rule "polySimp_pullOutFactor0" (formula "2") (term "0,0,1,0,0")) - (rule "add_literals" (formula "2") (term "1,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,0,1,0,0")) - (rule "inEqSimp_homoInEq0" (formula "2") (term "0")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "2") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "2") (term "0,1,0,0")) - (rule "polySimp_mulComm0" (formula "2") (term "0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1,0,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0,0")) - (rule "polySimp_pullOutFactor2b" (formula "2") (term "0,0,0")) - (rule "add_literals" (formula "2") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "2") (term "1,0,0,0")) - (rule "add_literals" (formula "2") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "2") (term "0")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,0")) - (rule "polyDiv_pullOut" (formula "1") (term "1") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_addComm0" (formula "1") (term "1")) - (rule "polySimp_addComm1" (formula "1") (term "0,1,1")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0,1,1")) - (rule "add_literals" (formula "1") (term "1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,1,1")) - (rule "polyDiv_pullOut" (formula "2") (term "1,1,1") (inst "polyDivCoeff=mul(low, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "2") (term "0,1,1,1")) - (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,1,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,1,1")) - (rule "polySimp_addComm0" (formula "2") (term "1,1,1")) - (rule "polySimp_addComm1" (formula "2") (term "0,1,1,1,1")) - (rule "polySimp_pullOutFactor0" (formula "2") (term "0,0,1,1,1,1")) - (rule "add_literals" (formula "2") (term "1,0,0,1,1,1,1")) - (rule "polySimp_elimOne" (formula "2") (term "0,0,1,1,1,1")) - (rule "polySimp_addAssoc" (formula "2") (term "1,1")) - (rule "polySimp_pullOutFactor1" (formula "2") (term "0,1,1")) - (rule "add_literals" (formula "2") (term "1,0,1,1")) - (rule "times_zero_1" (formula "2") (term "0,1,1")) - (rule "add_zero_left" (formula "2") (term "1,1")) - (rule "div_axiom" (formula "1") (term "1,1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "qeq_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "mul_literals" (formula "1") (term "1,1,1")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "polySimp_addAssoc" (formula "3") (term "0,1")) - (rule "polySimp_addComm1" (formula "3") (term "1")) - (rule "polySimp_addComm1" (formula "3") (term "0,1")) - (rule "add_literals" (formula "3") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "applyEq" (formula "5") (term "0,0") (ifseqformula "1")) - (rule "applyEq" (formula "5") (term "1,1") (ifseqformula "1")) - (rule "applyEq" (formula "4") (term "1,1") (ifseqformula "1")) - (rule "polySimp_addComm0" (formula "4") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "polySimp_mulComm0" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "0,1")) - (rule "mul_literals" (formula "3") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,1")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "3")) - (rule "polySimp_rightDist" (formula "6") (term "0,0")) - (rule "mul_literals" (formula "6") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0")) - (rule "polySimp_addComm1" (formula "6") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "0,0,0")) - (rule "add_zero_left" (formula "6") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "0")) - (rule "elimGcdLeq_antec" (formula "6") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "6") (term "0,0")) - (builtin "One Step Simplification" (formula "6")) - (rule "neg_literal" (formula "6") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_zero_right" (formula "6") (term "0,0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "13") (ifseqformula "6")) - (rule "mul_literals" (formula "13") (term "0,0")) - (rule "add_zero_left" (formula "13") (term "0")) - (rule "inEqSimp_contradInEq1" (formula "5") (term "0") (ifseqformula "13")) - (rule "qeq_literals" (formula "5") (term "0,0")) - (builtin "One Step Simplification" (formula "5")) - (rule "inEqSimp_exactShadow3" (formula "15") (ifseqformula "5")) - (rule "mul_literals" (formula "15") (term "0,0")) - (rule "add_zero_left" (formula "15") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "5")) - (rule "polySimp_mulComm0" (formula "16") (term "0,0")) - (rule "polySimp_addComm0" (formula "16") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "16")) - (rule "polySimp_mulLiterals" (formula "16") (term "0")) - (rule "polySimp_elimOne" (formula "16") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "16")) - (rule "polySimp_rightDist" (formula "7") (term "0,0")) - (rule "mul_literals" (formula "7") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "7") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "7")) - (rule "polySimp_mulLiterals" (formula "7") (term "0")) - (rule "polySimp_elimOne" (formula "7") (term "0")) - (rule "inEqSimp_subsumption0" (formula "6") (ifseqformula "7")) - (rule "inEqSimp_homoInEq0" (formula "6") (term "0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "6") (term "1,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "polySimp_addComm0" (formula "6") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "true_left" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "16")) - (rule "polySimp_rightDist" (formula "2") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "2") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "2") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "2") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "2") (term "0,0")) - (rule "add_literals" (formula "2") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1")) - (rule "polySimp_elimOne" (formula "2") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "7")) - (rule "andLeft" (formula "2")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0")) - (rule "polySimp_rightDist" (formula "2") (term "1,0")) - (rule "mul_literals" (formula "2") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "2") (term "0")) - (rule "add_literals" (formula "2") (term "1,1,0")) - (rule "times_zero_1" (formula "2") (term "1,0")) - (rule "add_literals" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) - ) - ) - (branch - (builtin "One Step Simplification" (formula "14")) - (rule "equal_literals" (formula "14") (term "0")) - (builtin "One Step Simplification" (formula "14")) - (rule "closeTrue" (formula "14")) - ) -) -(branch "if b false" - (builtin "One Step Simplification" (formula "15")) - (builtin "One Step Simplification" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "inEqSimp_geqRight" (formula "12")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_antiSymm" (formula "8") (ifseqformula "1")) - (rule "applyEq" (formula "9") (term "0") (ifseqformula "8")) - (rule "inEqSimp_homoInEq1" (formula "9")) - (rule "polySimp_pullOutFactor1" (formula "9") (term "0")) - (rule "add_literals" (formula "9") (term "1,0")) - (rule "times_zero_1" (formula "9") (term "0")) - (rule "leq_literals" (formula "9")) - (rule "true_left" (formula "9")) - (rule "applyEq" (formula "1") (term "0") (ifseqformula "8")) - (rule "inEqSimp_homoInEq0" (formula "1")) - (rule "polySimp_pullOutFactor1" (formula "1") (term "0")) - (rule "add_literals" (formula "1") (term "1,0")) - (rule "times_zero_1" (formula "1") (term "0")) - (rule "qeq_literals" (formula "1")) - (rule "true_left" (formula "1")) - (rule "applyEq" (formula "5") (term "1,0") (ifseqformula "7")) - (rule "polySimp_pullOutFactor2" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,0")) - (rule "times_zero_1" (formula "5") (term "0")) - (rule "applyEq" (formula "9") (term "1") (ifseqformula "7")) - (rule "methodCallReturn" (formula "14") (term "1")) - (rule "assignment" (formula "14") (term "1")) - (builtin "One Step Simplification" (formula "14")) - (rule "methodCallEmpty" (formula "14") (term "1")) - (rule "tryEmpty" (formula "14") (term "1")) - (rule "emptyModality" (formula "14") (term "1")) - (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "11"))) - (rule "inEqSimp_commuteGeq" (formula "14") (term "0,1")) - (rule "applyEq" (formula "14") (term "1,1,1,0,0,0") (ifseqformula "7")) - (rule "inEqSimp_contradInEq1" (formula "14") (term "0,1") (ifseqformula "6")) - (rule "qeq_literals" (formula "14") (term "0,0,1")) - (builtin "One Step Simplification" (formula "14")) - (rule "notRight" (formula "14")) - (rule "exLeft" (formula "1") (inst "sk=idx_0:int")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "inEqSimp_commuteGeq" (formula "1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "mul_literals" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) - (rule "polySimp_elimOne" (formula "2") (term "1,1")) - (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "1")) - (rule "andLeft" (formula "2")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "polySimp_pullOutFactor1b" (formula "2") (term "0")) - (rule "add_literals" (formula "2") (term "1,1,0")) - (rule "times_zero_1" (formula "2") (term "1,0")) - (rule "add_literals" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) -) -) -} diff --git a/key.ui/examples/heap/FM2024Tutorial/BinarySearch/BinSearch_binSearch_exc.key.proof b/key.ui/examples/heap/FM2024Tutorial/BinarySearch/BinSearch_binSearch_exc.key.proof deleted file mode 100644 index a689f280d51..00000000000 --- a/key.ui/examples/heap/FM2024Tutorial/BinarySearch/BinSearch_binSearch_exc.key.proof +++ /dev/null @@ -1,2111 +0,0 @@ -\profile "Java Profile"; - -\settings { - "Choice" : { - "JavaCard" : "JavaCard:off", - "Strings" : "Strings:on", - "assertions" : "assertions:safe", - "bigint" : "bigint:on", - "finalFields" : "finalFields:immutable", - "floatRules" : "floatRules:strictfpOnly", - "initialisation" : "initialisation:disableStaticInitialisation", - "intRules" : "intRules:arithmeticSemanticsIgnoringOF", - "integerSimplificationRules" : "integerSimplificationRules:full", - "javaLoopTreatment" : "javaLoopTreatment:efficient", - "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", - "methodExpansion" : "methodExpansion:modularOnly", - "modelFields" : "modelFields:treatAsAxiom", - "moreSeqRules" : "moreSeqRules:off", - "permissions" : "permissions:off", - "programRules" : "programRules:Java", - "reach" : "reach:on", - "runtimeExceptions" : "runtimeExceptions:ban", - "sequences" : "sequences:on", - "soundDefaultContracts" : "soundDefaultContracts:on", - "wdChecks" : "wdChecks:off", - "wdOperator" : "wdOperator:L" - }, - "Labels" : { - "UseOriginLabels" : true - }, - "NewSMT" : { - "Axiomatisations" : "false", - "Presburger" : "false", - "sqrtSMTTranslation" : "SMT" - }, - "SMTSettings" : { - "SelectedTaclets" : [ - - ], - "UseBuiltUniqueness" : false, - "explicitTypeHierarchy" : false, - "instantiateHierarchyAssumptions" : true, - "integersMaximum" : 2147483645, - "integersMinimum" : -2147483645, - "invariantForall" : false, - "maxGenericSorts" : 2, - "useConstantsForBigOrSmallIntegers" : true, - "useUninterpretedMultiplication" : true - }, - "Strategy" : { - "ActiveStrategy" : "Modular JavaDL Strategy", - "MaximumNumberOfAutomaticApplications" : 10000, - "Timeout" : -1, - "options" : { - "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", - "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", - "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", - "DEP_OPTIONS_KEY" : "DEP_ON", - "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", - "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", - "MPS_OPTIONS_KEY" : "MPS_MERGE", - "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_DEF_OPS", - "OSS_OPTIONS_KEY" : "OSS_ON", - "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", - "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_OFF", - "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", - "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", - "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", - "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", - "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", - "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", - "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", - "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", - "VBT_PHASE" : "VBT_SYM_EX" - } - } -} - - -\bootclasspath "../../../../../key.core/build/resources/main/de/uka/ilkd/key/java/JavaRedux"; -\javaSource "src"; - -\proofObligation -// -{ - "class" : "de.uka.ilkd.key.proof.init.FunctionalOperationContractPO", - "contract" : "BinSearch[BinSearch::binSearch([I,int)].JML exceptional_behavior operation contract.0", - "name" : "BinSearch[BinSearch::binSearch([I,int)].JML exceptional_behavior operation contract.0" -} - -\proof { -(keyLog "0" (keyUser "daniel" ) (keyVersion "ba42c20cd404dc00d6aaa5695542be46eee5b0b6")) - -(autoModeTime "1257") - -(branch "dummy ID" - (builtin "One Step Simplification" (formula "1")) -(rule "impRight" (formula "1")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "3")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "5")) -(rule "notLeft" (formula "4")) -(rule "andLeft" (formula "1")) -(rule "notLeft" (formula "6")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "1")) -(rule "notLeft" (formula "2")) -(rule "eqSymm" (formula "10") (term "1,0,0,1,0,1")) -(rule "replace_known_right" (formula "4") (term "0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "4")) -(rule "inEqSimp_ltToLeq" (formula "9") (term "1,0,0")) -(rule "polySimp_mulComm0" (formula "9") (term "1,0,0,1,0,0")) -(rule "inEqSimp_commuteLeq" (formula "9") (term "0,0,0")) -(rule "assignment" (formula "10") (term "1")) - (builtin "One Step Simplification" (formula "10")) -(rule "inEqSimp_sepPosMonomial0" (formula "9") (term "1,0,0")) -(rule "polySimp_mulComm0" (formula "9") (term "1,1,0,0")) -(rule "polySimp_rightDist" (formula "9") (term "1,1,0,0")) -(rule "mul_literals" (formula "9") (term "0,1,1,0,0")) -(rule "polySimp_mulLiterals" (formula "9") (term "1,1,1,0,0")) -(rule "polySimp_elimOne" (formula "9") (term "1,1,1,0,0")) -(rule "nnf_ex2all" (formula "9")) -(rule "nnf_notAnd" (formula "1") (term "0")) -(rule "nnf_notAnd" (formula "1") (term "0,0")) -(rule "inEqSimp_notGeq" (formula "1") (term "0,0,0")) -(rule "mul_literals" (formula "1") (term "1,0,0,0,0,0")) -(rule "add_literals" (formula "1") (term "0,0,0,0,0")) -(rule "inEqSimp_sepPosMonomial0" (formula "1") (term "0,0,0")) -(rule "mul_literals" (formula "1") (term "1,0,0,0")) -(rule "inEqSimp_notLeq" (formula "1") (term "1,0,0")) -(rule "polySimp_rightDist" (formula "1") (term "1,0,0,1,0,0")) -(rule "mul_literals" (formula "1") (term "0,1,0,0,1,0,0")) -(rule "polySimp_addAssoc" (formula "1") (term "0,0,1,0,0")) -(rule "add_literals" (formula "1") (term "0,0,0,1,0,0")) -(rule "add_zero_left" (formula "1") (term "0,0,1,0,0")) -(rule "inEqSimp_sepPosMonomial1" (formula "1") (term "1,0,0")) -(rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0")) -(rule "polySimp_elimOne" (formula "1") (term "1,1,0,0")) -(rule "methodBodyExpand" (formula "10") (term "1") (newnames "heapBefore_binSearch,savedHeapBefore_binSearch,_aBefore_binSearch,_vBefore_binSearch")) - (builtin "One Step Simplification" (formula "10")) -(rule "variableDeclarationAssign" (formula "10") (term "1")) -(rule "variableDeclaration" (formula "10") (term "1") (newnames "low")) -(rule "assignment" (formula "10") (term "1")) - (builtin "One Step Simplification" (formula "10")) -(rule "variableDeclarationAssign" (formula "10") (term "1")) -(rule "variableDeclaration" (formula "10") (term "1") (newnames "up")) -(rule "assignment_read_length" (formula "10")) -(branch "Normal Execution (_a != null)" - (builtin "One Step Simplification" (formula "10")) - (builtin "Loop Invariant" (formula "10") (newnames "variant,b,heapBefore_LOOP,lowBefore_LOOP,upBefore_LOOP,low_0,up_0,heap_After_LOOP,anon_heap_LOOP,o,f")) - (branch "Invariant Initially Valid" - (builtin "One Step Simplification" (formula "10") (ifInst "" (formula "2"))) - (rule "leq_literals" (formula "10") (term "0,0,0,0")) - (builtin "One Step Simplification" (formula "10")) - (rule "inEqSimp_ltToLeq" (formula "10") (term "1,0,0,1,0")) - (rule "mul_literals" (formula "10") (term "1,0,0,1,0,0,1,0")) - (rule "add_literals" (formula "10") (term "0,0,1,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "10") (term "1,0,0,1")) - (rule "polySimp_mulComm0" (formula "10") (term "1,0,0,1,0,0,1")) - (rule "inEqSimp_commuteLeq" (formula "10") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "10") (term "0,0,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "10") (term "0,0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "10") (term "1,0,0")) - (rule "polySimp_pullOutFactor1" (formula "10") (term "0,1,0,0")) - (rule "add_literals" (formula "10") (term "1,0,1,0,0")) - (rule "times_zero_1" (formula "10") (term "0,1,0,0")) - (rule "qeq_literals" (formula "10") (term "1,0,0")) - (builtin "One Step Simplification" (formula "10")) - (rule "inEqSimp_sepPosMonomial0" (formula "10") (term "1,0,0,1,0")) - (rule "mul_literals" (formula "10") (term "1,1,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "10") (term "1,0,0,1")) - (rule "polySimp_mulComm0" (formula "10") (term "1,1,0,0,1")) - (rule "polySimp_rightDist" (formula "10") (term "1,1,0,0,1")) - (rule "mul_literals" (formula "10") (term "0,1,1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "10") (term "1,1,1,0,0,1")) - (rule "polySimp_elimOne" (formula "10") (term "1,1,1,0,0,1")) - (rule "nnf_imp2or" (formula "10") (term "0,1")) - (rule "nnf_imp2or" (formula "10") (term "0,1,0")) - (rule "nnf_notAnd" (formula "10") (term "0,0,1")) - (rule "inEqSimp_notGeq" (formula "10") (term "0,0,0,1")) - (rule "polySimp_mulComm0" (formula "10") (term "1,0,0,0,0,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "10") (term "0,0,0,1")) - (rule "polySimp_mulComm0" (formula "10") (term "1,0,0,0,1")) - (rule "polySimp_rightDist" (formula "10") (term "1,0,0,0,1")) - (rule "mul_literals" (formula "10") (term "0,1,0,0,0,1")) - (rule "polySimp_mulLiterals" (formula "10") (term "1,1,0,0,0,1")) - (rule "polySimp_elimOne" (formula "10") (term "1,1,0,0,0,1")) - (builtin "One Step Simplification" (formula "10")) - (rule "nnf_notAnd" (formula "10") (term "0,0,1")) - (rule "inEqSimp_notGeq" (formula "10") (term "0,0,0,1")) - (rule "mul_literals" (formula "10") (term "1,0,0,0,0,0,1")) - (rule "add_literals" (formula "10") (term "0,0,0,0,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "10") (term "0,0,0,1")) - (rule "mul_literals" (formula "10") (term "1,0,0,0,1")) - (builtin "One Step Simplification" (formula "10")) - (rule "inEqSimp_geqRight" (formula "10")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_literals" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "mul_literals" (formula "1") (term "1")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "8") (ifseqformula "5")) - (rule "true_left" (formula "8")) - (rule "arrayLengthIsAnInt" (formula "2") (term "1,1,0,0")) - (builtin "One Step Simplification" (formula "2")) - (rule "true_left" (formula "2")) - (rule "arrayLengthNotNegative" (formula "2") (term "1,1,0,0")) - (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "1")) - (rule "qeq_literals" (formula "2") (term "0")) - (builtin "One Step Simplification" (formula "2")) - (rule "closeFalse" (formula "2")) - ) - (branch "Body Preserves Invariant" - (builtin "One Step Simplification" (formula "12")) - (builtin "One Step Simplification" (formula "9")) - (rule "impRight" (formula "12")) - (rule "andLeft" (formula "10")) - (rule "andLeft" (formula "10")) - (rule "andLeft" (formula "10")) - (rule "andLeft" (formula "10")) - (rule "eqSymm" (formula "17") (term "1,0,0,1,0,1,1,1,0,1")) - (rule "polySimp_elimSub" (formula "17") (term "0,1,1,1,0")) - (rule "polySimp_elimSub" (formula "17") (term "0,1,1,1,1,0,1")) - (rule "polySimp_addComm0" (formula "17") (term "0,1,1,1,0")) - (rule "polySimp_addComm0" (formula "17") (term "0,1,1,1,1,0,1")) - (rule "inEqSimp_ltToLeq" (formula "17") (term "1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "17") (term "1,0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_ltToLeq" (formula "17") (term "1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "17") (term "1,0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_ltToLeq" (formula "14") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "14") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "13") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "13") (term "1,0,0,1,0,0")) - (rule "inEqSimp_commuteLeq" (formula "17") (term "0,0,0,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_commuteLeq" (formula "17") (term "1,0,0,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_commuteLeq" (formula "17") (term "1,0,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_commuteLeq" (formula "17") (term "0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_commuteLeq" (formula "17") (term "0,0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_commuteLeq" (formula "14") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "13") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "12")) - (rule "inEqSimp_commuteLeq" (formula "10")) - (rule "inEqSimp_commuteLeq" (formula "11")) - (rule "variableDeclarationAssign" (formula "1") (term "1")) - (rule "variableDeclarationAssign" (formula "17") (term "1")) - (rule "variableDeclaration" (formula "1") (term "1") (newnames "b_1")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "rtrn")) - (rule "assignment" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "returnExpr")) - (rule "variableDeclarationAssign" (formula "17") (term "1")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "exc_1")) - (rule "assignment" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "thrownExc")) - (rule "blockThrow" (formula "17") (term "1,0,0,1")) - (rule "blockReturn" (formula "17") (term "1,0,1,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "14") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "14") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "14") (term "1,1,0,0")) - (rule "mul_literals" (formula "14") (term "0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "14") (term "1,1,1,0,0")) - (rule "polySimp_elimOne" (formula "14") (term "1,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "13") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "13") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "13") (term "1,1,0,0")) - (rule "mul_literals" (formula "13") (term "0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,1,1,0,0")) - (rule "polySimp_elimOne" (formula "13") (term "1,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "17") (term "1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "17") (term "1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_rightDist" (formula "17") (term "1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "17") (term "0,1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_mulLiterals" (formula "17") (term "1,1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_elimOne" (formula "17") (term "1,1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "17") (term "1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "17") (term "1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_rightDist" (formula "17") (term "1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "17") (term "0,1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulLiterals" (formula "17") (term "1,1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_elimOne" (formula "17") (term "1,1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "boxToDiamond" (formula "1") (term "1")) - (builtin "One Step Simplification" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "nnf_imp2or" (formula "13") (term "0")) - (rule "nnf_imp2or" (formula "12") (term "0")) - (rule "nnf_notAnd" (formula "13") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "13") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "13") (term "1,0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "13") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "13") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "13") (term "1,0,0,0")) - (rule "mul_literals" (formula "13") (term "0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,1,0,0,0")) - (rule "polySimp_elimOne" (formula "13") (term "1,1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "13") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "13") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "13") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "13") (term "0,0,1,0,0")) - (rule "add_literals" (formula "13") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "13") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "13") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "13") (term "1,1,0,0")) - (rule "nnf_notAnd" (formula "12") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "12") (term "0,0,0")) - (rule "mul_literals" (formula "12") (term "1,0,0,0,0,0")) - (rule "add_literals" (formula "12") (term "0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "12") (term "0,0,0")) - (rule "mul_literals" (formula "12") (term "1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "12") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "12") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "12") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "12") (term "0,0,1,0,0")) - (rule "add_literals" (formula "12") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "12") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "12") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "12") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "12") (term "1,1,0,0")) - (rule "nnf_imp2or" (formula "17") (term "0,1,0,0,1,1,1,0,1")) - (rule "nnf_imp2or" (formula "17") (term "0,1,0,0,0,1,1,1,0,1")) - (rule "nnf_notAnd" (formula "17") (term "0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_notGeq" (formula "17") (term "0,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "17") (term "1,0,0,0,0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "17") (term "0,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "17") (term "1,0,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_rightDist" (formula "17") (term "1,0,0,0,1,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "17") (term "0,1,0,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulLiterals" (formula "17") (term "1,1,0,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_elimOne" (formula "17") (term "1,1,0,0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_notLeq" (formula "17") (term "1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_rightDist" (formula "17") (term "1,0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "17") (term "0,1,0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_addAssoc" (formula "17") (term "0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "add_literals" (formula "17") (term "0,0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "add_zero_left" (formula "17") (term "0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "17") (term "1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulLiterals" (formula "17") (term "1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_elimOne" (formula "17") (term "1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "nnf_notAnd" (formula "17") (term "0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_notGeq" (formula "17") (term "0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "17") (term "1,0,0,0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "add_literals" (formula "17") (term "0,0,0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "17") (term "0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "17") (term "1,0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_notLeq" (formula "17") (term "1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_rightDist" (formula "17") (term "1,0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "17") (term "0,1,0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_addAssoc" (formula "17") (term "0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "add_literals" (formula "17") (term "0,0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "add_zero_left" (formula "17") (term "0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "17") (term "1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_mulLiterals" (formula "17") (term "1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_elimOne" (formula "17") (term "1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "less_than_comparison_simple" (formula "14") (term "1")) - (builtin "One Step Simplification" (formula "14")) - (rule "inEqSimp_ltToLeq" (formula "14") (term "0,0,1,0")) - (rule "polySimp_mulComm0" (formula "14") (term "1,0,0,0,0,1,0")) - (rule "polySimp_addComm1" (formula "14") (term "0,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "14") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "14") (term "0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "14") (term "0,0,0,1,0")) - (rule "methodCallEmpty" (formula "14") (term "1")) - (builtin "One Step Simplification" (formula "14")) - (rule "emptyModality" (formula "14") (term "1")) - (builtin "One Step Simplification" (formula "14")) - (rule "notRight" (formula "14")) - (rule "inEqSimp_subsumption1" (formula "11") (ifseqformula "1")) - (rule "inEqSimp_homoInEq0" (formula "11") (term "0")) - (rule "polySimp_pullOutFactor1b" (formula "11") (term "0,0")) - (rule "add_literals" (formula "11") (term "1,1,0,0")) - (rule "times_zero_1" (formula "11") (term "1,0,0")) - (rule "add_literals" (formula "11") (term "0,0")) - (rule "qeq_literals" (formula "11") (term "0")) - (builtin "One Step Simplification" (formula "11")) - (rule "true_left" (formula "11")) - (rule "arrayLengthIsAnInt" (formula "2") (term "1,1,0,0")) - (builtin "One Step Simplification" (formula "2")) - (rule "true_left" (formula "2")) - (rule "arrayLengthNotNegative" (formula "2") (term "1,1,0,0")) - (rule "ifUnfold" (formula "17") (term "1") (inst "#boolv=b_2")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "b_2")) - (rule "less_than_comparison_simple" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "inEqSimp_ltToLeq" (formula "17") (term "0,0,1,0")) - (rule "polySimp_mulComm0" (formula "17") (term "1,0,0,0,0,1,0")) - (rule "polySimp_addComm1" (formula "17") (term "0,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "17") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "17") (term "0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "17") (term "0,0,0,1,0")) - (rule "replace_known_left" (formula "17") (term "0,0,1,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "ifSplit" (formula "17")) - (branch "if b_2 true" - (builtin "One Step Simplification" (formula "18")) - (builtin "One Step Simplification" (formula "1")) - (rule "true_left" (formula "1")) - (rule "variableDeclarationAssign" (formula "17") (term "1")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "mid")) - (rule "compound_addition_2" (formula "17") (term "1") (inst "#v0=i") (inst "#v1=i_1")) - (rule "variableDeclarationAssign" (formula "17") (term "1")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "i")) - (rule "assignment" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "variableDeclarationAssign" (formula "17") (term "1")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "i_1")) - (rule "remove_parentheses_right" (formula "17") (term "1")) - (rule "compound_division_1" (formula "17") (term "1") (inst "#v=i_2")) - (rule "variableDeclarationAssign" (formula "17") (term "1")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "i_2")) - (rule "remove_parentheses_right" (formula "17") (term "1")) - (rule "assignmentSubtractionInt" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "translateJavaSubInt" (formula "17") (term "0,1,0")) - (rule "polySimp_elimSub" (formula "17") (term "0,1,0")) - (rule "polySimp_addComm0" (formula "17") (term "0,1,0")) - (rule "assignmentDivisionInt" (formula "17")) - (branch - (builtin "One Step Simplification" (formula "17")) - (rule "translateJavaDivInt" (formula "17") (term "0,1,0")) - (rule "assignmentAdditionInt" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "translateJavaAddInt" (formula "17") (term "0,1,0")) - (rule "ifElseUnfold" (formula "17") (term "1") (inst "#boolv=b_3")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "b_3")) - (rule "compound_equality_comparison_2" (formula "17") (term "1") (inst "#v0=i_3") (inst "#v1=i_4")) - (rule "variableDeclarationAssign" (formula "17") (term "1")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "i_3")) - (rule "assignment" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "variableDeclarationAssign" (formula "17") (term "1")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "i_4")) - (rule "assignment_array2" (formula "17")) - (branch "Normal Execution (_a != null)" - (builtin "One Step Simplification" (formula "17")) - (rule "pullOutSelect" (formula "17") (term "0,1,0") (inst "selectSK=arr_0:int")) - (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "17")) (ifInst "" (formula "8"))) - (rule "applyEqReverse" (formula "18") (term "0,1,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "equality_comparison_simple" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "eqSymm" (formula "17") (term "0,0,1,0")) - (rule "ifElseSplit" (formula "17")) - (branch "if b_3 true" - (builtin "One Step Simplification" (formula "18")) - (builtin "One Step Simplification" (formula "1")) - (rule "assignment" (formula "18") (term "1")) - (builtin "One Step Simplification" (formula "18")) - (rule "assignment" (formula "18") (term "1")) - (builtin "One Step Simplification" (formula "18")) - (rule "break" (formula "18") (term "1")) - (rule "blockEmpty" (formula "18") (term "1")) - (rule "tryEmpty" (formula "18") (term "1")) - (rule "methodCallEmpty" (formula "18") (term "1")) - (rule "emptyModality" (formula "18") (term "1")) - (builtin "One Step Simplification" (formula "18")) - (rule "methodCallReturn" (formula "18") (term "1")) - (rule "assignment" (formula "18") (term "1")) - (builtin "One Step Simplification" (formula "18")) - (rule "methodCallEmpty" (formula "18") (term "1")) - (rule "tryEmpty" (formula "18") (term "1")) - (rule "emptyModality" (formula "18") (term "1")) - (builtin "One Step Simplification" (formula "18")) - (rule "false_right" (formula "18")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "10") (ifseqformula "7")) - (rule "true_left" (formula "10")) - (rule "jdiv_axiom" (formula "1") (term "1,0,2,0")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,2,0")) - (rule "polySimp_rightDist" (formula "1") (term "0,0,2,0")) - (rule "polySimp_mulAssoc" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,0,0,2,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,0,2,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "eqSymm" (formula "1")) - (rule "applyEq" (formula "2") (term "1,0,2,0") (ifseqformula "1")) - (rule "polyDiv_pullOut" (formula "2") (term "1,0,2,0") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "2") (term "0,1,0,2,0")) - (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,0,2,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,0,2,0")) - (rule "polySimp_addComm0" (formula "2") (term "1,0,2,0")) - (rule "polySimp_addComm1" (formula "2") (term "0,1,1,0,2,0")) - (rule "polySimp_pullOutFactor0" (formula "2") (term "0,0,1,1,0,2,0")) - (rule "add_literals" (formula "2") (term "1,0,0,1,1,0,2,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,0,1,1,0,2,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0,2,0")) - (rule "polySimp_pullOutFactor1" (formula "2") (term "0,0,2,0")) - (rule "add_literals" (formula "2") (term "1,0,0,2,0")) - (rule "times_zero_1" (formula "2") (term "0,0,2,0")) - (rule "add_zero_left" (formula "2") (term "0,2,0")) - (rule "polyDiv_pullOut" (formula "1") (term "1") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_addComm0" (formula "1") (term "1")) - (rule "polySimp_addComm1" (formula "1") (term "0,1,1")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0,1,1")) - (rule "add_literals" (formula "1") (term "1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,1,1")) - (rule "div_axiom" (formula "2") (term "0,2,0") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "2") (term "0")) - (builtin "One Step Simplification" (formula "2")) - (rule "qeq_literals" (formula "2") (term "0,1")) - (builtin "One Step Simplification" (formula "2")) - (rule "mul_literals" (formula "2") (term "1,1,1")) - (rule "andLeft" (formula "2")) - (rule "andLeft" (formula "2")) - (rule "polySimp_addAssoc" (formula "4") (term "0,1")) - (rule "polySimp_addComm1" (formula "4") (term "1")) - (rule "polySimp_addComm1" (formula "4") (term "0,1")) - (rule "add_literals" (formula "4") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_addComm1" (formula "4") (term "0,0")) - (rule "applyEq" (formula "5") (term "0,2,0") (ifseqformula "2")) - (rule "applyEq" (formula "1") (term "1,1") (ifseqformula "2")) - (rule "polySimp_addComm0" (formula "1") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_mulComm0" (formula "3") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "0,1")) - (rule "mul_literals" (formula "4") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,1")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "4")) - (rule "polySimp_rightDist" (formula "6") (term "0,0")) - (rule "mul_literals" (formula "6") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0")) - (rule "polySimp_addComm1" (formula "6") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "0,0,0")) - (rule "add_zero_left" (formula "6") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "0")) - (rule "elimGcdLeq_antec" (formula "6") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low_0") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "6") (term "0,0")) - (builtin "One Step Simplification" (formula "6")) - (rule "neg_literal" (formula "6") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_zero_right" (formula "6") (term "0,0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "6")) - (rule "mul_literals" (formula "16") (term "0,0")) - (rule "add_zero_left" (formula "16") (term "0")) - (rule "allLeft" (formula "9") (inst "t=quotient_0:int")) - (rule "replace_known_left" (formula "9") (term "0,1") (ifseqformula "5")) - (builtin "One Step Simplification" (formula "9")) - (rule "inEqSimp_commuteGeq" (formula "9") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "9") (term "0") (ifseqformula "17")) - (rule "qeq_literals" (formula "9") (term "0,0")) - (builtin "One Step Simplification" (formula "9")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "9")) - (rule "mul_literals" (formula "8") (term "0,0")) - (rule "add_zero_left" (formula "8") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "9")) - (rule "polySimp_mulComm0" (formula "19") (term "0,0")) - (rule "polySimp_addComm0" (formula "19") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "19")) - (rule "polySimp_mulLiterals" (formula "19") (term "0")) - (rule "polySimp_elimOne" (formula "19") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "19")) - (rule "polySimp_rightDist" (formula "7") (term "0,0")) - (rule "mul_literals" (formula "7") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "7") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "7")) - (rule "polySimp_mulLiterals" (formula "7") (term "0")) - (rule "polySimp_elimOne" (formula "7") (term "0")) - (rule "inEqSimp_subsumption0" (formula "6") (ifseqformula "7")) - (rule "inEqSimp_homoInEq0" (formula "6") (term "0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "6") (term "1,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "polySimp_addComm0" (formula "6") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "true_left" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "19")) - (rule "polySimp_rightDist" (formula "3") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "3") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1")) - (rule "polySimp_elimOne" (formula "3") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "7")) - (rule "andLeft" (formula "3")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,0")) - (rule "mul_literals" (formula "3") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) - (rule "add_literals" (formula "3") (term "1,1,0")) - (rule "times_zero_1" (formula "3") (term "1,0")) - (rule "add_literals" (formula "3") (term "0")) - (rule "leq_literals" (formula "3")) - (rule "closeFalse" (formula "3")) - ) - (branch "if b_3 false" - (builtin "One Step Simplification" (formula "18")) - (builtin "One Step Simplification" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "unusedLabel" (formula "18") (term "1")) - (rule "jdiv_axiom" (formula "15") (term "1,0,2,0")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,2,0")) - (rule "polySimp_rightDist" (formula "1") (term "0,0,2,0")) - (rule "polySimp_mulAssoc" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,0,0,2,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,0,2,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "2")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "eqSymm" (formula "1")) - (rule "applyEq" (formula "19") (term "1,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "16") (term "1,0,2,0") (ifseqformula "1")) - (rule "polyDiv_pullOut" (formula "19") (term "1,0,1,0") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "19") (term "0,1,0,1,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "polySimp_mulLiterals" (formula "19") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "19") (term "1,0,0,1,0,1,0")) - (rule "polySimp_addComm0" (formula "19") (term "1,0,1,0")) - (rule "polySimp_addComm1" (formula "19") (term "0,1,1,0,1,0")) - (rule "polySimp_pullOutFactor0" (formula "19") (term "0,0,1,1,0,1,0")) - (rule "add_literals" (formula "19") (term "1,0,0,1,1,0,1,0")) - (rule "polySimp_elimOne" (formula "19") (term "0,0,1,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "19") (term "0,1,0")) - (rule "polySimp_pullOutFactor1" (formula "19") (term "0,0,1,0")) - (rule "add_literals" (formula "19") (term "1,0,0,1,0")) - (rule "times_zero_1" (formula "19") (term "0,0,1,0")) - (rule "add_zero_left" (formula "19") (term "0,1,0")) - (rule "polyDiv_pullOut" (formula "1") (term "1") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_addComm0" (formula "1") (term "1")) - (rule "polySimp_addComm1" (formula "1") (term "0,1,1")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0,1,1")) - (rule "add_literals" (formula "1") (term "1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,1,1")) - (rule "polyDiv_pullOut" (formula "16") (term "1,0,2,0") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "16") (term "0,1,0,2,0")) - (builtin "One Step Simplification" (formula "16")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,0,0,1,0,2,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,0,0,1,0,2,0")) - (rule "polySimp_addComm0" (formula "16") (term "1,0,2,0")) - (rule "polySimp_addComm1" (formula "16") (term "0,1,1,0,2,0")) - (rule "polySimp_pullOutFactor0" (formula "16") (term "0,0,1,1,0,2,0")) - (rule "add_literals" (formula "16") (term "1,0,0,1,1,0,2,0")) - (rule "polySimp_elimOne" (formula "16") (term "0,0,1,1,0,2,0")) - (rule "polySimp_addAssoc" (formula "16") (term "0,2,0")) - (rule "polySimp_pullOutFactor1" (formula "16") (term "0,0,2,0")) - (rule "add_literals" (formula "16") (term "1,0,0,2,0")) - (rule "times_zero_1" (formula "16") (term "0,0,2,0")) - (rule "add_zero_left" (formula "16") (term "0,2,0")) - (rule "ifElseUnfold" (formula "19") (term "1") (inst "#boolv=b_4")) - (rule "variableDeclaration" (formula "19") (term "1") (newnames "b_4")) - (rule "compound_less_than_comparison_2" (formula "19") (term "1") (inst "#v0=i_5") (inst "#v1=i_6")) - (rule "variableDeclarationAssign" (formula "19") (term "1")) - (rule "variableDeclaration" (formula "19") (term "1") (newnames "i_5")) - (rule "assignment" (formula "19") (term "1")) - (builtin "One Step Simplification" (formula "19")) - (rule "variableDeclarationAssign" (formula "19") (term "1")) - (rule "variableDeclaration" (formula "19") (term "1") (newnames "i_6")) - (rule "assignment_array2" (formula "19")) - (branch "Normal Execution (_a != null)" - (builtin "One Step Simplification" (formula "19")) - (rule "pullOutSelect" (formula "19") (term "0,1,0") (inst "selectSK=arr_1:int")) - (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19")) (ifInst "" (formula "9"))) - (rule "applyEqReverse" (formula "20") (term "0,1,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "less_than_comparison_simple" (formula "19") (term "1")) - (builtin "One Step Simplification" (formula "19")) - (rule "inEqSimp_ltToLeq" (formula "19") (term "0,0,1,0")) - (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,0,0,1,0")) - (rule "polySimp_addComm1" (formula "19") (term "0,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "19") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "19") (term "0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "19") (term "0,0,0,1,0")) - (rule "div_axiom" (formula "1") (term "1,1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "qeq_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "mul_literals" (formula "1") (term "1,1,1")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "polySimp_addAssoc" (formula "3") (term "0,1")) - (rule "polySimp_addComm1" (formula "3") (term "1")) - (rule "polySimp_addComm1" (formula "3") (term "0,1")) - (rule "add_literals" (formula "3") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "applyEq" (formula "22") (term "0,1,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,2,0,0,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "19") (term "0,2,0") (ifseqformula "1")) - (rule "applyEq" (formula "4") (term "1,1") (ifseqformula "1")) - (rule "polySimp_addComm0" (formula "4") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "polySimp_mulComm0" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "0,1")) - (rule "mul_literals" (formula "3") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,1")) - (rule "inEqSimp_exactShadow3" (formula "5") (ifseqformula "3")) - (rule "polySimp_rightDist" (formula "5") (term "0,0")) - (rule "mul_literals" (formula "5") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0")) - (rule "polySimp_addComm1" (formula "5") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "0,0,0")) - (rule "add_zero_left" (formula "5") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "5")) - (rule "polySimp_mulLiterals" (formula "5") (term "0")) - (rule "elimGcdLeq_antec" (formula "5") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low_0") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "5") (term "0,0")) - (builtin "One Step Simplification" (formula "5")) - (rule "neg_literal" (formula "5") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "5") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "5") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,1,0,0")) - (rule "times_zero_1" (formula "5") (term "1,0,0")) - (rule "add_zero_right" (formula "5") (term "0,0")) - (rule "polySimp_mulComm0" (formula "5") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,1,0,0")) - (rule "times_zero_1" (formula "5") (term "1,0,0")) - (rule "add_literals" (formula "5") (term "0,0")) - (rule "qeq_literals" (formula "5") (term "0")) - (builtin "One Step Simplification" (formula "5")) - (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "5")) - (rule "mul_literals" (formula "16") (term "0,0")) - (rule "add_zero_left" (formula "16") (term "0")) - (rule "ifElseSplit" (formula "24")) - (branch "if b_4 true" - (builtin "One Step Simplification" (formula "25")) - (builtin "One Step Simplification" (formula "1")) - (rule "assignment" (formula "25") (term "1")) - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_contradEq7" (formula "22") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0")) - (rule "add_literals" (formula "22") (term "1,1,0,0")) - (rule "times_zero_1" (formula "22") (term "1,0,0")) - (rule "add_literals" (formula "22") (term "0,0")) - (rule "leq_literals" (formula "22") (term "0")) - (builtin "One Step Simplification" (formula "22")) - (rule "false_right" (formula "22")) - (rule "tryEmpty" (formula "24") (term "1")) - (rule "methodCallEmpty" (formula "24") (term "1")) - (rule "emptyModality" (formula "24") (term "1")) - (builtin "One Step Simplification" (formula "24") (ifInst "" (formula "18")) (ifInst "" (formula "20"))) - (rule "eqSymm" (formula "24") (term "1,0,0,1,0")) - (rule "polySimp_addComm0" (formula "24") (term "0,1")) - (rule "precOfInt" (formula "24") (term "1")) - (rule "inEqSimp_ltToLeq" (formula "24") (term "1,1")) - (rule "polySimp_rightDist" (formula "24") (term "1,0,0,1,1")) - (rule "polySimp_mulAssoc" (formula "24") (term "0,1,0,0,1,1")) - (rule "polySimp_mulComm0" (formula "24") (term "0,0,1,0,0,1,1")) - (rule "polySimp_mulLiterals" (formula "24") (term "0,1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "24") (term "0,1,0,0,1,1")) - (rule "polySimp_addAssoc" (formula "24") (term "0,0,1,1")) - (rule "polySimp_addComm1" (formula "24") (term "0,1,1")) - (rule "polySimp_addAssoc" (formula "24") (term "0,0,1,1")) - (rule "polySimp_addComm1" (formula "24") (term "0,0,0,1,1")) - (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0,1,1")) - (rule "add_literals" (formula "24") (term "1,1,0,0,1,1")) - (rule "times_zero_1" (formula "24") (term "1,0,0,1,1")) - (rule "add_zero_right" (formula "24") (term "0,0,1,1")) - (rule "inEqSimp_commuteGeq" (formula "24") (term "0,0,0,0")) - (rule "replace_known_left" (formula "24") (term "0,0,0,0") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_homoInEq0" (formula "24") (term "0,1")) - (rule "mul_literals" (formula "24") (term "1,0,0,1")) - (rule "add_zero_right" (formula "24") (term "0,0,1")) - (rule "inEqSimp_sepNegMonomial0" (formula "24") (term "1,1")) - (rule "polySimp_mulLiterals" (formula "24") (term "0,1,1")) - (rule "polySimp_elimOne" (formula "24") (term "0,1,1")) - (rule "inEqSimp_sepNegMonomial1" (formula "24") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "24") (term "0,0,1")) - (rule "polySimp_elimOne" (formula "24") (term "0,0,1")) - (rule "replace_known_left" (formula "24") (term "0,1") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "24")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "15") (ifseqformula "12")) - (rule "true_left" (formula "15")) - (rule "cut_direct" (formula "23") (term "0,0,0")) - (branch "CUT: a.length >= quotient_0 TRUE" - (builtin "One Step Simplification" (formula "24")) - (rule "cut_direct" (formula "24") (term "1")) - (branch "CUT: up_0 >= 1 + quotient_0 TRUE" - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "6")) - (rule "polySimp_rightDist" (formula "1") (term "0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "andRight" (formula "25")) - (branch - (rule "allRight" (formula "25") (inst "sk=x_0:int")) - (rule "orRight" (formula "25")) - (rule "notRight" (formula "26")) - (rule "orRight" (formula "26")) - (rule "inEqSimp_geqRight" (formula "27")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0")) - (rule "inEqSimp_leqRight" (formula "27")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "pullOutSelect" (formula "3") (term "0") (inst "selectSK=arr_2:int")) - (rule "simplifySelectOfAnon" (formula "3")) - (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "28")) (ifInst "" (formula "19"))) - (rule "applyEqReverse" (formula "4") (term "0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "allLeft" (formula "14") (inst "t=x_0:int")) - (rule "replace_known_left" (formula "14") (term "0,1") (ifseqformula "3")) - (builtin "One Step Simplification" (formula "14")) - (rule "inEqSimp_commuteGeq" (formula "14") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "14") (term "1") (ifseqformula "2")) - (rule "inEqSimp_homoInEq1" (formula "14") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "14") (term "0,0,1")) - (rule "add_literals" (formula "14") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "14") (term "1,0,0,1")) - (rule "add_literals" (formula "14") (term "0,0,1")) - (rule "leq_literals" (formula "14") (term "0,1")) - (builtin "One Step Simplification" (formula "14")) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "14")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0")) - (rule "polySimp_addComm0" (formula "1") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "23") (ifseqformula "1")) - (rule "qeq_literals" (formula "23") (term "0")) - (builtin "One Step Simplification" (formula "23")) - (rule "closeFalse" (formula "23")) - ) - (branch - (rule "allRight" (formula "25") (inst "sk=f_0:Field")) - (rule "allRight" (formula "25") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "25")) - (rule "pullOutSelect" (formula "26") (term "0") (inst "selectSK=f_0_0:any")) - (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "26"))) - (rule "applyEqReverse" (formula "27") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "27")) - (rule "closeTrue" (formula "27")) - ) - ) - (branch "CUT: up_0 >= 1 + quotient_0 FALSE" - (builtin "One Step Simplification" (formula "25")) - (rule "false_right" (formula "25")) - (rule "inEqSimp_geqRight" (formula "24")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "9") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "9") (term "0,0")) - (rule "mul_literals" (formula "9") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "9") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "9")) - (rule "polySimp_mulLiterals" (formula "9") (term "0")) - (rule "polySimp_elimOne" (formula "9") (term "0")) - (rule "inEqSimp_subsumption0" (formula "8") (ifseqformula "9")) - (rule "inEqSimp_homoInEq0" (formula "8") (term "0")) - (rule "polySimp_mulComm0" (formula "8") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "8") (term "1,0,0")) - (rule "mul_literals" (formula "8") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "8") (term "0,0")) - (rule "polySimp_addComm0" (formula "8") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "8") (term "0,0")) - (rule "add_literals" (formula "8") (term "1,1,0,0")) - (rule "times_zero_1" (formula "8") (term "1,0,0")) - (rule "add_literals" (formula "8") (term "0,0")) - (rule "qeq_literals" (formula "8") (term "0")) - (builtin "One Step Simplification" (formula "8")) - (rule "true_left" (formula "8")) - (rule "inEqSimp_exactShadow3" (formula "5") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "5") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "5") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "5") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "5") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "5") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "5") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "5") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "5")) - (rule "polySimp_mulLiterals" (formula "5") (term "1")) - (rule "polySimp_elimOne" (formula "5") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "5") (ifseqformula "9")) - (rule "andLeft" (formula "5")) - (rule "inEqSimp_homoInEq1" (formula "5")) - (rule "polySimp_mulComm0" (formula "5") (term "1,0")) - (rule "polySimp_rightDist" (formula "5") (term "1,0")) - (rule "mul_literals" (formula "5") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0")) - (rule "polySimp_addComm0" (formula "5") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,1,0")) - (rule "times_zero_1" (formula "5") (term "1,0")) - (rule "add_literals" (formula "5") (term "0")) - (rule "leq_literals" (formula "5")) - (rule "closeFalse" (formula "5")) - ) - ) - (branch "CUT: a.length >= quotient_0 FALSE" - (builtin "One Step Simplification" (formula "24")) - (rule "false_right" (formula "24")) - (rule "inEqSimp_geqRight" (formula "23")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_exactShadow3" (formula "9") (ifseqformula "1")) - (rule "mul_literals" (formula "9") (term "0,0")) - (rule "add_zero_left" (formula "9") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "9")) - (rule "mul_literals" (formula "9") (term "1")) - (rule "inEqSimp_subsumption1" (formula "18") (ifseqformula "9")) - (rule "leq_literals" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "true_left" (formula "18")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "19") (term "0,0")) - (rule "polySimp_addComm0" (formula "19") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "19")) - (rule "polySimp_mulLiterals" (formula "19") (term "0")) - (rule "polySimp_elimOne" (formula "19") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "19")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "polySimp_addAssoc" (formula "8") (term "0,0")) - (rule "add_literals" (formula "8") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) - (rule "inEqSimp_subsumption0" (formula "7") (ifseqformula "8")) - (rule "inEqSimp_homoInEq0" (formula "7") (term "0")) - (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "7") (term "1,0,0")) - (rule "mul_literals" (formula "7") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "7") (term "0,0")) - (rule "polySimp_addComm0" (formula "7") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "7") (term "0,0")) - (rule "add_literals" (formula "7") (term "1,1,0,0")) - (rule "times_zero_1" (formula "7") (term "1,0,0")) - (rule "add_literals" (formula "7") (term "0,0")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "19")) - (rule "polySimp_rightDist" (formula "4") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "4") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "4") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "4") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_addAssoc" (formula "4") (term "0,0")) - (rule "polySimp_addComm0" (formula "4") (term "0,0,0")) - (rule "polySimp_pullOutFactor2b" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "1,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "mul_literals" (formula "4") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,1")) - (rule "polySimp_elimOne" (formula "4") (term "1,1")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "8")) - (rule "andLeft" (formula "4")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1,0")) - (rule "polySimp_rightDist" (formula "4") (term "1,0")) - (rule "mul_literals" (formula "4") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "4") (term "0")) - (rule "polySimp_addComm1" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) - (rule "add_literals" (formula "4") (term "1,1,0")) - (rule "times_zero_1" (formula "4") (term "1,0")) - (rule "add_literals" (formula "4") (term "0")) - (rule "leq_literals" (formula "4")) - (rule "closeFalse" (formula "4")) - ) - ) - (branch "if b_4 false" - (builtin "One Step Simplification" (formula "25")) - (builtin "One Step Simplification" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "inEqSimp_geqRight" (formula "21")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_strengthen0" (formula "1") (ifseqformula "22")) - (rule "inEqSimp_contradEq3" (formula "22") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0")) - (rule "add_literals" (formula "22") (term "1,1,0,0")) - (rule "times_zero_1" (formula "22") (term "1,0,0")) - (rule "add_literals" (formula "22") (term "0,0")) - (rule "qeq_literals" (formula "22") (term "0")) - (builtin "One Step Simplification" (formula "22")) - (rule "false_right" (formula "22")) - (rule "assignmentAdditionInt" (formula "24") (term "1")) - (builtin "One Step Simplification" (formula "24")) - (rule "translateJavaAddInt" (formula "24") (term "0,1,0")) - (rule "polySimp_addComm0" (formula "24") (term "0,1,0")) - (rule "tryEmpty" (formula "24") (term "1")) - (rule "methodCallEmpty" (formula "24") (term "1")) - (rule "emptyModality" (formula "24") (term "1")) - (builtin "One Step Simplification" (formula "24") (ifInst "" (formula "19")) (ifInst "" (formula "21"))) - (rule "eqSymm" (formula "24") (term "1,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "24") (term "0,0,1")) - (rule "polySimp_rightDist" (formula "24") (term "0,0,1")) - (rule "mul_literals" (formula "24") (term "0,0,0,1")) - (rule "precOfInt" (formula "24") (term "1")) - (rule "inEqSimp_ltToLeq" (formula "24") (term "1,1")) - (rule "polySimp_rightDist" (formula "24") (term "1,0,0,1,1")) - (rule "polySimp_mulAssoc" (formula "24") (term "0,1,0,0,1,1")) - (rule "polySimp_mulComm0" (formula "24") (term "0,0,1,0,0,1,1")) - (rule "polySimp_mulLiterals" (formula "24") (term "0,1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "24") (term "0,1,0,0,1,1")) - (rule "polySimp_addAssoc" (formula "24") (term "0,0,1,1")) - (rule "polySimp_addAssoc" (formula "24") (term "0,1,1")) - (rule "polySimp_addComm1" (formula "24") (term "0,0,1,1")) - (rule "polySimp_pullOutFactor2b" (formula "24") (term "0,1,1")) - (rule "add_literals" (formula "24") (term "1,1,0,1,1")) - (rule "times_zero_1" (formula "24") (term "1,0,1,1")) - (rule "add_zero_right" (formula "24") (term "0,1,1")) - (rule "polySimp_addComm1" (formula "24") (term "0,1,1")) - (rule "polySimp_addAssoc" (formula "24") (term "0,0,1,1")) - (rule "add_literals" (formula "24") (term "0,0,0,1,1")) - (rule "add_zero_left" (formula "24") (term "0,0,1,1")) - (rule "inEqSimp_homoInEq0" (formula "24") (term "0,1")) - (rule "mul_literals" (formula "24") (term "1,0,0,1")) - (rule "add_zero_right" (formula "24") (term "0,0,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "24") (term "0,0,0,0")) - (rule "mul_literals" (formula "24") (term "1,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "24") (term "1,1")) - (rule "polySimp_mulLiterals" (formula "24") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "24") (term "1,1,1")) - (rule "replace_known_left" (formula "24") (term "1,1") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_sepPosMonomial1" (formula "24") (term "1")) - (rule "polySimp_mulComm0" (formula "24") (term "1,1")) - (rule "polySimp_rightDist" (formula "24") (term "1,1")) - (rule "mul_literals" (formula "24") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "24") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "24") (term "1,1,1")) - (rule "inEqSimp_subsumption1" (formula "24") (term "0,0,0,0") (ifseqformula "17")) - (rule "leq_literals" (formula "24") (term "0,0,0,0,0")) - (builtin "One Step Simplification" (formula "24")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "15") (ifseqformula "12")) - (rule "true_left" (formula "15")) - (rule "cut_direct" (formula "23") (term "0,0,0")) - (branch "CUT: up_0 >= 1 + quotient_0 TRUE" - (builtin "One Step Simplification" (formula "24") (ifInst "" (formula "1"))) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "5")) - (rule "polySimp_rightDist" (formula "1") (term "0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "andRight" (formula "24")) - (branch - (rule "allRight" (formula "24") (inst "sk=x_0:int")) - (rule "orRight" (formula "24")) - (rule "notRight" (formula "25")) - (rule "orRight" (formula "25")) - (rule "inEqSimp_geqRight" (formula "26")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_leqRight" (formula "26")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_literals" (formula "1") (term "0,0")) - (rule "add_zero_left" (formula "1") (term "0")) - (rule "inEqSimp_sepPosMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1")) - (rule "polySimp_elimOne" (formula "2") (term "1")) - (rule "pullOutSelect" (formula "3") (term "0") (inst "selectSK=arr_2:int")) - (rule "simplifySelectOfAnon" (formula "3")) - (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "27")) (ifInst "" (formula "18"))) - (rule "applyEqReverse" (formula "4") (term "0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "2")) - (rule "mul_literals" (formula "1") (term "0,0")) - (rule "add_zero_left" (formula "1") (term "0")) - (rule "allLeft" (formula "13") (inst "t=x_0:int")) - (rule "replace_known_left" (formula "13") (term "0,1") (ifseqformula "3")) - (builtin "One Step Simplification" (formula "13")) - (rule "inEqSimp_commuteGeq" (formula "13") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "13") (term "0") (ifseqformula "1")) - (rule "qeq_literals" (formula "13") (term "0,0")) - (builtin "One Step Simplification" (formula "13")) - (rule "inEqSimp_exactShadow3" (formula "12") (ifseqformula "13")) - (rule "mul_literals" (formula "12") (term "0,0")) - (rule "add_zero_left" (formula "12") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "23") (ifseqformula "13")) - (rule "polySimp_mulComm0" (formula "23") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "23")) - (rule "polySimp_mulLiterals" (formula "23") (term "1")) - (rule "polySimp_elimOne" (formula "23") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "23") (ifseqformula "2")) - (rule "polySimp_mulComm0" (formula "23") (term "0,0")) - (rule "polySimp_addComm0" (formula "23") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "23")) - (rule "polySimp_mulLiterals" (formula "23") (term "0")) - (rule "polySimp_elimOne" (formula "23") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "23")) - (rule "andLeft" (formula "4")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) - (rule "add_literals" (formula "4") (term "1,1,0")) - (rule "times_zero_1" (formula "4") (term "1,0")) - (rule "add_literals" (formula "4") (term "0")) - (rule "leq_literals" (formula "4")) - (rule "closeFalse" (formula "4")) - ) - (branch - (rule "allRight" (formula "24") (inst "sk=f_0:Field")) - (rule "allRight" (formula "24") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "24")) - (rule "pullOutSelect" (formula "25") (term "0") (inst "selectSK=f_0_0:any")) - (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "25"))) - (rule "applyEqReverse" (formula "26") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "26")) - (rule "closeTrue" (formula "26")) - ) - ) - (branch "CUT: up_0 >= 1 + quotient_0 FALSE" - (builtin "One Step Simplification" (formula "24") (ifInst "" (formula "23"))) - (rule "false_right" (formula "24")) - (rule "inEqSimp_geqRight" (formula "23")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) - (rule "inEqSimp_subsumption0" (formula "7") (ifseqformula "8")) - (rule "inEqSimp_homoInEq0" (formula "7") (term "0")) - (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "7") (term "1,0,0")) - (rule "mul_literals" (formula "7") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "7") (term "0,0")) - (rule "polySimp_addComm0" (formula "7") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "7") (term "0,0")) - (rule "add_literals" (formula "7") (term "1,1,0,0")) - (rule "times_zero_1" (formula "7") (term "1,0,0")) - (rule "add_literals" (formula "7") (term "0,0")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "4") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "4") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "4") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "4") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "4")) - (rule "polySimp_mulLiterals" (formula "4") (term "1")) - (rule "polySimp_elimOne" (formula "4") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "8")) - (rule "andLeft" (formula "4")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1,0")) - (rule "polySimp_rightDist" (formula "4") (term "1,0")) - (rule "mul_literals" (formula "4") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "4") (term "0")) - (rule "polySimp_addComm0" (formula "4") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) - (rule "add_literals" (formula "4") (term "1,1,0")) - (rule "times_zero_1" (formula "4") (term "1,0")) - (rule "add_literals" (formula "4") (term "0")) - (rule "leq_literals" (formula "4")) - (rule "closeFalse" (formula "4")) - ) - ) - ) - (branch "Null Reference (_a = null)" - (builtin "One Step Simplification" (formula "20")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) - (rule "close" (formula "20") (ifseqformula "1")) - ) - (branch "Index Out of Bounds (_a != null, but mid Out of Bounds!)" - (builtin "One Step Simplification" (formula "20")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) - (rule "false_right" (formula "20")) - (rule "inEqSimp_ltToLeq" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "1,0,0,1")) - (rule "add_literals" (formula "1") (term "0,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "1,1")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "11") (ifseqformula "8")) - (rule "true_left" (formula "11")) - (rule "commute_or" (formula "1")) - (rule "div_axiom" (formula "2") (term "1,1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "2") (term "0")) - (builtin "One Step Simplification" (formula "2")) - (rule "qeq_literals" (formula "2") (term "0,1")) - (builtin "One Step Simplification" (formula "2")) - (rule "mul_literals" (formula "2") (term "1,1,1")) - (rule "andLeft" (formula "2")) - (rule "andLeft" (formula "2")) - (rule "polySimp_addAssoc" (formula "4") (term "0,1")) - (rule "polySimp_addComm1" (formula "4") (term "1")) - (rule "polySimp_addComm1" (formula "4") (term "0,1")) - (rule "add_literals" (formula "4") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_addComm1" (formula "4") (term "0,0")) - (rule "applyEq" (formula "19") (term "0,2,0") (ifseqformula "2")) - (rule "applyEq" (formula "1") (term "0,0") (ifseqformula "2")) - (rule "applyEq" (formula "1") (term "1,1") (ifseqformula "2")) - (rule "applyEq" (formula "5") (term "1,1") (ifseqformula "2")) - (rule "polySimp_addComm0" (formula "5") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_mulComm0" (formula "3") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "0,1")) - (rule "mul_literals" (formula "4") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,1")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "4")) - (rule "polySimp_rightDist" (formula "6") (term "0,0")) - (rule "mul_literals" (formula "6") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0")) - (rule "polySimp_addComm1" (formula "6") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "0,0,0")) - (rule "add_zero_left" (formula "6") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "0")) - (rule "elimGcdLeq_antec" (formula "6") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low_0") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "6") (term "0,0")) - (builtin "One Step Simplification" (formula "6")) - (rule "neg_literal" (formula "6") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_zero_right" (formula "6") (term "0,0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "6")) - (rule "mul_literals" (formula "16") (term "0,0")) - (rule "add_zero_left" (formula "16") (term "0")) - (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "16")) - (rule "qeq_literals" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "1")) - (rule "mul_literals" (formula "8") (term "0,0")) - (rule "add_zero_left" (formula "8") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "18") (term "0,0")) - (rule "polySimp_addComm0" (formula "18") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "18")) - (rule "polySimp_mulLiterals" (formula "18") (term "0")) - (rule "polySimp_elimOne" (formula "18") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "18")) - (rule "polySimp_rightDist" (formula "7") (term "0,0")) - (rule "mul_literals" (formula "7") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "7") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "7")) - (rule "polySimp_mulLiterals" (formula "7") (term "0")) - (rule "polySimp_elimOne" (formula "7") (term "0")) - (rule "inEqSimp_subsumption0" (formula "6") (ifseqformula "7")) - (rule "inEqSimp_homoInEq0" (formula "6") (term "0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "6") (term "1,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "polySimp_addComm0" (formula "6") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "true_left" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "18")) - (rule "polySimp_rightDist" (formula "3") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "3") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1")) - (rule "polySimp_elimOne" (formula "3") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "7")) - (rule "andLeft" (formula "3")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,0")) - (rule "mul_literals" (formula "3") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) - (rule "add_literals" (formula "3") (term "1,1,0")) - (rule "times_zero_1" (formula "3") (term "1,0")) - (rule "add_literals" (formula "3") (term "0")) - (rule "leq_literals" (formula "3")) - (rule "closeFalse" (formula "3")) - ) - ) - ) - (branch "Null Reference (_a = null)" - (builtin "One Step Simplification" (formula "18")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "17"))) - (rule "close" (formula "18") (ifseqformula "1")) - ) - (branch "Index Out of Bounds (_a != null, but mid Out of Bounds!)" - (builtin "One Step Simplification" (formula "18")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "17"))) - (rule "false_right" (formula "18")) - (rule "inEqSimp_ltToLeq" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "1,0,0,1")) - (rule "add_literals" (formula "1") (term "0,0,1")) - (rule "polySimp_addAssoc" (formula "1") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1,1")) - (rule "polySimp_rightDist" (formula "1") (term "1,1")) - (rule "mul_literals" (formula "1") (term "0,1,1")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "10") (ifseqformula "7")) - (rule "true_left" (formula "10")) - (rule "commute_or" (formula "1")) - (rule "jdiv_axiom" (formula "1") (term "0,0")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,2,0")) - (rule "polySimp_rightDist" (formula "1") (term "0,0,2,0")) - (rule "polySimp_mulAssoc" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,0,0,2,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,0,2,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "eqSymm" (formula "1")) - (rule "applyEq" (formula "2") (term "0,0") (ifseqformula "1")) - (rule "applyEq" (formula "2") (term "1,1,1") (ifseqformula "1")) - (rule "polyDiv_pullOut" (formula "2") (term "0,0") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "2") (term "0,0,0")) - (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0,1,0,0")) - (rule "polySimp_pullOutFactor0" (formula "2") (term "0,0,1,0,0")) - (rule "add_literals" (formula "2") (term "1,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,0,1,0,0")) - (rule "inEqSimp_homoInEq0" (formula "2") (term "0")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "2") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "2") (term "0,1,0,0")) - (rule "polySimp_mulComm0" (formula "2") (term "0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1,0,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0,0")) - (rule "polySimp_pullOutFactor2b" (formula "2") (term "0,0,0")) - (rule "add_literals" (formula "2") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "2") (term "1,0,0,0")) - (rule "add_literals" (formula "2") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "2") (term "0")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,0")) - (rule "polyDiv_pullOut" (formula "1") (term "1") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_addComm0" (formula "1") (term "1")) - (rule "polySimp_addComm1" (formula "1") (term "0,1,1")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0,1,1")) - (rule "add_literals" (formula "1") (term "1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,1,1")) - (rule "polyDiv_pullOut" (formula "2") (term "1,1,1") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "2") (term "0,1,1,1")) - (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,1,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,1,1")) - (rule "polySimp_addComm0" (formula "2") (term "1,1,1")) - (rule "polySimp_addComm1" (formula "2") (term "0,1,1,1,1")) - (rule "polySimp_pullOutFactor0" (formula "2") (term "0,0,1,1,1,1")) - (rule "add_literals" (formula "2") (term "1,0,0,1,1,1,1")) - (rule "polySimp_elimOne" (formula "2") (term "0,0,1,1,1,1")) - (rule "polySimp_addAssoc" (formula "2") (term "1,1")) - (rule "polySimp_pullOutFactor1" (formula "2") (term "0,1,1")) - (rule "add_literals" (formula "2") (term "1,0,1,1")) - (rule "times_zero_1" (formula "2") (term "0,1,1")) - (rule "add_zero_left" (formula "2") (term "1,1")) - (rule "div_axiom" (formula "1") (term "1,1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "qeq_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "mul_literals" (formula "1") (term "1,1,1")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "polySimp_addAssoc" (formula "3") (term "0,1")) - (rule "polySimp_addComm1" (formula "3") (term "1")) - (rule "polySimp_addComm1" (formula "3") (term "0,1")) - (rule "add_literals" (formula "3") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "applyEq" (formula "5") (term "0,0") (ifseqformula "1")) - (rule "applyEq" (formula "5") (term "1,1") (ifseqformula "1")) - (rule "applyEq" (formula "4") (term "1,1") (ifseqformula "1")) - (rule "polySimp_addComm0" (formula "4") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "polySimp_mulComm0" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "0,1")) - (rule "mul_literals" (formula "3") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,1")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "3")) - (rule "polySimp_rightDist" (formula "6") (term "0,0")) - (rule "mul_literals" (formula "6") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0")) - (rule "polySimp_addComm1" (formula "6") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "0,0,0")) - (rule "add_zero_left" (formula "6") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "0")) - (rule "elimGcdLeq_antec" (formula "6") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low_0") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "6") (term "0,0")) - (builtin "One Step Simplification" (formula "6")) - (rule "neg_literal" (formula "6") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_zero_right" (formula "6") (term "0,0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "6")) - (rule "mul_literals" (formula "16") (term "0,0")) - (rule "add_zero_left" (formula "16") (term "0")) - (rule "inEqSimp_contradInEq1" (formula "5") (term "0") (ifseqformula "16")) - (rule "qeq_literals" (formula "5") (term "0,0")) - (builtin "One Step Simplification" (formula "5")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "5")) - (rule "mul_literals" (formula "8") (term "0,0")) - (rule "add_zero_left" (formula "8") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "5")) - (rule "polySimp_mulComm0" (formula "18") (term "0,0")) - (rule "polySimp_addComm0" (formula "18") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "18")) - (rule "polySimp_mulLiterals" (formula "18") (term "0")) - (rule "polySimp_elimOne" (formula "18") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "18")) - (rule "polySimp_rightDist" (formula "7") (term "0,0")) - (rule "mul_literals" (formula "7") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "7") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "7")) - (rule "polySimp_mulLiterals" (formula "7") (term "0")) - (rule "polySimp_elimOne" (formula "7") (term "0")) - (rule "inEqSimp_subsumption0" (formula "6") (ifseqformula "7")) - (rule "inEqSimp_homoInEq0" (formula "6") (term "0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "6") (term "1,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "polySimp_addComm0" (formula "6") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "true_left" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "18")) - (rule "polySimp_rightDist" (formula "2") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "2") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "2") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "2") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "2") (term "0,0")) - (rule "add_literals" (formula "2") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1")) - (rule "polySimp_elimOne" (formula "2") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "7")) - (rule "andLeft" (formula "2")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0")) - (rule "polySimp_rightDist" (formula "2") (term "1,0")) - (rule "mul_literals" (formula "2") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "2") (term "0")) - (rule "add_literals" (formula "2") (term "1,1,0")) - (rule "times_zero_1" (formula "2") (term "1,0")) - (rule "add_literals" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) - ) - ) - (branch - (builtin "One Step Simplification" (formula "17")) - (rule "equal_literals" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "closeTrue" (formula "17")) - ) - ) - (branch "if b_2 false" - (builtin "One Step Simplification" (formula "18")) - (builtin "One Step Simplification" (formula "1")) - (rule "closeFalse" (formula "1")) - ) - ) - (branch "Use Case" - (builtin "One Step Simplification" (formula "12")) - (builtin "One Step Simplification" (formula "9")) - (rule "andLeft" (formula "9")) - (rule "andLeft" (formula "9")) - (rule "andLeft" (formula "9")) - (rule "andLeft" (formula "9")) - (rule "inEqSimp_ltToLeq" (formula "13") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "13") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "12") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "12") (term "1,0,0,1,0,0")) - (rule "inEqSimp_commuteLeq" (formula "13") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "12") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "11")) - (rule "inEqSimp_commuteLeq" (formula "9")) - (rule "inEqSimp_commuteLeq" (formula "10")) - (rule "variableDeclarationAssign" (formula "16") (term "1")) - (rule "variableDeclaration" (formula "16") (term "1") (newnames "b_1")) - (rule "inEqSimp_sepPosMonomial0" (formula "13") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "13") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "13") (term "1,1,0,0")) - (rule "mul_literals" (formula "13") (term "0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,1,1,0,0")) - (rule "polySimp_elimOne" (formula "13") (term "1,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "12") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "12") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "12") (term "1,1,0,0")) - (rule "mul_literals" (formula "12") (term "0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "12") (term "1,1,1,0,0")) - (rule "polySimp_elimOne" (formula "12") (term "1,1,1,0,0")) - (rule "nnf_imp2or" (formula "13") (term "0")) - (rule "nnf_imp2or" (formula "12") (term "0")) - (rule "nnf_notAnd" (formula "13") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "13") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "13") (term "1,0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "13") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "13") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "13") (term "1,0,0,0")) - (rule "mul_literals" (formula "13") (term "0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,1,0,0,0")) - (rule "polySimp_elimOne" (formula "13") (term "1,1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "13") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "13") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "13") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "13") (term "0,0,1,0,0")) - (rule "add_literals" (formula "13") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "13") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "13") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "13") (term "1,1,0,0")) - (rule "nnf_notAnd" (formula "12") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "12") (term "0,0,0")) - (rule "mul_literals" (formula "12") (term "1,0,0,0,0,0")) - (rule "add_literals" (formula "12") (term "0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "12") (term "0,0,0")) - (rule "mul_literals" (formula "12") (term "1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "12") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "12") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "12") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "12") (term "0,0,1,0,0")) - (rule "add_literals" (formula "12") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "12") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "12") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "12") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "12") (term "1,1,0,0")) - (rule "less_than_comparison_simple" (formula "16") (term "1")) - (builtin "One Step Simplification" (formula "16")) - (rule "inEqSimp_ltToLeq" (formula "16") (term "0,0,1,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0,0,0,0,1,0")) - (rule "polySimp_addComm1" (formula "16") (term "0,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "16") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "16") (term "0,0,0,1,0")) - (rule "methodCallEmpty" (formula "16") (term "1")) - (rule "emptyModality" (formula "16") (term "1")) - (builtin "One Step Simplification" (formula "16")) - (rule "impRight" (formula "16")) - (rule "notLeft" (formula "1")) - (rule "inEqSimp_geqRight" (formula "14")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_antiSymm" (formula "11") (ifseqformula "1")) - (rule "applyEq" (formula "12") (term "0") (ifseqformula "11")) - (rule "inEqSimp_homoInEq1" (formula "12")) - (rule "polySimp_pullOutFactor1" (formula "12") (term "0")) - (rule "add_literals" (formula "12") (term "1,0")) - (rule "times_zero_1" (formula "12") (term "0")) - (rule "leq_literals" (formula "12")) - (rule "true_left" (formula "12")) - (rule "applyEq" (formula "1") (term "0") (ifseqformula "11")) - (rule "inEqSimp_homoInEq0" (formula "1")) - (rule "polySimp_pullOutFactor1" (formula "1") (term "0")) - (rule "add_literals" (formula "1") (term "1,0")) - (rule "times_zero_1" (formula "1") (term "0")) - (rule "qeq_literals" (formula "1")) - (rule "true_left" (formula "1")) - (rule "applyEq" (formula "13") (term "1,1,0,0,0") (ifseqformula "10")) - (rule "applyEq" (formula "11") (term "1") (ifseqformula "10")) - (rule "throwUnfold" (formula "16") (term "1") (inst "#v0=r")) - (rule "variableDeclarationAssign" (formula "16") (term "1")) - (rule "variableDeclaration" (formula "16") (term "1") (newnames "r")) - (rule "arrayLengthIsAnInt" (formula "1") (term "1,1,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "true_left" (formula "1")) - (rule "arrayLengthNotNegative" (formula "1") (term "1,1,0,0")) - (rule "instanceCreationAssignment" (formula "17") (term "1") (inst "#v0=r_1")) - (rule "variableDeclarationAssign" (formula "17") (term "1")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "r_1")) - (rule "staticMethodCallStaticWithAssignmentViaTypereference" (formula "17") (term "1") (inst "#v0=r_2")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "r_2")) - (rule "methodBodyExpand" (formula "17") (term "1") (newnames "heapBefore_$createObject,savedHeapBefore_$createObject")) - (builtin "One Step Simplification" (formula "17")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "__NEW__")) - (rule "staticMethodCallStaticWithAssignmentViaTypereference" (formula "17") (term "1") (inst "#v0=r_3")) - (rule "variableDeclaration" (formula "17") (term "1") (newnames "r_3")) - (rule "allocateInstance" (formula "17")) - (builtin "One Step Simplification" (formula "18")) - (builtin "One Step Simplification" (formula "1")) - (rule "wellFormedAnon" (formula "1") (term "0,1,0")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "5")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "11"))) - (rule "notLeft" (formula "1")) - (rule "blockEmpty" (formula "20") (term "1")) - (rule "assignment" (formula "20") (term "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "selectCreatedOfAnonAsFormula" (formula "16")) - (rule "orRight" (formula "16")) - (rule "methodBodyExpand" (formula "21") (term "1") (newnames "heapBefore_$create,savedHeapBefore_$create")) - (builtin "One Step Simplification" (formula "21")) - (rule "assignment_write_attribute_this" (formula "21")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallWithinClass" (formula "21") (term "1")) - (rule "methodBodyExpand" (formula "21") (term "1") (newnames "heapBefore_$prepareEnter,savedHeapBefore_$prepareEnter")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallSuper" (formula "21") (term "1")) - (rule "methodBodyExpand" (formula "21") (term "1") (newnames "heapBefore_$prepare,savedHeapBefore_$prepare")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallSuper" (formula "21") (term "1")) - (rule "methodBodyExpand" (formula "21") (term "1") (newnames "heapBefore_$prepare_0,savedHeapBefore_$prepare_0")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallSuper" (formula "21") (term "1")) - (rule "methodBodyExpand" (formula "21") (term "1") (newnames "heapBefore_$prepare_1,savedHeapBefore_$prepare_1")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallEmpty" (formula "21") (term "1")) - (rule "blockEmpty" (formula "21") (term "1")) - (rule "assignment_write_attribute_this" (formula "21")) - (builtin "One Step Simplification" (formula "21")) - (rule "assignment_write_attribute_this" (formula "21")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallEmpty" (formula "21") (term "1")) - (rule "methodCallEmpty" (formula "21") (term "1")) - (rule "methodCallEmpty" (formula "21") (term "1")) - (rule "blockEmpty" (formula "21") (term "1")) - (rule "methodCallReturnIgnoreResult" (formula "21") (term "1")) - (rule "methodCallReturn" (formula "21") (term "1")) - (rule "assignment" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallEmpty" (formula "21") (term "1")) - (rule "blockEmpty" (formula "21") (term "1")) - (rule "assignment" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodBodyExpand" (formula "21") (term "1") (newnames "heapBefore_$init,savedHeapBefore_$init")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallSuper" (formula "21") (term "1")) - (rule "methodBodyExpand" (formula "21") (term "1") (newnames "heapBefore_$init_0,savedHeapBefore_$init_0")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallSuper" (formula "21") (term "1")) - (rule "methodBodyExpand" (formula "21") (term "1") (newnames "heapBefore_$init_1,savedHeapBefore_$init_1")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallSuper" (formula "21") (term "1")) - (rule "methodBodyExpand" (formula "21") (term "1") (newnames "heapBefore_$init_2,savedHeapBefore_$init_2")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallEmpty" (formula "21") (term "1")) - (rule "methodCallEmpty" (formula "21") (term "1")) - (rule "methodCallEmpty" (formula "21") (term "1")) - (rule "methodCallEmpty" (formula "21") (term "1")) - (rule "blockEmpty" (formula "21") (term "1")) - (rule "assignment_write_attribute" (formula "21")) - (branch "Normal Execution (r_1 != null)" - (builtin "One Step Simplification" (formula "21")) - (rule "assignment" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallParamThrow" (formula "21") (term "1")) - (rule "tryCatchThrow" (formula "21") (term "1")) - (branch "Null reference in throw" - (builtin "One Step Simplification" (formula "22")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) - (rule "closeFalse" (formula "1")) - ) - (branch "Normal execution" - (builtin "One Step Simplification" (formula "21") (ifInst "" (formula "18"))) - (rule "false_right" (formula "21")) - (rule "ifElseSplit" (formula "21")) - (branch "if r instanceof java.lang.Throwable true" - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) - (rule "true_left" (formula "1")) - (rule "variableDeclaration" (formula "21") (term "1") (newnames "e")) - (rule "delete_unnecessary_cast" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "22")) - (builtin "One Step Simplification" (formula "1")) - (rule "true_left" (formula "1")) - (rule "assignment" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "emptyModality" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21") (ifInst "" (formula "18"))) - (rule "eqSymm" (formula "21") (term "1,0,0,1")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "9") (ifseqformula "6")) - (rule "true_left" (formula "9")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "20") (term "0") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "20")) - (rule "allRight" (formula "20") (inst "sk=f_0:Field")) - (rule "allRight" (formula "20") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "20")) - (rule "pullOutSelect" (formula "21") (term "0") (inst "selectSK=f_0_0:any")) - (rule "simplifySelectOfStore" (formula "1")) - (builtin "One Step Simplification" (formula "1")) - (rule "castDel" (formula "1") (term "1,0")) - (rule "eqSymm" (formula "22")) - (rule "eqSymm" (formula "1") (term "0,0,0")) - (rule "eqSymm" (formula "1") (term "1,0,0")) - (rule "pullOutSelect" (formula "1") (term "2,0") (inst "selectSK=f_0_1:any")) - (rule "simplifySelectOfStore" (formula "1")) - (builtin "One Step Simplification" (formula "1")) - (rule "castDel" (formula "1") (term "1,0")) - (rule "eqSymm" (formula "1") (term "0,0,0")) - (rule "eqSymm" (formula "1") (term "1,0,0")) - (rule "pullOutSelect" (formula "1") (term "2,0") (inst "selectSK=f_0_2:any")) - (rule "simplifySelectOfStore" (formula "1")) - (builtin "One Step Simplification" (formula "1")) - (rule "castDel" (formula "1") (term "1,0")) - (rule "eqSymm" (formula "1") (term "0,0,0")) - (rule "eqSymm" (formula "1") (term "1,0,0")) - (rule "pullOutSelect" (formula "1") (term "2,0") (inst "selectSK=f_0_3:any")) - (rule "simplifySelectOfCreate" (formula "1")) - (rule "castDel" (formula "1") (term "1,0")) - (rule "eqSymm" (formula "1") (term "0,0,0,0")) - (rule "replace_known_right" (formula "1") (term "0,1,0,0,0") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "1")) - (rule "pullOutSelect" (formula "1") (term "2,0") (inst "selectSK=f_0_4:any")) - (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "25"))) - (rule "applyEqReverse" (formula "2") (term "2,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "commute_and" (formula "4") (term "0,0")) - (rule "commute_and" (formula "3") (term "0,0")) - (rule "commute_and" (formula "2") (term "0,0")) - (rule "commute_and" (formula "1") (term "0,0")) - (rule "ifthenelse_split" (formula "1") (term "0")) - (branch "f_0 = java.lang.Object::#$created & o_0 = r_3 TRUE" - (rule "andLeft" (formula "1")) - (rule "applyEqReverse" (formula "4") (term "2,0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "replace_known_left" (formula "5") (term "1,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "5")) - (rule "replace_known_left" (formula "4") (term "1,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "4")) - (rule "replace_known_left" (formula "3") (term "1,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "3")) - (rule "applyEq" (formula "25") (term "0,0,0") (ifseqformula "2")) - (rule "replace_known_right" (formula "25") (term "0,0") (ifseqformula "22")) - (builtin "One Step Simplification" (formula "25")) - (rule "notRight" (formula "25")) - (rule "applyEq" (formula "26") (term "1,0") (ifseqformula "3")) - (rule "applyEq" (formula "26") (term "2,0") (ifseqformula "2")) - (rule "narrowSelectType" (formula "26") (term "0") (ifseqformula "10")) - (rule "eqSymm" (formula "26")) - (rule "applyEq" (formula "6") (term "0,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "6")) - (rule "applyEqReverse" (formula "26") (term "0") (ifseqformula "6")) - (rule "hideAuxiliaryEq" (formula "6")) - (rule "applyEq" (formula "5") (term "0,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "5")) - (rule "applyEqReverse" (formula "25") (term "0") (ifseqformula "5")) - (rule "hideAuxiliaryEq" (formula "5")) - (rule "applyEq" (formula "4") (term "0,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "4")) - (rule "applyEqReverse" (formula "24") (term "0") (ifseqformula "4")) - (rule "hideAuxiliaryEq" (formula "4")) - (rule "eqSymm" (formula "23")) - (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "3")) - (rule "close" (formula "18") (ifseqformula "1")) - ) - (branch "f_0 = java.lang.Object::#$created & o_0 = r_3 FALSE" - (rule "applyEqReverse" (formula "2") (term "2,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "ifthenelse_split" (formula "1") (term "0")) - (branch "f_0 = java.lang.Throwable::#message & o_0 = r_3 TRUE" - (rule "andLeft" (formula "1")) - (rule "applyEqReverse" (formula "4") (term "2,0") (ifseqformula "3")) - (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "2"))) - (rule "applyEqReverse" (formula "5") (term "2,0") (ifseqformula "4")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "replace_known_left" (formula "3") (term "1,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "3")) - (rule "replace_known_left" (formula "18") (term "1") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "18")) - (rule "applyEq" (formula "18") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "18")) - (rule "false_right" (formula "18")) - (rule "applyEq" (formula "23") (term "0,0,0") (ifseqformula "2")) - (rule "replace_known_right" (formula "23") (term "0,0") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "23")) - (rule "notRight" (formula "23")) - (rule "applyEq" (formula "24") (term "1,0") (ifseqformula "3")) - (rule "applyEq" (formula "24") (term "2,0") (ifseqformula "2")) - (rule "narrowSelectType" (formula "24") (term "0") (ifseqformula "8")) - (rule "eqSymm" (formula "24")) - (rule "applyEq" (formula "4") (term "0,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "4")) - (rule "applyEqReverse" (formula "24") (term "0") (ifseqformula "4")) - (rule "hideAuxiliaryEq" (formula "4")) - (rule "eqSymm" (formula "23")) - (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "3")) - (rule "close" (formula "18") (ifseqformula "1")) - ) - (branch "f_0 = java.lang.Throwable::#message & o_0 = r_3 FALSE" - (rule "applyEqReverse" (formula "2") (term "2,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "ifthenelse_split" (formula "1") (term "0")) - (branch "f_0 = java.lang.Throwable::#cause & o_0 = r_3 TRUE" - (rule "andLeft" (formula "1")) - (rule "applyEqReverse" (formula "4") (term "2,0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "replace_known_left" (formula "3") (term "1,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "3")) - (rule "replace_known_left" (formula "19") (term "1") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "19")) - (rule "replace_known_left" (formula "18") (term "1") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "18")) - (rule "applyEq" (formula "19") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "19")) - (rule "false_right" (formula "19")) - (rule "applyEq" (formula "18") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "18")) - (rule "false_right" (formula "18")) - (rule "applyEq" (formula "23") (term "0,0,0") (ifseqformula "2")) - (rule "replace_known_right" (formula "23") (term "0,0") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "23")) - (rule "notRight" (formula "23")) - (rule "applyEq" (formula "24") (term "1,0") (ifseqformula "3")) - (rule "applyEq" (formula "24") (term "2,0") (ifseqformula "2")) - (rule "narrowSelectType" (formula "24") (term "0") (ifseqformula "8")) - (rule "eqSymm" (formula "24")) - (rule "applyEq" (formula "4") (term "0,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "4")) - (rule "applyEqReverse" (formula "24") (term "0") (ifseqformula "4")) - (rule "hideAuxiliaryEq" (formula "4")) - (rule "eqSymm" (formula "23")) - (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "3")) - (rule "close" (formula "18") (ifseqformula "1")) - ) - (branch "f_0 = java.lang.Throwable::#cause & o_0 = r_3 FALSE" - (rule "applyEqReverse" (formula "2") (term "2,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "ifthenelse_split" (formula "1") (term "0")) - (branch "f_0 = java.lang.Object::#$initialized & o_0 = r_3 TRUE" - (rule "andLeft" (formula "1")) - (rule "applyEqReverse" (formula "27") (term "1") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "replace_known_left" (formula "19") (term "1") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "19")) - (rule "replace_known_left" (formula "17") (term "1") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "17")) - (rule "replace_known_left" (formula "18") (term "1") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "18")) - (rule "applyEq" (formula "19") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "19")) - (rule "false_right" (formula "19")) - (rule "applyEq" (formula "17") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "false_right" (formula "17")) - (rule "applyEq" (formula "17") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "false_right" (formula "17")) - (rule "applyEq" (formula "22") (term "0,0,0") (ifseqformula "2")) - (rule "replace_known_right" (formula "22") (term "0,0") (ifseqformula "19")) - (builtin "One Step Simplification" (formula "22")) - (rule "notRight" (formula "22")) - (rule "applyEq" (formula "23") (term "1,0") (ifseqformula "3")) - (rule "applyEq" (formula "23") (term "2,0") (ifseqformula "2")) - (rule "narrowSelectType" (formula "23") (term "0") (ifseqformula "7")) - (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "3")) - (rule "close" (formula "18") (ifseqformula "1")) - ) - (branch "f_0 = java.lang.Object::#$initialized & o_0 = r_3 FALSE" - (rule "close" (formula "26") (ifseqformula "1")) - ) - ) - ) - ) - ) - (branch "if r instanceof java.lang.Throwable false" - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) - (rule "closeFalse" (formula "1")) - ) - ) - ) - (branch "Null Reference (r_1 = null)" - (builtin "One Step Simplification" (formula "22")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "19"))) - (rule "close" (formula "22") (ifseqformula "1")) - ) - ) -) -(branch "Null Reference (_a = null)" - (builtin "One Step Simplification" (formula "11")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "10"))) - (rule "close" (formula "11") (ifseqformula "1")) -) -) -} diff --git a/key.ui/examples/heap/FM2024Tutorial/BinarySearch/BinSearch_binSearch_normal.key.proof b/key.ui/examples/heap/FM2024Tutorial/BinarySearch/BinSearch_binSearch_normal.key.proof deleted file mode 100644 index 3ecf0688e64..00000000000 --- a/key.ui/examples/heap/FM2024Tutorial/BinarySearch/BinSearch_binSearch_normal.key.proof +++ /dev/null @@ -1,2644 +0,0 @@ -\profile "Java Profile"; - -\settings { - "Choice" : { - "JavaCard" : "JavaCard:off", - "Strings" : "Strings:on", - "assertions" : "assertions:safe", - "bigint" : "bigint:on", - "finalFields" : "finalFields:immutable", - "floatRules" : "floatRules:strictfpOnly", - "initialisation" : "initialisation:disableStaticInitialisation", - "intRules" : "intRules:arithmeticSemanticsIgnoringOF", - "integerSimplificationRules" : "integerSimplificationRules:full", - "javaLoopTreatment" : "javaLoopTreatment:efficient", - "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", - "methodExpansion" : "methodExpansion:modularOnly", - "modelFields" : "modelFields:treatAsAxiom", - "moreSeqRules" : "moreSeqRules:off", - "permissions" : "permissions:off", - "programRules" : "programRules:Java", - "reach" : "reach:on", - "runtimeExceptions" : "runtimeExceptions:ban", - "sequences" : "sequences:on", - "soundDefaultContracts" : "soundDefaultContracts:on", - "wdChecks" : "wdChecks:off", - "wdOperator" : "wdOperator:L" - }, - "Labels" : { - "UseOriginLabels" : true - }, - "NewSMT" : { - "Axiomatisations" : "false", - "Presburger" : "false", - "sqrtSMTTranslation" : "SMT" - }, - "SMTSettings" : { - "SelectedTaclets" : [ - - ], - "UseBuiltUniqueness" : false, - "explicitTypeHierarchy" : false, - "instantiateHierarchyAssumptions" : true, - "integersMaximum" : 2147483645, - "integersMinimum" : -2147483645, - "invariantForall" : false, - "maxGenericSorts" : 2, - "useConstantsForBigOrSmallIntegers" : true, - "useUninterpretedMultiplication" : true - }, - "Strategy" : { - "ActiveStrategy" : "Modular JavaDL Strategy", - "MaximumNumberOfAutomaticApplications" : 10000, - "Timeout" : -1, - "options" : { - "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", - "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", - "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", - "DEP_OPTIONS_KEY" : "DEP_ON", - "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", - "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", - "MPS_OPTIONS_KEY" : "MPS_MERGE", - "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_DEF_OPS", - "OSS_OPTIONS_KEY" : "OSS_ON", - "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", - "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_OFF", - "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", - "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", - "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", - "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", - "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", - "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", - "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", - "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", - "VBT_PHASE" : "VBT_SYM_EX" - } - } -} - - -\bootclasspath "../../../../../key.core/build/resources/main/de/uka/ilkd/key/java/JavaRedux"; -\javaSource "src"; - -\proofObligation -// -{ - "class" : "de.uka.ilkd.key.proof.init.FunctionalOperationContractPO", - "contract" : "BinSearch[BinSearch::binSearch([I,int)].JML normal_behavior operation contract.0", - "name" : "BinSearch[BinSearch::binSearch([I,int)].JML normal_behavior operation contract.0" -} - -\proof { -(keyLog "0" (keyUser "daniel" ) (keyVersion "ba42c20cd404dc00d6aaa5695542be46eee5b0b6")) - -(autoModeTime "1744") - -(branch "dummy ID" - (builtin "One Step Simplification" (formula "1")) -(rule "impRight" (formula "1")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "3")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "5")) -(rule "andLeft" (formula "1")) -(rule "andLeft" (formula "7")) -(rule "andLeft" (formula "1")) -(rule "notLeft" (formula "9")) -(rule "andLeft" (formula "1")) -(rule "notLeft" (formula "2")) -(rule "exLeft" (formula "6") (inst "sk=idx_0:int")) -(rule "andLeft" (formula "6")) -(rule "andLeft" (formula "6")) -(rule "eqSymm" (formula "13") (term "1,0,0,1,0,1")) -(rule "replace_known_right" (formula "4") (term "0") (ifseqformula "12")) - (builtin "One Step Simplification" (formula "4")) -(rule "inEqSimp_ltToLeq" (formula "13") (term "1,0,0,0,0,1")) -(rule "polySimp_mulComm0" (formula "13") (term "1,0,0,1,0,0,0,0,1")) -(rule "polySimp_addComm1" (formula "13") (term "0,1,0,0,0,0,1")) -(rule "inEqSimp_ltToLeq" (formula "9") (term "1,0,0,0,0")) -(rule "polySimp_mulComm0" (formula "9") (term "1,0,0,1,0,0,0,0")) -(rule "polySimp_addComm1" (formula "9") (term "0,1,0,0,0,0")) -(rule "inEqSimp_ltToLeq" (formula "9") (term "1,0,0,0")) -(rule "polySimp_mulComm0" (formula "9") (term "1,0,0,1,0,0,0")) -(rule "inEqSimp_ltToLeq" (formula "7")) -(rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) -(rule "polySimp_addComm1" (formula "7") (term "0")) -(rule "inEqSimp_commuteLeq" (formula "13") (term "0,0,0,0,0,1")) -(rule "inEqSimp_commuteLeq" (formula "9") (term "0,0,0,0,0")) -(rule "inEqSimp_commuteLeq" (formula "9") (term "1,0,0")) -(rule "inEqSimp_commuteLeq" (formula "6")) -(rule "assignment" (formula "13") (term "1")) - (builtin "One Step Simplification" (formula "13")) -(rule "inEqSimp_sepNegMonomial0" (formula "9") (term "1,0,0,0,0")) -(rule "polySimp_mulLiterals" (formula "9") (term "0,1,0,0,0,0")) -(rule "polySimp_elimOne" (formula "9") (term "0,1,0,0,0,0")) -(rule "inEqSimp_sepPosMonomial0" (formula "9") (term "1,0,0,0")) -(rule "polySimp_mulComm0" (formula "9") (term "1,1,0,0,0")) -(rule "polySimp_rightDist" (formula "9") (term "1,1,0,0,0")) -(rule "mul_literals" (formula "9") (term "0,1,1,0,0,0")) -(rule "polySimp_mulLiterals" (formula "9") (term "1,1,1,0,0,0")) -(rule "polySimp_elimOne" (formula "9") (term "1,1,1,0,0,0")) -(rule "inEqSimp_sepNegMonomial0" (formula "7")) -(rule "polySimp_mulLiterals" (formula "7") (term "0")) -(rule "polySimp_elimOne" (formula "7") (term "0")) -(rule "inEqSimp_sepNegMonomial0" (formula "13") (term "1,0,0,0,0,1")) -(rule "polySimp_mulLiterals" (formula "13") (term "0,1,0,0,0,0,1")) -(rule "polySimp_elimOne" (formula "13") (term "0,1,0,0,0,0,1")) -(rule "nnf_imp2or" (formula "9") (term "0,0")) -(rule "nnf_notAnd" (formula "9") (term "0,0,0")) -(rule "inEqSimp_notLeq" (formula "9") (term "1,0,0,0")) -(rule "polySimp_rightDist" (formula "9") (term "1,0,0,1,0,0,0")) -(rule "mul_literals" (formula "9") (term "0,1,0,0,1,0,0,0")) -(rule "polySimp_addAssoc" (formula "9") (term "0,0,1,0,0,0")) -(rule "add_literals" (formula "9") (term "0,0,0,1,0,0,0")) -(rule "add_zero_left" (formula "9") (term "0,0,1,0,0,0")) -(rule "inEqSimp_sepPosMonomial1" (formula "9") (term "1,0,0,0")) -(rule "polySimp_mulLiterals" (formula "9") (term "1,1,0,0,0")) -(rule "polySimp_elimOne" (formula "9") (term "1,1,0,0,0")) -(rule "nnf_notAnd" (formula "9") (term "0,0,0,0")) -(rule "inEqSimp_notGeq" (formula "9") (term "0,0,0,0,0")) -(rule "mul_literals" (formula "9") (term "1,0,0,0,0,0,0,0")) -(rule "add_literals" (formula "9") (term "0,0,0,0,0,0,0")) -(rule "inEqSimp_sepPosMonomial0" (formula "9") (term "0,0,0,0,0")) -(rule "mul_literals" (formula "9") (term "1,0,0,0,0,0")) -(rule "inEqSimp_notGeq" (formula "9") (term "1,0,0,0,0")) -(rule "polySimp_rightDist" (formula "9") (term "1,0,0,1,0,0,0,0")) -(rule "mul_literals" (formula "9") (term "0,1,0,0,1,0,0,0,0")) -(rule "polySimp_addAssoc" (formula "9") (term "0,0,1,0,0,0,0")) -(rule "add_literals" (formula "9") (term "0,0,0,1,0,0,0,0")) -(rule "add_zero_left" (formula "9") (term "0,0,1,0,0,0,0")) -(rule "inEqSimp_sepPosMonomial0" (formula "9") (term "1,0,0,0,0")) -(rule "polySimp_mulLiterals" (formula "9") (term "1,1,0,0,0,0")) -(rule "polySimp_elimOne" (formula "9") (term "1,1,0,0,0,0")) -(rule "commute_or_2" (formula "9") (term "0,0,0")) -(rule "methodBodyExpand" (formula "13") (term "1") (newnames "heapBefore_binSearch,savedHeapBefore_binSearch,_aBefore_binSearch,_vBefore_binSearch")) - (builtin "One Step Simplification" (formula "13")) -(rule "variableDeclarationAssign" (formula "13") (term "1")) -(rule "variableDeclaration" (formula "13") (term "1") (newnames "low")) -(rule "assignment" (formula "13") (term "1")) - (builtin "One Step Simplification" (formula "13")) -(rule "variableDeclarationAssign" (formula "13") (term "1")) -(rule "variableDeclaration" (formula "13") (term "1") (newnames "up")) -(rule "assignment_read_length" (formula "13")) -(branch "Normal Execution (_a != null)" - (builtin "One Step Simplification" (formula "13")) - (builtin "Loop Invariant" (formula "13") (newnames "variant,b,heapBefore_LOOP,lowBefore_LOOP,upBefore_LOOP,low_0,up_0,heap_After_LOOP,anon_heap_LOOP,o,f")) - (branch "Invariant Initially Valid" - (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "1"))) - (rule "leq_literals" (formula "13") (term "0,0,0,0")) - (builtin "One Step Simplification" (formula "13")) - (rule "inEqSimp_ltToLeq" (formula "13") (term "1,0,0,1,0")) - (rule "mul_literals" (formula "13") (term "1,0,0,1,0,0,1,0")) - (rule "add_literals" (formula "13") (term "0,0,1,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "13") (term "1,0,0,1")) - (rule "polySimp_mulComm0" (formula "13") (term "1,0,0,1,0,0,1")) - (rule "inEqSimp_commuteLeq" (formula "13") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "13") (term "0,0,0,1,0")) - (rule "inEqSimp_commuteLeq" (formula "13") (term "0,0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "13") (term "1,0,0")) - (rule "polySimp_pullOutFactor1" (formula "13") (term "0,1,0,0")) - (rule "add_literals" (formula "13") (term "1,0,1,0,0")) - (rule "times_zero_1" (formula "13") (term "0,1,0,0")) - (rule "qeq_literals" (formula "13") (term "1,0,0")) - (builtin "One Step Simplification" (formula "13")) - (rule "inEqSimp_sepPosMonomial0" (formula "13") (term "1,0,0,1,0")) - (rule "mul_literals" (formula "13") (term "1,1,0,0,1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "13") (term "1,0,0,1")) - (rule "polySimp_mulComm0" (formula "13") (term "1,1,0,0,1")) - (rule "polySimp_rightDist" (formula "13") (term "1,1,0,0,1")) - (rule "mul_literals" (formula "13") (term "0,1,1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,1,1,0,0,1")) - (rule "polySimp_elimOne" (formula "13") (term "1,1,1,0,0,1")) - (rule "nnf_imp2or" (formula "13") (term "0,1")) - (rule "nnf_imp2or" (formula "13") (term "0,1,0")) - (rule "nnf_notAnd" (formula "13") (term "0,0,1")) - (rule "inEqSimp_notGeq" (formula "13") (term "0,0,0,1")) - (rule "polySimp_mulComm0" (formula "13") (term "1,0,0,0,0,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "13") (term "0,0,0,1")) - (rule "polySimp_mulComm0" (formula "13") (term "1,0,0,0,1")) - (rule "polySimp_rightDist" (formula "13") (term "1,0,0,0,1")) - (rule "mul_literals" (formula "13") (term "0,1,0,0,0,1")) - (rule "polySimp_mulLiterals" (formula "13") (term "1,1,0,0,0,1")) - (rule "polySimp_elimOne" (formula "13") (term "1,1,0,0,0,1")) - (builtin "One Step Simplification" (formula "13")) - (rule "nnf_notAnd" (formula "13") (term "0,0,1")) - (rule "inEqSimp_notGeq" (formula "13") (term "0,0,0,1")) - (rule "mul_literals" (formula "13") (term "1,0,0,0,0,0,1")) - (rule "add_literals" (formula "13") (term "0,0,0,0,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "13") (term "0,0,0,1")) - (rule "mul_literals" (formula "13") (term "1,0,0,0,1")) - (builtin "One Step Simplification" (formula "13")) - (rule "inEqSimp_geqRight" (formula "13")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_literals" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "mul_literals" (formula "1") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "add_literals" (formula "8") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "7") (ifseqformula "8")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "closeFalse" (formula "7")) - ) - (branch "Body Preserves Invariant" - (builtin "One Step Simplification" (formula "15")) - (builtin "One Step Simplification" (formula "12")) - (rule "impRight" (formula "15")) - (rule "andLeft" (formula "13")) - (rule "andLeft" (formula "13")) - (rule "andLeft" (formula "13")) - (rule "andLeft" (formula "13")) - (rule "eqSymm" (formula "20") (term "1,0,0,1,0,1,1,1,0,1")) - (rule "polySimp_elimSub" (formula "20") (term "0,1,1,1,0")) - (rule "polySimp_elimSub" (formula "20") (term "0,1,1,1,1,0,1")) - (rule "polySimp_addComm0" (formula "20") (term "0,1,1,1,0")) - (rule "polySimp_addComm0" (formula "20") (term "0,1,1,1,1,0,1")) - (rule "inEqSimp_ltToLeq" (formula "20") (term "1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_ltToLeq" (formula "20") (term "1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_ltToLeq" (formula "17") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "17") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "16") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0,0,1,0,0")) - (rule "inEqSimp_commuteLeq" (formula "20") (term "0,0,0,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_commuteLeq" (formula "20") (term "1,0,0,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_commuteLeq" (formula "20") (term "1,0,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_commuteLeq" (formula "20") (term "0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_commuteLeq" (formula "20") (term "0,0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_commuteLeq" (formula "17") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "16") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "15")) - (rule "inEqSimp_commuteLeq" (formula "13")) - (rule "inEqSimp_commuteLeq" (formula "14")) - (rule "variableDeclarationAssign" (formula "1") (term "1")) - (rule "variableDeclarationAssign" (formula "20") (term "1")) - (rule "variableDeclaration" (formula "1") (term "1") (newnames "b_1")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "rtrn")) - (rule "assignment" (formula "20") (term "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "returnExpr")) - (rule "variableDeclarationAssign" (formula "20") (term "1")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "exc_1")) - (rule "assignment" (formula "20") (term "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "thrownExc")) - (rule "blockThrow" (formula "20") (term "1,0,0,1")) - (rule "blockReturn" (formula "20") (term "1,0,1,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "17") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "17") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "17") (term "1,1,0,0")) - (rule "mul_literals" (formula "17") (term "0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "17") (term "1,1,1,0,0")) - (rule "polySimp_elimOne" (formula "17") (term "1,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "16") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "16") (term "1,1,0,0")) - (rule "mul_literals" (formula "16") (term "0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,1,1,0,0")) - (rule "polySimp_elimOne" (formula "16") (term "1,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "20") (term "1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_mulLiterals" (formula "20") (term "1,1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_elimOne" (formula "20") (term "1,1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "20") (term "1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulLiterals" (formula "20") (term "1,1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_elimOne" (formula "20") (term "1,1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "boxToDiamond" (formula "1") (term "1")) - (builtin "One Step Simplification" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "nnf_imp2or" (formula "16") (term "0")) - (rule "nnf_imp2or" (formula "15") (term "0")) - (rule "nnf_notAnd" (formula "16") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "16") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "16") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "16") (term "1,0,0,0")) - (rule "mul_literals" (formula "16") (term "0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,1,0,0,0")) - (rule "polySimp_elimOne" (formula "16") (term "1,1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "16") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "16") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "16") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "16") (term "0,0,1,0,0")) - (rule "add_literals" (formula "16") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "16") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "16") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "16") (term "1,1,0,0")) - (rule "nnf_notAnd" (formula "15") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "15") (term "0,0,0")) - (rule "mul_literals" (formula "15") (term "1,0,0,0,0,0")) - (rule "add_literals" (formula "15") (term "0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "15") (term "0,0,0")) - (rule "mul_literals" (formula "15") (term "1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "15") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "15") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "15") (term "0,0,1,0,0")) - (rule "add_literals" (formula "15") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "15") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "15") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "1,1,0,0")) - (rule "nnf_imp2or" (formula "20") (term "0,1,0,0,1,1,1,0,1")) - (rule "nnf_imp2or" (formula "20") (term "0,1,0,0,0,1,1,1,0,1")) - (rule "nnf_notAnd" (formula "20") (term "0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_notGeq" (formula "20") (term "0,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,0,0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "20") (term "0,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,0,0,1,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulLiterals" (formula "20") (term "1,1,0,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_elimOne" (formula "20") (term "1,1,0,0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_notLeq" (formula "20") (term "1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "add_literals" (formula "20") (term "0,0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "add_zero_left" (formula "20") (term "0,0,1,0,0,1,0,0,1,1,1,0,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "20") (term "1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_mulLiterals" (formula "20") (term "1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "polySimp_elimOne" (formula "20") (term "1,1,0,0,1,0,0,1,1,1,0,1")) - (rule "nnf_notAnd" (formula "20") (term "0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_notGeq" (formula "20") (term "0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "20") (term "1,0,0,0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "add_literals" (formula "20") (term "0,0,0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "20") (term "0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "20") (term "1,0,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_notLeq" (formula "20") (term "1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_rightDist" (formula "20") (term "1,0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "mul_literals" (formula "20") (term "0,1,0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_addAssoc" (formula "20") (term "0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "add_literals" (formula "20") (term "0,0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "add_zero_left" (formula "20") (term "0,0,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "20") (term "1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_mulLiterals" (formula "20") (term "1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "polySimp_elimOne" (formula "20") (term "1,1,0,0,1,0,0,0,1,1,1,0,1")) - (rule "less_than_comparison_simple" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "inEqSimp_ltToLeq" (formula "17") (term "0,0,1,0")) - (rule "polySimp_mulComm0" (formula "17") (term "1,0,0,0,0,1,0")) - (rule "polySimp_addComm1" (formula "17") (term "0,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "17") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "17") (term "0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "17") (term "0,0,0,1,0")) - (rule "methodCallEmpty" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "emptyModality" (formula "17") (term "1")) - (builtin "One Step Simplification" (formula "17")) - (rule "notRight" (formula "17")) - (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "1")) - (rule "inEqSimp_homoInEq0" (formula "14") (term "0")) - (rule "polySimp_pullOutFactor1b" (formula "14") (term "0,0")) - (rule "add_literals" (formula "14") (term "1,1,0,0")) - (rule "times_zero_1" (formula "14") (term "1,0,0")) - (rule "add_literals" (formula "14") (term "0,0")) - (rule "qeq_literals" (formula "14") (term "0")) - (builtin "One Step Simplification" (formula "14")) - (rule "true_left" (formula "14")) - (rule "arrayLengthIsAnInt" (formula "8") (term "0")) - (builtin "One Step Simplification" (formula "8")) - (rule "true_left" (formula "8")) - (rule "arrayLengthNotNegative" (formula "8") (term "0")) - (rule "ifUnfold" (formula "20") (term "1") (inst "#boolv=b_2")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "b_2")) - (rule "less_than_comparison_simple" (formula "20") (term "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "inEqSimp_ltToLeq" (formula "20") (term "0,0,1,0")) - (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,0,0,1,0")) - (rule "polySimp_addComm1" (formula "20") (term "0,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "20") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "20") (term "0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "20") (term "0,0,0,1,0")) - (rule "replace_known_left" (formula "20") (term "0,0,1,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "ifSplit" (formula "20")) - (branch "if b_2 true" - (builtin "One Step Simplification" (formula "21")) - (builtin "One Step Simplification" (formula "1")) - (rule "true_left" (formula "1")) - (rule "variableDeclarationAssign" (formula "20") (term "1")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "mid")) - (rule "compound_addition_2" (formula "20") (term "1") (inst "#v0=i") (inst "#v1=i_1")) - (rule "variableDeclarationAssign" (formula "20") (term "1")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "i")) - (rule "assignment" (formula "20") (term "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "variableDeclarationAssign" (formula "20") (term "1")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "i_1")) - (rule "remove_parentheses_right" (formula "20") (term "1")) - (rule "compound_division_1" (formula "20") (term "1") (inst "#v=i_2")) - (rule "variableDeclarationAssign" (formula "20") (term "1")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "i_2")) - (rule "remove_parentheses_right" (formula "20") (term "1")) - (rule "assignmentSubtractionInt" (formula "20") (term "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "translateJavaSubInt" (formula "20") (term "0,1,0")) - (rule "polySimp_elimSub" (formula "20") (term "0,1,0")) - (rule "polySimp_addComm0" (formula "20") (term "0,1,0")) - (rule "assignmentDivisionInt" (formula "20")) - (branch - (builtin "One Step Simplification" (formula "20")) - (rule "translateJavaDivInt" (formula "20") (term "0,1,0")) - (rule "assignmentAdditionInt" (formula "20") (term "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "translateJavaAddInt" (formula "20") (term "0,1,0")) - (rule "ifElseUnfold" (formula "20") (term "1") (inst "#boolv=b_3")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "b_3")) - (rule "compound_equality_comparison_2" (formula "20") (term "1") (inst "#v0=i_3") (inst "#v1=i_4")) - (rule "variableDeclarationAssign" (formula "20") (term "1")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "i_3")) - (rule "assignment" (formula "20") (term "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "variableDeclarationAssign" (formula "20") (term "1")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "i_4")) - (rule "assignment_array2" (formula "20")) - (branch "Normal Execution (_a != null)" - (builtin "One Step Simplification" (formula "20")) - (rule "pullOutSelect" (formula "20") (term "0,1,0") (inst "selectSK=arr_0:int")) - (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20")) (ifInst "" (formula "6"))) - (rule "applyEqReverse" (formula "21") (term "0,1,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "equality_comparison_simple" (formula "20") (term "1")) - (builtin "One Step Simplification" (formula "20")) - (rule "eqSymm" (formula "20") (term "0,0,1,0")) - (rule "ifElseSplit" (formula "20")) - (branch "if b_3 true" - (builtin "One Step Simplification" (formula "21")) - (builtin "One Step Simplification" (formula "1")) - (rule "assignment" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "assignment" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "break" (formula "21") (term "1")) - (rule "blockEmpty" (formula "21") (term "1")) - (rule "tryEmpty" (formula "21") (term "1")) - (rule "methodCallEmpty" (formula "21") (term "1")) - (rule "emptyModality" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallReturn" (formula "21") (term "1")) - (rule "assignment" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "methodCallEmpty" (formula "21") (term "1")) - (rule "tryEmpty" (formula "21") (term "1")) - (rule "emptyModality" (formula "21") (term "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "replaceKnownSelect_taclet00010_0" (formula "21") (term "0,0,1,0")) - (rule "replaceKnownAuxiliaryConstant_taclet00010_1" (formula "21") (term "0,0,1,0")) - (rule "eqSymm" (formula "21") (term "1,0,0,1")) - (rule "replace_known_left" (formula "21") (term "0,1,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "21")) - (rule "polySimp_addAssoc" (formula "21") (term "1,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "21") (term "0,0,0")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "13") (ifseqformula "5")) - (rule "true_left" (formula "13")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "20") (term "1,0") (ifseqformula "5")) - (builtin "One Step Simplification" (formula "20")) - (rule "jdiv_axiom" (formula "1") (term "1,0,2,0")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,2,0")) - (rule "polySimp_rightDist" (formula "1") (term "0,0,2,0")) - (rule "polySimp_mulAssoc" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,0,0,2,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,0,2,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "eqSymm" (formula "1")) - (rule "applyEq" (formula "21") (term "0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "21") (term "1,1,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "2") (term "1,0,2,0") (ifseqformula "1")) - (rule "polyDiv_pullOut" (formula "21") (term "0,0,0") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "21") (term "0,0,0,0")) - (builtin "One Step Simplification" (formula "21")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,0,0,0,0,0")) - (rule "polySimp_addComm0" (formula "21") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "21") (term "0,1,0,0,0")) - (rule "polySimp_pullOutFactor0" (formula "21") (term "0,0,1,0,0,0")) - (rule "add_literals" (formula "21") (term "1,0,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "21") (term "0,0,1,0,0,0")) - (rule "inEqSimp_homoInEq1" (formula "21") (term "0,0")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,0,0,0")) - (rule "polySimp_mulAssoc" (formula "21") (term "0,1,0,0,0")) - (rule "polySimp_mulComm0" (formula "21") (term "0,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "21") (term "0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "21") (term "0,0,0")) - (rule "polySimp_pullOutFactor2" (formula "21") (term "0,0,0,0")) - (rule "add_literals" (formula "21") (term "1,0,0,0,0")) - (rule "times_zero_1" (formula "21") (term "0,0,0,0")) - (rule "add_zero_left" (formula "21") (term "0,0,0")) - (rule "inEqSimp_invertInEq0" (formula "21") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "0,0,0")) - (rule "mul_literals" (formula "21") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "21") (term "0,0,0")) - (rule "polyDiv_pullOut" (formula "1") (term "1") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_addComm0" (formula "1") (term "1")) - (rule "polySimp_addComm1" (formula "1") (term "0,1,1")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0,1,1")) - (rule "add_literals" (formula "1") (term "1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,1,1")) - (rule "polyDiv_pullOut" (formula "2") (term "1,0,2,0") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "2") (term "0,1,0,2,0")) - (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,0,2,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,0,2,0")) - (rule "polySimp_addComm0" (formula "2") (term "1,0,2,0")) - (rule "polySimp_addComm1" (formula "2") (term "0,1,1,0,2,0")) - (rule "polySimp_pullOutFactor0" (formula "2") (term "0,0,1,1,0,2,0")) - (rule "add_literals" (formula "2") (term "1,0,0,1,1,0,2,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,0,1,1,0,2,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0,2,0")) - (rule "polySimp_pullOutFactor1" (formula "2") (term "0,0,2,0")) - (rule "add_literals" (formula "2") (term "1,0,0,2,0")) - (rule "times_zero_1" (formula "2") (term "0,0,2,0")) - (rule "add_zero_left" (formula "2") (term "0,2,0")) - (rule "polyDiv_pullOut" (formula "21") (term "1,1,1,0") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "21") (term "0,1,1,1,0")) - (builtin "One Step Simplification" (formula "21")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,0,0,1,1,1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,0,0,1,1,1,0")) - (rule "polySimp_addComm0" (formula "21") (term "1,1,1,0")) - (rule "polySimp_addComm1" (formula "21") (term "0,1,1,1,1,0")) - (rule "polySimp_pullOutFactor0" (formula "21") (term "0,0,1,1,1,1,0")) - (rule "add_literals" (formula "21") (term "1,0,0,1,1,1,1,0")) - (rule "polySimp_elimOne" (formula "21") (term "0,0,1,1,1,1,0")) - (rule "polySimp_addAssoc" (formula "21") (term "1,1,0")) - (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,1,1,0")) - (rule "add_literals" (formula "21") (term "1,1,0,1,1,0")) - (rule "times_zero_1" (formula "21") (term "1,0,1,1,0")) - (rule "add_literals" (formula "21") (term "0,1,1,0")) - (rule "div_axiom" (formula "1") (term "1,1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "qeq_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "mul_literals" (formula "1") (term "1,1,1")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "polySimp_addAssoc" (formula "3") (term "0,1")) - (rule "polySimp_addComm1" (formula "3") (term "1")) - (rule "polySimp_addComm1" (formula "3") (term "0,1")) - (rule "add_literals" (formula "3") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "applyEq" (formula "24") (term "0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "24") (term "1,1,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "5") (term "0,2,0") (ifseqformula "1")) - (rule "applyEq" (formula "4") (term "1,1") (ifseqformula "1")) - (rule "polySimp_addComm0" (formula "4") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "polySimp_mulComm0" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "0,1")) - (rule "mul_literals" (formula "3") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,1")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "3")) - (rule "polySimp_rightDist" (formula "6") (term "0,0")) - (rule "mul_literals" (formula "6") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0")) - (rule "polySimp_addComm1" (formula "6") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "0,0,0")) - (rule "add_zero_left" (formula "6") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "0")) - (rule "elimGcdLeq_antec" (formula "6") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low_0") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "6") (term "0,0")) - (builtin "One Step Simplification" (formula "6")) - (rule "neg_literal" (formula "6") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_zero_right" (formula "6") (term "0,0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "6")) - (rule "mul_literals" (formula "19") (term "0,0")) - (rule "add_zero_left" (formula "19") (term "0")) - (rule "replace_known_left" (formula "26") (term "0,0") (ifseqformula "19")) - (builtin "One Step Simplification" (formula "26")) - (rule "cut_direct" (formula "26") (term "0")) - (branch "CUT: a.length >= 1 + quotient_0 TRUE" - (builtin "One Step Simplification" (formula "27")) - (rule "allRight" (formula "27") (inst "sk=f_0:Field")) - (rule "allRight" (formula "27") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "27")) - (rule "pullOutSelect" (formula "28") (term "0") (inst "selectSK=f_0_0:any")) - (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "28"))) - (rule "applyEqReverse" (formula "29") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "29")) - (rule "closeTrue" (formula "29")) - ) - (branch "CUT: a.length >= 1 + quotient_0 FALSE" - (builtin "One Step Simplification" (formula "27")) - (rule "false_right" (formula "27")) - (rule "inEqSimp_geqRight" (formula "26")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "15") (ifseqformula "1")) - (rule "mul_literals" (formula "15") (term "0,0")) - (rule "add_zero_left" (formula "15") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "16") (term "0,0")) - (rule "mul_literals" (formula "16") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "16") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "16")) - (rule "polySimp_mulLiterals" (formula "16") (term "0")) - (rule "polySimp_elimOne" (formula "16") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "23") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "23") (term "0,0")) - (rule "polySimp_addComm0" (formula "23") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "23")) - (rule "polySimp_mulLiterals" (formula "23") (term "0")) - (rule "polySimp_elimOne" (formula "23") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "14") (ifseqformula "16")) - (rule "mul_literals" (formula "14") (term "0,0")) - (rule "add_zero_left" (formula "14") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "14")) - (rule "mul_literals" (formula "14") (term "1")) - (rule "inEqSimp_subsumption1" (formula "22") (ifseqformula "14")) - (rule "leq_literals" (formula "22") (term "0")) - (builtin "One Step Simplification" (formula "22")) - (rule "true_left" (formula "22")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "23")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) - (rule "inEqSimp_subsumption0" (formula "7") (ifseqformula "8")) - (rule "inEqSimp_homoInEq0" (formula "7") (term "0")) - (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "7") (term "1,0,0")) - (rule "mul_literals" (formula "7") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "7") (term "0,0")) - (rule "polySimp_addComm0" (formula "7") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "7") (term "0,0")) - (rule "add_literals" (formula "7") (term "1,1,0,0")) - (rule "times_zero_1" (formula "7") (term "1,0,0")) - (rule "add_literals" (formula "7") (term "0,0")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "23")) - (rule "polySimp_rightDist" (formula "3") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "3") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1")) - (rule "polySimp_elimOne" (formula "3") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "8")) - (rule "andLeft" (formula "3")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,0")) - (rule "mul_literals" (formula "3") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) - (rule "add_literals" (formula "3") (term "1,1,0")) - (rule "times_zero_1" (formula "3") (term "1,0")) - (rule "add_literals" (formula "3") (term "0")) - (rule "leq_literals" (formula "3")) - (rule "closeFalse" (formula "3")) - ) - ) - (branch "if b_3 false" - (builtin "One Step Simplification" (formula "21")) - (builtin "One Step Simplification" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "unusedLabel" (formula "21") (term "1")) - (rule "jdiv_axiom" (formula "18") (term "1,0,2,0")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,2,0")) - (rule "polySimp_rightDist" (formula "1") (term "0,0,2,0")) - (rule "polySimp_mulAssoc" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,0,0,2,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,0,2,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "2")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "eqSymm" (formula "1")) - (rule "applyEq" (formula "22") (term "1,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "19") (term "1,0,2,0") (ifseqformula "1")) - (rule "polyDiv_pullOut" (formula "22") (term "1,0,1,0") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "22") (term "0,1,0,1,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "polySimp_mulLiterals" (formula "22") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "22") (term "1,0,0,1,0,1,0")) - (rule "polySimp_addComm0" (formula "22") (term "1,0,1,0")) - (rule "polySimp_addComm1" (formula "22") (term "0,1,1,0,1,0")) - (rule "polySimp_pullOutFactor0" (formula "22") (term "0,0,1,1,0,1,0")) - (rule "add_literals" (formula "22") (term "1,0,0,1,1,0,1,0")) - (rule "polySimp_elimOne" (formula "22") (term "0,0,1,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "22") (term "0,1,0")) - (rule "polySimp_pullOutFactor1" (formula "22") (term "0,0,1,0")) - (rule "add_literals" (formula "22") (term "1,0,0,1,0")) - (rule "times_zero_1" (formula "22") (term "0,0,1,0")) - (rule "add_zero_left" (formula "22") (term "0,1,0")) - (rule "polyDiv_pullOut" (formula "1") (term "1") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_addComm0" (formula "1") (term "1")) - (rule "polySimp_addComm1" (formula "1") (term "0,1,1")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0,1,1")) - (rule "add_literals" (formula "1") (term "1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,1,1")) - (rule "polyDiv_pullOut" (formula "19") (term "1,0,2,0") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "19") (term "0,1,0,2,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "polySimp_mulLiterals" (formula "19") (term "1,0,0,1,0,2,0")) - (rule "polySimp_mulLiterals" (formula "19") (term "1,0,0,1,0,2,0")) - (rule "polySimp_addComm0" (formula "19") (term "1,0,2,0")) - (rule "polySimp_addComm1" (formula "19") (term "0,1,1,0,2,0")) - (rule "polySimp_pullOutFactor0" (formula "19") (term "0,0,1,1,0,2,0")) - (rule "add_literals" (formula "19") (term "1,0,0,1,1,0,2,0")) - (rule "polySimp_elimOne" (formula "19") (term "0,0,1,1,0,2,0")) - (rule "polySimp_addAssoc" (formula "19") (term "0,2,0")) - (rule "polySimp_pullOutFactor1" (formula "19") (term "0,0,2,0")) - (rule "add_literals" (formula "19") (term "1,0,0,2,0")) - (rule "times_zero_1" (formula "19") (term "0,0,2,0")) - (rule "add_zero_left" (formula "19") (term "0,2,0")) - (rule "ifElseUnfold" (formula "22") (term "1") (inst "#boolv=b_4")) - (rule "variableDeclaration" (formula "22") (term "1") (newnames "b_4")) - (rule "compound_less_than_comparison_2" (formula "22") (term "1") (inst "#v0=i_5") (inst "#v1=i_6")) - (rule "variableDeclarationAssign" (formula "22") (term "1")) - (rule "variableDeclaration" (formula "22") (term "1") (newnames "i_5")) - (rule "assignment" (formula "22") (term "1")) - (builtin "One Step Simplification" (formula "22")) - (rule "variableDeclarationAssign" (formula "22") (term "1")) - (rule "variableDeclaration" (formula "22") (term "1") (newnames "i_6")) - (rule "assignment_array2" (formula "22")) - (branch "Normal Execution (_a != null)" - (builtin "One Step Simplification" (formula "22")) - (rule "pullOutSelect" (formula "22") (term "0,1,0") (inst "selectSK=arr_1:int")) - (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "22")) (ifInst "" (formula "7"))) - (rule "applyEqReverse" (formula "23") (term "0,1,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "less_than_comparison_simple" (formula "22") (term "1")) - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_ltToLeq" (formula "22") (term "0,0,1,0")) - (rule "polySimp_mulComm0" (formula "22") (term "1,0,0,0,0,1,0")) - (rule "polySimp_addComm1" (formula "22") (term "0,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "22") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "22") (term "0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "22") (term "0,0,0,1,0")) - (rule "div_axiom" (formula "1") (term "1,1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "qeq_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "mul_literals" (formula "1") (term "1,1,1")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "polySimp_addAssoc" (formula "3") (term "0,1")) - (rule "polySimp_addComm1" (formula "3") (term "1")) - (rule "polySimp_addComm1" (formula "3") (term "0,1")) - (rule "add_literals" (formula "3") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "applyEq" (formula "25") (term "0,1,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "25") (term "0,2,0,0,0,1,0") (ifseqformula "1")) - (rule "applyEq" (formula "22") (term "0,2,0") (ifseqformula "1")) - (rule "applyEq" (formula "4") (term "1,1") (ifseqformula "1")) - (rule "polySimp_addComm0" (formula "4") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "polySimp_mulComm0" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "0,1")) - (rule "mul_literals" (formula "3") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,1")) - (rule "inEqSimp_exactShadow3" (formula "5") (ifseqformula "3")) - (rule "polySimp_rightDist" (formula "5") (term "0,0")) - (rule "mul_literals" (formula "5") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0")) - (rule "polySimp_addComm1" (formula "5") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "0,0,0")) - (rule "add_zero_left" (formula "5") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "5")) - (rule "polySimp_mulLiterals" (formula "5") (term "0")) - (rule "elimGcdLeq_antec" (formula "5") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low_0") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "5") (term "0,0")) - (builtin "One Step Simplification" (formula "5")) - (rule "neg_literal" (formula "5") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "5") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "5") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,1,0,0")) - (rule "times_zero_1" (formula "5") (term "1,0,0")) - (rule "add_zero_right" (formula "5") (term "0,0")) - (rule "polySimp_mulComm0" (formula "5") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,1,0,0")) - (rule "times_zero_1" (formula "5") (term "1,0,0")) - (rule "add_literals" (formula "5") (term "0,0")) - (rule "qeq_literals" (formula "5") (term "0")) - (builtin "One Step Simplification" (formula "5")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "5")) - (rule "mul_literals" (formula "19") (term "0,0")) - (rule "add_zero_left" (formula "19") (term "0")) - (rule "ifElseSplit" (formula "27")) - (branch "if b_4 true" - (builtin "One Step Simplification" (formula "28")) - (builtin "One Step Simplification" (formula "1")) - (rule "assignment" (formula "28") (term "1")) - (builtin "One Step Simplification" (formula "28")) - (rule "inEqSimp_contradEq7" (formula "25") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0")) - (rule "add_literals" (formula "25") (term "1,1,0,0")) - (rule "times_zero_1" (formula "25") (term "1,0,0")) - (rule "add_literals" (formula "25") (term "0,0")) - (rule "leq_literals" (formula "25") (term "0")) - (builtin "One Step Simplification" (formula "25")) - (rule "false_right" (formula "25")) - (rule "tryEmpty" (formula "27") (term "1")) - (rule "methodCallEmpty" (formula "27") (term "1")) - (rule "emptyModality" (formula "27") (term "1")) - (builtin "One Step Simplification" (formula "27") (ifInst "" (formula "21")) (ifInst "" (formula "23"))) - (rule "eqSymm" (formula "27") (term "1,0,0,1,0")) - (rule "polySimp_addComm0" (formula "27") (term "0,1")) - (rule "precOfInt" (formula "27") (term "1")) - (rule "inEqSimp_ltToLeq" (formula "27") (term "1,1")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,0,1,1")) - (rule "polySimp_mulAssoc" (formula "27") (term "0,1,0,0,1,1")) - (rule "polySimp_mulComm0" (formula "27") (term "0,0,1,0,0,1,1")) - (rule "polySimp_mulLiterals" (formula "27") (term "0,1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "27") (term "0,1,0,0,1,1")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,1,1")) - (rule "polySimp_addComm1" (formula "27") (term "0,1,1")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,1,1")) - (rule "polySimp_addComm1" (formula "27") (term "0,0,0,1,1")) - (rule "polySimp_pullOutFactor1b" (formula "27") (term "0,0,1,1")) - (rule "add_literals" (formula "27") (term "1,1,0,0,1,1")) - (rule "times_zero_1" (formula "27") (term "1,0,0,1,1")) - (rule "add_zero_right" (formula "27") (term "0,0,1,1")) - (rule "inEqSimp_commuteGeq" (formula "27") (term "0,0,0,0")) - (rule "replace_known_left" (formula "27") (term "0,0,0,0") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_homoInEq0" (formula "27") (term "0,1")) - (rule "mul_literals" (formula "27") (term "1,0,0,1")) - (rule "add_zero_right" (formula "27") (term "0,0,1")) - (rule "inEqSimp_sepNegMonomial0" (formula "27") (term "1,1")) - (rule "polySimp_mulLiterals" (formula "27") (term "0,1,1")) - (rule "polySimp_elimOne" (formula "27") (term "0,1,1")) - (rule "inEqSimp_sepNegMonomial1" (formula "27") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "27") (term "0,0,1")) - (rule "polySimp_elimOne" (formula "27") (term "0,0,1")) - (rule "replace_known_left" (formula "27") (term "0,1") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "27")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "18") (ifseqformula "10")) - (rule "true_left" (formula "18")) - (rule "cut_direct" (formula "26") (term "0,0,0")) - (branch "CUT: a.length >= quotient_0 TRUE" - (builtin "One Step Simplification" (formula "27")) - (rule "cut_direct" (formula "27") (term "1")) - (branch "CUT: up_0 >= 1 + quotient_0 TRUE" - (builtin "One Step Simplification" (formula "28")) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "6")) - (rule "polySimp_rightDist" (formula "1") (term "0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "andRight" (formula "28")) - (branch - (rule "allRight" (formula "28") (inst "sk=x_0:int")) - (rule "orRight" (formula "28")) - (rule "notRight" (formula "29")) - (rule "orRight" (formula "29")) - (rule "inEqSimp_geqRight" (formula "30")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0")) - (rule "inEqSimp_leqRight" (formula "30")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "pullOutSelect" (formula "3") (term "0") (inst "selectSK=arr_2:int")) - (rule "simplifySelectOfAnon" (formula "3")) - (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "31")) (ifInst "" (formula "17"))) - (rule "applyEqReverse" (formula "4") (term "0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "allLeft" (formula "22") (inst "t=idx_0:int")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "22") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0")) - (rule "applyEq" (formula "22") (term "1,1,0") (ifseqformula "21")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1,0,0,0") (ifseqformula "20")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "0,1,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,1,0,0,0")) - (rule "add_literals" (formula "22") (term "1,1,0,0,1,0,0,0")) - (rule "times_zero_1" (formula "22") (term "1,0,0,1,0,0,0")) - (rule "add_literals" (formula "22") (term "0,0,1,0,0,0")) - (rule "leq_literals" (formula "22") (term "0,1,0,0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "allLeft" (formula "22") (inst "t=quotient_0:int")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "0,0") (ifseqformula "26")) - (rule "qeq_literals" (formula "22") (term "0,0,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "22") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0,1")) - (rule "add_literals" (formula "22") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "22") (term "1,0,0,1")) - (rule "add_literals" (formula "22") (term "0,0,1")) - (rule "leq_literals" (formula "22") (term "0,1")) - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "22")) - (rule "mul_literals" (formula "18") (term "0,0")) - (rule "add_zero_left" (formula "18") (term "0")) - (rule "allLeft" (formula "29") (inst "t=idx_0:int")) - (rule "inEqSimp_commuteGeq" (formula "29") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "29") (term "0,0") (ifseqformula "18")) - (rule "qeq_literals" (formula "29") (term "0,0,0")) - (builtin "One Step Simplification" (formula "29")) - (rule "pullOutSelect" (formula "29") (term "0,0,1") (inst "selectSK=arr_3:int")) - (rule "simplifySelectOfAnon" (formula "29")) - (builtin "One Step Simplification" (formula "29") (ifInst "" (formula "34")) (ifInst "" (formula "16"))) - (rule "applyEqReverse" (formula "30") (term "0,0,1") (ifseqformula "29")) - (rule "hideAuxiliaryEq" (formula "29")) - (rule "replace_known_left" (formula "29") (term "0,1") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "29")) - (rule "inEqSimp_exactShadow3" (formula "27") (ifseqformula "29")) - (rule "mul_literals" (formula "27") (term "0,0")) - (rule "add_zero_left" (formula "27") (term "0")) - (rule "allLeft" (formula "31") (inst "t=idx_0:int")) - (rule "replaceKnownSelect_taclet00000100010_6" (formula "31") (term "0,0,1")) - (rule "replaceKnownAuxiliaryConstant_taclet00000100010_7" (formula "31") (term "0,0,1")) - (rule "replace_known_left" (formula "31") (term "0,1") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "31")) - (rule "inEqSimp_commuteGeq" (formula "31") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "31") (term "0")) - (rule "polySimp_addComm1" (formula "31") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "31") (term "0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0")) - (rule "polySimp_rightDist" (formula "31") (term "1,0")) - (rule "mul_literals" (formula "31") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "31") (term "1,1,0")) - (rule "polySimp_elimOne" (formula "31") (term "1,1,0")) - (rule "inEqSimp_contradInEq1" (formula "31") (term "1") (ifseqformula "20")) - (rule "inEqSimp_homoInEq1" (formula "31") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "31") (term "0,0,1")) - (rule "add_literals" (formula "31") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "31") (term "1,0,0,1")) - (rule "add_literals" (formula "31") (term "0,0,1")) - (rule "leq_literals" (formula "31") (term "0,1")) - (builtin "One Step Simplification" (formula "31")) - (rule "inEqSimp_exactShadow3" (formula "31") (ifseqformula "9")) - (rule "polySimp_rightDist" (formula "31") (term "0,0")) - (rule "mul_literals" (formula "31") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "31") (term "0")) - (rule "polySimp_addComm1" (formula "31") (term "0,0")) - (rule "polySimp_addAssoc" (formula "31") (term "0,0,0")) - (rule "add_literals" (formula "31") (term "0,0,0,0")) - (rule "add_zero_left" (formula "31") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "31")) - (rule "polySimp_mulLiterals" (formula "31") (term "0")) - (rule "polySimp_elimOne" (formula "31") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "27") (ifseqformula "31")) - (rule "mul_literals" (formula "27") (term "0,0")) - (rule "add_zero_left" (formula "27") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "27")) - (rule "polySimp_mulLiterals" (formula "27") (term "0")) - (rule "polySimp_elimOne" (formula "27") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "27")) - (rule "mul_literals" (formula "18") (term "0,0")) - (rule "add_zero_left" (formula "18") (term "0")) - (rule "inEqSimp_subsumption6" (formula "18") (ifseqformula "27")) - (rule "greater_literals" (formula "18") (term "0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "mul_literals" (formula "18") (term "1,0")) - (rule "leq_literals" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "true_left" (formula "18")) - (rule "allLeft" (formula "24") (inst "t=quotient_0:int")) - (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "24") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0")) - (rule "commute_or_2" (formula "24") (term "0,0")) - (rule "commute_or_2" (formula "24") (term "0")) - (rule "cut_direct" (formula "24") (term "1,0")) - (branch "CUT: a.length <= quotient_0 TRUE" - (builtin "One Step Simplification" (formula "25")) - (rule "true_left" (formula "25")) - (rule "inEqSimp_antiSymm" (formula "5") (ifseqformula "24")) - (rule "applyEq" (formula "20") (term "0") (ifseqformula "5")) - (rule "applyEq" (formula "20") (term "0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "20")) - (rule "polySimp_addComm1" (formula "20") (term "0")) - (rule "applyEq" (formula "2") (term "0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "applyEq" (formula "6") (term "0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq1" (formula "6")) - (rule "polySimp_pullOutFactor1" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,0")) - (rule "times_zero_1" (formula "6") (term "0")) - (rule "leq_literals" (formula "6")) - (rule "true_left" (formula "6")) - (rule "applyEq" (formula "29") (term "0") (ifseqformula "5")) - (rule "inEqSimp_commuteGeq" (formula "29")) - (rule "applyEq" (formula "23") (term "0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq0" (formula "23")) - (rule "polySimp_pullOutFactor1" (formula "23") (term "0")) - (rule "add_literals" (formula "23") (term "1,0")) - (rule "times_zero_1" (formula "23") (term "0")) - (rule "qeq_literals" (formula "23")) - (rule "true_left" (formula "23")) - (rule "applyEq" (formula "23") (term "1,1,0,0,0,0") (ifseqformula "5")) - (rule "applyEq" (formula "33") (term "1,1,0,0") (ifseqformula "5")) - (rule "inEqSimp_sepPosMonomial0" (formula "19")) - (rule "polySimp_mulComm0" (formula "19") (term "1")) - (rule "polySimp_rightDist" (formula "19") (term "1")) - (rule "mul_literals" (formula "19") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "19") (term "1,1")) - (rule "polySimp_elimOne" (formula "19") (term "1,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "mul_literals" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) - (rule "polySimp_elimOne" (formula "2") (term "1,1")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "28")) - (rule "andLeft" (formula "4")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) - (rule "add_literals" (formula "4") (term "1,1,0")) - (rule "times_zero_1" (formula "4") (term "1,0")) - (rule "add_literals" (formula "4") (term "0")) - (rule "leq_literals" (formula "4")) - (rule "closeFalse" (formula "4")) - ) - (branch "CUT: a.length <= quotient_0 FALSE" - (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_leqRight" (formula "36")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_subsumption1" (formula "6") (ifseqformula "1")) - (rule "inEqSimp_homoInEq0" (formula "6") (term "0")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "true_left" (formula "6")) - (rule "allLeft" (formula "25") (inst "t=x_0:int")) - (rule "inEqSimp_commuteGeq" (formula "25") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "25") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "25") (term "1,0")) - (rule "applyEq" (formula "25") (term "1,1,0") (ifseqformula "4")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "1,0,0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "0,1,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,1,0,0,0")) - (rule "add_literals" (formula "25") (term "1,1,0,0,1,0,0,0")) - (rule "times_zero_1" (formula "25") (term "1,0,0,1,0,0,0")) - (rule "add_literals" (formula "25") (term "0,0,1,0,0,0")) - (rule "leq_literals" (formula "25") (term "0,1,0,0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "allLeft" (formula "25") (inst "t=quotient_0:int")) - (rule "inEqSimp_commuteGeq" (formula "25") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "0,0") (ifseqformula "29")) - (rule "qeq_literals" (formula "25") (term "0,0,0")) - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_contradInEq1" (formula "25") (term "1") (ifseqformula "6")) - (rule "inEqSimp_homoInEq1" (formula "25") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0,1")) - (rule "add_literals" (formula "25") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "25") (term "1,0,0,1")) - (rule "add_literals" (formula "25") (term "0,0,1")) - (rule "leq_literals" (formula "25") (term "0,1")) - (builtin "One Step Simplification" (formula "25")) - (rule "inEqSimp_antiSymm" (formula "2") (ifseqformula "25")) - (rule "applyEq" (formula "3") (term "0") (ifseqformula "2")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_pullOutFactor1" (formula "3") (term "0")) - (rule "add_literals" (formula "3") (term "1,0")) - (rule "times_zero_1" (formula "3") (term "0")) - (rule "leq_literals" (formula "3")) - (rule "true_left" (formula "3")) - (rule "applyEq" (formula "25") (term "0") (ifseqformula "2")) - (rule "inEqSimp_homoInEq0" (formula "25")) - (rule "polySimp_pullOutFactor1" (formula "25") (term "0")) - (rule "add_literals" (formula "25") (term "1,0")) - (rule "times_zero_1" (formula "25") (term "0")) - (rule "qeq_literals" (formula "25")) - (rule "true_left" (formula "25")) - (rule "applyEq" (formula "25") (term "1,1,0,0") (ifseqformula "2")) - (rule "applyEq" (formula "4") (term "0,2,0") (ifseqformula "2")) - (rule "applyEq" (formula "3") (term "1,1") (ifseqformula "2")) - (rule "applyEq" (formula "5") (term "0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq1" (formula "5")) - (rule "polySimp_pullOutFactor1b" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,1,0")) - (rule "times_zero_1" (formula "5") (term "1,0")) - (rule "add_literals" (formula "5") (term "0")) - (rule "leq_literals" (formula "5")) - (rule "closeFalse" (formula "5")) - ) - ) - (branch - (rule "allRight" (formula "28") (inst "sk=f_0:Field")) - (rule "allRight" (formula "28") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "28")) - (rule "pullOutSelect" (formula "29") (term "0") (inst "selectSK=f_0_0:any")) - (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "29"))) - (rule "applyEqReverse" (formula "30") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "30")) - (rule "closeTrue" (formula "30")) - ) - ) - (branch "CUT: up_0 >= 1 + quotient_0 FALSE" - (builtin "One Step Simplification" (formula "28")) - (rule "false_right" (formula "28")) - (rule "inEqSimp_geqRight" (formula "27")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "9") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "9") (term "0,0")) - (rule "mul_literals" (formula "9") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "9") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "9")) - (rule "polySimp_mulLiterals" (formula "9") (term "0")) - (rule "polySimp_elimOne" (formula "9") (term "0")) - (rule "inEqSimp_subsumption0" (formula "8") (ifseqformula "9")) - (rule "inEqSimp_homoInEq0" (formula "8") (term "0")) - (rule "polySimp_mulComm0" (formula "8") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "8") (term "1,0,0")) - (rule "mul_literals" (formula "8") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "8") (term "0,0")) - (rule "polySimp_addComm0" (formula "8") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "8") (term "0,0")) - (rule "add_literals" (formula "8") (term "1,1,0,0")) - (rule "times_zero_1" (formula "8") (term "1,0,0")) - (rule "add_literals" (formula "8") (term "0,0")) - (rule "qeq_literals" (formula "8") (term "0")) - (builtin "One Step Simplification" (formula "8")) - (rule "true_left" (formula "8")) - (rule "inEqSimp_exactShadow3" (formula "5") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "5") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "5") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "5") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "5") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "5") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "5") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "5") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "5") (term "0,0")) - (rule "add_literals" (formula "5") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "5")) - (rule "polySimp_mulLiterals" (formula "5") (term "1")) - (rule "polySimp_elimOne" (formula "5") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "5") (ifseqformula "9")) - (rule "andLeft" (formula "5")) - (rule "inEqSimp_homoInEq1" (formula "5")) - (rule "polySimp_mulComm0" (formula "5") (term "1,0")) - (rule "polySimp_rightDist" (formula "5") (term "1,0")) - (rule "mul_literals" (formula "5") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "5") (term "0")) - (rule "polySimp_addComm0" (formula "5") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,1,0")) - (rule "times_zero_1" (formula "5") (term "1,0")) - (rule "add_literals" (formula "5") (term "0")) - (rule "leq_literals" (formula "5")) - (rule "closeFalse" (formula "5")) - ) - ) - (branch "CUT: a.length >= quotient_0 FALSE" - (builtin "One Step Simplification" (formula "27")) - (rule "false_right" (formula "27")) - (rule "inEqSimp_geqRight" (formula "26")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_exactShadow3" (formula "15") (ifseqformula "1")) - (rule "mul_literals" (formula "15") (term "0,0")) - (rule "add_zero_left" (formula "15") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "15")) - (rule "mul_literals" (formula "15") (term "1")) - (rule "inEqSimp_subsumption1" (formula "21") (ifseqformula "15")) - (rule "leq_literals" (formula "21") (term "0")) - (builtin "One Step Simplification" (formula "21")) - (rule "true_left" (formula "21")) - (rule "inEqSimp_exactShadow3" (formula "17") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "17") (term "0,0")) - (rule "mul_literals" (formula "17") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "17") (term "0")) - (rule "polySimp_addAssoc" (formula "17") (term "0,0")) - (rule "add_literals" (formula "17") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "17")) - (rule "polySimp_mulLiterals" (formula "17") (term "0")) - (rule "polySimp_elimOne" (formula "17") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "23") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "23") (term "0,0")) - (rule "polySimp_addComm0" (formula "23") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "23")) - (rule "polySimp_mulLiterals" (formula "23") (term "0")) - (rule "polySimp_elimOne" (formula "23") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "14") (ifseqformula "17")) - (rule "mul_literals" (formula "14") (term "0,0")) - (rule "add_zero_left" (formula "14") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "14")) - (rule "mul_literals" (formula "14") (term "1")) - (rule "inEqSimp_subsumption1" (formula "16") (ifseqformula "14")) - (rule "leq_literals" (formula "16") (term "0")) - (builtin "One Step Simplification" (formula "16")) - (rule "true_left" (formula "16")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "23")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "polySimp_addAssoc" (formula "8") (term "0,0")) - (rule "add_literals" (formula "8") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) - (rule "inEqSimp_subsumption0" (formula "7") (ifseqformula "8")) - (rule "inEqSimp_homoInEq0" (formula "7") (term "0")) - (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "7") (term "1,0,0")) - (rule "mul_literals" (formula "7") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "7") (term "0,0")) - (rule "polySimp_addComm0" (formula "7") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "7") (term "0,0")) - (rule "add_literals" (formula "7") (term "1,1,0,0")) - (rule "times_zero_1" (formula "7") (term "1,0,0")) - (rule "add_literals" (formula "7") (term "0,0")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "23")) - (rule "polySimp_rightDist" (formula "4") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "4") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "4") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "4") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_addAssoc" (formula "4") (term "0,0")) - (rule "polySimp_addComm0" (formula "4") (term "0,0,0")) - (rule "polySimp_pullOutFactor2b" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "1,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "mul_literals" (formula "4") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,1")) - (rule "polySimp_elimOne" (formula "4") (term "1,1")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "8")) - (rule "andLeft" (formula "4")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1,0")) - (rule "polySimp_rightDist" (formula "4") (term "1,0")) - (rule "mul_literals" (formula "4") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "4") (term "0")) - (rule "polySimp_addComm1" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) - (rule "add_literals" (formula "4") (term "1,1,0")) - (rule "times_zero_1" (formula "4") (term "1,0")) - (rule "add_literals" (formula "4") (term "0")) - (rule "leq_literals" (formula "4")) - (rule "closeFalse" (formula "4")) - ) - ) - (branch "if b_4 false" - (builtin "One Step Simplification" (formula "28")) - (builtin "One Step Simplification" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "inEqSimp_geqRight" (formula "24")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_strengthen0" (formula "1") (ifseqformula "25")) - (rule "inEqSimp_contradEq3" (formula "25") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "25") (term "1,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "25") (term "0,0")) - (rule "add_literals" (formula "25") (term "1,1,0,0")) - (rule "times_zero_1" (formula "25") (term "1,0,0")) - (rule "add_literals" (formula "25") (term "0,0")) - (rule "qeq_literals" (formula "25") (term "0")) - (builtin "One Step Simplification" (formula "25")) - (rule "false_right" (formula "25")) - (rule "assignmentAdditionInt" (formula "27") (term "1")) - (builtin "One Step Simplification" (formula "27")) - (rule "translateJavaAddInt" (formula "27") (term "0,1,0")) - (rule "polySimp_addComm0" (formula "27") (term "0,1,0")) - (rule "tryEmpty" (formula "27") (term "1")) - (rule "methodCallEmpty" (formula "27") (term "1")) - (rule "emptyModality" (formula "27") (term "1")) - (builtin "One Step Simplification" (formula "27") (ifInst "" (formula "22")) (ifInst "" (formula "24"))) - (rule "eqSymm" (formula "27") (term "1,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "27") (term "0,0,1")) - (rule "polySimp_rightDist" (formula "27") (term "0,0,1")) - (rule "mul_literals" (formula "27") (term "0,0,0,1")) - (rule "precOfInt" (formula "27") (term "1")) - (rule "inEqSimp_ltToLeq" (formula "27") (term "1,1")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,0,1,1")) - (rule "polySimp_mulAssoc" (formula "27") (term "0,1,0,0,1,1")) - (rule "polySimp_mulComm0" (formula "27") (term "0,0,1,0,0,1,1")) - (rule "polySimp_mulLiterals" (formula "27") (term "0,1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "27") (term "0,1,0,0,1,1")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,1,1")) - (rule "polySimp_addAssoc" (formula "27") (term "0,1,1")) - (rule "polySimp_addComm1" (formula "27") (term "0,0,1,1")) - (rule "polySimp_pullOutFactor2b" (formula "27") (term "0,1,1")) - (rule "add_literals" (formula "27") (term "1,1,0,1,1")) - (rule "times_zero_1" (formula "27") (term "1,0,1,1")) - (rule "add_zero_right" (formula "27") (term "0,1,1")) - (rule "polySimp_addComm1" (formula "27") (term "0,1,1")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,1,1")) - (rule "add_literals" (formula "27") (term "0,0,0,1,1")) - (rule "add_zero_left" (formula "27") (term "0,0,1,1")) - (rule "inEqSimp_homoInEq0" (formula "27") (term "0,1")) - (rule "mul_literals" (formula "27") (term "1,0,0,1")) - (rule "add_zero_right" (formula "27") (term "0,0,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "27") (term "0,0,0,0")) - (rule "mul_literals" (formula "27") (term "1,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "27") (term "1,1")) - (rule "polySimp_mulLiterals" (formula "27") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "27") (term "1,1,1")) - (rule "replace_known_left" (formula "27") (term "1,1") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_sepPosMonomial1" (formula "27") (term "1")) - (rule "polySimp_mulComm0" (formula "27") (term "1,1")) - (rule "polySimp_rightDist" (formula "27") (term "1,1")) - (rule "mul_literals" (formula "27") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "27") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "27") (term "1,1,1")) - (rule "inEqSimp_subsumption1" (formula "27") (term "0,0,0,0") (ifseqformula "20")) - (rule "leq_literals" (formula "27") (term "0,0,0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "18") (ifseqformula "10")) - (rule "true_left" (formula "18")) - (rule "cut_direct" (formula "26") (term "0,0,0")) - (branch "CUT: up_0 >= 1 + quotient_0 TRUE" - (builtin "One Step Simplification" (formula "27") (ifInst "" (formula "1"))) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "5")) - (rule "polySimp_rightDist" (formula "1") (term "0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "andRight" (formula "27")) - (branch - (rule "allRight" (formula "27") (inst "sk=x_0:int")) - (rule "orRight" (formula "27")) - (rule "notRight" (formula "28")) - (rule "orRight" (formula "28")) - (rule "inEqSimp_geqRight" (formula "29")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_leqRight" (formula "29")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_literals" (formula "1") (term "0,0")) - (rule "add_zero_left" (formula "1") (term "0")) - (rule "inEqSimp_sepPosMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1")) - (rule "polySimp_elimOne" (formula "2") (term "1")) - (rule "pullOutSelect" (formula "3") (term "0") (inst "selectSK=arr_2:int")) - (rule "simplifySelectOfAnon" (formula "3")) - (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "30")) (ifInst "" (formula "16"))) - (rule "applyEqReverse" (formula "4") (term "0") (ifseqformula "3")) - (rule "hideAuxiliaryEq" (formula "3")) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "2")) - (rule "mul_literals" (formula "1") (term "0,0")) - (rule "add_zero_left" (formula "1") (term "0")) - (rule "allLeft" (formula "21") (inst "t=idx_0:int")) - (rule "inEqSimp_commuteGeq" (formula "21") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "21") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "21") (term "1,0")) - (rule "applyEq" (formula "21") (term "1,1,0") (ifseqformula "20")) - (rule "inEqSimp_contradInEq1" (formula "21") (term "1,0,0,0") (ifseqformula "19")) - (rule "inEqSimp_homoInEq1" (formula "21") (term "0,1,0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "21") (term "0,0,1,0,0,0")) - (rule "add_literals" (formula "21") (term "1,1,0,0,1,0,0,0")) - (rule "times_zero_1" (formula "21") (term "1,0,0,1,0,0,0")) - (rule "add_literals" (formula "21") (term "0,0,1,0,0,0")) - (rule "leq_literals" (formula "21") (term "0,1,0,0,0")) - (builtin "One Step Simplification" (formula "21")) - (rule "allLeft" (formula "27") (inst "t=idx_0:int")) - (rule "inEqSimp_commuteGeq" (formula "27") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "0,0") (ifseqformula "17")) - (rule "qeq_literals" (formula "27") (term "0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "pullOutSelect" (formula "27") (term "0,0,1") (inst "selectSK=arr_3:int")) - (rule "simplifySelectOfAnon" (formula "27")) - (builtin "One Step Simplification" (formula "27") (ifInst "" (formula "32")) (ifInst "" (formula "15"))) - (rule "applyEqReverse" (formula "28") (term "0,0,1") (ifseqformula "27")) - (rule "hideAuxiliaryEq" (formula "27")) - (rule "replace_known_left" (formula "27") (term "0,1") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_exactShadow3" (formula "25") (ifseqformula "27")) - (rule "mul_literals" (formula "25") (term "0,0")) - (rule "add_zero_left" (formula "25") (term "0")) - (rule "allLeft" (formula "29") (inst "t=idx_0:int")) - (rule "replaceKnownSelect_taclet0010100010_6" (formula "29") (term "0,0,1")) - (rule "replaceKnownAuxiliaryConstant_taclet0010100010_7" (formula "29") (term "0,0,1")) - (rule "replace_known_left" (formula "29") (term "0,1") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "29")) - (rule "inEqSimp_commuteGeq" (formula "29") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "29") (term "0")) - (rule "polySimp_addComm1" (formula "29") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "29") (term "0")) - (rule "polySimp_mulComm0" (formula "29") (term "1,0")) - (rule "polySimp_rightDist" (formula "29") (term "1,0")) - (rule "mul_literals" (formula "29") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "29") (term "1,1,0")) - (rule "polySimp_elimOne" (formula "29") (term "1,1,0")) - (rule "inEqSimp_contradInEq1" (formula "29") (term "1") (ifseqformula "19")) - (rule "inEqSimp_homoInEq1" (formula "29") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "29") (term "0,0,1")) - (rule "add_literals" (formula "29") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "29") (term "1,0,0,1")) - (rule "add_literals" (formula "29") (term "0,0,1")) - (rule "leq_literals" (formula "29") (term "0,1")) - (builtin "One Step Simplification" (formula "29")) - (rule "inEqSimp_exactShadow3" (formula "29") (ifseqformula "8")) - (rule "polySimp_rightDist" (formula "29") (term "0,0")) - (rule "mul_literals" (formula "29") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "29") (term "0")) - (rule "polySimp_addComm1" (formula "29") (term "0,0")) - (rule "polySimp_addAssoc" (formula "29") (term "0,0,0")) - (rule "add_literals" (formula "29") (term "0,0,0,0")) - (rule "add_zero_left" (formula "29") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "29")) - (rule "polySimp_mulLiterals" (formula "29") (term "0")) - (rule "polySimp_elimOne" (formula "29") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "25") (ifseqformula "29")) - (rule "mul_literals" (formula "25") (term "0,0")) - (rule "add_zero_left" (formula "25") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "25")) - (rule "polySimp_mulLiterals" (formula "25") (term "0")) - (rule "polySimp_elimOne" (formula "25") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "17") (ifseqformula "25")) - (rule "mul_literals" (formula "17") (term "0,0")) - (rule "add_zero_left" (formula "17") (term "0")) - (rule "inEqSimp_subsumption6" (formula "17") (ifseqformula "25")) - (rule "greater_literals" (formula "17") (term "0,0")) - (builtin "One Step Simplification" (formula "17")) - (rule "mul_literals" (formula "17") (term "1,0")) - (rule "leq_literals" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "true_left" (formula "17")) - (rule "allLeft" (formula "22") (inst "t=quotient_0:int")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "22") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "22") (term "1,0")) - (rule "commute_or_2" (formula "22") (term "0,0")) - (rule "commute_or_2" (formula "22") (term "0")) - (rule "cut_direct" (formula "22") (term "1,0")) - (branch "CUT: a.length <= quotient_0 TRUE" - (builtin "One Step Simplification" (formula "23")) - (rule "true_left" (formula "23")) - (rule "inEqSimp_exactShadow3" (formula "18") (ifseqformula "22")) - (rule "mul_literals" (formula "18") (term "0,0")) - (rule "add_zero_left" (formula "18") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "22")) - (rule "polySimp_rightDist" (formula "19") (term "0,0")) - (rule "mul_literals" (formula "19") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "19") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "19")) - (rule "polySimp_mulLiterals" (formula "19") (term "0")) - (rule "polySimp_elimOne" (formula "19") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "29") (ifseqformula "23")) - (rule "polySimp_mulComm0" (formula "29") (term "0,0")) - (rule "polySimp_addComm0" (formula "29") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "29")) - (rule "polySimp_mulLiterals" (formula "29") (term "0")) - (rule "polySimp_elimOne" (formula "29") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "29")) - (rule "andLeft" (formula "4")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) - (rule "add_literals" (formula "4") (term "1,1,0")) - (rule "times_zero_1" (formula "4") (term "1,0")) - (rule "add_literals" (formula "4") (term "0")) - (rule "leq_literals" (formula "4")) - (rule "closeFalse" (formula "4")) - ) - (branch "CUT: a.length <= quotient_0 FALSE" - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_leqRight" (formula "34")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "allLeft" (formula "31") (inst "t=x_0:int")) - (rule "replaceKnownSelect_taclet0010100010_4" (formula "31") (term "0,0,1")) - (rule "replaceKnownAuxiliaryConstant_taclet0010100010_5" (formula "31") (term "0,0,1")) - (rule "replace_known_left" (formula "31") (term "0,1") (ifseqformula "4")) - (builtin "One Step Simplification" (formula "31")) - (rule "inEqSimp_contradInEq1" (formula "31") (term "0") (ifseqformula "2")) - (rule "qeq_literals" (formula "31") (term "0,0")) - (builtin "One Step Simplification" (formula "31")) - (rule "inEqSimp_exactShadow3" (formula "31") (ifseqformula "3")) - (rule "polySimp_mulComm0" (formula "31") (term "0,0")) - (rule "polySimp_addComm0" (formula "31") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "31")) - (rule "polySimp_mulLiterals" (formula "31") (term "0")) - (rule "polySimp_elimOne" (formula "31") (term "0")) - (rule "allLeft" (formula "24") (inst "t=x_0:int")) - (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "24") (term "1,0,0")) - (rule "inEqSimp_commuteGeq" (formula "24") (term "1,0")) - (rule "applyEq" (formula "24") (term "1,1,0") (ifseqformula "4")) - (rule "commute_or_2" (formula "24") (term "0,0")) - (rule "commute_or_2" (formula "24") (term "0")) - (rule "cut_direct" (formula "24") (term "1,0")) - (branch "CUT: a.length <= x_0 TRUE" - (builtin "One Step Simplification" (formula "25")) - (rule "true_left" (formula "25")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "24")) - (rule "mul_literals" (formula "19") (term "0,0")) - (rule "add_zero_left" (formula "19") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "20") (ifseqformula "24")) - (rule "polySimp_rightDist" (formula "20") (term "0,0")) - (rule "mul_literals" (formula "20") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "20")) - (rule "polySimp_mulComm0" (formula "20") (term "1")) - (rule "polySimp_rightDist" (formula "20") (term "1")) - (rule "mul_literals" (formula "20") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "20") (term "1,1")) - (rule "polySimp_elimOne" (formula "20") (term "1,1")) - (rule "inEqSimp_exactShadow3" (formula "1") (ifseqformula "25")) - (rule "polySimp_rightDist" (formula "1") (term "0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_contradInEq0" (formula "1") (ifseqformula "4")) - (rule "andLeft" (formula "1")) - (rule "inEqSimp_homoInEq1" (formula "1")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) - (rule "add_literals" (formula "1") (term "1,1,0")) - (rule "times_zero_1" (formula "1") (term "1,0")) - (rule "add_literals" (formula "1") (term "0")) - (rule "leq_literals" (formula "1")) - (rule "closeFalse" (formula "1")) - ) - (branch "CUT: a.length <= x_0 FALSE" - (builtin "One Step Simplification" (formula "24")) - (rule "inEqSimp_leqRight" (formula "37")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "allLeft" (formula "37") (inst "t=x_0:int")) - (rule "replaceKnownSelect_taclet0010100010_4" (formula "37") (term "0,0,1")) - (rule "replaceKnownAuxiliaryConstant_taclet0010100010_5" (formula "37") (term "0,0,1")) - (rule "replace_known_left" (formula "37") (term "0,1") (ifseqformula "5")) - (builtin "One Step Simplification" (formula "37")) - (rule "inEqSimp_commuteGeq" (formula "37") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "37") (term "1") (ifseqformula "1")) - (rule "inEqSimp_homoInEq1" (formula "37") (term "0,1")) - (rule "polySimp_pullOutFactor1b" (formula "37") (term "0,0,1")) - (rule "add_literals" (formula "37") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "37") (term "1,0,0,1")) - (rule "add_literals" (formula "37") (term "0,0,1")) - (rule "leq_literals" (formula "37") (term "0,1")) - (builtin "One Step Simplification" (formula "37")) - (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "37")) - (rule "mul_literals" (formula "3") (term "0,0")) - (rule "add_zero_left" (formula "3") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "3")) - (rule "mul_literals" (formula "3") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "34") (ifseqformula "38")) - (rule "polySimp_mulComm0" (formula "34") (term "0,0")) - (rule "polySimp_addAssoc" (formula "34") (term "0")) - (rule "polySimp_addComm0" (formula "34") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "34")) - (rule "polySimp_mulComm0" (formula "34") (term "1")) - (rule "polySimp_rightDist" (formula "34") (term "1")) - (rule "mul_literals" (formula "34") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "34") (term "1,1")) - (rule "polySimp_elimOne" (formula "34") (term "1,1")) - (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "11")) - (rule "mul_literals" (formula "3") (term "0,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0")) - (rule "polySimp_addAssoc" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "0,0,0")) - (rule "add_zero_left" (formula "3") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "32") (ifseqformula "3")) - (rule "mul_literals" (formula "32") (term "0,0")) - (rule "add_zero_left" (formula "32") (term "0")) - (rule "inEqSimp_subsumption6" (formula "32") (ifseqformula "30")) - (rule "greater_literals" (formula "32") (term "0,0")) - (builtin "One Step Simplification" (formula "32")) - (rule "mul_literals" (formula "32") (term "1,0")) - (rule "leq_literals" (formula "32") (term "0")) - (builtin "One Step Simplification" (formula "32")) - (rule "true_left" (formula "32")) - (rule "allLeft" (formula "25") (inst "t=x_0:int")) - (rule "applyEq" (formula "25") (term "0,1") (ifseqformula "7")) - (rule "inEqSimp_homoInEq0" (formula "25") (term "1")) - (rule "polySimp_pullOutFactor1" (formula "25") (term "0,1")) - (rule "add_literals" (formula "25") (term "1,0,1")) - (rule "times_zero_1" (formula "25") (term "0,1")) - (rule "qeq_literals" (formula "25") (term "1")) - (builtin "One Step Simplification" (formula "25")) - (rule "true_left" (formula "25")) - (rule "allLeft" (formula "26") (inst "t=idx_0:int")) - (rule "inEqSimp_commuteLeq" (formula "26") (term "1")) - (rule "applyEq" (formula "26") (term "1,1") (ifseqformula "24")) - (rule "inEqSimp_contradInEq1" (formula "26") (term "0,0") (ifseqformula "21")) - (rule "qeq_literals" (formula "26") (term "0,0,0")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_contradInEq0" (formula "26") (term "1") (ifseqformula "9")) - (rule "inEqSimp_homoInEq1" (formula "26") (term "0,1")) - (rule "polySimp_mulComm0" (formula "26") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "26") (term "1,0,0,1")) - (rule "mul_literals" (formula "26") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "26") (term "0,0,1")) - (rule "polySimp_addComm0" (formula "26") (term "0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "26") (term "0,0,1")) - (rule "add_literals" (formula "26") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "26") (term "1,0,0,1")) - (rule "add_literals" (formula "26") (term "0,0,1")) - (rule "leq_literals" (formula "26") (term "0,1")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_exactShadow3" (formula "26") (ifseqformula "32")) - (rule "polySimp_mulComm0" (formula "26") (term "0,0")) - (rule "polySimp_pullOutFactor0" (formula "26") (term "0")) - (rule "add_literals" (formula "26") (term "1,0")) - (rule "polySimp_elimOne" (formula "26") (term "0")) - (rule "allLeft" (formula "27") (inst "t=x_0:int")) - (rule "applyEq" (formula "27") (term "0,1") (ifseqformula "7")) - (rule "inEqSimp_commuteLeq" (formula "27") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "27") (term "0,0") (ifseqformula "5")) - (rule "qeq_literals" (formula "27") (term "0,0,0")) - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_contradInEq0" (formula "27") (term "1") (ifseqformula "9")) - (rule "inEqSimp_homoInEq1" (formula "27") (term "0,1")) - (rule "polySimp_mulComm0" (formula "27") (term "1,0,0,1")) - (rule "polySimp_rightDist" (formula "27") (term "1,0,0,1")) - (rule "mul_literals" (formula "27") (term "0,1,0,0,1")) - (rule "polySimp_addAssoc" (formula "27") (term "0,0,1")) - (rule "polySimp_addComm0" (formula "27") (term "0,0,0,1")) - (rule "polySimp_pullOutFactor1b" (formula "27") (term "0,0,1")) - (rule "add_literals" (formula "27") (term "1,1,0,0,1")) - (rule "times_zero_1" (formula "27") (term "1,0,0,1")) - (rule "add_literals" (formula "27") (term "0,0,1")) - (rule "leq_literals" (formula "27") (term "0,1")) - (builtin "One Step Simplification" (formula "27")) - (rule "inEqSimp_antiSymm" (formula "27") (ifseqformula "6")) - (rule "applyEq" (formula "5") (term "0") (ifseqformula "27")) - (rule "applyEq" (formula "37") (term "0") (ifseqformula "26")) - (rule "inEqSimp_commuteGeq" (formula "37")) - (rule "applyEq" (formula "27") (term "0") (ifseqformula "26")) - (rule "inEqSimp_homoInEq1" (formula "27")) - (rule "polySimp_pullOutFactor1" (formula "27") (term "0")) - (rule "add_literals" (formula "27") (term "1,0")) - (rule "times_zero_1" (formula "27") (term "0")) - (rule "leq_literals" (formula "27")) - (rule "true_left" (formula "27")) - (rule "applyEq" (formula "39") (term "0") (ifseqformula "26")) - (rule "inEqSimp_homoInEq0" (formula "39")) - (rule "polySimp_addComm1" (formula "39") (term "0")) - (rule "applyEq" (formula "5") (term "0") (ifseqformula "26")) - (rule "inEqSimp_homoInEq0" (formula "5")) - (rule "polySimp_pullOutFactor1" (formula "5") (term "0")) - (rule "add_literals" (formula "5") (term "1,0")) - (rule "times_zero_1" (formula "5") (term "0")) - (rule "qeq_literals" (formula "5")) - (rule "true_left" (formula "5")) - (rule "applyEq" (formula "27") (term "1,1,0,0") (ifseqformula "25")) - (rule "applyEq" (formula "5") (term "0,2,0") (ifseqformula "25")) - (rule "applyEq" (formula "1") (term "1,1") (ifseqformula "25")) - (rule "applyEq" (formula "6") (term "0") (ifseqformula "4")) - (rule "inEqSimp_homoInEq0" (formula "6")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "times_zero_1" (formula "6") (term "1,0")) - (rule "add_literals" (formula "6") (term "0")) - (rule "qeq_literals" (formula "6")) - (rule "closeFalse" (formula "6")) - ) - ) - ) - (branch - (rule "allRight" (formula "27") (inst "sk=f_0:Field")) - (rule "allRight" (formula "27") (inst "sk=o_0:java.lang.Object")) - (rule "orRight" (formula "27")) - (rule "pullOutSelect" (formula "28") (term "0") (inst "selectSK=f_0_0:any")) - (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "28"))) - (rule "applyEqReverse" (formula "29") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "29")) - (rule "closeTrue" (formula "29")) - ) - ) - (branch "CUT: up_0 >= 1 + quotient_0 FALSE" - (builtin "One Step Simplification" (formula "27") (ifInst "" (formula "26"))) - (rule "false_right" (formula "27")) - (rule "inEqSimp_geqRight" (formula "26")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_exactShadow3" (formula "8") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "8") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) - (rule "inEqSimp_subsumption0" (formula "7") (ifseqformula "8")) - (rule "inEqSimp_homoInEq0" (formula "7") (term "0")) - (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "7") (term "1,0,0")) - (rule "mul_literals" (formula "7") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "7") (term "0,0")) - (rule "polySimp_addComm0" (formula "7") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "7") (term "0,0")) - (rule "add_literals" (formula "7") (term "1,1,0,0")) - (rule "times_zero_1" (formula "7") (term "1,0,0")) - (rule "add_literals" (formula "7") (term "0,0")) - (rule "qeq_literals" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "4") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "4") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "4") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "4") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "4") (term "0,0")) - (rule "add_literals" (formula "4") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "4")) - (rule "polySimp_mulLiterals" (formula "4") (term "1")) - (rule "polySimp_elimOne" (formula "4") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "8")) - (rule "andLeft" (formula "4")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1,0")) - (rule "polySimp_rightDist" (formula "4") (term "1,0")) - (rule "mul_literals" (formula "4") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "4") (term "0")) - (rule "polySimp_addComm0" (formula "4") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "0")) - (rule "add_literals" (formula "4") (term "1,1,0")) - (rule "times_zero_1" (formula "4") (term "1,0")) - (rule "add_literals" (formula "4") (term "0")) - (rule "leq_literals" (formula "4")) - (rule "closeFalse" (formula "4")) - ) - ) - ) - (branch "Null Reference (_a = null)" - (builtin "One Step Simplification" (formula "23")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "22"))) - (rule "close" (formula "23") (ifseqformula "1")) - ) - (branch "Index Out of Bounds (_a != null, but mid Out of Bounds!)" - (builtin "One Step Simplification" (formula "23")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "22"))) - (rule "false_right" (formula "23")) - (rule "inEqSimp_ltToLeq" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "1,0,0,1")) - (rule "add_literals" (formula "1") (term "0,0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "1,1")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "14") (ifseqformula "6")) - (rule "true_left" (formula "14")) - (rule "commute_or" (formula "1")) - (rule "div_axiom" (formula "2") (term "1,1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "2") (term "0")) - (builtin "One Step Simplification" (formula "2")) - (rule "qeq_literals" (formula "2") (term "0,1")) - (builtin "One Step Simplification" (formula "2")) - (rule "mul_literals" (formula "2") (term "1,1,1")) - (rule "andLeft" (formula "2")) - (rule "andLeft" (formula "2")) - (rule "polySimp_addAssoc" (formula "4") (term "0,1")) - (rule "polySimp_addComm1" (formula "4") (term "1")) - (rule "polySimp_addComm1" (formula "4") (term "0,1")) - (rule "add_literals" (formula "4") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) - (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "polySimp_addComm1" (formula "4") (term "0,0")) - (rule "applyEq" (formula "22") (term "0,2,0") (ifseqformula "2")) - (rule "applyEq" (formula "1") (term "0,0") (ifseqformula "2")) - (rule "applyEq" (formula "1") (term "1,1") (ifseqformula "2")) - (rule "applyEq" (formula "5") (term "1,1") (ifseqformula "2")) - (rule "polySimp_addComm0" (formula "5") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_mulComm0" (formula "3") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "polySimp_rightDist" (formula "4") (term "0,1")) - (rule "mul_literals" (formula "4") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0,1")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "4")) - (rule "polySimp_rightDist" (formula "6") (term "0,0")) - (rule "mul_literals" (formula "6") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0")) - (rule "polySimp_addComm1" (formula "6") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "0,0,0")) - (rule "add_zero_left" (formula "6") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "0")) - (rule "elimGcdLeq_antec" (formula "6") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low_0") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "6") (term "0,0")) - (builtin "One Step Simplification" (formula "6")) - (rule "neg_literal" (formula "6") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_zero_right" (formula "6") (term "0,0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "6")) - (rule "mul_literals" (formula "19") (term "0,0")) - (rule "add_zero_left" (formula "19") (term "0")) - (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "19")) - (rule "qeq_literals" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_exactShadow3" (formula "14") (ifseqformula "1")) - (rule "mul_literals" (formula "14") (term "0,0")) - (rule "add_zero_left" (formula "14") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "15") (ifseqformula "1")) - (rule "polySimp_rightDist" (formula "15") (term "0,0")) - (rule "mul_literals" (formula "15") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "15") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "15")) - (rule "polySimp_mulLiterals" (formula "15") (term "0")) - (rule "polySimp_elimOne" (formula "15") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "22") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "22") (term "0,0")) - (rule "polySimp_addComm0" (formula "22") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "22")) - (rule "polySimp_mulLiterals" (formula "22") (term "0")) - (rule "polySimp_elimOne" (formula "22") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "13") (ifseqformula "15")) - (rule "mul_literals" (formula "13") (term "0,0")) - (rule "add_zero_left" (formula "13") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "13")) - (rule "mul_literals" (formula "13") (term "1")) - (rule "inEqSimp_subsumption1" (formula "21") (ifseqformula "13")) - (rule "leq_literals" (formula "21") (term "0")) - (builtin "One Step Simplification" (formula "21")) - (rule "true_left" (formula "21")) - (rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "22")) - (rule "polySimp_rightDist" (formula "7") (term "0,0")) - (rule "mul_literals" (formula "7") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "7") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "7")) - (rule "polySimp_mulLiterals" (formula "7") (term "0")) - (rule "polySimp_elimOne" (formula "7") (term "0")) - (rule "inEqSimp_subsumption0" (formula "6") (ifseqformula "7")) - (rule "inEqSimp_homoInEq0" (formula "6") (term "0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "6") (term "1,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "polySimp_addComm0" (formula "6") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "true_left" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "3") (ifseqformula "22")) - (rule "polySimp_rightDist" (formula "3") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "3") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "3") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1")) - (rule "polySimp_elimOne" (formula "3") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "7")) - (rule "andLeft" (formula "3")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,0")) - (rule "mul_literals" (formula "3") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0")) - (rule "polySimp_addComm0" (formula "3") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) - (rule "add_literals" (formula "3") (term "1,1,0")) - (rule "times_zero_1" (formula "3") (term "1,0")) - (rule "add_literals" (formula "3") (term "0")) - (rule "leq_literals" (formula "3")) - (rule "closeFalse" (formula "3")) - ) - ) - ) - (branch "Null Reference (_a = null)" - (builtin "One Step Simplification" (formula "21")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) - (rule "close" (formula "21") (ifseqformula "1")) - ) - (branch "Index Out of Bounds (_a != null, but mid Out of Bounds!)" - (builtin "One Step Simplification" (formula "21")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) - (rule "false_right" (formula "21")) - (rule "inEqSimp_ltToLeq" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "1,0,0,1")) - (rule "add_literals" (formula "1") (term "0,0,1")) - (rule "polySimp_addAssoc" (formula "1") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1,1")) - (rule "polySimp_rightDist" (formula "1") (term "1,1")) - (rule "mul_literals" (formula "1") (term "0,1,1")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "13") (ifseqformula "5")) - (rule "true_left" (formula "13")) - (rule "commute_or" (formula "1")) - (rule "jdiv_axiom" (formula "1") (term "0,0")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,2,0")) - (rule "polySimp_rightDist" (formula "1") (term "0,0,2,0")) - (rule "polySimp_mulAssoc" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,0,0,2,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "0,0,0,2,0")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,0,2,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "eqSymm" (formula "1")) - (rule "applyEq" (formula "2") (term "0,0") (ifseqformula "1")) - (rule "applyEq" (formula "2") (term "1,1,1") (ifseqformula "1")) - (rule "polyDiv_pullOut" (formula "2") (term "0,0") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "2") (term "0,0,0")) - (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0,1,0,0")) - (rule "polySimp_pullOutFactor0" (formula "2") (term "0,0,1,0,0")) - (rule "add_literals" (formula "2") (term "1,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,0,1,0,0")) - (rule "inEqSimp_homoInEq0" (formula "2") (term "0")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "2") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "2") (term "0,1,0,0")) - (rule "polySimp_mulComm0" (formula "2") (term "0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1,0,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0,0")) - (rule "polySimp_pullOutFactor2b" (formula "2") (term "0,0,0")) - (rule "add_literals" (formula "2") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "2") (term "1,0,0,0")) - (rule "add_literals" (formula "2") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "2") (term "0")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,0")) - (rule "polySimp_elimOne" (formula "2") (term "0,0")) - (rule "polyDiv_pullOut" (formula "1") (term "1") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_addComm0" (formula "1") (term "1")) - (rule "polySimp_addComm1" (formula "1") (term "0,1,1")) - (rule "polySimp_pullOutFactor0" (formula "1") (term "0,0,1,1")) - (rule "add_literals" (formula "1") (term "1,0,0,1,1")) - (rule "polySimp_elimOne" (formula "1") (term "0,0,1,1")) - (rule "polyDiv_pullOut" (formula "2") (term "1,1,1") (inst "polyDivCoeff=mul(low_0, Z(neglit(1(#))))")) - (rule "equal_literals" (formula "2") (term "0,1,1,1")) - (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,1,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0,1,1,1")) - (rule "polySimp_addComm0" (formula "2") (term "1,1,1")) - (rule "polySimp_addComm1" (formula "2") (term "0,1,1,1,1")) - (rule "polySimp_pullOutFactor0" (formula "2") (term "0,0,1,1,1,1")) - (rule "add_literals" (formula "2") (term "1,0,0,1,1,1,1")) - (rule "polySimp_elimOne" (formula "2") (term "0,0,1,1,1,1")) - (rule "polySimp_addAssoc" (formula "2") (term "1,1")) - (rule "polySimp_pullOutFactor1" (formula "2") (term "0,1,1")) - (rule "add_literals" (formula "2") (term "1,0,1,1")) - (rule "times_zero_1" (formula "2") (term "0,1,1")) - (rule "add_zero_left" (formula "2") (term "1,1")) - (rule "div_axiom" (formula "1") (term "1,1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "qeq_literals" (formula "1") (term "0,1")) - (builtin "One Step Simplification" (formula "1")) - (rule "mul_literals" (formula "1") (term "1,1,1")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "polySimp_addAssoc" (formula "3") (term "0,1")) - (rule "polySimp_addComm1" (formula "3") (term "1")) - (rule "polySimp_addComm1" (formula "3") (term "0,1")) - (rule "add_literals" (formula "3") (term "0,0,1")) - (rule "inEqSimp_homoInEq0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "applyEq" (formula "5") (term "0,0") (ifseqformula "1")) - (rule "applyEq" (formula "5") (term "1,1") (ifseqformula "1")) - (rule "applyEq" (formula "4") (term "1,1") (ifseqformula "1")) - (rule "polySimp_addComm0" (formula "4") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "polySimp_mulComm0" (formula "2") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1")) - (rule "inEqSimp_sepPosMonomial0" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "polySimp_rightDist" (formula "3") (term "0,1")) - (rule "mul_literals" (formula "3") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0,1")) - (rule "inEqSimp_exactShadow3" (formula "6") (ifseqformula "3")) - (rule "polySimp_rightDist" (formula "6") (term "0,0")) - (rule "mul_literals" (formula "6") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0")) - (rule "polySimp_addComm1" (formula "6") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "0,0,0")) - (rule "add_zero_left" (formula "6") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "0")) - (rule "elimGcdLeq_antec" (formula "6") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=low_0") (inst "elimGcdRightDiv=quotient_0")) - (rule "leq_literals" (formula "6") (term "0,0")) - (builtin "One Step Simplification" (formula "6")) - (rule "neg_literal" (formula "6") (term "0,0,0,0,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_zero_right" (formula "6") (term "0,0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "19") (ifseqformula "6")) - (rule "mul_literals" (formula "19") (term "0,0")) - (rule "add_zero_left" (formula "19") (term "0")) - (rule "inEqSimp_contradInEq1" (formula "5") (term "0") (ifseqformula "19")) - (rule "qeq_literals" (formula "5") (term "0,0")) - (builtin "One Step Simplification" (formula "5")) - (rule "inEqSimp_exactShadow3" (formula "14") (ifseqformula "5")) - (rule "mul_literals" (formula "14") (term "0,0")) - (rule "add_zero_left" (formula "14") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "15") (ifseqformula "5")) - (rule "polySimp_rightDist" (formula "15") (term "0,0")) - (rule "mul_literals" (formula "15") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "15") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "15")) - (rule "polySimp_mulLiterals" (formula "15") (term "0")) - (rule "polySimp_elimOne" (formula "15") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "22") (ifseqformula "5")) - (rule "polySimp_mulComm0" (formula "22") (term "0,0")) - (rule "polySimp_addComm0" (formula "22") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "22")) - (rule "polySimp_mulLiterals" (formula "22") (term "0")) - (rule "polySimp_elimOne" (formula "22") (term "0")) - (rule "inEqSimp_exactShadow3" (formula "13") (ifseqformula "15")) - (rule "mul_literals" (formula "13") (term "0,0")) - (rule "add_zero_left" (formula "13") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "13")) - (rule "mul_literals" (formula "13") (term "1")) - (rule "inEqSimp_subsumption1" (formula "21") (ifseqformula "13")) - (rule "leq_literals" (formula "21") (term "0")) - (builtin "One Step Simplification" (formula "21")) - (rule "true_left" (formula "21")) - (rule "inEqSimp_exactShadow3" (formula "7") (ifseqformula "22")) - (rule "polySimp_rightDist" (formula "7") (term "0,0")) - (rule "mul_literals" (formula "7") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "7") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "7")) - (rule "polySimp_mulLiterals" (formula "7") (term "0")) - (rule "polySimp_elimOne" (formula "7") (term "0")) - (rule "inEqSimp_subsumption0" (formula "6") (ifseqformula "7")) - (rule "inEqSimp_homoInEq0" (formula "6") (term "0")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "6") (term "1,0,0")) - (rule "mul_literals" (formula "6") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0,0")) - (rule "polySimp_addComm0" (formula "6") (term "0,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "1,1,0,0")) - (rule "times_zero_1" (formula "6") (term "1,0,0")) - (rule "add_literals" (formula "6") (term "0,0")) - (rule "qeq_literals" (formula "6") (term "0")) - (builtin "One Step Simplification" (formula "6")) - (rule "true_left" (formula "6")) - (rule "inEqSimp_exactShadow3" (formula "2") (ifseqformula "22")) - (rule "polySimp_rightDist" (formula "2") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0,0")) - (rule "polySimp_elimOne" (formula "2") (term "1,0,0")) - (rule "polySimp_mulAssoc" (formula "2") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "2") (term "0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_pullOutFactor2" (formula "2") (term "0,0")) - (rule "add_literals" (formula "2") (term "1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1")) - (rule "polySimp_elimOne" (formula "2") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "7")) - (rule "andLeft" (formula "2")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0")) - (rule "polySimp_rightDist" (formula "2") (term "1,0")) - (rule "mul_literals" (formula "2") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0")) - (rule "polySimp_addComm0" (formula "2") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "2") (term "0")) - (rule "add_literals" (formula "2") (term "1,1,0")) - (rule "times_zero_1" (formula "2") (term "1,0")) - (rule "add_literals" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) - ) - ) - (branch - (builtin "One Step Simplification" (formula "20")) - (rule "equal_literals" (formula "20") (term "0")) - (builtin "One Step Simplification" (formula "20")) - (rule "closeTrue" (formula "20")) - ) - ) - (branch "if b_2 false" - (builtin "One Step Simplification" (formula "21")) - (builtin "One Step Simplification" (formula "1")) - (rule "closeFalse" (formula "1")) - ) - ) - (branch "Use Case" - (builtin "One Step Simplification" (formula "15")) - (builtin "One Step Simplification" (formula "12")) - (rule "andLeft" (formula "12")) - (rule "andLeft" (formula "12")) - (rule "andLeft" (formula "12")) - (rule "andLeft" (formula "12")) - (rule "inEqSimp_ltToLeq" (formula "16") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "15") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,0,0,1,0,0")) - (rule "inEqSimp_commuteLeq" (formula "16") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "15") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "14")) - (rule "inEqSimp_commuteLeq" (formula "12")) - (rule "inEqSimp_commuteLeq" (formula "13")) - (rule "variableDeclarationAssign" (formula "19") (term "1")) - (rule "variableDeclaration" (formula "19") (term "1") (newnames "b_1")) - (rule "inEqSimp_sepPosMonomial0" (formula "16") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "16") (term "1,1,0,0")) - (rule "mul_literals" (formula "16") (term "0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,1,1,0,0")) - (rule "polySimp_elimOne" (formula "16") (term "1,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "15") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "15") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,1,0,0")) - (rule "mul_literals" (formula "15") (term "0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,1,1,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "1,1,1,0,0")) - (rule "nnf_imp2or" (formula "16") (term "0")) - (rule "nnf_imp2or" (formula "15") (term "0")) - (rule "nnf_notAnd" (formula "16") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "16") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "16") (term "0,0,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "16") (term "1,0,0,0")) - (rule "mul_literals" (formula "16") (term "0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,1,0,0,0")) - (rule "polySimp_elimOne" (formula "16") (term "1,1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "16") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "16") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "16") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "16") (term "0,0,1,0,0")) - (rule "add_literals" (formula "16") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "16") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "16") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "16") (term "1,1,0,0")) - (rule "nnf_notAnd" (formula "15") (term "0,0")) - (rule "inEqSimp_notGeq" (formula "15") (term "0,0,0")) - (rule "mul_literals" (formula "15") (term "1,0,0,0,0,0")) - (rule "add_literals" (formula "15") (term "0,0,0,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "15") (term "0,0,0")) - (rule "mul_literals" (formula "15") (term "1,0,0,0")) - (rule "inEqSimp_notLeq" (formula "15") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "15") (term "1,0,0,1,0,0")) - (rule "mul_literals" (formula "15") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "15") (term "0,0,1,0,0")) - (rule "add_literals" (formula "15") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "15") (term "0,0,1,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "15") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,1,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "1,1,0,0")) - (rule "less_than_comparison_simple" (formula "19") (term "1")) - (builtin "One Step Simplification" (formula "19")) - (rule "inEqSimp_ltToLeq" (formula "19") (term "0,0,1,0")) - (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,0,0,1,0")) - (rule "polySimp_addComm1" (formula "19") (term "0,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "19") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "19") (term "0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "19") (term "0,0,0,1,0")) - (rule "methodCallEmpty" (formula "19") (term "1")) - (rule "emptyModality" (formula "19") (term "1")) - (builtin "One Step Simplification" (formula "19")) - (rule "impRight" (formula "19")) - (rule "notLeft" (formula "1")) - (rule "inEqSimp_geqRight" (formula "17")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) - (rule "mul_literals" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "add_zero_left" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_antiSymm" (formula "14") (ifseqformula "1")) - (rule "applyEq" (formula "15") (term "0") (ifseqformula "14")) - (rule "inEqSimp_homoInEq1" (formula "15")) - (rule "polySimp_pullOutFactor1" (formula "15") (term "0")) - (rule "add_literals" (formula "15") (term "1,0")) - (rule "times_zero_1" (formula "15") (term "0")) - (rule "leq_literals" (formula "15")) - (rule "true_left" (formula "15")) - (rule "applyEq" (formula "1") (term "0") (ifseqformula "14")) - (rule "inEqSimp_homoInEq0" (formula "1")) - (rule "polySimp_pullOutFactor1" (formula "1") (term "0")) - (rule "add_literals" (formula "1") (term "1,0")) - (rule "times_zero_1" (formula "1") (term "0")) - (rule "qeq_literals" (formula "1")) - (rule "true_left" (formula "1")) - (rule "applyEq" (formula "16") (term "1,1,0,0,0") (ifseqformula "13")) - (rule "applyEq" (formula "14") (term "1") (ifseqformula "13")) - (rule "throwUnfold" (formula "19") (term "1") (inst "#v0=r")) - (rule "variableDeclarationAssign" (formula "19") (term "1")) - (rule "variableDeclaration" (formula "19") (term "1") (newnames "r")) - (rule "arrayLengthIsAnInt" (formula "7") (term "0")) - (builtin "One Step Simplification" (formula "7")) - (rule "true_left" (formula "7")) - (rule "arrayLengthNotNegative" (formula "7") (term "0")) - (rule "instanceCreationAssignment" (formula "20") (term "1") (inst "#v0=r_1")) - (rule "variableDeclarationAssign" (formula "20") (term "1")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "r_1")) - (rule "staticMethodCallStaticWithAssignmentViaTypereference" (formula "20") (term "1") (inst "#v0=r_2")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "r_2")) - (rule "methodBodyExpand" (formula "20") (term "1") (newnames "heapBefore_$createObject,savedHeapBefore_$createObject")) - (builtin "One Step Simplification" (formula "20")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "__NEW__")) - (rule "staticMethodCallStaticWithAssignmentViaTypereference" (formula "20") (term "1") (inst "#v0=r_3")) - (rule "variableDeclaration" (formula "20") (term "1") (newnames "r_3")) - (rule "allocateInstance" (formula "20")) - (builtin "One Step Simplification" (formula "21")) - (builtin "One Step Simplification" (formula "1")) - (rule "wellFormedAnon" (formula "1") (term "0,1,0")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "3")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "14"))) - (rule "notLeft" (formula "1")) - (rule "blockEmpty" (formula "23") (term "1")) - (rule "assignment" (formula "23") (term "1")) - (builtin "One Step Simplification" (formula "23")) - (rule "selectCreatedOfAnonAsFormula" (formula "19")) - (rule "orRight" (formula "19")) - (rule "methodBodyExpand" (formula "24") (term "1") (newnames "heapBefore_$create,savedHeapBefore_$create")) - (builtin "One Step Simplification" (formula "24")) - (rule "assignment_write_attribute_this" (formula "24")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallWithinClass" (formula "24") (term "1")) - (rule "methodBodyExpand" (formula "24") (term "1") (newnames "heapBefore_$prepareEnter,savedHeapBefore_$prepareEnter")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallSuper" (formula "24") (term "1")) - (rule "methodBodyExpand" (formula "24") (term "1") (newnames "heapBefore_$prepare,savedHeapBefore_$prepare")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallSuper" (formula "24") (term "1")) - (rule "methodBodyExpand" (formula "24") (term "1") (newnames "heapBefore_$prepare_0,savedHeapBefore_$prepare_0")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallSuper" (formula "24") (term "1")) - (rule "methodBodyExpand" (formula "24") (term "1") (newnames "heapBefore_$prepare_1,savedHeapBefore_$prepare_1")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallEmpty" (formula "24") (term "1")) - (rule "blockEmpty" (formula "24") (term "1")) - (rule "assignment_write_attribute_this" (formula "24")) - (builtin "One Step Simplification" (formula "24")) - (rule "assignment_write_attribute_this" (formula "24")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallEmpty" (formula "24") (term "1")) - (rule "methodCallEmpty" (formula "24") (term "1")) - (rule "methodCallEmpty" (formula "24") (term "1")) - (rule "blockEmpty" (formula "24") (term "1")) - (rule "methodCallReturnIgnoreResult" (formula "24") (term "1")) - (rule "methodCallReturn" (formula "24") (term "1")) - (rule "assignment" (formula "24") (term "1")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallEmpty" (formula "24") (term "1")) - (rule "blockEmpty" (formula "24") (term "1")) - (rule "assignment" (formula "24") (term "1")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodBodyExpand" (formula "24") (term "1") (newnames "heapBefore_$init,savedHeapBefore_$init")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallSuper" (formula "24") (term "1")) - (rule "methodBodyExpand" (formula "24") (term "1") (newnames "heapBefore_$init_0,savedHeapBefore_$init_0")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallSuper" (formula "24") (term "1")) - (rule "methodBodyExpand" (formula "24") (term "1") (newnames "heapBefore_$init_1,savedHeapBefore_$init_1")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallSuper" (formula "24") (term "1")) - (rule "methodBodyExpand" (formula "24") (term "1") (newnames "heapBefore_$init_2,savedHeapBefore_$init_2")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallEmpty" (formula "24") (term "1")) - (rule "methodCallEmpty" (formula "24") (term "1")) - (rule "methodCallEmpty" (formula "24") (term "1")) - (rule "methodCallEmpty" (formula "24") (term "1")) - (rule "blockEmpty" (formula "24") (term "1")) - (rule "assignment_write_attribute" (formula "24")) - (branch "Normal Execution (r_1 != null)" - (builtin "One Step Simplification" (formula "24")) - (rule "assignment" (formula "24") (term "1")) - (builtin "One Step Simplification" (formula "24")) - (rule "methodCallParamThrow" (formula "24") (term "1")) - (rule "tryCatchThrow" (formula "24") (term "1")) - (branch "Null reference in throw" - (builtin "One Step Simplification" (formula "25")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "22"))) - (rule "closeFalse" (formula "1")) - ) - (branch "Normal execution" - (builtin "One Step Simplification" (formula "24") (ifInst "" (formula "21"))) - (rule "false_right" (formula "24")) - (rule "ifElseSplit" (formula "24")) - (branch "if r instanceof java.lang.Throwable true" - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "22"))) - (rule "true_left" (formula "1")) - (rule "variableDeclaration" (formula "24") (term "1") (newnames "e")) - (rule "delete_unnecessary_cast" (formula "24") (term "1")) - (builtin "One Step Simplification" (formula "25")) - (builtin "One Step Simplification" (formula "1")) - (rule "true_left" (formula "1")) - (rule "assignment" (formula "24") (term "1")) - (builtin "One Step Simplification" (formula "24")) - (rule "emptyModality" (formula "24") (term "1")) - (builtin "One Step Simplification" (formula "24") (ifInst "" (formula "21"))) - (rule "false_right" (formula "24")) - (rule "Class_invariant_axiom_for_BinSearch" (formula "12") (ifseqformula "4")) - (rule "true_left" (formula "12")) - (rule "allLeft" (formula "16") (inst "t=idx_0:int")) - (rule "inEqSimp_commuteGeq" (formula "16") (term "1,0")) - (rule "inEqSimp_contradInEq1" (formula "16") (term "0,0") (ifseqformula "7")) - (rule "qeq_literals" (formula "16") (term "0,0,0")) - (builtin "One Step Simplification" (formula "16")) - (rule "pullOutSelect" (formula "16") (term "0,0,1") (inst "selectSK=arr_0:int")) - (rule "simplifySelectOfAnon" (formula "16")) - (builtin "One Step Simplification" (formula "16") (ifInst "" (formula "24")) (ifInst "" (formula "5"))) - (rule "applyEqReverse" (formula "17") (term "0,0,1") (ifseqformula "16")) - (rule "hideAuxiliaryEq" (formula "16")) - (rule "replace_known_left" (formula "16") (term "0,1") (ifseqformula "10")) - (builtin "One Step Simplification" (formula "16")) - (rule "inEqSimp_exactShadow3" (formula "13") (ifseqformula "16")) - (rule "mul_literals" (formula "13") (term "0,0")) - (rule "add_zero_left" (formula "13") (term "0")) - (rule "allLeft" (formula "18") (inst "t=idx_0:int")) - (rule "replaceKnownSelect_taclet01020_0" (formula "18") (term "0,0,1")) - (rule "replaceKnownAuxiliaryConstant_taclet01020_1" (formula "18") (term "0,0,1")) - (rule "replace_known_left" (formula "18") (term "0,1") (ifseqformula "10")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_commuteGeq" (formula "18") (term "1")) - (rule "inEqSimp_homoInEq0" (formula "18") (term "0")) - (rule "polySimp_addComm1" (formula "18") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "18") (term "0")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0")) - (rule "polySimp_rightDist" (formula "18") (term "1,0")) - (rule "mul_literals" (formula "18") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "18") (term "1,1,0")) - (rule "polySimp_elimOne" (formula "18") (term "1,1,0")) - (rule "inEqSimp_contradInEq0" (formula "18") (term "0") (ifseqformula "16")) - (rule "inEqSimp_homoInEq1" (formula "18") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "18") (term "0,0,0")) - (rule "add_literals" (formula "18") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "18") (term "1,0,0,0")) - (rule "add_literals" (formula "18") (term "0,0,0")) - (rule "leq_literals" (formula "18") (term "0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "inEqSimp_contradInEq0" (formula "9") (ifseqformula "18")) - (rule "andLeft" (formula "9")) - (rule "inEqSimp_homoInEq1" (formula "9")) - (rule "polySimp_pullOutFactor1b" (formula "9") (term "0")) - (rule "add_literals" (formula "9") (term "1,1,0")) - (rule "times_zero_1" (formula "9") (term "1,0")) - (rule "add_literals" (formula "9") (term "0")) - (rule "leq_literals" (formula "9")) - (rule "closeFalse" (formula "9")) - ) - (branch "if r instanceof java.lang.Throwable false" - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "22"))) - (rule "closeFalse" (formula "1")) - ) - ) - ) - (branch "Null Reference (r_1 = null)" - (builtin "One Step Simplification" (formula "25")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "22"))) - (rule "close" (formula "25") (ifseqformula "1")) - ) - ) -) -(branch "Null Reference (_a = null)" - (builtin "One Step Simplification" (formula "14")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "13"))) - (rule "close" (formula "14") (ifseqformula "1")) -) -) -} diff --git a/key.ui/examples/heap/Wellfounded/B.java b/key.ui/examples/heap/Wellfounded/B.java index cb7318e150a..1218bdca481 100644 --- a/key.ui/examples/heap/Wellfounded/B.java +++ b/key.ui/examples/heap/Wellfounded/B.java @@ -8,7 +8,7 @@ void m(int[][] array) { int sum = 0; /*@ maintaining 0 <= row && row <= array.length && 0 <= col && col <= array[row].length; - @ decreases \dl_pair(array.length - row, array[row].length - col); + @ decreases \dl_intPair(array.length - row, array[row].length - col); @ assignable \strictly_nothing; @*/ while(row < array.length) { diff --git a/key.ui/examples/heap/Wellfounded/ackermann.key b/key.ui/examples/heap/Wellfounded/ackermann.key index d179cf406f5..9c95c0a1422 100644 --- a/key.ui/examples/heap/Wellfounded/ackermann.key +++ b/key.ui/examples/heap/Wellfounded/ackermann.key @@ -10,6 +10,20 @@ \javaSource ""; +\functions { + // Workaround till generics work in JML + Pair intPair(int,int); +} + +\rules { + intPairToPair { + \schemaVar \term int a, b; + \find(intPair(a,b)) + \replacewith(pair(a,b)) + \heuristics(simplify) + } +} + \proofObligation { "name": "Ackermann[Ackermann::a(int,int)].JML normal_behavior operation contract.0", "contract": "Ackermann[Ackermann::a(int,int)].JML normal_behavior operation contract.0", diff --git a/key.ui/examples/heap/permissions/threads/Plotter_joinTransfer_accessible.proof b/key.ui/examples/heap/permissions/threads/Plotter_joinTransfer_accessible.proof index 8beacd75c29..0fd27a141d2 100644 --- a/key.ui/examples/heap/permissions/threads/Plotter_joinTransfer_accessible.proof +++ b/key.ui/examples/heap/permissions/threads/Plotter_joinTransfer_accessible.proof @@ -188,7 +188,7 @@ (rule "pullOutSelect" (formula "40") (term "0,2,2,0,0,0,0") (inst "selectSK=Plotter_ta_0")) (rule "applyEq" (formula "3") (term "1,0,0,1,1,0,0") (ifseqformula "1")) (rule "applyEq" (formula "41") (term "0,2,0,1,0,0") (ifseqformula "1")) -(rule "applyEq" (formula "3") (term "0,0,0,0,0") (ifseqformula "1")) +(rule "applyEq" (formula "3") (term "0,0,0,0,0,0") (ifseqformula "1")) (rule "applyEq" (formula "3") (term "0,0,0,1,0,0") (ifseqformula "1")) (rule "applyEq" (formula "3") (term "1,2,0") (ifseqformula "1")) (rule "applyEq" (formula "41") (term "1,2,2,2,2,0,0,0,0") (ifseqformula "1")) @@ -223,10 +223,10 @@ (rule "applyEq" (formula "4") (term "1,2,0") (ifseqformula "1")) (rule "applyEq" (formula "3") (term "1,2,0") (ifseqformula "1")) (rule "applyEq" (formula "3") (term "1,0,0,1,1,0,0") (ifseqformula "1")) -(rule "applyEq" (formula "3") (term "0,0,0,0,0") (ifseqformula "1")) +(rule "applyEq" (formula "3") (term "0,0,0,0,0,0") (ifseqformula "1")) (rule "applyEq" (formula "4") (term "1,0,0,1,1,0,0") (ifseqformula "1")) (rule "applyEq" (formula "4") (term "0,0,0,1,0,0") (ifseqformula "1")) -(rule "applyEq" (formula "4") (term "0,0,0,0,0") (ifseqformula "1")) +(rule "applyEq" (formula "4") (term "0,0,0,0,0,0") (ifseqformula "1")) (rule "applyEq" (formula "3") (term "1,1,0") (ifseqformula "1")) (rule "applyEq" (formula "3") (term "0,0,0,1,0,0") (ifseqformula "1")) (rule "simplifySelectOfAnon" (formula "1")) @@ -247,16 +247,16 @@ (rule "pullOutSelect" (formula "7") (term "1,2,0") (inst "selectSK=Plotter_buffer_1")) (rule "applyEq" (formula "2") (term "1,2,0") (ifseqformula "7")) (rule "applyEq" (formula "4") (term "0,0,0,1,0,0") (ifseqformula "7")) -(rule "applyEq" (formula "8") (term "0,0,0,0,0") (ifseqformula "7")) +(rule "applyEq" (formula "8") (term "0,0,0,0,0,0") (ifseqformula "7")) (rule "applyEq" (formula "2") (term "1,0,0,1,1,0,0") (ifseqformula "7")) (rule "applyEq" (formula "4") (term "1,0,0,1,1,0,0") (ifseqformula "7")) (rule "applyEq" (formula "2") (term "0,0,0,1,0,0") (ifseqformula "7")) (rule "applyEq" (formula "4") (term "1,2,0") (ifseqformula "7")) (rule "applyEq" (formula "8") (term "1,1,0") (ifseqformula "7")) -(rule "applyEq" (formula "2") (term "0,0,0,0,0") (ifseqformula "7")) +(rule "applyEq" (formula "2") (term "0,0,0,0,0,0") (ifseqformula "7")) (rule "applyEq" (formula "8") (term "0,0,0,1,0,0") (ifseqformula "7")) (rule "applyEq" (formula "2") (term "1,1,0") (ifseqformula "7")) -(rule "applyEq" (formula "4") (term "0,0,0,0,0") (ifseqformula "7")) +(rule "applyEq" (formula "4") (term "0,0,0,0,0,0") (ifseqformula "7")) (rule "applyEq" (formula "8") (term "1,0,0,1,1,0,0") (ifseqformula "7")) (rule "applyEq" (formula "4") (term "1,1,0") (ifseqformula "7")) (rule "simplifySelectOfAnon" (formula "7")) @@ -270,7 +270,7 @@ (rule "elementOfSetMinus" (formula "1") (term "0,0,0")) (builtin "One Step Simplification" (formula "1")) (rule "commute_and" (formula "50") (term "0,1")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "6") (term "2,0,0,0,0") (ifseqformula "49")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "6") (term "1,0,0,0,0") (ifseqformula "49")) (rule "elementOfUnion" (formula "6") (term "0,0,0,0")) (rule "elementOfSingleton" (formula "6") (term "0,0,0,0,0")) (builtin "One Step Simplification" (formula "6")) @@ -280,7 +280,7 @@ (rule "elementOfSingleton" (formula "6") (term "0,0,0,0")) (builtin "One Step Simplification" (formula "6")) (rule "eqSymm" (formula "6") (term "0,0,0,0")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "2") (term "2,0,0,0,0") (ifseqformula "49")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "2") (term "1,0,0,0,0") (ifseqformula "49")) (rule "elementOfUnion" (formula "2") (term "0,0,0,0")) (rule "elementOfUnion" (formula "2") (term "0,0,0,0,0")) (rule "elementOfUnion" (formula "2") (term "1,0,0,0,0")) @@ -291,7 +291,7 @@ (builtin "One Step Simplification" (formula "2")) (rule "elementOfSingleton" (formula "2") (term "1,0,0,0,0")) (builtin "One Step Simplification" (formula "2")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "4") (term "2,0,0") (ifseqformula "49")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "4") (term "1,0,0") (ifseqformula "49")) (rule "elementOfUnion" (formula "4") (term "0,0")) (rule "elementOfUnion" (formula "4") (term "1,0,0")) (rule "elementOfSingleton" (formula "4") (term "0,1,0,0")) @@ -301,14 +301,14 @@ (rule "applyEqReverse" (formula "6") (term "1,1,0") (ifseqformula "4")) (rule "applyEqReverse" (formula "1") (term "0,0,0,1,0,0") (ifseqformula "4")) (rule "applyEqReverse" (formula "1") (term "1,0,0,1,1,0,0") (ifseqformula "4")) -(rule "applyEqReverse" (formula "7") (term "0,0,0,0,0") (ifseqformula "4")) +(rule "applyEqReverse" (formula "7") (term "0,0,0,0,0,0") (ifseqformula "4")) (rule "applyEqReverse" (formula "7") (term "1,2,0") (ifseqformula "4")) (rule "applyEqReverse" (formula "1") (term "1,2,0") (ifseqformula "4")) (rule "applyEqReverse" (formula "6") (term "1,2,0") (ifseqformula "4")) (rule "applyEqReverse" (formula "7") (term "1,1,0") (ifseqformula "4")) (rule "applyEqReverse" (formula "6") (term "0,0,0,1,0,0") (ifseqformula "4")) (rule "applyEqReverse" (formula "6") (term "1,0,0,1,1,0,0") (ifseqformula "4")) -(rule "applyEqReverse" (formula "1") (term "0,0,0,0,0") (ifseqformula "4")) +(rule "applyEqReverse" (formula "1") (term "0,0,0,0,0,0") (ifseqformula "4")) (rule "applyEqReverse" (formula "7") (term "0,0,0,1,0,0") (ifseqformula "4")) (rule "applyEqReverse" (formula "6") (term "1,0,0,0,0") (ifseqformula "4")) (builtin "One Step Simplification" (formula "6") (ifInst "" (formula "43"))) @@ -318,7 +318,7 @@ (rule "replace_known_right" (formula "6") (term "0,0,1,0,0") (ifseqformula "42")) (builtin "One Step Simplification" (formula "6")) (rule "ifthenelse_negated" (formula "5") (term "0")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "11") (term "2,0,0,0,0") (ifseqformula "48")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "11") (term "1,0,0,0,0") (ifseqformula "48")) (rule "elementOfUnion" (formula "11") (term "0,0,0,0")) (rule "elementOfUnion" (formula "11") (term "0,0,0,0,0")) (rule "elementOfUnion" (formula "11") (term "1,0,0,0,0")) @@ -345,7 +345,7 @@ (rule "applyEq" (formula "45") (term "0") (ifseqformula "35")) (rule "readPermission" (formula "30")) (rule "readPermission" (formula "29")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "9") (term "2,0,0") (ifseqformula "53")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "9") (term "1,0,0") (ifseqformula "53")) (rule "elementOfUnion" (formula "9") (term "0,0")) (rule "elementOfUnion" (formula "9") (term "1,0,0")) (rule "elementOfSingleton" (formula "9") (term "0,1,0,0")) @@ -359,16 +359,16 @@ (rule "applyEqReverse" (formula "11") (term "1,0,0,1,1,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "54") (term "0,2,0,1,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "11") (term "1,2,0") (ifseqformula "9")) -(rule "applyEqReverse" (formula "11") (term "0,0,0,0,0,0") (ifseqformula "9")) +(rule "applyEqReverse" (formula "11") (term "0,0,0,0,0,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "54") (term "1,2,2,2,2,0,0,0,0") (ifseqformula "9")) -(rule "applyEqReverse" (formula "11") (term "0,1,0,0,0,0") (ifseqformula "9")) +(rule "applyEqReverse" (formula "11") (term "0,0,1,0,0,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "11") (term "1,1,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "11") (term "0,0,0,1,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "54") (term "0,2,2,0,0,0,0") (ifseqformula "9")) (rule "hideAuxiliaryEq" (formula "9")) (rule "replace_known_right" (formula "10") (term "0,0,1,0,0") (ifseqformula "47")) (builtin "One Step Simplification" (formula "10")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "3") (term "2,0,0,0,0") (ifseqformula "52")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "3") (term "1,0,0,0,0") (ifseqformula "52")) (rule "elementOfUnion" (formula "3") (term "0,0,0,0")) (rule "elementOfSingleton" (formula "3") (term "0,0,0,0,0")) (builtin "One Step Simplification" (formula "3")) @@ -378,7 +378,7 @@ (rule "elementOfSingleton" (formula "3") (term "0,0,0,0")) (builtin "One Step Simplification" (formula "3")) (rule "eqSymm" (formula "3") (term "0,0,0,0")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "4") (term "2,0,0,0,0") (ifseqformula "52")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "4") (term "1,0,0,0,0") (ifseqformula "52")) (rule "elementOfUnion" (formula "4") (term "0,0,0,0")) (rule "elementOfSingleton" (formula "4") (term "0,0,0,0,0")) (builtin "One Step Simplification" (formula "4")) @@ -388,7 +388,7 @@ (rule "eqSymm" (formula "4") (term "0,0,0,0,0")) (rule "elementOfSingleton" (formula "4") (term "1,0,0,0,0")) (builtin "One Step Simplification" (formula "4")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "8") (term "2,0,0,0,0") (ifseqformula "52")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "8") (term "1,0,0,0,0") (ifseqformula "52")) (rule "elementOfUnion" (formula "8") (term "0,0,0,0")) (rule "elementOfSingleton" (formula "8") (term "0,0,0,0,0")) (builtin "One Step Simplification" (formula "8")) @@ -398,7 +398,7 @@ (builtin "One Step Simplification" (formula "8")) (rule "elementOfSingleton" (formula "8") (term "1,0,0,0,0")) (builtin "One Step Simplification" (formula "8")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "9") (term "2,0,0") (ifseqformula "52")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "9") (term "1,0,0") (ifseqformula "52")) (rule "elementOfUnion" (formula "9") (term "0,0")) (rule "elementOfUnion" (formula "9") (term "1,0,0")) (rule "elementOfSingleton" (formula "9") (term "0,1,0,0")) @@ -412,9 +412,9 @@ (rule "applyEqReverse" (formula "2") (term "1,1,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "2") (term "1,0,0,1,1,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "53") (term "1,2,2,2,0,0,0,0") (ifseqformula "9")) -(rule "applyEqReverse" (formula "2") (term "0,0,0,0,0,0") (ifseqformula "9")) +(rule "applyEqReverse" (formula "2") (term "0,0,0,0,0,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "2") (term "0,0,0,1,0,0") (ifseqformula "9")) -(rule "applyEqReverse" (formula "2") (term "0,1,0,0,0,0") (ifseqformula "9")) +(rule "applyEqReverse" (formula "2") (term "0,0,1,0,0,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "2") (term "1,2,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "53") (term "0,2,0,0,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "53") (term "0,2,0,1,0") (ifseqformula "9")) @@ -478,7 +478,7 @@ (rule "applyEq" (formula "41") (term "1") (ifseqformula "46")) (rule "readPermission" (formula "40")) (rule "readPermission" (formula "39")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "7") (term "2,0,0") (ifseqformula "58")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "7") (term "1,0,0") (ifseqformula "58")) (rule "elementOfUnion" (formula "7") (term "0,0")) (rule "elementOfUnion" (formula "7") (term "0,0,0")) (rule "elementOfUnion" (formula "7") (term "1,0,0")) @@ -526,27 +526,27 @@ (rule "notLeft" (formula "43")) (rule "applyEq" (formula "47") (term "0") (ifseqformula "40")) (rule "readPermission" (formula "43")) -(rule "Definition_axiom_for_staticPermissions_in_AFilter" (formula "2") (term "2,0,0,0,0,0") (ifseqformula "52")) +(rule "Definition_axiom_for_staticPermissions_in_AFilter" (formula "2") (term "1,0,0,0,0,0") (ifseqformula "52")) (rule "elementOfUnion" (formula "2") (term "0,0,0,0,0")) (rule "elementOfUnion" (formula "2") (term "1,0,0,0,0,0")) (rule "elementOfSingleton" (formula "2") (term "0,1,0,0,0,0,0")) (builtin "One Step Simplification" (formula "2")) (rule "elementOfSingleton" (formula "2") (term "1,0,0,0,0,0")) (builtin "One Step Simplification" (formula "2")) -(rule "Definition_axiom_for_staticPermissions_in_BFilter" (formula "8") (term "2,1,0,0,0,0") (ifseqformula "53")) -(rule "applyEq" (formula "8") (term "2,0,2,1,0,0,0,0") (ifseqformula "44")) +(rule "Definition_axiom_for_staticPermissions_in_BFilter" (formula "8") (term "1,1,0,0,0,0") (ifseqformula "53")) +(rule "applyEq" (formula "8") (term "2,0,1,1,0,0,0,0") (ifseqformula "44")) (rule "elementOfUnion" (formula "8") (term "1,0,0,0,0")) (rule "elementOfUnion" (formula "8") (term "1,1,0,0,0,0")) (rule "elementOfSingleton" (formula "8") (term "0,1,1,0,0,0,0")) (builtin "One Step Simplification" (formula "8")) (rule "elementOfSingleton" (formula "8") (term "1,1,0,0,0,0")) (builtin "One Step Simplification" (formula "8")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "6") (term "2,0,1,0,0") (ifseqformula "57")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "6") (term "1,0,1,0,0") (ifseqformula "57")) (rule "elementOfUnion" (formula "6") (term "0,1,0,0")) (rule "elementOfSingleton" (formula "6") (term "0,0,1,0,0")) (builtin "One Step Simplification" (formula "6")) (rule "ifthenelse_negated" (formula "6") (term "0")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "1") (term "2,0,1,0,0") (ifseqformula "57")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "1") (term "1,0,1,0,0") (ifseqformula "57")) (rule "elementOfUnion" (formula "1") (term "0,1,0,0")) (rule "elementOfSingleton" (formula "1") (term "0,0,1,0,0")) (builtin "One Step Simplification" (formula "1")) @@ -554,17 +554,17 @@ (rule "elementOfSingleton" (formula "1") (term "1,0,1,0,0")) (builtin "One Step Simplification" (formula "1")) (rule "ifthenelse_negated" (formula "1") (term "0")) -(rule "Definition_axiom_for_staticPermissions_in_Sampler" (formula "2") (term "2,0,0,0,0,0") (ifseqformula "47")) +(rule "Definition_axiom_for_staticPermissions_in_Sampler" (formula "2") (term "1,0,0,0,0,0") (ifseqformula "47")) (rule "elementOfSingleton" (formula "2") (term "0,0,0,0,0")) (builtin "One Step Simplification" (formula "2")) -(rule "Definition_axiom_for_staticPermissions_in_AFilter" (formula "8") (term "2,0,0,0,0,0") (ifseqformula "52")) +(rule "Definition_axiom_for_staticPermissions_in_AFilter" (formula "8") (term "1,0,0,0,0,0") (ifseqformula "52")) (rule "elementOfUnion" (formula "8") (term "0,0,0,0,0")) (rule "elementOfUnion" (formula "8") (term "1,0,0,0,0,0")) (rule "elementOfSingleton" (formula "8") (term "1,1,0,0,0,0,0")) (builtin "One Step Simplification" (formula "8")) (rule "ifthenelse_negated" (formula "8") (term "0")) -(rule "Definition_axiom_for_staticPermissions_in_BFilter" (formula "2") (term "2,0,0,0,0") (ifseqformula "53")) -(rule "applyEq" (formula "2") (term "2,0,2,0,0,0,0") (ifseqformula "44")) +(rule "Definition_axiom_for_staticPermissions_in_BFilter" (formula "2") (term "1,0,0,0,0") (ifseqformula "53")) +(rule "applyEq" (formula "2") (term "2,0,1,0,0,0,0") (ifseqformula "44")) (rule "elementOfUnion" (formula "2") (term "0,0,0,0")) (rule "elementOfUnion" (formula "2") (term "1,0,0,0,0")) (rule "elementOfSingleton" (formula "2") (term "1,1,0,0,0,0")) diff --git a/key.ui/examples/heap/permissions/threads/Plotter_startTransfer_accessible.proof b/key.ui/examples/heap/permissions/threads/Plotter_startTransfer_accessible.proof index 74defa22cc2..a8276ef3b2a 100644 --- a/key.ui/examples/heap/permissions/threads/Plotter_startTransfer_accessible.proof +++ b/key.ui/examples/heap/permissions/threads/Plotter_startTransfer_accessible.proof @@ -288,11 +288,11 @@ (rule "applyEq" (formula "4") (term "0,0,0,1,0,0") (ifseqformula "1")) (rule "applyEq" (formula "8") (term "1,1,0") (ifseqformula "1")) (rule "applyEq" (formula "8") (term "1,2,0") (ifseqformula "1")) -(rule "applyEq" (formula "8") (term "0,0,0,0,0") (ifseqformula "1")) +(rule "applyEq" (formula "8") (term "0,0,0,0,0,0") (ifseqformula "1")) (rule "applyEq" (formula "4") (term "1,1,0") (ifseqformula "1")) (rule "applyEq" (formula "8") (term "0,0,0,1,0,0") (ifseqformula "1")) (rule "applyEq" (formula "4") (term "1,2,0") (ifseqformula "1")) -(rule "applyEq" (formula "4") (term "0,0,0,0,0") (ifseqformula "1")) +(rule "applyEq" (formula "4") (term "0,0,0,0,0,0") (ifseqformula "1")) (rule "simplifySelectOfAnon" (formula "1")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "45")) (ifInst "" (formula "20"))) (rule "elementOfSetMinus" (formula "1") (term "0,0")) @@ -301,7 +301,7 @@ (rule "pullOutSelect" (formula "46") (term "0,0,0,0,0,0,0,0,1") (inst "selectSK=Plotter_ta_1")) (rule "applyEq" (formula "6") (term "1,0,0,1,1,0,0") (ifseqformula "1")) (rule "applyEq" (formula "6") (term "0,0,0,1,0,0") (ifseqformula "1")) -(rule "applyEq" (formula "6") (term "0,0,0,0,0") (ifseqformula "1")) +(rule "applyEq" (formula "6") (term "0,0,0,0,0,0") (ifseqformula "1")) (rule "applyEq" (formula "6") (term "1,2,0") (ifseqformula "1")) (rule "applyEq" (formula "6") (term "1,1,0") (ifseqformula "1")) (rule "simplifySelectOfAnon" (formula "1")) @@ -345,12 +345,12 @@ (rule "elementOfSetMinus" (formula "1") (term "0,0,0")) (builtin "One Step Simplification" (formula "1")) (rule "commute_and_2" (formula "54") (term "0,0")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "9") (term "2,0,0") (ifseqformula "53")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "9") (term "1,0,0") (ifseqformula "53")) (rule "elementOfUnion" (formula "9") (term "0,0")) (rule "elementOfUnion" (formula "9") (term "1,0,0")) (rule "elementOfSingleton" (formula "9") (term "0,1,0,0")) (builtin "One Step Simplification" (formula "9")) -(rule "applyEqReverse" (formula "1") (term "0,0,0,0,0") (ifseqformula "9")) +(rule "applyEqReverse" (formula "1") (term "0,0,0,0,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "1") (term "1,0,0,1,1,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "16") (term "0,0,0,1,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "16") (term "1,2,0") (ifseqformula "9")) @@ -360,14 +360,14 @@ (rule "applyEqReverse" (formula "12") (term "1,1,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "12") (term "1,2,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "12") (term "0,0,0,1,0,0") (ifseqformula "9")) -(rule "applyEqReverse" (formula "12") (term "0,0,0,0,0") (ifseqformula "9")) -(rule "applyEqReverse" (formula "16") (term "0,0,0,0,0") (ifseqformula "9")) +(rule "applyEqReverse" (formula "12") (term "0,0,0,0,0,0") (ifseqformula "9")) +(rule "applyEqReverse" (formula "16") (term "0,0,0,0,0,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "16") (term "1,1,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "1") (term "1,1,0") (ifseqformula "9")) (rule "applyEqReverse" (formula "54") (term "0,1,0,0,0,0,0,1") (ifseqformula "9")) (rule "applyEqReverse" (formula "1") (term "0,0,0,1,0,0") (ifseqformula "9")) (rule "hideAuxiliaryEq" (formula "9")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "10") (term "2,0,0") (ifseqformula "52")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "10") (term "1,0,0") (ifseqformula "52")) (rule "elementOfUnion" (formula "10") (term "0,0")) (rule "elementOfUnion" (formula "10") (term "1,0,0")) (rule "elementOfSingleton" (formula "10") (term "0,1,0,0")) @@ -377,14 +377,14 @@ (rule "elementOfSingleton" (formula "10") (term "1,1,0,0")) (builtin "One Step Simplification" (formula "10")) (rule "applyEqReverse" (formula "3") (term "1,2,0") (ifseqformula "10")) -(rule "applyEqReverse" (formula "3") (term "0,0,0,0,0") (ifseqformula "10")) +(rule "applyEqReverse" (formula "3") (term "0,0,0,0,0,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "3") (term "1,1,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "3") (term "0,0,0,1,0,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "3") (term "1,0,0,1,1,0,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "53") (term "1,1,0,0,0,0,0,0,1") (ifseqformula "10")) (rule "hideAuxiliaryEq" (formula "10")) (rule "eqSymm" (formula "52") (term "1,0,0,0,0,0,0,1")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "8") (term "2,0,0") (ifseqformula "51")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "8") (term "1,0,0") (ifseqformula "51")) (rule "elementOfUnion" (formula "8") (term "0,0")) (rule "elementOfUnion" (formula "8") (term "0,0,0")) (rule "elementOfUnion" (formula "8") (term "1,0,0")) @@ -395,7 +395,7 @@ (builtin "One Step Simplification" (formula "8")) (rule "applyEqReverse" (formula "11") (term "0,0,0,1,0,0") (ifseqformula "8")) (rule "applyEqReverse" (formula "11") (term "1,1,0") (ifseqformula "8")) -(rule "applyEqReverse" (formula "11") (term "0,0,0,0,0") (ifseqformula "8")) +(rule "applyEqReverse" (formula "11") (term "0,0,0,0,0,0") (ifseqformula "8")) (rule "applyEqReverse" (formula "11") (term "1,0,0,1,1,0,0") (ifseqformula "8")) (rule "applyEqReverse" (formula "52") (term "0,0,0,0,0,0,0,0,1") (ifseqformula "8")) (rule "applyEqReverse" (formula "11") (term "1,2,0") (ifseqformula "8")) @@ -403,7 +403,7 @@ (rule "replace_known_right" (formula "10") (term "0,0,1,0,0") (ifseqformula "48")) (builtin "One Step Simplification" (formula "10") (ifInst "" (formula "15"))) (rule "ifthenelse_negated" (formula "10") (term "0")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "11") (term "2,0,0") (ifseqformula "50")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "11") (term "1,0,0") (ifseqformula "50")) (rule "elementOfUnion" (formula "11") (term "0,0")) (rule "elementOfUnion" (formula "11") (term "0,0,0")) (rule "elementOfUnion" (formula "11") (term "1,0,0")) @@ -412,14 +412,14 @@ (rule "elementOfUnion" (formula "11") (term "1,0,0")) (rule "elementOfSingleton" (formula "11") (term "0,1,0,0")) (builtin "One Step Simplification" (formula "11")) -(rule "applyEqReverse" (formula "4") (term "0,0,0,0,0") (ifseqformula "11")) +(rule "applyEqReverse" (formula "4") (term "0,0,0,0,0,0") (ifseqformula "11")) (rule "applyEqReverse" (formula "4") (term "1,0,0,1,1,0,0") (ifseqformula "11")) (rule "applyEqReverse" (formula "4") (term "1,2,0") (ifseqformula "11")) (rule "applyEqReverse" (formula "51") (term "1,0,0,0,0,0,0,0,1") (ifseqformula "11")) (rule "applyEqReverse" (formula "4") (term "1,1,0") (ifseqformula "11")) (rule "applyEqReverse" (formula "4") (term "0,0,0,1,0,0") (ifseqformula "11")) (rule "hideAuxiliaryEq" (formula "11")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "8") (term "2,0,0") (ifseqformula "49")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "8") (term "1,0,0") (ifseqformula "49")) (rule "elementOfUnion" (formula "8") (term "0,0")) (rule "elementOfUnion" (formula "8") (term "0,0,0")) (rule "elementOfUnion" (formula "8") (term "1,0,0")) @@ -429,7 +429,7 @@ (rule "elementOfSingleton" (formula "8") (term "1,1,0,0")) (builtin "One Step Simplification" (formula "8")) (rule "applyEqReverse" (formula "50") (term "1,1,0,0,0,0,0,0,1") (ifseqformula "8")) -(rule "applyEqReverse" (formula "2") (term "0,0,0,0,0") (ifseqformula "8")) +(rule "applyEqReverse" (formula "2") (term "0,0,0,0,0,0") (ifseqformula "8")) (rule "applyEqReverse" (formula "2") (term "1,1,0") (ifseqformula "8")) (rule "applyEqReverse" (formula "2") (term "0,0,0,1,0,0") (ifseqformula "8")) (rule "applyEqReverse" (formula "2") (term "1,2,0") (ifseqformula "8")) @@ -440,7 +440,7 @@ (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "14"))) (rule "ifthenelse_negated" (formula "2") (term "0")) (rule "applyEq" (formula "2") (term "1,0") (ifseqformula "39")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "10") (term "2,0,0") (ifseqformula "48")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "10") (term "1,0,0") (ifseqformula "48")) (rule "elementOfUnion" (formula "10") (term "0,0")) (rule "elementOfUnion" (formula "10") (term "0,0,0")) (rule "elementOfUnion" (formula "10") (term "1,0,0")) @@ -450,10 +450,10 @@ (rule "applyEqReverse" (formula "6") (term "1,0,0,1,1,0,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "7") (term "1,2,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "49") (term "1,1,0,0,0,0,0,1") (ifseqformula "10")) -(rule "applyEqReverse" (formula "5") (term "0,0,0,0,0") (ifseqformula "10")) +(rule "applyEqReverse" (formula "5") (term "0,0,0,0,0,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "5") (term "1,2,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "6") (term "1,1,0") (ifseqformula "10")) -(rule "applyEqReverse" (formula "6") (term "0,0,0,0,0") (ifseqformula "10")) +(rule "applyEqReverse" (formula "6") (term "0,0,0,0,0,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "5") (term "0,0,0,1,0,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "7") (term "0,0,0,1,0,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "7") (term "1,0,0,1,1,0,0") (ifseqformula "10")) @@ -461,7 +461,7 @@ (rule "applyEqReverse" (formula "6") (term "1,2,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "7") (term "1,1,0") (ifseqformula "10")) (rule "applyEqReverse" (formula "6") (term "0,0,0,1,0,0") (ifseqformula "10")) -(rule "applyEqReverse" (formula "7") (term "0,0,0,0,0") (ifseqformula "10")) +(rule "applyEqReverse" (formula "7") (term "0,0,0,0,0,0") (ifseqformula "10")) (rule "hideAuxiliaryEq" (formula "10")) (rule "eqSymm" (formula "48") (term "1,0,0,0,0,0,1")) (rule "replace_known_right" (formula "5") (term "0,0,1,0,0") (ifseqformula "44")) @@ -479,7 +479,7 @@ (rule "ifthenelse_negated" (formula "6") (term "0")) (rule "ifthenelse_negated" (formula "5") (term "0")) (rule "ifthenelse_negated" (formula "7") (term "0")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "10") (term "2,0,0,0,0") (ifseqformula "47")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "10") (term "1,0,0,0,0") (ifseqformula "47")) (rule "elementOfUnion" (formula "10") (term "0,0,0,0")) (rule "elementOfSingleton" (formula "10") (term "0,0,0,0,0")) (builtin "One Step Simplification" (formula "10")) @@ -523,13 +523,13 @@ (rule "readPermission" (formula "43")) (rule "readPermission" (formula "42")) (rule "readPermission" (formula "41")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "6") (term "2,0,0") (ifseqformula "57")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "6") (term "1,0,0") (ifseqformula "57")) (rule "elementOfUnion" (formula "6") (term "0,0")) (rule "elementOfSingleton" (formula "6") (term "0,0,0")) (builtin "One Step Simplification" (formula "6")) (rule "applyEqReverse" (formula "58") (term "4,0,1,0,0,1") (ifseqformula "6")) (rule "hideAuxiliaryEq" (formula "6")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "5") (term "2,0,0") (ifseqformula "56")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "5") (term "1,0,0") (ifseqformula "56")) (rule "elementOfUnion" (formula "5") (term "0,0")) (rule "elementOfSingleton" (formula "5") (term "0,0,0")) (builtin "One Step Simplification" (formula "5")) @@ -540,7 +540,7 @@ (builtin "One Step Simplification" (formula "5")) (rule "applyEqReverse" (formula "57") (term "4,0,1,1") (ifseqformula "5")) (rule "hideAuxiliaryEq" (formula "5")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "2") (term "2,0,0") (ifseqformula "55")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "2") (term "1,0,0") (ifseqformula "55")) (rule "elementOfUnion" (formula "2") (term "0,0")) (rule "elementOfUnion" (formula "2") (term "0,0,0")) (rule "elementOfUnion" (formula "2") (term "1,0,0")) @@ -551,7 +551,7 @@ (builtin "One Step Simplification" (formula "2")) (rule "elementOfSingleton" (formula "2") (term "1,0,0")) (builtin "One Step Simplification" (formula "2")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "5") (term "2,0,0") (ifseqformula "55")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "5") (term "1,0,0") (ifseqformula "55")) (rule "elementOfUnion" (formula "5") (term "0,0")) (rule "elementOfSingleton" (formula "5") (term "0,0,0")) (builtin "One Step Simplification" (formula "5")) @@ -562,7 +562,7 @@ (builtin "One Step Simplification" (formula "5")) (rule "applyEqReverse" (formula "56") (term "4,0,1,0,1") (ifseqformula "5")) (rule "hideAuxiliaryEq" (formula "5")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "6") (term "2,0,0") (ifseqformula "54")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "6") (term "1,0,0") (ifseqformula "54")) (rule "elementOfUnion" (formula "6") (term "0,0")) (rule "elementOfUnion" (formula "6") (term "0,0,0")) (rule "elementOfUnion" (formula "6") (term "1,0,0")) @@ -608,7 +608,7 @@ (rule "applyEq" (formula "50") (term "0") (ifseqformula "48")) (rule "readPermission" (formula "42")) (rule "readPermission" (formula "41")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "1") (term "2,0,0,0,0") (ifseqformula "60")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "1") (term "1,0,0,0,0") (ifseqformula "60")) (rule "elementOfUnion" (formula "1") (term "0,0,0,0")) (rule "elementOfSingleton" (formula "1") (term "0,0,0,0,0")) (builtin "One Step Simplification" (formula "1")) @@ -616,7 +616,7 @@ (rule "elementOfSingleton" (formula "1") (term "1,0,0,0,0")) (builtin "One Step Simplification" (formula "1")) (rule "ifthenelse_negated" (formula "1") (term "0")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "3") (term "2,0,0,0,0") (ifseqformula "60")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "3") (term "1,0,0,0,0") (ifseqformula "60")) (rule "elementOfUnion" (formula "3") (term "0,0,0,0")) (rule "elementOfUnion" (formula "3") (term "1,0,0,0,0")) (rule "elementOfSingleton" (formula "3") (term "0,1,0,0,0,0")) @@ -627,7 +627,7 @@ (builtin "One Step Simplification" (formula "3")) (rule "elementOfSingleton" (formula "3") (term "1,0,0,0,0")) (builtin "One Step Simplification" (formula "3")) -(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "4") (term "2,0,0,0,0") (ifseqformula "60")) +(rule "Definition_axiom_for_staticPermissions_in_Plotter" (formula "4") (term "1,0,0,0,0") (ifseqformula "60")) (rule "elementOfUnion" (formula "4") (term "0,0,0,0")) (rule "elementOfUnion" (formula "4") (term "0,0,0,0,0")) (rule "elementOfUnion" (formula "4") (term "1,0,0,0,0")) @@ -638,23 +638,23 @@ (builtin "One Step Simplification" (formula "4")) (rule "elementOfSingleton" (formula "4") (term "1,0,0,0,0")) (builtin "One Step Simplification" (formula "4")) -(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "5") (term "2,0,0,0,0") (ifseqformula "60")) +(rule "Definition_axiom_for_workingPermissions_in_Plotter" (formula "5") (term "1,0,0,0,0") (ifseqformula "60")) (rule "elementOfUnion" (formula "5") (term "0,0,0,0")) (rule "elementOfSingleton" (formula "5") (term "0,0,0,0,0")) (builtin "One Step Simplification" (formula "5")) (rule "ifthenelse_negated" (formula "5") (term "0")) (rule "commute_and_2" (formula "61") (term "0")) (rule "commute_and_2" (formula "61") (term "0,1")) -(rule "Definition_axiom_for_staticPermissions_in_BFilter" (formula "6") (term "2,1,0,0") (ifseqformula "59")) -(rule "applyEq" (formula "6") (term "2,0,2,1,0,0") (ifseqformula "35")) +(rule "Definition_axiom_for_staticPermissions_in_BFilter" (formula "6") (term "1,1,0,0") (ifseqformula "59")) +(rule "applyEq" (formula "6") (term "2,0,1,1,0,0") (ifseqformula "35")) (rule "elementOfUnion" (formula "6") (term "1,0,0")) (rule "elementOfUnion" (formula "6") (term "1,1,0,0")) (rule "elementOfSingleton" (formula "6") (term "1,1,1,0,0")) (builtin "One Step Simplification" (formula "6")) (rule "elementOfSingleton" (formula "6") (term "1,1,0,0")) (builtin "One Step Simplification" (formula "6")) -(rule "Definition_axiom_for_staticPermissions_in_BFilter" (formula "2") (term "2,1,0,0") (ifseqformula "59")) -(rule "applyEq" (formula "2") (term "2,0,2,1,0,0") (ifseqformula "35")) +(rule "Definition_axiom_for_staticPermissions_in_BFilter" (formula "2") (term "1,1,0,0") (ifseqformula "59")) +(rule "applyEq" (formula "2") (term "2,0,1,1,0,0") (ifseqformula "35")) (rule "elementOfUnion" (formula "2") (term "1,0,0")) (rule "elementOfUnion" (formula "2") (term "1,1,0,0")) (rule "elementOfSingleton" (formula "2") (term "0,1,1,0,0")) @@ -663,14 +663,14 @@ (builtin "One Step Simplification" (formula "2")) (rule "applyEqReverse" (formula "61") (term "0,1,0,0,0,1") (ifseqformula "2")) (rule "hideAuxiliaryEq" (formula "2")) -(rule "Definition_axiom_for_staticPermissions_in_AFilter" (formula "2") (term "2,0,0,0,0,0") (ifseqformula "52")) +(rule "Definition_axiom_for_staticPermissions_in_AFilter" (formula "2") (term "1,0,0,0,0,0") (ifseqformula "52")) (rule "elementOfUnion" (formula "2") (term "0,0,0,0,0")) (rule "elementOfUnion" (formula "2") (term "1,0,0,0,0,0")) (rule "elementOfSingleton" (formula "2") (term "0,1,0,0,0,0,0")) (builtin "One Step Simplification" (formula "2")) (rule "elementOfSingleton" (formula "2") (term "1,0,0,0,0,0")) (builtin "One Step Simplification" (formula "2")) -(rule "Definition_axiom_for_staticPermissions_in_AFilter" (formula "3") (term "2,0,0,0,0,0") (ifseqformula "52")) +(rule "Definition_axiom_for_staticPermissions_in_AFilter" (formula "3") (term "1,0,0,0,0,0") (ifseqformula "52")) (rule "elementOfUnion" (formula "3") (term "0,0,0,0,0")) (rule "elementOfUnion" (formula "3") (term "1,0,0,0,0,0")) (rule "elementOfSingleton" (formula "3") (term "1,1,0,0,0,0,0")) @@ -682,17 +682,17 @@ (rule "notLeft" (formula "44")) (rule "applyEq" (formula "49") (term "0") (ifseqformula "45")) (rule "readPermission" (formula "44")) -(rule "Definition_axiom_for_staticPermissions_in_Sampler" (formula "5") (term "2,1,0,0") (ifseqformula "54")) +(rule "Definition_axiom_for_staticPermissions_in_Sampler" (formula "5") (term "1,1,0,0") (ifseqformula "54")) (rule "elementOfSingleton" (formula "5") (term "1,0,0")) (builtin "One Step Simplification" (formula "5")) -(rule "Definition_axiom_for_staticPermissions_in_BFilter" (formula "2") (term "2,1,0,0,0,0") (ifseqformula "53")) -(rule "applyEq" (formula "2") (term "2,0,2,1,0,0,0,0") (ifseqformula "46")) +(rule "Definition_axiom_for_staticPermissions_in_BFilter" (formula "2") (term "1,1,0,0,0,0") (ifseqformula "53")) +(rule "applyEq" (formula "2") (term "2,0,1,1,0,0,0,0") (ifseqformula "46")) (rule "elementOfUnion" (formula "2") (term "1,0,0,0,0")) (rule "elementOfUnion" (formula "2") (term "1,1,0,0,0,0")) (rule "elementOfSingleton" (formula "2") (term "1,1,1,0,0,0,0")) (builtin "One Step Simplification" (formula "2")) (rule "ifthenelse_negated" (formula "2") (term "0")) -(rule "Definition_axiom_for_staticPermissions_in_AFilter" (formula "5") (term "2,0,0") (ifseqformula "57")) +(rule "Definition_axiom_for_staticPermissions_in_AFilter" (formula "5") (term "1,0,0") (ifseqformula "57")) (rule "elementOfUnion" (formula "5") (term "0,0")) (rule "elementOfUnion" (formula "5") (term "1,0,0")) (rule "elementOfSingleton" (formula "5") (term "1,1,0,0")) diff --git a/key.ui/examples/heap/permutedSum/perm.proof b/key.ui/examples/heap/permutedSum/perm.proof index 0fa20b6be9f..a411271f924 100644 --- a/key.ui/examples/heap/permutedSum/perm.proof +++ b/key.ui/examples/heap/permutedSum/perm.proof @@ -54,6 +54,7 @@ "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_DELAYED", "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", "LOOP_OPTIONS_KEY" : "LOOP_SCOPE_INV_TACLET", "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", "MPS_OPTIONS_KEY" : "MPS_MERGE", @@ -66,6 +67,7 @@ "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", @@ -94,8 +96,9 @@ (keyLog "5" (keyUser "Julian" ) (keyVersion "44c2a312eb")) (keyLog "6" (keyUser "bubel" ) (keyVersion "cacb625f9caeb9baf0b0ea63b8484f8c5b766f85")) (keyLog "7" (keyUser "daniel" ) (keyVersion "118d7b9475817cd96facb2d4a3b1e69032a50457")) +(keyLog "8" (keyUser "daniel" ) (keyVersion "3e5e375a5961f774f564a01b1e406905665f8f19")) -(autoModeTime "164275") +(autoModeTime "165090") (branch "dummy ID" (builtin "One Step Simplification" (formula "1") (newnames "heapAtPre,o,f")) @@ -409,12 +412,10 @@ (rule "polySimp_elimOne" (formula "16") (term "1,1")) (rule "polySimp_mulComm0" (formula "16") (term "0,1")) (rule "newSym_eq" (formula "16") (inst "l=l_0") (inst "newSymDef=add(mul(result_next, Z(0(#))), - mul(seqGet(select(heap, - self, - Perm::#c), - select(anon_heap_LOOP_0<>, - self, - Perm::#pIdx)), + mul(seqGet(select(heap, self, Perm::#c), + select(anon_heap_LOOP_0<>, + self, + Perm::#pIdx)), Z(0(#))))")) (rule "times_zero_1" (formula "16") (term "1,1,1")) (rule "times_zero_1" (formula "16") (term "0,1,1")) @@ -918,8 +919,8 @@ (builtin "One Step Simplification" (formula "1")) (rule "eqSymm" (formula "37")) (rule "elementOfSingleton" (formula "1") (term "0,0,0,0")) - (rule "replace_known_right" (formula "1") (term "0,0,0,0") (ifseqformula "35")) - (builtin "One Step Simplification" (formula "1")) + (builtin "One Step Simplification" (formula "9")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "35"))) (rule "inEqSimp_exactShadow3" (formula "4") (ifseqformula "17")) (rule "mul_literals" (formula "4") (term "0,0")) (rule "add_zero_left" (formula "4") (term "0")) @@ -929,19 +930,428 @@ (rule "leq_literals" (formula "25") (term "0")) (builtin "One Step Simplification" (formula "25")) (rule "true_left" (formula "25")) - (rule "pullOutSelect" (formula "1") (term "0,0,1,0,0") (inst "selectSK=java_lang_Object_created__1:boolean")) + (rule "selectCreatedOfAnonAsFormula" (formula "1") (term "0,1,0,0")) + (rule "pullOutSelect" (formula "1") (term "2,0") (inst "selectSK=f_0_1:any")) (rule "simplifySelectOfAnon" (formula "1")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "37"))) - (rule "applyEqReverse" (formula "2") (term "0,0,1,0,0") (ifseqformula "1")) - (rule "hideAuxiliaryEq" (formula "1")) - (rule "replace_known_right" (formula "1") (term "0,0") (ifseqformula "36")) - (builtin "One Step Simplification" (formula "1")) - (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "36"))) (rule "elementOfSingleton" (formula "1") (term "0,0,0")) - (rule "replace_known_right" (formula "1") (term "0,0,0") (ifseqformula "35")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "37"))) - (rule "closeFalse" (formula "1")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "36"))) + (rule "applyEqReverse" (formula "2") (term "2,0") (ifseqformula "1")) + (rule "hideAuxiliaryEq" (formula "1")) + (rule "expand_moduloInteger" (formula "7") (term "0,1,0")) + (rule "replace_int_MIN" (formula "7") (term "0,0,1,0")) + (rule "replace_int_HALFRANGE" (formula "7") (term "0,0,1,0,1,0")) + (rule "replace_int_RANGE" (formula "7") (term "1,1,0,1,0")) + (rule "polySimp_homoEq" (formula "7") (term "1,0")) + (rule "polySimp_mulComm0" (formula "7") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "7") (term "1,0,1,0")) + (rule "mul_literals" (formula "7") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "7") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "7") (term "0,0,1,0")) + (rule "mod_axiom" (formula "7") (term "0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "7") (term "1,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "7") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "7") (term "1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "7") (term "1,1,0,1,0")) + (rule "polySimp_rightDist" (formula "7") (term "0,1,0,1,0")) + (rule "mul_literals" (formula "7") (term "0,0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "7") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "7") (term "0,0,1,0")) + (rule "polySimp_addComm1" (formula "7") (term "0,0,0,1,0")) + (rule "add_literals" (formula "7") (term "0,0,0,0,1,0")) + (rule "add_zero_left" (formula "7") (term "0,0,0,1,0")) + (rule "polySimp_sepPosMonomial" (formula "7") (term "1,0")) + (rule "polySimp_mulComm0" (formula "7") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "7") (term "1,1,0")) + (rule "polySimp_mulLiterals" (formula "7") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "7") (term "1,1,1,0")) + (rule "polySimp_mulComm0" (formula "7") (term "0,1,1,0")) + (rule "expand_moduloInteger" (formula "8") (term "1,1,0")) + (rule "replace_int_MIN" (formula "8") (term "0,1,1,0")) + (rule "replace_int_HALFRANGE" (formula "8") (term "0,0,1,1,1,0")) + (rule "replace_int_RANGE" (formula "8") (term "1,1,1,1,0")) + (rule "mod_axiom" (formula "8") (term "1,1,1,0")) + (rule "polySimp_mulLiterals" (formula "8") (term "1,1,1,1,0")) + (rule "polySimp_addAssoc" (formula "8") (term "1,1,0")) + (rule "polySimp_addAssoc" (formula "8") (term "0,1,1,0")) + (rule "add_literals" (formula "8") (term "0,0,1,1,0")) + (rule "add_zero_left" (formula "8") (term "0,1,1,0")) + (rule "nnf_imp2or" (formula "28") (term "0")) + (rule "nnf_imp2or" (formula "6") (term "0")) + (rule "nnf_imp2or" (formula "29") (term "0")) + (rule "nnf_imp2or" (formula "8") (term "0")) + (rule "nnf_notAnd" (formula "25") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "25") (term "0,0,0")) + (rule "mul_literals" (formula "25") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "25") (term "0,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "25") (term "0,0,0")) + (rule "mul_literals" (formula "25") (term "1,0,0,0")) + (rule "inEqSimp_notLeq" (formula "25") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "25") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "25") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "25") (term "0,0,1,0,0")) + (rule "add_literals" (formula "25") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "25") (term "0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "25") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "25") (term "1,1,0,0")) + (rule "polySimp_elimOne" (formula "25") (term "1,1,0,0")) + (rule "nnf_notAnd" (formula "29") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "29") (term "0,0,0")) + (rule "mul_literals" (formula "29") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "29") (term "0,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "29") (term "0,0,0")) + (rule "mul_literals" (formula "29") (term "1,0,0,0")) + (rule "inEqSimp_notLeq" (formula "29") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "29") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "29") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "29") (term "0,0,1,0,0")) + (rule "add_literals" (formula "29") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "29") (term "0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "29") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "29") (term "1,1,0,0")) + (rule "polySimp_elimOne" (formula "29") (term "1,1,0,0")) + (rule "expand_moduloInteger" (formula "7") (term "0,0,1,1,0")) + (rule "replace_int_MIN" (formula "7") (term "0,0,0,1,1,0")) + (rule "replace_int_HALFRANGE" (formula "7") (term "0,0,1,0,0,1,1,0")) + (rule "replace_int_RANGE" (formula "7") (term "1,1,0,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "7") (term "0,1,1,0")) + (rule "polySimp_rightDist" (formula "7") (term "0,1,1,0")) + (rule "mul_literals" (formula "7") (term "0,0,1,1,0")) + (rule "mod_axiom" (formula "7") (term "0,1,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "7") (term "1,0,1,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "7") (term "1,0,1,1,0")) + (rule "polySimp_rightDist" (formula "7") (term "1,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "7") (term "1,1,0,1,1,0")) + (rule "polySimp_rightDist" (formula "7") (term "0,1,0,1,1,0")) + (rule "mul_literals" (formula "7") (term "0,0,1,0,1,1,0")) + (rule "polySimp_addAssoc" (formula "7") (term "0,1,1,0")) + (rule "polySimp_addAssoc" (formula "7") (term "0,0,1,1,0")) + (rule "add_literals" (formula "7") (term "0,0,0,1,1,0")) + (rule "add_zero_left" (formula "7") (term "0,0,1,1,0")) + (rule "nnf_notAnd" (formula "27") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "27") (term "0,0,0")) + (rule "mul_literals" (formula "27") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "27") (term "0,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "27") (term "0,0,0")) + (rule "mul_literals" (formula "27") (term "1,0,0,0")) + (rule "inEqSimp_notLeq" (formula "27") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "27") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "27") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "27") (term "0,0,1,0,0")) + (rule "add_literals" (formula "27") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "27") (term "0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "27") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "27") (term "1,1,0,0")) + (rule "polySimp_elimOne" (formula "27") (term "1,1,0,0")) + (rule "nnf_notAnd" (formula "6") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "6") (term "0,0,0")) + (rule "mul_literals" (formula "6") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "6") (term "0,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "6") (term "0,0,0")) + (rule "mul_literals" (formula "6") (term "1,0,0,0")) + (rule "inEqSimp_notLeq" (formula "6") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "6") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "6") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "6") (term "0,0,1,0,0")) + (rule "add_literals" (formula "6") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "6") (term "0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "6") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "6") (term "1,1,0,0")) + (rule "polySimp_elimOne" (formula "6") (term "1,1,0,0")) + (rule "nnf_notAnd" (formula "28") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "28") (term "0,0,0")) + (rule "mul_literals" (formula "28") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "28") (term "0,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "28") (term "0,0,0")) + (rule "mul_literals" (formula "28") (term "1,0,0,0")) + (rule "inEqSimp_notLeq" (formula "28") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "28") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "28") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "28") (term "0,0,1,0,0")) + (rule "add_literals" (formula "28") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "28") (term "0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "28") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "28") (term "1,1,0,0")) + (rule "polySimp_elimOne" (formula "28") (term "1,1,0,0")) + (rule "nnf_imp2or" (formula "7") (term "0")) + (rule "nnf_notAnd" (formula "7") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "7") (term "0,0,0")) + (rule "mul_literals" (formula "7") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "7") (term "0,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "7") (term "0,0,0")) + (rule "mul_literals" (formula "7") (term "1,0,0,0")) + (rule "inEqSimp_notLeq" (formula "7") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "7") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "7") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "7") (term "0,0,1,0,0")) + (rule "add_literals" (formula "7") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "7") (term "0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "7") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "7") (term "1,1,0,0")) + (rule "polySimp_elimOne" (formula "7") (term "1,1,0,0")) + (rule "commute_and" (formula "33")) + (rule "commute_and" (formula "25") (term "1,1,0")) + (rule "commute_and" (formula "29") (term "1,1,0")) + (rule "commute_and" (formula "6") (term "1,1,0")) + (rule "Class_invariant_axiom_for_Perm" (formula "14") (inst "i=i") (inst "i_0=i_0") (inst "i_1=i_1") (inst "i_2=i_2") (inst "i_3=i_3") (inst "sk=sk_2") (ifseqformula "11")) + (branch "Use Axiom" + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "31")) (ifInst "" (formula "23")) (ifInst "" (formula "24")) (ifInst "" (formula "26")) (ifInst "" (formula "30"))) + (rule "expandInRangeInt" (formula "14") (term "1,1,0,1,0,0,0")) + (rule "expandInRangeInt" (formula "14") (term "1,1,0,1")) + (rule "replace_int_MAX" (formula "14") (term "1,0,1,1,0,1,0,0,0")) + (rule "replace_int_MIN" (formula "14") (term "0,1,1,1,0,1,0,0,0")) + (rule "replace_int_MAX" (formula "14") (term "1,0,1,1,0,1")) + (rule "replace_int_MIN" (formula "14") (term "0,1,1,1,0,1")) + (rule "andLeft" (formula "14")) + (rule "andLeft" (formula "14")) + (rule "andLeft" (formula "14")) + (rule "andLeft" (formula "14")) + (rule "andLeft" (formula "14")) + (rule "andLeft" (formula "14")) + (rule "eqSymm" (formula "19") (term "1,0")) + (rule "eqSymm" (formula "18") (term "1,0")) + (rule "eqSymm" (formula "16")) + (rule "castedGetAny" (formula "20") (term "0,0,1,1,0")) + (rule "castedGetAny" (formula "20") (term "1,1,1,1,0")) + (rule "castedGetAny" (formula "17") (term "0,0,1,1,0")) + (rule "castedGetAny" (formula "17") (term "1,1,1,1,0")) + (rule "castedGetAny" (formula "19") (term "0,0,1,0")) + (rule "eqSymm" (formula "19") (term "1,0")) + (rule "castedGetAny" (formula "18") (term "0,0,1,0")) + (rule "castedGetAny" (formula "18") (term "0,1,1,0")) + (rule "lenOfSeqDefEQ" (formula "17") (term "1,1,0,0") (ifseqformula "16")) + (rule "polySimp_elimSub" (formula "17") (term "1,1,1,0,0")) + (rule "mul_literals" (formula "17") (term "1,1,1,1,0,0")) + (rule "add_zero_right" (formula "17") (term "1,1,1,0,0")) + (rule "castedGetAny" (formula "18") (term "1,0,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "20") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0,0,1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "19") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "18") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0,0,1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "17") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "17") (term "1,0,0,1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "20") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "19") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "18") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "17") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "14")) + (rule "inEqSimp_commuteLeq" (formula "20") (term "1,1,1,0")) + (rule "inEqSimp_commuteLeq" (formula "17") (term "1,1,1,0")) + (rule "inEqSimp_commuteLeq" (formula "17") (term "0,0,1,0,0,1,0,0")) + (rule "applyEq" (formula "14") (term "0") (ifseqformula "13")) + (rule "qeq_literals" (formula "14")) + (rule "true_left" (formula "14")) + (rule "applyEq" (formula "14") (term "0") (ifseqformula "13")) + (rule "inEqSimp_commuteLeq" (formula "14")) + (rule "replace_known_left" (formula "16") (term "0,0,1,0,0,1,0,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "16")) + (rule "applyEq" (formula "18") (term "0,1,0,0,1,0,0") (ifseqformula "35")) + (rule "applyEq" (formula "17") (term "0,1,0,0,1,0,0") (ifseqformula "35")) + (rule "applyEq" (formula "19") (term "0,1,0,0,1,0,0") (ifseqformula "35")) + (rule "inEqSimp_sepPosMonomial0" (formula "16") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "16") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "16") (term "1,1,0,0")) + (rule "mul_literals" (formula "16") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "16") (term "1,1,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "18") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "18") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "18") (term "1,1,0,0")) + (rule "mul_literals" (formula "18") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "18") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "18") (term "1,1,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "17") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "17") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "17") (term "1,1,0,0")) + (rule "mul_literals" (formula "17") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "17") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "17") (term "1,1,1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "19") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "19") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "19") (term "1,1,0,0")) + (rule "mul_literals" (formula "19") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "19") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "19") (term "1,1,1,0,0")) + (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "4")) + (rule "leq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) + (rule "eqSeqDef2" (formula "14") (inst "iv=iv") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) + (rule "expand_moduloInteger" (formula "16") (term "1,1,0")) + (rule "replace_int_MIN" (formula "16") (term "0,1,1,0")) + (rule "replace_int_HALFRANGE" (formula "16") (term "0,0,1,1,1,0")) + (rule "replace_int_RANGE" (formula "16") (term "1,1,1,1,0")) + (rule "mod_axiom" (formula "16") (term "1,1,1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "1,1,1,1,0")) + (rule "polySimp_addAssoc" (formula "16") (term "1,1,0")) + (rule "polySimp_addAssoc" (formula "16") (term "0,1,1,0")) + (rule "add_literals" (formula "16") (term "0,0,1,1,0")) + (rule "add_zero_left" (formula "16") (term "0,1,1,0")) + (rule "expand_moduloInteger" (formula "15") (term "1,1,0")) + (rule "replace_int_MIN" (formula "15") (term "0,1,1,0")) + (rule "replace_int_HALFRANGE" (formula "15") (term "0,0,1,1,1,0")) + (rule "replace_int_RANGE" (formula "15") (term "1,1,1,1,0")) + (rule "mod_axiom" (formula "15") (term "1,1,1,0")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,1,1,1,0")) + (rule "polySimp_addAssoc" (formula "15") (term "1,1,0")) + (rule "polySimp_addAssoc" (formula "15") (term "0,1,1,0")) + (rule "add_literals" (formula "15") (term "0,0,1,1,0")) + (rule "add_zero_left" (formula "15") (term "0,1,1,0")) + (rule "expand_moduloInteger" (formula "15") (term "0,1,0")) + (rule "replace_int_MIN" (formula "15") (term "0,0,1,0")) + (rule "replace_int_HALFRANGE" (formula "15") (term "0,0,1,0,1,0")) + (rule "replace_int_RANGE" (formula "15") (term "1,1,0,1,0")) + (rule "polySimp_homoEq" (formula "15") (term "1,0")) + (rule "polySimp_mulComm0" (formula "15") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "15") (term "1,0,1,0")) + (rule "mul_literals" (formula "15") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "15") (term "0,1,0")) + (rule "polySimp_addComm1" (formula "15") (term "0,0,1,0")) + (rule "polySimp_addComm0" (formula "15") (term "0,0,0,1,0")) + (rule "mod_axiom" (formula "15") (term "0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "15") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "15") (term "1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,1,0,1,0")) + (rule "polySimp_rightDist" (formula "15") (term "0,1,0,1,0")) + (rule "mul_literals" (formula "15") (term "0,0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "15") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "15") (term "0,0,1,0")) + (rule "polySimp_addComm1" (formula "15") (term "0,0,0,1,0")) + (rule "polySimp_addComm1" (formula "15") (term "0,0,0,0,1,0")) + (rule "add_literals" (formula "15") (term "0,0,0,0,0,1,0")) + (rule "add_zero_left" (formula "15") (term "0,0,0,0,1,0")) + (rule "polySimp_sepPosMonomial" (formula "15") (term "1,0")) + (rule "polySimp_mulComm0" (formula "15") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "15") (term "1,1,0")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,1,1,0")) + (rule "polySimp_elimOne" (formula "15") (term "1,1,1,0")) + (rule "polySimp_rightDist" (formula "15") (term "0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "15") (term "0,0,1,1,0")) + (rule "nnf_imp2or" (formula "14") (term "0")) + (rule "nnf_imp2or" (formula "17") (term "0")) + (rule "nnf_imp2or" (formula "16") (term "0")) + (rule "nnf_imp2or" (formula "15") (term "0")) + (rule "nnf_notAnd" (formula "14") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "14") (term "0,0,0")) + (rule "mul_literals" (formula "14") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "14") (term "0,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "14") (term "0,0,0")) + (rule "mul_literals" (formula "14") (term "1,0,0,0")) + (rule "inEqSimp_notLeq" (formula "14") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "14") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "14") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "14") (term "0,0,1,0,0")) + (rule "add_literals" (formula "14") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "14") (term "0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "14") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "14") (term "1,1,0,0")) + (rule "polySimp_elimOne" (formula "14") (term "1,1,0,0")) + (rule "nnf_notAnd" (formula "17") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "17") (term "0,0,0")) + (rule "mul_literals" (formula "17") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "17") (term "0,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "17") (term "0,0,0")) + (rule "mul_literals" (formula "17") (term "1,0,0,0")) + (rule "inEqSimp_notLeq" (formula "17") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "17") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "17") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "17") (term "0,0,1,0,0")) + (rule "add_literals" (formula "17") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "17") (term "0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "17") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "17") (term "1,1,0,0")) + (rule "polySimp_elimOne" (formula "17") (term "1,1,0,0")) + (rule "nnf_notAnd" (formula "16") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "16") (term "0,0,0")) + (rule "mul_literals" (formula "16") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "16") (term "0,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "16") (term "0,0,0")) + (rule "mul_literals" (formula "16") (term "1,0,0,0")) + (rule "inEqSimp_notLeq" (formula "16") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "16") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "16") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "16") (term "0,0,1,0,0")) + (rule "add_literals" (formula "16") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "16") (term "0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "16") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "1,1,0,0")) + (rule "polySimp_elimOne" (formula "16") (term "1,1,0,0")) + (rule "nnf_notAnd" (formula "15") (term "0,0")) + (rule "inEqSimp_notGeq" (formula "15") (term "0,0,0")) + (rule "mul_literals" (formula "15") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "15") (term "0,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "15") (term "0,0,0")) + (rule "mul_literals" (formula "15") (term "1,0,0,0")) + (rule "inEqSimp_notLeq" (formula "15") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "15") (term "1,0,0,1,0,0")) + (rule "mul_literals" (formula "15") (term "0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "15") (term "0,0,1,0,0")) + (rule "add_literals" (formula "15") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "15") (term "0,0,1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "15") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,1,0,0")) + (rule "polySimp_elimOne" (formula "15") (term "1,1,0,0")) + (rule "commute_or_2" (formula "29") (term "0")) + (rule "cnf_rightDist" (formula "26") (term "0")) + (rule "cnf_rightDist" (formula "30") (term "0")) + (rule "cnf_rightDist" (formula "6") (term "0")) + (rule "div_axiom" (formula "21") (term "0") (inst "quotient=quotient_0")) + (rule "equal_literals" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (rule "qeq_literals" (formula "21") (term "0,1")) + (builtin "One Step Simplification" (formula "21")) + (rule "mul_literals" (formula "21") (term "1,1,1")) + (rule "andLeft" (formula "21")) + (rule "andLeft" (formula "21")) + (rule "polySimp_addAssoc" (formula "23") (term "0,1")) + (rule "add_literals" (formula "23") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "23") (term "1")) + (rule "add_literals" (formula "23") (term "0,1")) + (rule "inEqSimp_homoInEq0" (formula "22")) + (rule "polySimp_mulLiterals" (formula "22") (term "1,0")) + (rule "polySimp_addComm1" (formula "22") (term "0")) + (rule "inEqSimp_homoInEq1" (formula "23")) + (rule "polySimp_mulLiterals" (formula "23") (term "1,0")) + (rule "polySimp_addComm1" (formula "23") (term "0")) + (rule "applyEq" (formula "24") (term "0") (ifseqformula "21")) + (rule "applyEq" (formula "22") (term "0,1,0,0") (ifseqformula "24")) + (rule "mul_literals" (formula "22") (term "1,0,0")) + (rule "add_literals" (formula "22") (term "0,0")) + (rule "applyEq" (formula "23") (term "0,1,0,0") (ifseqformula "24")) + (rule "mul_literals" (formula "23") (term "1,0,0")) + (rule "add_literals" (formula "23") (term "0,0")) + (rule "applyEq" (formula "21") (term "1") (ifseqformula "24")) + (rule "inEqSimp_sepPosMonomial1" (formula "22")) + (rule "mul_literals" (formula "22") (term "1")) + (rule "inEqSimp_sepPosMonomial0" (formula "23")) + (rule "mul_literals" (formula "23") (term "1")) + (rule "ifthenelse_split" (formula "1") (term "0")) + (branch " !o_0 = null & !( select(heap, o_0, java.lang.Object::#$created) = TRUE | select(anon_heap_LOOP_0<>, o_0, java.lang.Object::#$created) = TRUE) TRUE" + (rule "andLeft" (formula "1")) + (rule "notLeft" (formula "2")) + (rule "notLeft" (formula "1")) + (rule "orRight" (formula "36")) + (rule "applyEqReverse" (formula "42") (term "1") (ifseqformula "1")) + (rule "hideAuxiliaryEq" (formula "1")) + (rule "eqSymm" (formula "41")) + (rule "replace_known_right" (formula "40") (term "0,0") (ifseqformula "34")) + (builtin "One Step Simplification" (formula "40") (ifInst "" (formula "35"))) + (rule "closeTrue" (formula "40")) + ) + (branch " !o_0 = null & !( select(heap, o_0, java.lang.Object::#$created) = TRUE | select(anon_heap_LOOP_0<>, o_0, java.lang.Object::#$created) = TRUE) FALSE" + (rule "close" (formula "40") (ifseqformula "1")) + ) + ) + (branch "Show Axiom Satisfiability" + (builtin "One Step Simplification" (formula "31") (ifInst "" (formula "32")) (ifInst "" (formula "23")) (ifInst "" (formula "24")) (ifInst "" (formula "26")) (ifInst "" (formula "30")) (ifInst "" (formula "32")) (ifInst "" (formula "23")) (ifInst "" (formula "24")) (ifInst "" (formula "26")) (ifInst "" (formula "30"))) + (rule "closeTrue" (formula "31")) + ) ) (branch "Show Axiom Satisfiability" (builtin "One Step Simplification" (formula "29")) @@ -1010,12 +1420,12 @@ (builtin "One Step Simplification" (formula "15")) (rule "eqTermCut" (formula "2") (term "0") (inst "s=bsum{int i;}(Z(0(#)), select(anon_heap_LOOP_0<>, - self, - Perm::#pIdx), + self, + Perm::#pIdx), cast(seqGet(select(heap, - self, - Perm::#c), - i))):int") (userinteraction)) + self, + Perm::#c), + i))):int") (userinteraction)) (branch "Assume bsum{int i;}(0, self.pIdx@anon_heap_LOOP_0<>, moduloInt((int)self.c[i])) = bsum{int i;}(0, self.pIdx@anon_heap_LOOP_0<>, (int)(self.c[i]))" (rule "applyEq" (formula "3") (term "0") (ifseqformula "2") (userinteraction)) (rule "applyEqReverse" (formula "16") (term "1") (ifseqformula "3") (userinteraction)) @@ -3071,8 +3481,8 @@ ) (branch "Case 2" (rule "eqTermCut" (formula "32") (term "1,0,1") (inst "s=select(anon_heap_LOOP_0<>, - self, - Perm::#pIdx):int") (userinteraction)) + self, + Perm::#pIdx):int") (userinteraction)) (branch "Assume self.a@heap[anon({(self, Perm::#pIdx)}, anon_heap_LOOP_0<>)].length = self.pIdx@anon_heap_LOOP_0<>" (rule "replaceKnownSelect_taclet1_2" (formula "33") (term "0,1,0,1") (userinteraction)) (rule "applyEqReverse" (formula "33") (term "1,0,0") (ifseqformula "1") (userinteraction)) @@ -6670,10 +7080,8 @@ (rule "polySimp_mulLiterals" (formula "2") (term "0")) (rule "polySimp_elimOne" (formula "2") (term "0")) (rule "elimGcdEq" (formula "30") (inst "elimGcd=Z(6(9(2(7(6(9(4(9(2(4(#)))))))))))") (inst "elimGcdLeftDiv=div(add(Z(8(4(6(3(8(4(7(4(1(2(#))))))))))), - seqGet(select(heap, - self, - Perm::#c), - i_0)), + seqGet(select(heap, self, Perm::#c), + i_0)), Z(6(9(2(7(6(9(4(9(2(4(#))))))))))))") (inst "elimGcdRightDiv=Z(0(#))")) (builtin "One Step Simplification" (formula "30")) (rule "add_zero_left" (formula "30") (term "0,0,1")) @@ -6727,14 +7135,12 @@ (rule "mul_literals" (formula "31") (term "1")) (rule "polySimp_mulLiterals" (formula "31") (term "0")) (rule "elimGcdEq" (formula "31") (inst "elimGcd=Z(6(9(2(7(6(9(4(9(2(4(#)))))))))))") (inst "elimGcdLeftDiv=bsum{int i;}(Z(0(#)), - length(select(heap, - self, - Perm::#a)), + length(select(heap, self, Perm::#a)), div(add(Z(8(4(6(3(8(4(7(4(1(2(#))))))))))), seqGet(select(heap, - self, - Perm::#c), - i)), + self, + Perm::#c), + i)), Z(6(9(2(7(6(9(4(9(2(4(#)))))))))))))") (inst "elimGcdRightDiv=Z(0(#))")) (builtin "One Step Simplification" (formula "31")) (rule "add_zero_left" (formula "31") (term "0,0,0")) @@ -6822,14 +7228,12 @@ (rule "replace_known_left" (formula "35") (term "0") (ifseqformula "18")) (builtin "One Step Simplification" (formula "35")) (rule "elimGcdEq" (formula "35") (inst "elimGcd=Z(6(9(2(7(6(9(4(9(2(4(#)))))))))))") (inst "elimGcdLeftDiv=bsum{int i;}(Z(0(#)), - length(select(heap, - self, - Perm::#a)), + length(select(heap, self, Perm::#a)), div(add(Z(8(4(6(3(8(4(7(4(1(2(#))))))))))), seqGet(select(heap, - self, - Perm::#c), - i)), + self, + Perm::#c), + i)), Z(6(9(2(7(6(9(4(9(2(4(#)))))))))))))") (inst "elimGcdRightDiv=Z(0(#))")) (builtin "One Step Simplification" (formula "35") (ifInst "" (formula "34"))) (rule "add_zero_left" (formula "35") (term "0,1,0")) @@ -7053,31 +7457,31 @@ (builtin "One Step Simplification" (formula "39")) (rule "newSym_eq" (formula "39") (inst "l=l_0") (inst "newSymDef=add(add(quotient_2, mul(seqGet(select(heap, - self, - Perm::#c), - i_1), + self, + Perm::#c), + i_1), Z(0(#)))), mul(\\if ( geq(seqGet(select(heap, - self, - Perm::#perm), - i_1), + self, + Perm::#perm), + i_1), Z(0(#))) & leq(seqGet(select(heap, - self, - Perm::#perm), - i_1), + self, + Perm::#perm), + i_1), add(Z(neglit(1(#))), length(select(heap, - self, - Perm::#a))))) + self, + Perm::#a))))) \\then (select(heap, - select(heap, - self, - Perm::#a), - arr(seqGet(select(heap, - self, - Perm::#perm), - i_1)))) + select(heap, + self, + Perm::#a), + arr(seqGet(select(heap, + self, + Perm::#perm), + i_1)))) \\else (cast(seqGetOutside)), Z(0(#))))")) (rule "times_zero_1" (formula "39") (term "1,1,1")) @@ -7194,31 +7598,31 @@ (builtin "One Step Simplification" (formula "41")) (rule "newSym_eq" (formula "41") (inst "l=l_1") (inst "newSymDef=add(add(quotient_0, mul(seqGet(select(heap, - self, - Perm::#c), - j_0), + self, + Perm::#c), + j_0), Z(0(#)))), mul(\\if ( geq(seqGet(select(heap, - self, - Perm::#perm), - j_0), + self, + Perm::#perm), + j_0), Z(0(#))) & leq(seqGet(select(heap, - self, - Perm::#perm), - j_0), + self, + Perm::#perm), + j_0), add(Z(neglit(1(#))), length(select(heap, - self, - Perm::#a))))) + self, + Perm::#a))))) \\then (select(heap, - select(heap, - self, - Perm::#a), - arr(seqGet(select(heap, - self, - Perm::#perm), - j_0)))) + select(heap, + self, + Perm::#a), + arr(seqGet(select(heap, + self, + Perm::#perm), + j_0)))) \\else (cast(seqGetOutside)), Z(0(#))))")) (rule "times_zero_1" (formula "41") (term "1,1,1")) diff --git a/key.ui/examples/heap/simple/anonymise_datagroup.key b/key.ui/examples/heap/simple/anonymise_datagroup.key index c2c7e1c0a09..f083b28009a 100644 --- a/key.ui/examples/heap/simple/anonymise_datagroup.key +++ b/key.ui/examples/heap/simple/anonymise_datagroup.key @@ -16,7 +16,7 @@ o.$created = TRUE & select(heap, o, f) = 33 - & disjoint(allFields(o), dataGroup(heap)) + & disjoint(allFields(o), dataGroup(heap)) & heap = heapAtPre & modAtPre = dataGroup(heap) diff --git a/key.ui/examples/heap/simple/constructor_contracts.key b/key.ui/examples/heap/simple/constructor_contracts.key index 69e460c6589..33e8f2d6e4e 100644 --- a/key.ui/examples/heap/simple/constructor_contracts.key +++ b/key.ui/examples/heap/simple/constructor_contracts.key @@ -41,7 +41,7 @@ \replacewith ( {heap:=h} (!self.(MyClient::mc) = null & java.lang.Object::$inv(heap, self.(MyClient::mc)) - & disjoint(allFields(self), self.(MyClient::mc).(MyClass::footprint))) + & disjoint(allFields(self), self.(MyClient::mc).(MyClass::footprint))) ) \heuristics ( simplify ) }; @@ -64,7 +64,7 @@ & exc = null & \forall java.lang.Object o; \forall Field f; - ( elementOf(o, f, freshLocs(heapAtPre)) + ( elementOf(pair(o, f), freshLocs(heapAtPre)) | select(heap, o, f) = select(heapAtPre, o, f))) } diff --git a/key.ui/examples/heap/simple/dependencies.key b/key.ui/examples/heap/simple/dependencies.key index 15d87e955e6..e00b2295933 100644 --- a/key.ui/examples/heap/simple/dependencies.key +++ b/key.ui/examples/heap/simple/dependencies.key @@ -13,14 +13,14 @@ \problem { \forall Heap h; \forall Object o; ( \forall Object o2; \forall Field f; ( - elementOf(o2, f, dataGroup(heap, o)) + elementOf(pair(o2, f), dataGroup(heap, o)) -> select(h, o2, f) = select(heap, o2, f) ) -> modelField(h, o) = modelField(heap, o) ) & - !elementOf(self, f1, dataGroup(heap, self)) + !elementOf(pair(self, f1), dataGroup(heap, self)) -> diff --git a/key.ui/examples/heap/simple/dependency_contracts.key b/key.ui/examples/heap/simple/dependency_contracts.key index a80f131a11a..db27a35edfd 100644 --- a/key.ui/examples/heap/simple/dependency_contracts.key +++ b/key.ui/examples/heap/simple/dependency_contracts.key @@ -41,7 +41,7 @@ \replacewith ( {heap:=h} (!self.(MyClient::mc) = null & java.lang.Object::$inv(heap, self.(MyClient::mc)) - & disjoint(allFields(self), self.(MyClient::mc).(MyClass::footprint))) + & disjoint(allFields(self), self.(MyClient::mc).(MyClass::footprint))) ) \heuristics ( simplify ) }; @@ -69,10 +69,10 @@ & exc = null & \forall java.lang.Object o; \forall Field f; - ( elementOf(o, f, - union(union(singleton(self, - MyClient::#mc), - singleton(self, MyClient::#i)), + ( elementOf(pair(o, f), + union(union(singleton(pair(self, + MyClient::#mc)), + singleton(pair(self, MyClient::#i))), freshLocs(heapAtPre))) | select(heap, o, f) = select(heapAtPre, o, f))) diff --git a/key.ui/examples/heap/simple/invariant_preservation.key b/key.ui/examples/heap/simple/invariant_preservation.key index b030bef2ede..f9b1ae01fd6 100644 --- a/key.ui/examples/heap/simple/invariant_preservation.key +++ b/key.ui/examples/heap/simple/invariant_preservation.key @@ -39,7 +39,7 @@ \replacewith ( {heap:=h} (!self.(MyClient::mc) = null & java.lang.Object::$inv(heap, self.(MyClient::mc)) - & disjoint(allFields(self), self.(MyClient::mc).(MyClass::footprint))) + & disjoint(allFields(self), self.(MyClient::mc).(MyClass::footprint))) ) \heuristics ( simplify ) }; @@ -67,8 +67,8 @@ & exc = null & \forall java.lang.Object o; \forall Field f; - ( elementOf(o, f, - union(singleton(self, MyClient::#i), + ( elementOf(pair(o, f), + union(singleton(pair(self, MyClient::#i)), freshLocs(heapAtPre))) | select(heap, o, f) = select(heapAtPre, o, f))) diff --git a/key.ui/examples/heap/simple/locsets.key b/key.ui/examples/heap/simple/locsets.key index 6895640a84e..6e8aa9621a4 100644 --- a/key.ui/examples/heap/simple/locsets.key +++ b/key.ui/examples/heap/simple/locsets.key @@ -12,13 +12,13 @@ \problem { - s1 = infiniteUnion{Object o;}(singleton(o, f)) - & s2 = singleton(null, f) + s1 = infiniteUnion{Object o;}(singleton(pair(o, f))) + & s2 = singleton(pair(null, f)) & s3 = s1 & s5 = s8 - & subset(s3, s5) + & subset(s3, s5) & s8 = s4 & s7 = s2 & s7 = s6 - -> subset(s6, s4) + -> subset(s6, s4) } diff --git a/key.ui/examples/heap/simple/modifiable.key b/key.ui/examples/heap/simple/modifiable.key index 631aacb457b..3b1f4e4dc25 100644 --- a/key.ui/examples/heap/simple/modifiable.key +++ b/key.ui/examples/heap/simple/modifiable.key @@ -14,10 +14,10 @@ \problem { //Assignable clause is {self.next, b.next.next, b.next.next.next, self.attr} - modAtPre = union(singleton(self, next), - union(singleton(select(heap,b,next), next), - union(singleton(select(heap,select(heap,b,next),next), next), - singleton(self, attr)))) + modAtPre = union(singleton(pair(self, next)), + union(singleton(pair(select(heap,b,next), next)), + union(singleton(pair(select(heap,select(heap,b,next),next), next)), + singleton(pair(self, attr))))) //atPre definitions & heap = heapAtPre @@ -35,6 +35,6 @@ //all heap locations must either be unchanged or be in the assignable clause (\forall Object o; \forall Field g; ( select(heap, o, g) = select(heapAtPre, o, g) - | elementOf(o, g, modAtPre) + | elementOf(pair(o, g), modAtPre) )) } diff --git a/key.ui/examples/heap/simple/modifiable_datagroup.key b/key.ui/examples/heap/simple/modifiable_datagroup.key index 3462f11d212..fd08f95707c 100644 --- a/key.ui/examples/heap/simple/modifiable_datagroup.key +++ b/key.ui/examples/heap/simple/modifiable_datagroup.key @@ -18,7 +18,7 @@ modAtPre = dataGroup(heap) & heap = heapAtPre - & subset(allFields(o1), dataGroup(heap)) + & subset(allFields(o1), dataGroup(heap)) -> @@ -31,6 +31,6 @@ //all heap locations must either be unchanged or be in the assignable clause (\forall Object o; \forall Field g; ( select(heap, o, g) = select(heapAtPre, o, g) - | elementOf(o, g, modAtPre) + | elementOf(pair(o, g), modAtPre) )) } diff --git a/key.ui/examples/heap/simple/operation_contracts.key b/key.ui/examples/heap/simple/operation_contracts.key index 0bb97d63f1c..d88dea67b77 100644 --- a/key.ui/examples/heap/simple/operation_contracts.key +++ b/key.ui/examples/heap/simple/operation_contracts.key @@ -41,7 +41,7 @@ \replacewith ( {heap:=h} (!self.(MyClient::mc) = null & java.lang.Object::$inv(heap, self.(MyClient::mc)) - & disjoint(allFields(self), self.(MyClient::mc).(MyClass::footprint))) + & disjoint(allFields(self), self.(MyClient::mc).(MyClass::footprint))) ) \heuristics ( simplify ) }; @@ -70,8 +70,8 @@ & exc = null & \forall java.lang.Object o; \forall Field f; - ( elementOf(o, f, - union(union(singleton(self, MyClient::#i), + ( elementOf(pair(o, f), + union(union(singleton(pair(self, MyClient::#i)), MyClass::footprint(heapAtPre, select(heapAtPre, self, diff --git a/key.ui/examples/heap/verifyThis15_3_DLL/doUndo.proof b/key.ui/examples/heap/verifyThis15_3_DLL/doUndo.proof index 46a28270ce0..1d7f47932e9 100644 --- a/key.ui/examples/heap/verifyThis15_3_DLL/doUndo.proof +++ b/key.ui/examples/heap/verifyThis15_3_DLL/doUndo.proof @@ -1,65 +1,102 @@ \profile "Java Profile"; \settings { -"#Proof-Settings-Config-File -#Mon Jan 16 00:33:47 CET 2023 -[NewSMT]NoTypeHierarchy=false -[Labels]UseOriginLabels=true -[StrategyProperty]QUERYAXIOM_OPTIONS_KEY=QUERYAXIOM_ON -[NewSMT]Presburger=false -[SMTSettings]invariantForall=false -[Strategy]ActiveStrategy=JavaCardDLStrategy -[StrategyProperty]USER_TACLETS_OPTIONS_KEY1=USER_TACLETS_OFF -[StrategyProperty]QUANTIFIERS_OPTIONS_KEY=QUANTIFIERS_NON_SPLITTING_WITH_PROGS -[StrategyProperty]USER_TACLETS_OPTIONS_KEY2=USER_TACLETS_OFF -[Choice]DefaultChoices=assertions-assertions\\:safe , intRules-intRules\\:arithmeticSemanticsIgnoringOF , initialisation-initialisation\\:disableStaticInitialisation , programRules-programRules\\:Java , runtimeExceptions-runtimeExceptions\\:ban , JavaCard-JavaCard\\:off , Strings-Strings\\:on , modelFields-modelFields\\:treatAsAxiom , bigint-bigint\\:on , sequences-sequences\\:on , reach-reach\\:on , integerSimplificationRules-integerSimplificationRules\\:full , wdOperator-wdOperator\\:L , wdChecks-wdChecks\\:off , permissions-permissions\\:off , moreSeqRules-moreSeqRules\\:on , mergeGenerateIsWeakeningGoal-mergeGenerateIsWeakeningGoal\\:off , javaLoopTreatment-javaLoopTreatment\\:efficient , floatRules-floatRules\\:strictfpOnly , methodExpansion-methodExpansion\\:modularOnly -[StrategyProperty]LOOP_OPTIONS_KEY=LOOP_INVARIANT -[StrategyProperty]INF_FLOW_CHECK_PROPERTY=INF_FLOW_CHECK_FALSE -[SMTSettings]UseBuiltUniqueness=false -[SMTSettings]explicitTypeHierarchy=false -[SMTSettings]instantiateHierarchyAssumptions=true -[StrategyProperty]NON_LIN_ARITH_OPTIONS_KEY=NON_LIN_ARITH_COMPLETION -[SMTSettings]SelectedTaclets= -[StrategyProperty]DEP_OPTIONS_KEY=DEP_ON -[StrategyProperty]AUTO_INDUCTION_OPTIONS_KEY=AUTO_INDUCTION_OFF -[Strategy]MaximumNumberOfAutomaticApplications=50000 -[StrategyProperty]STOPMODE_OPTIONS_KEY=STOPMODE_DEFAULT -[StrategyProperty]CLASS_AXIOM_OPTIONS_KEY=CLASS_AXIOM_FREE -[SMTSettings]useConstantsForBigOrSmallIntegers=true -[StrategyProperty]MPS_OPTIONS_KEY=MPS_MERGE -[StrategyProperty]SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY=SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF -[Strategy]Timeout=-1 -[StrategyProperty]SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY=SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER -[StrategyProperty]QUERY_NEW_OPTIONS_KEY=QUERY_OFF -[SMTSettings]useUninterpretedMultiplication=true -[NewSMT]sqrtSMTTranslation=SMT -[StrategyProperty]BLOCK_OPTIONS_KEY=BLOCK_CONTRACT_INTERNAL -[StrategyProperty]METHOD_OPTIONS_KEY=METHOD_CONTRACT -[StrategyProperty]USER_TACLETS_OPTIONS_KEY3=USER_TACLETS_OFF -[NewSMT]identifier=OPEN -[SMTSettings]maxGenericSorts=2 -[StrategyProperty]OSS_OPTIONS_KEY=OSS_ON -[NewSMT]Axiomatisations=false -[StrategyProperty]SPLITTING_OPTIONS_KEY=SPLITTING_DELAYED -[SMTSettings]integersMinimum=-2147483645 -[StrategyProperty]VBT_PHASE=VBT_SYM_EX -[SMTSettings]integersMaximum=2147483645 -" -} + "Choice" : { + "JavaCard" : "JavaCard:off", + "Strings" : "Strings:on", + "assertions" : "assertions:safe", + "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:on", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + "Axiomatisations" : "false", + "NoTypeHierarchy" : "false", + "Presburger" : "false", + "identifier" : "OPEN", + "sqrtSMTTranslation" : "SMT" + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "Modular JavaDL Strategy", + "MaximumNumberOfAutomaticApplications" : 50000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_FREE", + "DEP_OPTIONS_KEY" : "DEP_ON", + "HEAP_REDUCTION_OPTIONS_KEY" : "HEAP_REDUCTION_NORMAL", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_COMPLETION", + "OSS_OPTIONS_KEY" : "OSS_ON", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "TRIGGERS_OPTIONS_KEY" : "TRIGGERS_BEST", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } +} + \javaSource "src"; -\proofObligation { - "contract": "DoubleLinkedList[DoubleLinkedList::doUndo(DoubleLinkedList.Node,int)].JML normal_behavior operation contract.0", - "name": "DoubleLinkedList[DoubleLinkedList::doUndo(DoubleLinkedList.Node,int)].JML normal_behavior operation contract.0", - "class": "de.uka.ilkd.key.proof.init.FunctionalOperationContractPO", - } +\proofObligation +// +{ + "class" : "de.uka.ilkd.key.proof.init.FunctionalOperationContractPO", + "contract" : "DoubleLinkedList[DoubleLinkedList::doUndo(DoubleLinkedList.Node,int)].JML normal_behavior operation contract.0", + "name" : "DoubleLinkedList[DoubleLinkedList::doUndo(DoubleLinkedList.Node,int)].JML normal_behavior operation contract.0" +} \proof { (keyLog "0" (keyUser "kirsten" ) (keyVersion "c2a4d52c2ad58a473b8d4f6ce4c8d074ffe247f6")) (keyLog "1" (keyUser "Julian" ) (keyVersion "d707dbd7db")) +(keyLog "2" (keyUser "daniel" ) (keyVersion "3e5e375a5961f774f564a01b1e406905665f8f19")) -(autoModeTime "77624143920") +(autoModeTime "77624144596") (branch "dummy ID" (builtin "One Step Simplification" (formula "1") (newnames "heapAtPre,o,f")) @@ -78,7 +115,7 @@ (rule "notLeft" (formula "2")) (rule "replace_known_right" (formula "4") (term "0") (ifseqformula "11") (userinteraction)) (builtin "One Step Simplification" (formula "4")) -(rule "Class_invariant_axiom_for_DoubleLinkedList" (formula "9") (inst "i_5=i_5") (inst "i_4=i_4") (inst "i_3=i_3") (inst "i_2=i_2") (inst "i_1=i_1") (inst "i_0=i_0") (inst "i=i") (inst "j=j") (ifseqformula "10") (userinteraction)) +(rule "Class_invariant_axiom_for_DoubleLinkedList" (formula "9") (inst "i=i") (inst "i_0=i_0") (inst "i_1=i_1") (inst "i_2=i_2") (inst "i_3=i_3") (inst "i_4=i_4") (inst "i_5=i_5") (inst "j=j") (ifseqformula "10") (userinteraction)) (rule "andLeft" (formula "9")) (rule "andLeft" (formula "9")) (rule "andLeft" (formula "9")) @@ -262,7 +299,7 @@ (builtin "One Step Simplification" (formula "25")) (rule "methodBodyExpand" (formula "25") (term "1") (newnames "heapBefore_doUndo,savedHeapBefore_doUndo")) (builtin "One Step Simplification" (formula "25")) - (builtin "Use Operation Contract" (formula "25") (newnames "heapBefore_remove,exc_0,heapAfter_remove,anon_heap_remove") (contract "DoubleLinkedList[DoubleLinkedList::remove(DoubleLinkedList.Node,int)].JML normal_behavior operation contract.0")) + (builtin "Use Operation Contract" (formula "25") (newnames "heapBefore_remove,exc_0,heapAfter_remove,anon_heap_remove") (contract "DoubleLinkedList[DoubleLinkedList::remove(DoubleLinkedList.Node,int)].JML normal_behavior operation contract.0") (modality "diamond")) (branch "Post (remove)" (builtin "One Step Simplification" (formula "21")) (builtin "One Step Simplification" (formula "27")) @@ -426,7 +463,7 @@ (rule "elementOfSingleton" (formula "26") (term "0,0,0,1")) (builtin "One Step Simplification" (formula "26")) (rule "notLeft" (formula "29")) - (builtin "Use Operation Contract" (formula "37") (newnames "heapBefore_unremove,exc_1,heapAfter_unremove,anon_heap_unremove") (contract "DoubleLinkedList[DoubleLinkedList::unremove(DoubleLinkedList.Node,int)].JML normal_behavior operation contract.0")) + (builtin "Use Operation Contract" (formula "37") (newnames "heapBefore_unremove,exc_1,heapAfter_unremove,anon_heap_unremove") (contract "DoubleLinkedList[DoubleLinkedList::unremove(DoubleLinkedList.Node,int)].JML normal_behavior operation contract.0") (modality "diamond")) (branch "Post (unremove)" (builtin "One Step Simplification" (formula "32")) (builtin "One Step Simplification" (formula "39")) @@ -449,18 +486,18 @@ (builtin "One Step Simplification" (formula "36")) (rule "elementOfSingleton" (formula "36") (term "0,0,0,0,1")) (builtin "One Step Simplification" (formula "36")) - (rule "selectOfAnonEQ" (formula "32") (term "0,1,1,0") (ifseqformula "22")) + (rule "selectOfAnonEQ" (formula "32") (term "0,0,1,1,0") (ifseqformula "22")) (builtin "One Step Simplification" (formula "32") (ifInst "" (formula "43")) (ifInst "" (formula "4"))) - (rule "elementOfUnion" (formula "32") (term "0,0,1,1,0")) - (rule "elementOfSingleton" (formula "32") (term "1,0,0,1,1,0")) - (builtin "One Step Simplification" (formula "32")) - (rule "elementOfUnion" (formula "32") (term "0,0,1,1,0")) - (rule "elementOfSingleton" (formula "32") (term "1,0,0,1,1,0")) + (rule "elementOfUnion" (formula "32") (term "0,0,0,1,1,0")) + (rule "elementOfSingleton" (formula "32") (term "1,0,0,0,1,1,0")) (builtin "One Step Simplification" (formula "32")) (rule "elementOfUnion" (formula "32") (term "0,0,0,1,1,0")) (rule "elementOfSingleton" (formula "32") (term "1,0,0,0,1,1,0")) (builtin "One Step Simplification" (formula "32")) - (rule "elementOfSingleton" (formula "32") (term "0,0,0,1,1,0")) + (rule "elementOfUnion" (formula "32") (term "0,0,0,0,1,1,0")) + (rule "elementOfSingleton" (formula "32") (term "1,0,0,0,0,1,1,0")) + (builtin "One Step Simplification" (formula "32")) + (rule "elementOfSingleton" (formula "32") (term "0,0,0,0,1,1,0")) (builtin "One Step Simplification" (formula "32")) (rule "selectOfAnonEQ" (formula "34") (term "0,1,1,1") (ifseqformula "22")) (builtin "One Step Simplification" (formula "34") (ifInst "" (formula "42")) (ifInst "" (formula "2"))) @@ -499,18 +536,18 @@ (builtin "One Step Simplification" (formula "34")) (rule "elementOfSingleton" (formula "34") (term "0,0,0,1")) (builtin "One Step Simplification" (formula "34")) - (rule "selectOfAnonEQ" (formula "32") (term "0,1,0,1,0") (ifseqformula "22")) + (rule "selectOfAnonEQ" (formula "32") (term "0,0,1,0,1,0") (ifseqformula "22")) (builtin "One Step Simplification" (formula "32") (ifInst "" (formula "43")) (ifInst "" (formula "4"))) - (rule "elementOfUnion" (formula "32") (term "0,0,1,0,1,0")) - (rule "elementOfSingleton" (formula "32") (term "1,0,0,1,0,1,0")) - (builtin "One Step Simplification" (formula "32")) (rule "elementOfUnion" (formula "32") (term "0,0,0,1,0,1,0")) (rule "elementOfSingleton" (formula "32") (term "1,0,0,0,1,0,1,0")) (builtin "One Step Simplification" (formula "32")) - (rule "elementOfUnion" (formula "32") (term "0,0,0,1,0,1,0")) - (rule "elementOfSingleton" (formula "32") (term "1,0,0,0,1,0,1,0")) + (rule "elementOfUnion" (formula "32") (term "0,0,0,0,1,0,1,0")) + (rule "elementOfSingleton" (formula "32") (term "1,0,0,0,0,1,0,1,0")) (builtin "One Step Simplification" (formula "32")) - (rule "elementOfSingleton" (formula "32") (term "0,0,0,1,0,1,0")) + (rule "elementOfUnion" (formula "32") (term "0,0,0,0,1,0,1,0")) + (rule "elementOfSingleton" (formula "32") (term "1,0,0,0,0,1,0,1,0")) + (builtin "One Step Simplification" (formula "32")) + (rule "elementOfSingleton" (formula "32") (term "0,0,0,0,1,0,1,0")) (builtin "One Step Simplification" (formula "32")) (rule "selectOfAnonEQ" (formula "34") (term "2,1,1,1") (ifseqformula "22")) (builtin "One Step Simplification" (formula "34") (ifInst "" (formula "42")) (ifInst "" (formula "2"))) @@ -577,11 +614,11 @@ (rule "eqSymm" (formula "38") (term "0,0")) (rule "eqSymm" (formula "26")) (rule "eqSymm" (formula "27") (term "0,0")) - (rule "eqSymm" (formula "32") (term "0,0,1,0,1,0")) + (rule "eqSymm" (formula "32") (term "0,0,0,1,0,1,0")) (rule "eqSymm" (formula "36")) (rule "eqSymm" (formula "28") (term "0,0")) (rule "eqSymm" (formula "29") (term "0,1,0")) - (rule "eqSymm" (formula "32") (term "0,0,1,1,0")) + (rule "eqSymm" (formula "32") (term "0,0,0,1,1,0")) (rule "eqSymm" (formula "18") (term "1,0")) (rule "eqSymm" (formula "19") (term "1,0")) (rule "eqSymm" (formula "34")) @@ -733,7 +770,7 @@ (rule "add_zero_left" (formula "45") (term "0,0")) (rule "applyEq" (formula "41") (term "0") (ifseqformula "11")) (rule "applyEq" (formula "34") (term "2,1,1,0") (ifseqformula "25")) - (rule "applyEq" (formula "32") (term "0,1,1,0") (ifseqformula "27")) + (rule "applyEq" (formula "32") (term "0,0,1,1,0") (ifseqformula "27")) (rule "applyEq" (formula "44") (term "0,1,0") (ifseqformula "11")) (rule "polySimp_pullOutFactor1" (formula "44") (term "0")) (rule "add_literals" (formula "44") (term "1,0")) @@ -755,13 +792,13 @@ self, DoubleLinkedList::#len))), Z(0(#)), - k))") (userinteraction)) + k)):int") (userinteraction)) (branch "Assume k = seqSub(seqConcat(seqSub(self.s, 0, k), seqSub(self.s, k + 1, self.len)), 0, k).length" (rule "applyEqReverse" (formula "45") (term "1,0") (ifseqformula "1") (userinteraction)) (rule "eqSeqConcat" (formula "45") (userinteraction)) (rule "cut_direct" (formula "45") (term "0,0") (userinteraction)) (branch "CUT: seqSub(self.s, k, self.s.length).length = seqSingleton(x).length + seqSub(seqConcat(seqSub(self.s, 0, k), seqSub(self.s, k + 1, self.len)), k, self.len - 1).length TRUE" - (builtin "One Step Simplification" (formula "46") (userinteraction)) + (builtin "One Step Simplification" (formula "46")) (rule "andRight" (formula "46") (userinteraction)) (branch "Case 1" (rule "eqSeqSingleton" (formula "46") (userinteraction)) @@ -775,12 +812,12 @@ (rule "eqSymm" (formula "30") (term "0,0")) (rule "eqSymm" (formula "31") (term "0,1,0")) (rule "eqSymm" (formula "2")) - (rule "eqSymm" (formula "34") (term "0,0,1,1,0")) + (rule "eqSymm" (formula "34") (term "0,0,0,1,1,0")) (rule "eqSymm" (formula "40") (term "0,0")) (rule "eqSymm" (formula "36")) (rule "eqSymm" (formula "28")) (rule "eqSymm" (formula "29") (term "0,0")) - (rule "eqSymm" (formula "34") (term "0,0,1,0,1,0")) + (rule "eqSymm" (formula "34") (term "0,0,0,1,0,1,0")) (rule "eqSymm" (formula "38")) (rule "eqSymm" (formula "28") (term "0,1")) (rule "polySimp_elimSub" (formula "19") (term "1,0,1,0")) @@ -837,7 +874,7 @@ (rule "orRight" (formula "42") (userinteraction)) (rule "castedGetAny" (formula "13") (term "0") (userinteraction)) (rule "castedGetAny" (formula "12") (term "0") (userinteraction)) - (rule "allLeft" (formula "19") (inst "t=k<>") (userinteraction)) + (rule "allLeft" (formula "19") (inst "t=k<>:int") (userinteraction)) (rule "impLeft" (formula "19") (userinteraction)) (branch "Case 1" (builtin "One Step Simplification" (formula "3")) @@ -853,12 +890,12 @@ (rule "eqSymm" (formula "3")) (rule "eqSymm" (formula "43") (term "0,0")) (rule "eqSymm" (formula "42") (term "0")) - (rule "eqSymm" (formula "35") (term "0,0,1,0,1,0")) + (rule "eqSymm" (formula "35") (term "0,0,0,1,0,1,0")) (rule "eqSymm" (formula "39")) (rule "eqSymm" (formula "21") (term "1,0")) (rule "eqSymm" (formula "31") (term "0,0")) (rule "eqSymm" (formula "32") (term "0,1,0")) - (rule "eqSymm" (formula "35") (term "0,0,1,1,0")) + (rule "eqSymm" (formula "35") (term "0,0,0,1,1,0")) (rule "eqSymm" (formula "22") (term "1,0")) (rule "eqSymm" (formula "37")) (rule "eqSymm" (formula "23") (term "0,1,0,0")) @@ -1030,8 +1067,8 @@ (rule "applyEq" (formula "29") (term "1") (ifseqformula "31")) (rule "applyEq" (formula "44") (term "0") (ifseqformula "14")) (rule "applyEq" (formula "37") (term "2,1,1,0") (ifseqformula "28")) - (rule "applyEq" (formula "35") (term "0,1,1,0") (ifseqformula "30")) - (rule "applyEq" (formula "35") (term "0,1,0,1,0") (ifseqformula "31")) + (rule "applyEq" (formula "35") (term "0,0,1,1,0") (ifseqformula "30")) + (rule "applyEq" (formula "35") (term "0,0,1,0,1,0") (ifseqformula "31")) (rule "applyEq" (formula "38") (term "1,1") (ifseqformula "28")) (rule "polySimp_addAssoc" (formula "38") (term "1")) (rule "add_literals" (formula "38") (term "0,1")) @@ -1152,8 +1189,8 @@ (rule "eqSymm" (formula "22") (term "1,0")) (rule "eqSymm" (formula "32") (term "0,0")) (rule "eqSymm" (formula "28")) - (rule "eqSymm" (formula "36") (term "0,0,1,0,1,0")) - (rule "eqSymm" (formula "36") (term "0,0,1,1,0")) + (rule "eqSymm" (formula "36") (term "0,0,0,1,0,1,0")) + (rule "eqSymm" (formula "36") (term "0,0,0,1,1,0")) (rule "eqSymm" (formula "23") (term "1,0")) (rule "eqSymm" (formula "40")) (rule "eqSymm" (formula "38")) @@ -1211,14 +1248,14 @@ (rule "true_left" (formula "1")) (rule "eqSymm" (formula "30") (term "0,0")) (rule "eqSymm" (formula "31") (term "0,1,0")) - (rule "eqSymm" (formula "34") (term "0,0,1,1,0")) + (rule "eqSymm" (formula "34") (term "0,0,0,1,1,0")) (rule "eqSymm" (formula "28")) (rule "eqSymm" (formula "36")) (rule "eqSymm" (formula "29") (term "0,0")) (rule "eqSymm" (formula "40") (term "0,0")) (rule "eqSymm" (formula "2")) (rule "eqSymm" (formula "20") (term "1,0")) - (rule "eqSymm" (formula "34") (term "0,0,1,0,1,0")) + (rule "eqSymm" (formula "34") (term "0,0,0,1,0,1,0")) (rule "eqSymm" (formula "38")) (rule "eqSymm" (formula "21") (term "1,0")) (rule "eqSymm" (formula "22") (term "0,1,0,0")) @@ -1367,12 +1404,12 @@ (rule "polySimp_mulComm0" (formula "2") (term "1,0,0,0,0,1,0")) (rule "polySimp_addComm1" (formula "2") (term "0,0,0,1,0")) (rule "applyEq" (formula "2") (term "0,1,0,0,0,1,0") (ifseqformula "13")) - (rule "applyEq" (formula "34") (term "0,1,1,0") (ifseqformula "29")) + (rule "applyEq" (formula "34") (term "0,0,1,1,0") (ifseqformula "29")) (rule "applyEq" (formula "2") (term "1,1,0,1,0") (ifseqformula "13")) (rule "applyEq" (formula "43") (term "0") (ifseqformula "13")) - (rule "applyEq" (formula "34") (term "0,1,0,1,0") (ifseqformula "30")) - (rule "applyEq" (formula "28") (term "1") (ifseqformula "30")) + (rule "applyEq" (formula "34") (term "0,0,1,0,1,0") (ifseqformula "30")) (rule "applyEq" (formula "36") (term "2,1,1,0") (ifseqformula "27")) + (rule "applyEq" (formula "28") (term "1") (ifseqformula "30")) (rule "applyEq" (formula "31") (term "0,1,0,0,1,0,0") (ifseqformula "27")) (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,1,0,0")) (rule "polySimp_rightDist" (formula "31") (term "1,0,0,1,0,0")) @@ -1388,104 +1425,104 @@ (rule "polySimp_elimOne" (formula "2") (term "0")) (builtin "One Step Simplification" (formula "2")) (rule "polySimp_homoEq" (formula "2") (term "1")) - (rule "times_zero_2" (formula "2") (term "1,0,1")) + (rule "mul_literals" (formula "2") (term "1,0,1")) (rule "add_zero_right" (formula "2") (term "0,1")) (rule "polySimp_sepPosMonomial" (formula "2") (term "1")) (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) (rule "polySimp_elimOne" (formula "2") (term "1,1")) + (rule "inEqSimp_sepNegMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "8")) + (rule "polySimp_mulLiterals" (formula "8") (term "0")) + (rule "polySimp_elimOne" (formula "8") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "12")) + (rule "polySimp_mulLiterals" (formula "12") (term "0")) + (rule "polySimp_elimOne" (formula "12") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "9")) + (rule "polySimp_mulLiterals" (formula "9") (term "0")) + (rule "polySimp_elimOne" (formula "9") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "15") (term "0,0,0")) + (rule "polySimp_mulLiterals" (formula "15") (term "0,0,0,0")) + (rule "polySimp_elimOne" (formula "15") (term "0,0,0,0")) (rule "inEqSimp_sepNegMonomial0" (formula "20") (term "0,0,0")) (rule "polySimp_mulLiterals" (formula "20") (term "0,0,0,0")) (rule "polySimp_elimOne" (formula "20") (term "0,0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "22") (term "1,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "22") (term "0,1,0,0,0,0")) + (rule "polySimp_elimOne" (formula "22") (term "0,1,0,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "1,0,0,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,1,0,0,0")) + (rule "polySimp_rightDist" (formula "22") (term "1,1,0,0,0")) + (rule "mul_literals" (formula "22") (term "0,1,1,0,0,0")) + (rule "polySimp_mulLiterals" (formula "22") (term "1,1,1,0,0,0")) + (rule "polySimp_elimOne" (formula "22") (term "1,1,1,0,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "14") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "14") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "14") (term "1,1,0,0")) + (rule "mul_literals" (formula "14") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "14") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "14") (term "1,1,1,0,0")) (rule "inEqSimp_sepPosMonomial0" (formula "15") (term "1,0,0")) (rule "polySimp_mulComm0" (formula "15") (term "1,1,0,0")) (rule "polySimp_rightDist" (formula "15") (term "1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,1,1,0,0")) (rule "mul_literals" (formula "15") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,1,1,0,0")) (rule "polySimp_elimOne" (formula "15") (term "1,1,1,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "15") (term "0,0,0")) - (rule "polySimp_mulLiterals" (formula "15") (term "0,0,0,0")) - (rule "polySimp_elimOne" (formula "15") (term "0,0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "8")) - (rule "polySimp_mulLiterals" (formula "8") (term "0")) - (rule "polySimp_elimOne" (formula "8") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "16") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "16") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "16") (term "1,1,0,0")) + (rule "mul_literals" (formula "16") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "1,1,1,0,0")) + (rule "polySimp_elimOne" (formula "16") (term "1,1,1,0,0")) (rule "inEqSimp_sepPosMonomial0" (formula "20") (term "1,0,0")) (rule "polySimp_mulComm0" (formula "20") (term "1,1,0,0")) (rule "polySimp_rightDist" (formula "20") (term "1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "20") (term "1,1,1,0,0")) (rule "mul_literals" (formula "20") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "20") (term "1,1,1,0,0")) (rule "polySimp_elimOne" (formula "20") (term "1,1,1,0,0")) (rule "inEqSimp_sepPosMonomial0" (formula "17") (term "1,0,0")) (rule "polySimp_mulComm0" (formula "17") (term "1,1,0,0")) (rule "polySimp_rightDist" (formula "17") (term "1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "17") (term "1,1,1,0,0")) (rule "mul_literals" (formula "17") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "17") (term "1,1,1,0,0")) (rule "polySimp_elimOne" (formula "17") (term "1,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "14") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "14") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "14") (term "1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "14") (term "1,1,1,0,0")) - (rule "mul_literals" (formula "14") (term "0,1,1,0,0")) - (rule "polySimp_elimOne" (formula "14") (term "1,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "22") (term "1,0,0,0")) - (rule "polySimp_mulComm0" (formula "22") (term "1,1,0,0,0")) - (rule "polySimp_rightDist" (formula "22") (term "1,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "22") (term "1,1,1,0,0,0")) - (rule "mul_literals" (formula "22") (term "0,1,1,0,0,0")) - (rule "polySimp_elimOne" (formula "22") (term "1,1,1,0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "12")) - (rule "polySimp_mulLiterals" (formula "12") (term "0")) - (rule "polySimp_elimOne" (formula "12") (term "0")) - (rule "inEqSimp_sepNegMonomial0" (formula "22") (term "1,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "22") (term "0,1,0,0,0,0")) - (rule "polySimp_elimOne" (formula "22") (term "0,1,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) (rule "inEqSimp_sepPosMonomial0" (formula "21") (term "1,0,0")) (rule "polySimp_mulComm0" (formula "21") (term "1,1,0,0")) (rule "polySimp_rightDist" (formula "21") (term "1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1,0,0")) (rule "mul_literals" (formula "21") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "21") (term "1,1,1,0,0")) (rule "polySimp_elimOne" (formula "21") (term "1,1,1,0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "16") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "16") (term "1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "16") (term "1,1,1,0,0")) - (rule "mul_literals" (formula "16") (term "0,1,1,0,0")) - (rule "polySimp_elimOne" (formula "16") (term "1,1,1,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "9")) - (rule "polySimp_mulLiterals" (formula "9") (term "0")) - (rule "polySimp_elimOne" (formula "9") (term "0")) (rule "inEqSimp_sepPosMonomial0" (formula "31") (term "1,0,0")) (rule "polySimp_mulComm0" (formula "31") (term "1,1,0,0")) (rule "polySimp_rightDist" (formula "31") (term "1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "31") (term "1,1,1,0,0")) (rule "mul_literals" (formula "31") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "31") (term "1,1,1,0,0")) (rule "polySimp_elimOne" (formula "31") (term "1,1,1,0,0")) (rule "inEqSimp_sepNegMonomial0" (formula "2") (term "0")) (rule "polySimp_mulLiterals" (formula "2") (term "0,0")) (rule "polySimp_elimOne" (formula "2") (term "0,0")) + (rule "inEqSimp_contradEq7" (formula "42") (ifseqformula "12")) + (rule "mul_literals" (formula "42") (term "1,0,0")) + (rule "add_literals" (formula "42") (term "0,0")) + (rule "leq_literals" (formula "42") (term "0")) + (builtin "One Step Simplification" (formula "42")) + (rule "false_right" (formula "42")) (rule "inEqSimp_contradEq7" (formula "2") (term "1") (ifseqformula "9")) (rule "polySimp_mulComm0" (formula "2") (term "1,0,0,1")) (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,1")) (rule "add_literals" (formula "2") (term "1,1,0,0,1")) (rule "times_zero_1" (formula "2") (term "1,0,0,1")) - (rule "add_zero_right" (formula "2") (term "0,0,1")) + (rule "add_literals" (formula "2") (term "0,0,1")) (rule "leq_literals" (formula "2") (term "0,1")) (builtin "One Step Simplification" (formula "2")) - (rule "inEqSimp_contradEq7" (formula "42") (ifseqformula "12")) - (rule "times_zero_1" (formula "42") (term "1,0,0")) - (rule "add_zero_right" (formula "42") (term "0,0")) - (rule "leq_literals" (formula "42") (term "0")) - (builtin "One Step Simplification" (formula "42")) - (rule "false_right" (formula "42")) (rule "inEqSimp_contradInEq0" (formula "9") (ifseqformula "1")) (rule "andLeft" (formula "9")) (rule "inEqSimp_homoInEq1" (formula "9")) (rule "polySimp_pullOutFactor1b" (formula "9") (term "0")) (rule "add_literals" (formula "9") (term "1,1,0")) (rule "times_zero_1" (formula "9") (term "1,0")) - (rule "add_zero_right" (formula "9") (term "0")) + (rule "add_literals" (formula "9") (term "0")) (rule "leq_literals" (formula "9")) (rule "closeFalse" (formula "9")) ) @@ -1508,12 +1545,12 @@ (rule "eqSymm" (formula "30") (term "0,0")) (rule "eqSymm" (formula "31") (term "0,1,0")) (rule "eqSymm" (formula "46")) - (rule "eqSymm" (formula "34") (term "0,0,1,1,0")) + (rule "eqSymm" (formula "34") (term "0,0,0,1,1,0")) (rule "eqSymm" (formula "36")) (rule "eqSymm" (formula "28")) (rule "eqSymm" (formula "29") (term "0,0")) (rule "eqSymm" (formula "20") (term "1,0")) - (rule "eqSymm" (formula "34") (term "0,0,1,0,1,0")) + (rule "eqSymm" (formula "34") (term "0,0,0,1,0,1,0")) (rule "eqSymm" (formula "38")) (rule "eqSymm" (formula "21") (term "1,0")) (rule "eqSymm" (formula "22") (term "0,1,0,0")) @@ -1670,9 +1707,9 @@ (rule "applyEq" (formula "42") (term "0") (ifseqformula "12")) (rule "applyEq" (formula "45") (term "0,1") (ifseqformula "25")) (rule "applyEq" (formula "27") (term "1") (ifseqformula "29")) - (rule "applyEq" (formula "33") (term "0,1,1,0") (ifseqformula "28")) + (rule "applyEq" (formula "33") (term "0,0,1,1,0") (ifseqformula "28")) (rule "applyEq" (formula "1") (term "1,1,0,1,0") (ifseqformula "12")) - (rule "applyEq" (formula "33") (term "0,1,0,1,0") (ifseqformula "29")) + (rule "applyEq" (formula "33") (term "0,0,1,0,1,0") (ifseqformula "29")) (rule "applyEq" (formula "35") (term "2,1,1,0") (ifseqformula "26")) (rule "applyEq" (formula "36") (term "1,1") (ifseqformula "26")) (rule "polySimp_addAssoc" (formula "36") (term "1")) @@ -1842,7 +1879,7 @@ (rule "polySimp_addComm1" (formula "43") (term "0,0,0,0,0")) (rule "add_literals" (formula "43") (term "0,0,0,0,0,0")) (builtin "One Step Simplification" (formula "43")) - (rule "allRight" (formula "43") (inst "sk=iv_0")) + (rule "allRight" (formula "43") (inst "sk=iv_0:int")) (rule "impRight" (formula "43")) (rule "andLeft" (formula "1")) (rule "inEqSimp_ltToLeq" (formula "2")) @@ -1912,171 +1949,103 @@ (rule "times_zero_1" (formula "28") (term "0,0,1")) (rule "leq_literals" (formula "28") (term "0,1")) (builtin "One Step Simplification" (formula "28")) - (rule "getOfSeqConcatEQ" (formula "34") (term "0,1,1,0") (ifseqformula "26")) - (rule "polySimp_elimSub" (formula "34") (term "1,2,0,1,1,0")) - (rule "lenOfSeqSub" (formula "34") (term "1,0,0,1,1,0")) - (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,1,1,0")) - (rule "times_zero_2" (formula "34") (term "1,1,1,0,0,1,1,0")) - (rule "add_zero_right" (formula "34") (term "1,1,0,0,1,1,0")) - (rule "lenOfSeqSub" (formula "34") (term "0,1,1,2,0,1,1,0")) - (rule "polySimp_elimSub" (formula "34") (term "1,0,1,1,2,0,1,1,0")) - (rule "times_zero_2" (formula "34") (term "1,1,0,1,1,2,0,1,1,0")) - (rule "add_zero_right" (formula "34") (term "1,0,1,1,2,0,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,1,0,0,1,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,1,0,0,1,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,1,0,0,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,1,2,0,1,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,0,1,1,2,0,1,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,1,1,2,0,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,0,1,1,0")) - (rule "polySimp_addComm1" (formula "34") (term "0,0,0,1,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,1,2,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,1,2,0,1,1,0")) - (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,1,2,0,1,1,0")) - (rule "replace_known_left" (formula "34") (term "0,0,1,1,2,0,1,1,0") (ifseqformula "8")) + (rule "getOfSeqConcatEQ" (formula "34") (term "0,0,1,1,0") (ifseqformula "26")) + (rule "polySimp_elimSub" (formula "34") (term "1,2,0,0,1,1,0")) + (rule "lenOfSeqSub" (formula "34") (term "1,0,0,0,1,1,0")) + (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,0,1,1,0")) + (rule "mul_literals" (formula "34") (term "1,1,1,0,0,0,1,1,0")) + (rule "add_zero_right" (formula "34") (term "1,1,0,0,0,1,1,0")) + (rule "lenOfSeqSub" (formula "34") (term "0,1,1,2,0,0,1,1,0")) + (rule "polySimp_elimSub" (formula "34") (term "1,0,1,1,2,0,0,1,1,0")) + (rule "mul_literals" (formula "34") (term "1,1,0,1,1,2,0,0,1,1,0")) + (rule "add_zero_right" (formula "34") (term "1,0,1,1,2,0,0,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,1,0,0,0,1,1,0")) + (rule "add_zero_right" (formula "34") (term "0,0,1,0,0,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,1,0,0,0,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,1,2,0,0,1,1,0")) + (rule "add_zero_right" (formula "34") (term "0,0,0,1,1,2,0,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,1,1,2,0,0,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,0,0,1,1,0")) + (rule "polySimp_addComm1" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,1,2,0,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,1,2,0,0,1,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,1,2,0,0,1,1,0")) + (rule "replace_known_left" (formula "34") (term "0,0,1,1,2,0,0,1,1,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "34")) - (rule "polySimp_pullOutFactor1" (formula "34") (term "1,2,0,1,1,0")) - (rule "add_literals" (formula "34") (term "1,1,2,0,1,1,0")) - (rule "times_zero_1" (formula "34") (term "1,2,0,1,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,1,0")) - (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,0,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,0,0,1,1,0")) - (rule "polySimp_elimOne" (formula "34") (term "0,0,0,0,0,1,1,0")) - (rule "replace_known_left" (formula "34") (term "0,0,0,0,1,1,0") (ifseqformula "8")) + (rule "polySimp_pullOutFactor1" (formula "34") (term "1,2,0,0,1,1,0")) + (rule "add_literals" (formula "34") (term "1,1,2,0,0,1,1,0")) + (rule "times_zero_1" (formula "34") (term "1,2,0,0,1,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,0,0,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,0,0,0,1,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,0,0,0,1,1,0")) + (rule "replace_known_left" (formula "34") (term "0,0,0,0,0,1,1,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "34")) - (rule "inEqSimp_homoInEq1" (formula "34") (term "0,0,1,1,0")) - (rule "polySimp_pullOutFactor1b" (formula "34") (term "0,0,0,1,1,0")) - (rule "add_literals" (formula "34") (term "1,1,0,0,0,1,1,0")) - (rule "times_zero_1" (formula "34") (term "1,0,0,0,1,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,0,1,1,0")) - (rule "leq_literals" (formula "34") (term "0,0,1,1,0")) + (rule "inEqSimp_homoInEq1" (formula "34") (term "0,0,0,1,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "add_literals" (formula "34") (term "1,1,0,0,0,0,1,1,0")) + (rule "times_zero_1" (formula "34") (term "1,0,0,0,0,1,1,0")) + (rule "add_literals" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "leq_literals" (formula "34") (term "0,0,0,1,1,0")) (builtin "One Step Simplification" (formula "34")) - (rule "getOfSeqConcatEQ" (formula "29") (term "1") (ifseqformula "26")) - (rule "eqSymm" (formula "29")) - (rule "polySimp_elimSub" (formula "29") (term "1,2,0")) - (rule "lenOfSeqSub" (formula "29") (term "1,0,0")) - (rule "polySimp_elimSub" (formula "29") (term "1,1,0,0")) - (rule "mul_literals" (formula "29") (term "1,1,1,0,0")) - (rule "add_zero_right" (formula "29") (term "1,1,0,0")) - (rule "lenOfSeqSub" (formula "29") (term "0,1,1,2,0")) - (rule "polySimp_elimSub" (formula "29") (term "1,0,1,1,2,0")) - (rule "times_zero_2" (formula "29") (term "1,1,0,1,1,2,0")) - (rule "add_zero_right" (formula "29") (term "1,0,1,1,2,0")) - (rule "inEqSimp_ltToLeq" (formula "29") (term "0,1,0,0")) - (rule "add_zero_right" (formula "29") (term "0,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "29") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "29") (term "0,0,1,1,2,0")) - (rule "add_zero_right" (formula "29") (term "0,0,0,1,1,2,0")) - (rule "polySimp_mulComm0" (formula "29") (term "1,0,0,0,1,1,2,0")) - (rule "inEqSimp_ltToLeq" (formula "29") (term "0,0")) - (rule "polySimp_mulComm0" (formula "29") (term "1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "29") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "29") (term "0,0,1,1,2,0")) - (rule "polySimp_mulLiterals" (formula "29") (term "0,0,0,1,1,2,0")) - (rule "polySimp_elimOne" (formula "29") (term "0,0,0,1,1,2,0")) - (rule "replace_known_left" (formula "29") (term "0,0,1,1,2,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "29")) - (rule "polySimp_pullOutFactor1" (formula "29") (term "1,2,0")) - (rule "add_literals" (formula "29") (term "1,1,2,0")) - (rule "times_zero_1" (formula "29") (term "1,2,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "29") (term "0,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "29") (term "0,0,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "29") (term "0,0,0,1,0,0,0")) - (rule "replace_known_left" (formula "29") (term "0,0,1,0,0,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "29")) - (rule "polySimp_pullOutFactor1b" (formula "29") (term "0,0,0")) - (rule "add_literals" (formula "29") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "29") (term "1,0,0,0")) - (rule "add_zero_right" (formula "29") (term "0,0,0")) - (rule "leq_literals" (formula "29") (term "0,0")) - (builtin "One Step Simplification" (formula "29")) - (rule "eqSymm" (formula "29")) - (rule "getOfSeqConcatEQ" (formula "31") (term "0,0,1,0") (ifseqformula "26")) - (rule "polySimp_elimSub" (formula "31") (term "1,2,0,0,1,0")) - (rule "polySimp_addComm0" (formula "31") (term "1,2,0,0,1,0")) - (rule "lenOfSeqSub" (formula "31") (term "1,0,0,0,1,0")) - (rule "polySimp_elimSub" (formula "31") (term "1,1,0,0,0,1,0")) - (rule "times_zero_2" (formula "31") (term "1,1,1,0,0,0,1,0")) - (rule "add_zero_right" (formula "31") (term "1,1,0,0,0,1,0")) - (rule "lenOfSeqSub" (formula "31") (term "0,0,1,2,0,0,1,0")) - (rule "polySimp_elimSub" (formula "31") (term "1,0,0,1,2,0,0,1,0")) - (rule "times_zero_2" (formula "31") (term "1,1,0,0,1,2,0,0,1,0")) - (rule "add_zero_right" (formula "31") (term "1,0,0,1,2,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "31") (term "0,1,0,0,0,1,0")) - (rule "add_zero_right" (formula "31") (term "0,0,1,0,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,1,0,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "31") (term "0,0,0,1,2,0,0,1,0")) - (rule "add_zero_right" (formula "31") (term "0,0,0,0,1,2,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,0,0,1,2,0,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "31") (term "0,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,0,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "31") (term "0,0,0,1,2,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "31") (term "0,0,0,0,1,2,0,0,1,0")) - (rule "polySimp_elimOne" (formula "31") (term "0,0,0,0,1,2,0,0,1,0")) - (rule "replace_known_left" (formula "31") (term "0,0,0,1,2,0,0,1,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "31")) - (rule "inEqSimp_sepNegMonomial0" (formula "31") (term "0,0,1,0,0,0,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "31") (term "0,0,0,1,0,0,0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "31") (term "0,0,0,1,0,0,0,0,0,1,0")) - (rule "replace_known_left" (formula "31") (term "0,0,1,0,0,0,0,0,1,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "31")) - (rule "inEqSimp_sepPosMonomial0" (formula "31") (term "0,0,0,1,0")) - (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,0,1,0")) - (rule "polySimp_rightDist" (formula "31") (term "1,0,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "31") (term "1,1,0,0,0,1,0")) - (rule "mul_literals" (formula "31") (term "0,1,0,0,0,1,0")) - (rule "polySimp_elimOne" (formula "31") (term "1,1,0,0,0,1,0")) - (rule "getOfSeqConcatEQ" (formula "30") (term "1") (ifseqformula "26")) - (rule "eqSymm" (formula "30")) - (rule "polySimp_elimSub" (formula "30") (term "1,2,0")) - (rule "lenOfSeqSub" (formula "30") (term "1,0,0")) - (rule "polySimp_elimSub" (formula "30") (term "1,1,0,0")) - (rule "mul_literals" (formula "30") (term "1,1,1,0,0")) - (rule "add_zero_right" (formula "30") (term "1,1,0,0")) - (rule "lenOfSeqSub" (formula "30") (term "0,1,1,2,0")) - (rule "polySimp_elimSub" (formula "30") (term "1,0,1,1,2,0")) - (rule "mul_literals" (formula "30") (term "1,1,0,1,1,2,0")) - (rule "add_zero_right" (formula "30") (term "1,0,1,1,2,0")) - (rule "inEqSimp_ltToLeq" (formula "30") (term "0,1,0,0")) - (rule "add_zero_right" (formula "30") (term "0,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "30") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "30") (term "0,0,1,1,2,0")) - (rule "add_zero_right" (formula "30") (term "0,0,0,1,1,2,0")) - (rule "polySimp_mulComm0" (formula "30") (term "1,0,0,0,1,1,2,0")) - (rule "inEqSimp_ltToLeq" (formula "30") (term "0,0")) - (rule "polySimp_mulComm0" (formula "30") (term "1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "30") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "30") (term "0,0,0,0")) - (rule "add_literals" (formula "30") (term "0,0,0,0,0")) - (rule "add_zero_left" (formula "30") (term "0,0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "30") (term "0,0,1,1,2,0")) - (rule "polySimp_mulLiterals" (formula "30") (term "0,0,0,1,1,2,0")) - (rule "polySimp_elimOne" (formula "30") (term "0,0,0,1,1,2,0")) - (rule "replace_known_left" (formula "30") (term "0,0,1,1,2,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "30")) - (rule "polySimp_pullOutFactor1b" (formula "30") (term "1,2,0")) - (rule "add_literals" (formula "30") (term "1,1,1,2,0")) - (rule "times_zero_1" (formula "30") (term "1,1,2,0")) - (rule "add_zero_right" (formula "30") (term "1,2,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "30") (term "0,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "30") (term "0,0,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "30") (term "0,0,0,1,0,0,0")) - (rule "replace_known_left" (formula "30") (term "0,0,1,0,0,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "30")) - (rule "polySimp_pullOutFactor1" (formula "30") (term "0,0,0")) - (rule "add_literals" (formula "30") (term "1,0,0,0")) - (rule "times_zero_1" (formula "30") (term "0,0,0")) - (rule "leq_literals" (formula "30") (term "0,0")) - (builtin "One Step Simplification" (formula "30")) - (rule "eqSymm" (formula "30")) + (rule "getOfSeqSub" (formula "45") (term "0")) + (rule "castDel" (formula "45") (term "2,0")) + (rule "polySimp_elimSub" (formula "45") (term "1,1,0,0")) + (rule "mul_literals" (formula "45") (term "1,1,1,0,0")) + (rule "polySimp_addComm0" (formula "45") (term "1,1,0")) + (rule "polySimp_addComm1" (formula "45") (term "1,1,0,0")) + (rule "polySimp_addComm0" (formula "45") (term "0,1,1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "45") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "45") (term "1,0,0,1,0,0")) + (rule "polySimp_rightDist" (formula "45") (term "0,1,0,0,1,0,0")) + (rule "mul_literals" (formula "45") (term "0,0,1,0,0,1,0,0")) + (rule "polySimp_mulLiterals" (formula "45") (term "1,0,1,0,0,1,0,0")) + (rule "polySimp_elimOne" (formula "45") (term "1,0,1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "45") (term "0,0,1,0,0")) + (rule "polySimp_addComm1" (formula "45") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "45") (term "0,0,0,1,0,0")) + (rule "add_literals" (formula "45") (term "0,0,0,0,1,0,0")) + (rule "polySimp_addComm1" (formula "45") (term "0,0,1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "45") (term "0,0,0")) + (rule "replace_known_left" (formula "45") (term "0,0,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "45")) + (rule "inEqSimp_sepNegMonomial0" (formula "45") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "45") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "45") (term "0,0,0")) + (rule "replace_known_left" (formula "45") (term "0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "45")) + (rule "eqSymm" (formula "45")) + (rule "getOfSeqSub" (formula "28") (term "1")) + (rule "add_zero_right" (formula "28") (term "1,1,1")) + (rule "polySimp_elimSub" (formula "28") (term "1,1,0,1")) + (rule "mul_literals" (formula "28") (term "1,1,1,0,1")) + (rule "add_zero_right" (formula "28") (term "1,1,0,1")) + (rule "inEqSimp_ltToLeq" (formula "28") (term "1,0,1")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,1,0,1")) + (rule "polySimp_addAssoc" (formula "28") (term "0,1,0,1")) + (rule "polySimp_addComm1" (formula "28") (term "0,0,1,0,1")) + (rule "add_literals" (formula "28") (term "0,0,0,1,0,1")) + (rule "add_zero_left" (formula "28") (term "0,0,1,0,1")) + (rule "polySimp_pullOutFactor2" (formula "28") (term "0,1,0,1")) + (rule "add_literals" (formula "28") (term "1,0,1,0,1")) + (rule "times_zero_1" (formula "28") (term "0,1,0,1")) + (rule "leq_literals" (formula "28") (term "1,0,1")) + (builtin "One Step Simplification" (formula "28")) + (rule "inEqSimp_homoInEq0" (formula "28") (term "0,1")) + (rule "mul_literals" (formula "28") (term "1,0,0,1")) + (rule "add_zero_right" (formula "28") (term "0,0,1")) + (rule "inEqSimp_sepPosMonomial1" (formula "28") (term "0,1")) + (rule "mul_literals" (formula "28") (term "1,0,1")) + (rule "replace_known_left" (formula "28") (term "0,1") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "28")) (rule "getOfSeqConcatEQ" (formula "38") (term "0") (ifseqformula "36")) (rule "polySimp_elimSub" (formula "38") (term "1,2,0")) (rule "lenOfSeqSub" (formula "38") (term "1,0,0")) (rule "polySimp_elimSub" (formula "38") (term "1,1,0,0")) - (rule "times_zero_2" (formula "38") (term "1,1,1,0,0")) + (rule "mul_literals" (formula "38") (term "1,1,1,0,0")) (rule "add_zero_right" (formula "38") (term "1,1,0,0")) (rule "lenOfSeqSub" (formula "38") (term "0,1,1,2,0")) (rule "polySimp_elimSub" (formula "38") (term "1,0,1,1,2,0")) @@ -2099,11 +2068,15 @@ (rule "polySimp_pullOutFactor1" (formula "38") (term "1,2,0")) (rule "add_literals" (formula "38") (term "1,1,2,0")) (rule "times_zero_1" (formula "38") (term "1,2,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "38") (term "0,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "38") (term "0,0,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "38") (term "0,0,0,1,0,0,0")) - (rule "replace_known_left" (formula "38") (term "0,0,1,0,0,0") (ifseqformula "8")) + (rule "inEqSimp_sepNegMonomial0" (formula "38") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "38") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "38") (term "0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "38") (term "0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "38") (term "0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "38") (term "0,0,0,0,0")) + (rule "replace_known_left" (formula "38") (term "0,0,0,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "38")) + (rule "inEqSimp_homoInEq1" (formula "38") (term "0,0")) (rule "polySimp_pullOutFactor1b" (formula "38") (term "0,0,0")) (rule "add_literals" (formula "38") (term "1,1,0,0,0")) (rule "times_zero_1" (formula "38") (term "1,0,0,0")) @@ -2111,44 +2084,44 @@ (rule "leq_literals" (formula "38") (term "0,0")) (builtin "One Step Simplification" (formula "38")) (rule "subSeqConcatEQ" (formula "36") (term "0,0") (ifseqformula "26")) - (rule "polySimp_elimSub" (formula "36") (term "2,1,0,0")) (rule "polySimp_elimSub" (formula "36") (term "2,1,1,0,0")) (rule "add_zero_left" (formula "36") (term "2,1,1,0,0")) - (rule "lenOfSeqSub" (formula "36") (term "1,2,0,0,0")) - (rule "polySimp_elimSub" (formula "36") (term "1,1,2,0,0,0")) - (rule "times_zero_2" (formula "36") (term "1,1,1,2,0,0,0")) - (rule "add_zero_right" (formula "36") (term "1,1,2,0,0,0")) + (rule "polySimp_elimSub" (formula "36") (term "2,1,0,0")) (rule "lenOfSeqSub" (formula "36") (term "0,0,2,0,0,0")) (rule "polySimp_elimSub" (formula "36") (term "1,0,0,2,0,0,0")) - (rule "times_zero_2" (formula "36") (term "1,1,0,0,2,0,0,0")) + (rule "mul_literals" (formula "36") (term "1,1,0,0,2,0,0,0")) (rule "add_zero_right" (formula "36") (term "1,0,0,2,0,0,0")) - (rule "lenOfSeqSub" (formula "36") (term "1,0,1,1,0,0")) + (rule "lenOfSeqSub" (formula "36") (term "1,2,0,0,0")) + (rule "polySimp_elimSub" (formula "36") (term "1,1,2,0,0,0")) + (rule "mul_literals" (formula "36") (term "1,1,1,2,0,0,0")) + (rule "add_zero_right" (formula "36") (term "1,1,2,0,0,0")) + (rule "lenOfSeqSub" (formula "36") (term "1,0,1,1,0,0")) (rule "polySimp_elimSub" (formula "36") (term "1,1,0,1,1,0,0")) - (rule "times_zero_2" (formula "36") (term "1,1,1,0,1,1,0,0")) + (rule "mul_literals" (formula "36") (term "1,1,1,0,1,1,0,0")) (rule "add_zero_right" (formula "36") (term "1,1,0,1,1,0,0")) - (rule "lenOfSeqSub" (formula "36") (term "0,1,2,1,0,0")) - (rule "polySimp_elimSub" (formula "36") (term "1,0,1,2,1,0,0")) - (rule "mul_literals" (formula "36") (term "1,1,0,1,2,1,0,0")) - (rule "add_zero_right" (formula "36") (term "1,0,1,2,1,0,0")) (rule "lenOfSeqSub" (formula "36") (term "0,2,1,1,0,0")) (rule "polySimp_elimSub" (formula "36") (term "1,0,2,1,1,0,0")) (rule "mul_literals" (formula "36") (term "1,1,0,2,1,1,0,0")) (rule "add_zero_right" (formula "36") (term "1,0,2,1,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,2,0,0,0")) - (rule "add_zero_right" (formula "36") (term "0,0,1,2,0,0,0")) - (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,1,2,0,0,0")) + (rule "lenOfSeqSub" (formula "36") (term "0,1,2,1,0,0")) + (rule "polySimp_elimSub" (formula "36") (term "1,0,1,2,1,0,0")) + (rule "mul_literals" (formula "36") (term "1,1,0,1,2,1,0,0")) + (rule "add_zero_right" (formula "36") (term "1,0,1,2,1,0,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,0,0,2,0,0,0")) (rule "add_zero_right" (formula "36") (term "0,0,0,0,2,0,0,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,0,2,0,0,0")) + (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,2,0,0,0")) + (rule "add_zero_right" (formula "36") (term "0,0,1,2,0,0,0")) + (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,1,2,0,0,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,0,1,1,0,0")) (rule "add_zero_right" (formula "36") (term "0,0,1,0,1,1,0,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,1,0,1,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "36") (term "0,0,1,2,1,0,0")) - (rule "add_zero_right" (formula "36") (term "0,0,0,1,2,1,0,0")) - (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,1,2,1,0,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,0,2,1,1,0,0")) (rule "add_zero_right" (formula "36") (term "0,0,0,2,1,1,0,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,2,1,1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "36") (term "0,0,1,2,1,0,0")) + (rule "add_zero_right" (formula "36") (term "0,0,0,1,2,1,0,0")) + (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,1,2,1,0,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,2,0,0,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,2,0,0,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,1,0,0")) @@ -2159,16 +2132,19 @@ (rule "polySimp_elimOne" (formula "36") (term "0,0,1,2,0,0,0")) (rule "replace_known_left" (formula "36") (term "0,1,2,0,0,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "36")) + (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "36") (term "0,0,1,1,0,0")) + (rule "polySimp_elimOne" (formula "36") (term "0,0,1,1,0,0")) (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,2,1,1,0,0")) (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,2,1,1,0,0")) (rule "polySimp_elimOne" (formula "36") (term "0,0,0,2,1,1,0,0")) (rule "replace_known_left" (formula "36") (term "0,0,2,1,1,0,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "36")) - (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,1,0,0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,1,0,0,1,1,0,0")) - (rule "polySimp_elimOne" (formula "36") (term "0,0,0,1,0,0,1,1,0,0")) - (rule "replace_known_left" (formula "36") (term "0,0,1,0,0,1,1,0,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "36")) + (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,0,1,1,0,0")) + (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,0,1,1,0,0")) + (rule "polySimp_elimOne" (formula "36") (term "0,0,0,0,1,1,0,0")) + (rule "replace_known_left" (formula "36") (term "0,0,0,1,1,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "36") (ifInst "" (formula "8"))) (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,1,2,1,0,0")) (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,1,2,1,0,0")) (rule "polySimp_elimOne" (formula "36") (term "0,0,0,1,2,1,0,0")) @@ -2177,14 +2153,159 @@ (rule "polySimp_pullOutFactor1" (formula "36") (term "2,1,0,0")) (rule "add_literals" (formula "36") (term "1,2,1,0,0")) (rule "times_zero_1" (formula "36") (term "2,1,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,1,1,0,0")) - (rule "polySimp_mulLiterals" (formula "36") (term "0,0,1,1,0,0")) - (rule "polySimp_elimOne" (formula "36") (term "0,0,1,1,0,0")) - (rule "replace_known_left" (formula "36") (term "0,1,1,0,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "36")) - (rule "getOfSeqSub" (formula "45") (term "1")) - (rule "castDel" (formula "45") (term "2,1")) - (rule "eqSymm" (formula "45")) + (rule "getOfSeqConcatEQ" (formula "31") (term "0,0,1,0") (ifseqformula "26")) + (rule "polySimp_elimSub" (formula "31") (term "1,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "31") (term "1,2,0,0,1,0")) + (rule "lenOfSeqSub" (formula "31") (term "1,0,0,0,1,0")) + (rule "polySimp_elimSub" (formula "31") (term "1,1,0,0,0,1,0")) + (rule "mul_literals" (formula "31") (term "1,1,1,0,0,0,1,0")) + (rule "add_zero_right" (formula "31") (term "1,1,0,0,0,1,0")) + (rule "lenOfSeqSub" (formula "31") (term "0,0,1,2,0,0,1,0")) + (rule "polySimp_elimSub" (formula "31") (term "1,0,0,1,2,0,0,1,0")) + (rule "mul_literals" (formula "31") (term "1,1,0,0,1,2,0,0,1,0")) + (rule "add_zero_right" (formula "31") (term "1,0,0,1,2,0,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "31") (term "0,1,0,0,0,1,0")) + (rule "add_zero_right" (formula "31") (term "0,0,1,0,0,0,1,0")) + (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,1,0,0,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "31") (term "0,0,0,1,2,0,0,1,0")) + (rule "add_zero_right" (formula "31") (term "0,0,0,0,1,2,0,0,1,0")) + (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,0,0,1,2,0,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "31") (term "0,0,0,1,0")) + (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,0,0,0,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "31") (term "0,0,0,1,2,0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "31") (term "0,0,0,0,1,2,0,0,1,0")) + (rule "polySimp_elimOne" (formula "31") (term "0,0,0,0,1,2,0,0,1,0")) + (rule "replace_known_left" (formula "31") (term "0,0,0,1,2,0,0,1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "31")) + (rule "inEqSimp_sepPosMonomial0" (formula "31") (term "0,0,0,1,0")) + (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,0,1,0")) + (rule "polySimp_rightDist" (formula "31") (term "1,0,0,0,1,0")) + (rule "mul_literals" (formula "31") (term "0,1,0,0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "31") (term "1,1,0,0,0,1,0")) + (rule "polySimp_elimOne" (formula "31") (term "1,1,0,0,0,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "31") (term "0,1,1,0,0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "31") (term "0,0,1,1,0,0,0,1,0")) + (rule "polySimp_elimOne" (formula "31") (term "0,0,1,1,0,0,0,1,0")) + (rule "replace_known_left" (formula "31") (term "0,1,1,0,0,0,1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "31")) + (rule "getOfSeqSub" (formula "34") (term "0,0,1,1,0")) + (rule "leq_literals" (formula "34") (term "0,0,0,0,1,1,0")) + (builtin "One Step Simplification" (formula "34")) + (rule "add_zero_left" (formula "34") (term "1,1,0,0,1,1,0")) + (rule "polySimp_elimSub" (formula "34") (term "1,0,0,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,1,0,0,0,1,1,0")) + (rule "polySimp_rightDist" (formula "34") (term "1,1,0,0,0,1,1,0")) + (rule "mul_literals" (formula "34") (term "0,1,1,0,0,0,1,1,0")) + (rule "polySimp_addComm0" (formula "34") (term "1,0,0,0,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,0,1,1,0")) + (rule "add_zero_right" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "polySimp_rightDist" (formula "34") (term "1,0,0,0,0,1,1,0")) + (rule "polySimp_rightDist" (formula "34") (term "0,1,0,0,0,0,1,1,0")) + (rule "mul_literals" (formula "34") (term "0,0,1,0,0,0,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "1,0,1,0,0,0,0,1,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "1,0,1,0,0,0,0,1,1,0")) + (rule "polySimp_addAssoc" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "polySimp_addAssoc" (formula "34") (term "0,0,0,0,0,1,1,0")) + (rule "add_literals" (formula "34") (term "0,0,0,0,0,0,1,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "replace_known_left" (formula "34") (term "0,0,0,1,1,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "34")) + (rule "getOfSeqConcatEQ" (formula "29") (term "1") (ifseqformula "26")) + (rule "eqSymm" (formula "29")) + (rule "polySimp_elimSub" (formula "29") (term "1,2,0")) + (rule "lenOfSeqSub" (formula "29") (term "1,0,0")) + (rule "polySimp_elimSub" (formula "29") (term "1,1,0,0")) + (rule "mul_literals" (formula "29") (term "1,1,1,0,0")) + (rule "add_zero_right" (formula "29") (term "1,1,0,0")) + (rule "lenOfSeqSub" (formula "29") (term "0,1,1,2,0")) + (rule "polySimp_elimSub" (formula "29") (term "1,0,1,1,2,0")) + (rule "mul_literals" (formula "29") (term "1,1,0,1,1,2,0")) + (rule "add_zero_right" (formula "29") (term "1,0,1,1,2,0")) + (rule "inEqSimp_ltToLeq" (formula "29") (term "0,1,0,0")) + (rule "add_zero_right" (formula "29") (term "0,0,1,0,0")) + (rule "polySimp_mulComm0" (formula "29") (term "1,0,0,1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "29") (term "0,0,1,1,2,0")) + (rule "add_zero_right" (formula "29") (term "0,0,0,1,1,2,0")) + (rule "polySimp_mulComm0" (formula "29") (term "1,0,0,0,1,1,2,0")) + (rule "inEqSimp_ltToLeq" (formula "29") (term "0,0")) + (rule "polySimp_mulComm0" (formula "29") (term "1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "29") (term "0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "29") (term "0,0,1,1,2,0")) + (rule "polySimp_mulLiterals" (formula "29") (term "0,0,0,1,1,2,0")) + (rule "polySimp_elimOne" (formula "29") (term "0,0,0,1,1,2,0")) + (rule "replace_known_left" (formula "29") (term "0,0,1,1,2,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "29")) + (rule "polySimp_pullOutFactor1" (formula "29") (term "1,2,0")) + (rule "add_literals" (formula "29") (term "1,1,2,0")) + (rule "times_zero_1" (formula "29") (term "1,2,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "29") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "29") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "29") (term "0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "29") (term "0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "29") (term "0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "29") (term "0,0,0,0,0")) + (rule "replace_known_left" (formula "29") (term "0,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "29")) + (rule "inEqSimp_homoInEq1" (formula "29") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "29") (term "0,0,0")) + (rule "add_literals" (formula "29") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "29") (term "1,0,0,0")) + (rule "add_literals" (formula "29") (term "0,0,0")) + (rule "leq_literals" (formula "29") (term "0,0")) + (builtin "One Step Simplification" (formula "29")) + (rule "eqSymm" (formula "29")) + (rule "getOfSeqConcatEQ" (formula "30") (term "1") (ifseqformula "26")) + (rule "eqSymm" (formula "30")) + (rule "polySimp_elimSub" (formula "30") (term "1,2,0")) + (rule "lenOfSeqSub" (formula "30") (term "1,0,0")) + (rule "polySimp_elimSub" (formula "30") (term "1,1,0,0")) + (rule "mul_literals" (formula "30") (term "1,1,1,0,0")) + (rule "add_zero_right" (formula "30") (term "1,1,0,0")) + (rule "lenOfSeqSub" (formula "30") (term "0,1,1,2,0")) + (rule "polySimp_elimSub" (formula "30") (term "1,0,1,1,2,0")) + (rule "mul_literals" (formula "30") (term "1,1,0,1,1,2,0")) + (rule "add_zero_right" (formula "30") (term "1,0,1,1,2,0")) + (rule "inEqSimp_ltToLeq" (formula "30") (term "0,1,0,0")) + (rule "add_zero_right" (formula "30") (term "0,0,1,0,0")) + (rule "polySimp_mulComm0" (formula "30") (term "1,0,0,1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "30") (term "0,0,1,1,2,0")) + (rule "add_zero_right" (formula "30") (term "0,0,0,1,1,2,0")) + (rule "polySimp_mulComm0" (formula "30") (term "1,0,0,0,1,1,2,0")) + (rule "inEqSimp_ltToLeq" (formula "30") (term "0,0")) + (rule "polySimp_mulComm0" (formula "30") (term "1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "30") (term "0,0,0")) + (rule "polySimp_addAssoc" (formula "30") (term "0,0,0,0")) + (rule "add_literals" (formula "30") (term "0,0,0,0,0")) + (rule "add_zero_left" (formula "30") (term "0,0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "30") (term "0,0,1,1,2,0")) + (rule "polySimp_mulLiterals" (formula "30") (term "0,0,0,1,1,2,0")) + (rule "polySimp_elimOne" (formula "30") (term "0,0,0,1,1,2,0")) + (rule "replace_known_left" (formula "30") (term "0,0,1,1,2,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "30")) + (rule "polySimp_pullOutFactor1b" (formula "30") (term "1,2,0")) + (rule "add_literals" (formula "30") (term "1,1,1,2,0")) + (rule "times_zero_1" (formula "30") (term "1,1,2,0")) + (rule "add_literals" (formula "30") (term "1,2,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "30") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "30") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "30") (term "0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "30") (term "0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "30") (term "0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "30") (term "0,0,0,0,0")) + (rule "replace_known_left" (formula "30") (term "0,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "30")) + (rule "inEqSimp_homoInEq1" (formula "30") (term "0,0")) + (rule "polySimp_pullOutFactor1" (formula "30") (term "0,0,0")) + (rule "add_literals" (formula "30") (term "1,0,0,0")) + (rule "times_zero_1" (formula "30") (term "0,0,0")) + (rule "leq_literals" (formula "30") (term "0,0")) + (builtin "One Step Simplification" (formula "30")) + (rule "eqSymm" (formula "30")) + (rule "getOfSeqSub" (formula "45") (term "0")) + (rule "castDel" (formula "45") (term "2,0")) (rule "polySimp_elimSub" (formula "45") (term "1,1,0,0")) (rule "polySimp_addComm1" (formula "45") (term "1,1,0,0")) (rule "inEqSimp_ltToLeq" (formula "45") (term "1,0,0")) @@ -2207,83 +2328,17 @@ (rule "replace_known_left" (formula "45") (term "0,0") (ifseqformula "2")) (builtin "One Step Simplification" (formula "45")) (rule "eqSymm" (formula "45")) - (rule "getOfSeqSub" (formula "28") (term "1")) - (rule "add_zero_right" (formula "28") (term "1,1,1")) - (rule "polySimp_elimSub" (formula "28") (term "1,1,0,1")) - (rule "times_zero_2" (formula "28") (term "1,1,1,0,1")) - (rule "add_zero_right" (formula "28") (term "1,1,0,1")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "1,0,1")) - (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,1,0,1")) - (rule "polySimp_addAssoc" (formula "28") (term "0,1,0,1")) - (rule "polySimp_addComm1" (formula "28") (term "0,0,1,0,1")) - (rule "add_literals" (formula "28") (term "0,0,0,1,0,1")) - (rule "add_zero_left" (formula "28") (term "0,0,1,0,1")) - (rule "polySimp_pullOutFactor2" (formula "28") (term "0,1,0,1")) - (rule "add_literals" (formula "28") (term "1,0,1,0,1")) - (rule "times_zero_1" (formula "28") (term "0,1,0,1")) - (rule "leq_literals" (formula "28") (term "1,0,1")) - (builtin "One Step Simplification" (formula "28")) - (rule "inEqSimp_homoInEq0" (formula "28") (term "0,1")) - (rule "times_zero_2" (formula "28") (term "1,0,0,1")) - (rule "add_zero_right" (formula "28") (term "0,0,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "28") (term "0,1")) - (rule "mul_literals" (formula "28") (term "1,0,1")) - (rule "replace_known_left" (formula "28") (term "0,1") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "28")) - (rule "getOfSeqSub" (formula "34") (term "0,1,1,0")) - (rule "leq_literals" (formula "34") (term "0,0,0,1,1,0")) - (builtin "One Step Simplification" (formula "34")) - (rule "add_zero_left" (formula "34") (term "1,1,0,1,1,0")) - (rule "polySimp_elimSub" (formula "34") (term "1,0,0,1,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,1,0,0,1,1,0")) - (rule "polySimp_rightDist" (formula "34") (term "1,1,0,0,1,1,0")) - (rule "mul_literals" (formula "34") (term "0,1,1,0,0,1,1,0")) - (rule "polySimp_addComm0" (formula "34") (term "1,0,0,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,0,1,1,0")) - (rule "polySimp_rightDist" (formula "34") (term "1,0,0,0,1,1,0")) - (rule "polySimp_rightDist" (formula "34") (term "0,1,0,0,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "34") (term "1,0,1,0,0,0,1,1,0")) - (rule "mul_literals" (formula "34") (term "0,0,1,0,0,0,1,1,0")) - (rule "polySimp_elimOne" (formula "34") (term "1,0,1,0,0,0,1,1,0")) - (rule "polySimp_addAssoc" (formula "34") (term "0,0,0,1,1,0")) - (rule "polySimp_addAssoc" (formula "34") (term "0,0,0,0,1,1,0")) - (rule "add_literals" (formula "34") (term "0,0,0,0,0,1,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,1,0")) - (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,1,0")) - (rule "replace_known_left" (formula "34") (term "0,0,1,1,0") (ifseqformula "9")) - (builtin "One Step Simplification" (formula "34")) - (rule "getOfSeqSub" (formula "29") (term "1")) - (rule "leq_literals" (formula "29") (term "0,0,1")) - (builtin "One Step Simplification" (formula "29")) - (rule "add_zero_left" (formula "29") (term "1,1,1")) - (rule "eqSymm" (formula "29")) - (rule "polySimp_elimSub" (formula "29") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "29") (term "1,1,0,0")) - (rule "polySimp_rightDist" (formula "29") (term "1,1,0,0")) - (rule "mul_literals" (formula "29") (term "0,1,1,0,0")) - (rule "polySimp_addComm0" (formula "29") (term "1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "29") (term "0,0")) - (rule "add_zero_right" (formula "29") (term "0,0,0")) - (rule "polySimp_rightDist" (formula "29") (term "1,0,0,0")) - (rule "polySimp_rightDist" (formula "29") (term "0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "29") (term "1,0,1,0,0,0")) - (rule "mul_literals" (formula "29") (term "0,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "29") (term "1,0,1,0,0,0")) - (rule "polySimp_addAssoc" (formula "29") (term "0,0,0")) - (rule "polySimp_addAssoc" (formula "29") (term "0,0,0,0")) - (rule "add_literals" (formula "29") (term "0,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "29") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "29") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "29") (term "0,0,0")) - (rule "replace_known_left" (formula "29") (term "0,0") (ifseqformula "9")) - (builtin "One Step Simplification" (formula "29")) - (rule "eqSymm" (formula "29")) + (rule "getOfSeqConcat" (formula "38") (term "0")) + (builtin "One Step Simplification" (formula "38")) + (rule "castDel" (formula "38") (term "1,0")) + (builtin "One Step Simplification" (formula "38")) + (rule "less_literals" (formula "38") (term "0")) + (builtin "One Step Simplification" (formula "38")) + (rule "true_left" (formula "38")) (rule "getOfSeqSub" (formula "31") (term "1,0,0,1,0")) (rule "add_zero_right" (formula "31") (term "1,1,1,0,0,1,0")) (rule "polySimp_elimSub" (formula "31") (term "1,1,0,1,0,0,1,0")) - (rule "times_zero_2" (formula "31") (term "1,1,1,0,1,0,0,1,0")) + (rule "mul_literals" (formula "31") (term "1,1,1,0,1,0,0,1,0")) (rule "add_zero_right" (formula "31") (term "1,1,0,1,0,0,1,0")) (rule "inEqSimp_ltToLeq" (formula "31") (term "1,0,1,0,0,1,0")) (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,1,0,1,0,0,1,0")) @@ -2306,7 +2361,7 @@ (rule "polySimp_pullOutFactor2b" (formula "31") (term "0,1,1,2,0,0,1,0")) (rule "add_literals" (formula "31") (term "1,1,0,1,1,2,0,0,1,0")) (rule "times_zero_1" (formula "31") (term "1,0,1,1,2,0,0,1,0")) - (rule "add_zero_right" (formula "31") (term "0,1,1,2,0,0,1,0")) + (rule "add_literals" (formula "31") (term "0,1,1,2,0,0,1,0")) (rule "inEqSimp_ltToLeq" (formula "31") (term "1,0,2,0,0,1,0")) (rule "polySimp_rightDist" (formula "31") (term "1,0,0,1,0,2,0,0,1,0")) (rule "polySimp_rightDist" (formula "31") (term "0,1,0,0,1,0,2,0,0,1,0")) @@ -2321,9 +2376,9 @@ (rule "polySimp_pullOutFactor1b" (formula "31") (term "0,0,0,1,0,2,0,0,1,0")) (rule "add_literals" (formula "31") (term "1,1,0,0,0,1,0,2,0,0,1,0")) (rule "times_zero_1" (formula "31") (term "1,0,0,0,1,0,2,0,0,1,0")) - (rule "add_zero_right" (formula "31") (term "0,0,0,1,0,2,0,0,1,0")) + (rule "add_literals" (formula "31") (term "0,0,0,1,0,2,0,0,1,0")) (rule "inEqSimp_homoInEq0" (formula "31") (term "0,0,2,0,0,1,0")) - (rule "times_zero_2" (formula "31") (term "1,0,0,0,2,0,0,1,0")) + (rule "mul_literals" (formula "31") (term "1,0,0,0,2,0,0,1,0")) (rule "add_zero_right" (formula "31") (term "0,0,0,2,0,0,1,0")) (rule "inEqSimp_sepPosMonomial0" (formula "31") (term "1,0,2,0,0,1,0")) (rule "polySimp_mulComm0" (formula "31") (term "1,1,0,2,0,0,1,0")) @@ -2334,11 +2389,37 @@ (rule "inEqSimp_sepPosMonomial1" (formula "31") (term "0,0,2,0,0,1,0")) (rule "polySimp_mulLiterals" (formula "31") (term "1,0,0,2,0,0,1,0")) (rule "polySimp_elimOne" (formula "31") (term "1,0,0,2,0,0,1,0")) + (rule "getOfSeqSub" (formula "29") (term "1")) + (rule "leq_literals" (formula "29") (term "0,0,1")) + (builtin "One Step Simplification" (formula "29")) + (rule "add_zero_left" (formula "29") (term "1,1,1")) + (rule "eqSymm" (formula "29")) + (rule "polySimp_elimSub" (formula "29") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "29") (term "1,1,0,0")) + (rule "polySimp_rightDist" (formula "29") (term "1,1,0,0")) + (rule "mul_literals" (formula "29") (term "0,1,1,0,0")) + (rule "polySimp_addComm0" (formula "29") (term "1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "29") (term "0,0")) + (rule "add_zero_right" (formula "29") (term "0,0,0")) + (rule "polySimp_rightDist" (formula "29") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "29") (term "0,1,0,0,0")) + (rule "mul_literals" (formula "29") (term "0,0,1,0,0,0")) + (rule "polySimp_mulLiterals" (formula "29") (term "1,0,1,0,0,0")) + (rule "polySimp_elimOne" (formula "29") (term "1,0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "29") (term "0,0,0")) + (rule "polySimp_addAssoc" (formula "29") (term "0,0,0,0")) + (rule "add_literals" (formula "29") (term "0,0,0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "29") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "29") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "29") (term "0,0,0")) + (rule "replace_known_left" (formula "29") (term "0,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "29")) + (rule "eqSymm" (formula "29")) (rule "getOfSeqSub" (formula "30") (term "1")) (rule "add_zero_right" (formula "30") (term "1,1,1")) (rule "eqSymm" (formula "30")) (rule "polySimp_elimSub" (formula "30") (term "1,1,0,0")) - (rule "times_zero_2" (formula "30") (term "1,1,1,0,0")) + (rule "mul_literals" (formula "30") (term "1,1,1,0,0")) (rule "add_zero_right" (formula "30") (term "1,1,0,0")) (rule "inEqSimp_ltToLeq" (formula "30") (term "1,0,0")) (rule "polySimp_mulComm0" (formula "30") (term "1,0,0,1,0,0")) @@ -2352,129 +2433,153 @@ (rule "leq_literals" (formula "30") (term "1,0,0")) (builtin "One Step Simplification" (formula "30")) (rule "inEqSimp_homoInEq0" (formula "30") (term "0,0")) - (rule "times_zero_2" (formula "30") (term "1,0,0,0")) + (rule "mul_literals" (formula "30") (term "1,0,0,0")) (rule "add_zero_right" (formula "30") (term "0,0,0")) (rule "inEqSimp_sepPosMonomial1" (formula "30") (term "0,0")) (rule "mul_literals" (formula "30") (term "1,0,0")) (rule "replace_known_left" (formula "30") (term "0,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "30")) (rule "eqSymm" (formula "30")) - (rule "getOfSeqConcat" (formula "38") (term "0")) - (builtin "One Step Simplification" (formula "38")) - (rule "castDel" (formula "38") (term "1,0")) - (builtin "One Step Simplification" (formula "38")) - (rule "sub_literals" (formula "38") (term "1,0,1")) - (rule "less_literals" (formula "38") (term "0")) - (builtin "One Step Simplification" (formula "38")) - (rule "true_left" (formula "38")) (rule "getOfSeqSub" (formula "44") (term "0")) (rule "castDel" (formula "44") (term "2,0")) (rule "polySimp_elimSub" (formula "44") (term "1,1,0,0")) - (rule "mul_literals" (formula "44") (term "1,1,1,0,0")) - (rule "polySimp_addComm0" (formula "44") (term "1,1,0")) - (rule "polySimp_addComm1" (formula "44") (term "1,1,0,0")) - (rule "polySimp_addComm0" (formula "44") (term "0,1,1,0,0")) + (rule "polySimp_addComm0" (formula "44") (term "1,1,0,0")) (rule "inEqSimp_ltToLeq" (formula "44") (term "1,0,0")) (rule "polySimp_rightDist" (formula "44") (term "1,0,0,1,0,0")) - (rule "polySimp_rightDist" (formula "44") (term "0,1,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "44") (term "1,0,1,0,0,1,0,0")) - (rule "mul_literals" (formula "44") (term "0,0,1,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "44") (term "1,0,1,0,0,1,0,0")) + (rule "polySimp_mulAssoc" (formula "44") (term "0,1,0,0,1,0,0")) + (rule "polySimp_mulComm0" (formula "44") (term "0,0,1,0,0,1,0,0")) + (rule "polySimp_mulLiterals" (formula "44") (term "0,1,0,0,1,0,0")) + (rule "polySimp_elimOne" (formula "44") (term "0,1,0,0,1,0,0")) (rule "polySimp_addAssoc" (formula "44") (term "0,0,1,0,0")) (rule "polySimp_addComm1" (formula "44") (term "0,1,0,0")) + (rule "polySimp_addComm1" (formula "44") (term "0,0,1,0,0")) (rule "polySimp_addAssoc" (formula "44") (term "0,0,0,1,0,0")) (rule "add_literals" (formula "44") (term "0,0,0,0,1,0,0")) - (rule "polySimp_addComm1" (formula "44") (term "0,0,1,0,0")) - (rule "inEqSimp_commuteLeq" (formula "44") (term "0,0,0")) - (rule "replace_known_left" (formula "44") (term "0,0,0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq0" (formula "44") (term "0,0,0")) + (rule "mul_literals" (formula "44") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "44") (term "0,0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "44") (term "1,0,0")) + (rule "polySimp_mulLiterals" (formula "44") (term "0,1,0,0")) + (rule "polySimp_elimOne" (formula "44") (term "0,1,0,0")) + (rule "replace_known_left" (formula "44") (term "1,0,0") (ifseqformula "2")) (builtin "One Step Simplification" (formula "44")) - (rule "inEqSimp_sepNegMonomial0" (formula "44") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "44") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "44") (term "0,0,0")) - (rule "replace_known_left" (formula "44") (term "0,0") (ifseqformula "2")) + (rule "inEqSimp_sepPosMonomial1" (formula "44") (term "0,0")) + (rule "mul_literals" (formula "44") (term "1,0,0")) + (rule "inEqSimp_subsumption1" (formula "44") (term "0,0") (ifseqformula "1")) + (rule "leq_literals" (formula "44") (term "0,0,0")) (builtin "One Step Simplification" (formula "44")) + (rule "eqSymm" (formula "44")) + (rule "getOfSeqConcatEQ" (formula "28") (term "0,0,0,0") (ifseqformula "26")) + (rule "polySimp_elimSub" (formula "28") (term "1,2,0,0,0,0")) + (rule "lenOfSeqSub" (formula "28") (term "1,0,0,0,0,0")) + (rule "polySimp_elimSub" (formula "28") (term "1,1,0,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "1,1,1,0,0,0,0,0")) + (rule "add_zero_right" (formula "28") (term "1,1,0,0,0,0,0")) + (rule "lenOfSeqSub" (formula "28") (term "0,1,1,2,0,0,0,0")) + (rule "polySimp_elimSub" (formula "28") (term "1,0,1,1,2,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "1,1,0,1,1,2,0,0,0,0")) + (rule "add_zero_right" (formula "28") (term "1,0,1,1,2,0,0,0,0")) + (rule "inEqSimp_ltToLeq" (formula "28") (term "0,1,0,0,0,0,0")) + (rule "add_zero_right" (formula "28") (term "0,0,1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,1,0,0,0,0,0")) + (rule "inEqSimp_ltToLeq" (formula "28") (term "0,0,1,1,2,0,0,0,0")) + (rule "add_zero_right" (formula "28") (term "0,0,0,1,1,2,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,0,1,1,2,0,0,0,0")) + (rule "inEqSimp_ltToLeq" (formula "28") (term "0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,0,0,0,0,0")) + (rule "polySimp_addComm1" (formula "28") (term "0,0,0,0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,1,1,2,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,1,1,2,0,0,0,0")) + (rule "polySimp_elimOne" (formula "28") (term "0,0,0,1,1,2,0,0,0,0")) + (rule "replace_known_left" (formula "28") (term "0,0,1,1,2,0,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "28")) + (rule "polySimp_pullOutFactor1" (formula "28") (term "1,2,0,0,0,0")) + (rule "add_literals" (formula "28") (term "1,1,2,0,0,0,0")) + (rule "times_zero_1" (formula "28") (term "1,2,0,0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "28") (term "0,0,0,0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "28") (term "0,0,0,0,0,0,0,0")) + (rule "replace_known_left" (formula "28") (term "0,0,0,0,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "28")) + (rule "inEqSimp_homoInEq1" (formula "28") (term "0,0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "28") (term "0,0,0,0,0,0")) + (rule "add_literals" (formula "28") (term "1,1,0,0,0,0,0,0")) + (rule "times_zero_1" (formula "28") (term "1,0,0,0,0,0,0")) + (rule "add_literals" (formula "28") (term "0,0,0,0,0,0")) + (rule "leq_literals" (formula "28") (term "0,0,0,0,0")) + (builtin "One Step Simplification" (formula "28")) (rule "subSeqConcatEQ" (formula "36") (term "1,1,0") (ifseqformula "26")) - (rule "polySimp_elimSub" (formula "36") (term "2,1,1,1,0")) (rule "polySimp_elimSub" (formula "36") (term "2,1,1,1,1,0")) - (rule "lenOfSeqSub" (formula "36") (term "1,0,1,1,1,1,0")) - (rule "polySimp_elimSub" (formula "36") (term "1,1,0,1,1,1,1,0")) - (rule "times_zero_2" (formula "36") (term "1,1,1,0,1,1,1,1,0")) - (rule "add_zero_right" (formula "36") (term "1,1,0,1,1,1,1,0")) + (rule "polySimp_elimSub" (formula "36") (term "2,1,1,1,0")) (rule "lenOfSeqSub" (formula "36") (term "0,0,2,0,1,1,0")) (rule "polySimp_elimSub" (formula "36") (term "1,0,0,2,0,1,1,0")) (rule "mul_literals" (formula "36") (term "1,1,0,0,2,0,1,1,0")) (rule "add_zero_right" (formula "36") (term "1,0,0,2,0,1,1,0")) (rule "lenOfSeqSub" (formula "36") (term "1,2,0,1,1,0")) (rule "polySimp_elimSub" (formula "36") (term "1,1,2,0,1,1,0")) - (rule "times_zero_2" (formula "36") (term "1,1,1,2,0,1,1,0")) + (rule "mul_literals" (formula "36") (term "1,1,1,2,0,1,1,0")) (rule "add_zero_right" (formula "36") (term "1,1,2,0,1,1,0")) - (rule "lenOfSeqSub" (formula "36") (term "0,1,2,1,1,1,0")) - (rule "polySimp_elimSub" (formula "36") (term "1,0,1,2,1,1,1,0")) - (rule "times_zero_2" (formula "36") (term "1,1,0,1,2,1,1,1,0")) - (rule "add_zero_right" (formula "36") (term "1,0,1,2,1,1,1,0")) + (rule "lenOfSeqSub" (formula "36") (term "1,0,1,1,1,1,0")) + (rule "polySimp_elimSub" (formula "36") (term "1,1,0,1,1,1,1,0")) + (rule "mul_literals" (formula "36") (term "1,1,1,0,1,1,1,1,0")) + (rule "add_zero_right" (formula "36") (term "1,1,0,1,1,1,1,0")) (rule "lenOfSeqSub" (formula "36") (term "0,1,2,1,1,1,1,0")) (rule "polySimp_elimSub" (formula "36") (term "1,0,1,2,1,1,1,1,0")) - (rule "times_zero_2" (formula "36") (term "1,1,0,1,2,1,1,1,1,0")) + (rule "mul_literals" (formula "36") (term "1,1,0,1,2,1,1,1,1,0")) (rule "add_zero_right" (formula "36") (term "1,0,1,2,1,1,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,0,1,1,1,1,0")) - (rule "add_zero_right" (formula "36") (term "0,0,1,0,1,1,1,1,0")) - (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,1,0,1,1,1,1,0")) + (rule "lenOfSeqSub" (formula "36") (term "0,1,2,1,1,1,0")) + (rule "polySimp_elimSub" (formula "36") (term "1,0,1,2,1,1,1,0")) + (rule "mul_literals" (formula "36") (term "1,1,0,1,2,1,1,1,0")) + (rule "add_zero_right" (formula "36") (term "1,0,1,2,1,1,1,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,0,0,2,0,1,1,0")) (rule "add_zero_right" (formula "36") (term "0,0,0,0,2,0,1,1,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,0,2,0,1,1,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,2,0,1,1,0")) (rule "add_zero_right" (formula "36") (term "0,0,1,2,0,1,1,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,1,2,0,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "36") (term "0,0,1,2,1,1,1,0")) - (rule "add_zero_right" (formula "36") (term "0,0,0,1,2,1,1,1,0")) - (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,1,2,1,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,0,1,1,1,1,0")) + (rule "add_zero_right" (formula "36") (term "0,0,1,0,1,1,1,1,0")) + (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,1,0,1,1,1,1,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,0,1,2,1,1,1,1,0")) (rule "add_zero_right" (formula "36") (term "0,0,0,1,2,1,1,1,1,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,1,2,1,1,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,1,1,1,0")) - (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,1,1,1,1,0")) - (rule "polySimp_addComm1" (formula "36") (term "0,0,1,1,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "36") (term "0,0,1,2,1,1,1,0")) + (rule "add_zero_right" (formula "36") (term "0,0,0,1,2,1,1,1,0")) + (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,1,2,1,1,1,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,2,0,1,1,0")) (rule "polySimp_rightDist" (formula "36") (term "1,0,0,0,2,0,1,1,0")) (rule "mul_literals" (formula "36") (term "0,1,0,0,0,2,0,1,1,0")) (rule "polySimp_addAssoc" (formula "36") (term "0,0,0,2,0,1,1,0")) (rule "add_literals" (formula "36") (term "0,0,0,0,2,0,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,1,1,1,0")) + (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,1,1,1,1,0")) + (rule "polySimp_addComm1" (formula "36") (term "0,0,1,1,1,1,0")) (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,1,2,0,1,1,0")) (rule "polySimp_mulLiterals" (formula "36") (term "0,0,1,2,0,1,1,0")) (rule "polySimp_elimOne" (formula "36") (term "0,0,1,2,0,1,1,0")) (rule "replace_known_left" (formula "36") (term "0,1,2,0,1,1,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "36")) - (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,1,0,0,1,1,1,1,0")) - (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,1,0,0,1,1,1,1,0")) - (rule "polySimp_elimOne" (formula "36") (term "0,0,0,1,0,0,1,1,1,1,0")) - (rule "replace_known_left" (formula "36") (term "0,0,1,0,0,1,1,1,1,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "36")) - (rule "polySimp_pullOutFactor1b" (formula "36") (term "0,0,1,1,1,1,0")) - (rule "add_literals" (formula "36") (term "1,1,0,0,1,1,1,1,0")) - (rule "times_zero_1" (formula "36") (term "1,0,0,1,1,1,1,0")) - (rule "add_zero_right" (formula "36") (term "0,0,1,1,1,1,0")) - (rule "leq_literals" (formula "36") (term "0,1,1,1,1,0")) - (builtin "One Step Simplification" (formula "36")) (rule "inEqSimp_sepPosMonomial0" (formula "36") (term "0,2,0,1,1,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,2,0,1,1,0")) (rule "polySimp_rightDist" (formula "36") (term "1,0,2,0,1,1,0")) (rule "mul_literals" (formula "36") (term "0,1,0,2,0,1,1,0")) (rule "polySimp_mulLiterals" (formula "36") (term "1,1,0,2,0,1,1,0")) (rule "polySimp_elimOne" (formula "36") (term "1,1,0,2,0,1,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,1,1,1,1,1,0")) - (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,1,1,1,1,1,0")) - (rule "polySimp_elimOne" (formula "36") (term "0,0,0,1,1,1,1,1,0")) - (rule "replace_known_left" (formula "36") (term "0,0,1,1,1,1,1,0") (ifseqformula "8")) + (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,1,1,1,1,0")) + (rule "polySimp_mulLiterals" (formula "36") (term "0,0,1,1,1,1,0")) + (rule "polySimp_elimOne" (formula "36") (term "0,0,1,1,1,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,1,2,1,1,1,1,0")) + (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,1,2,1,1,1,1,0")) + (rule "polySimp_elimOne" (formula "36") (term "0,0,0,1,2,1,1,1,1,0")) + (rule "replace_known_left" (formula "36") (term "0,0,1,2,1,1,1,1,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "36")) - (rule "polySimp_pullOutFactor1" (formula "36") (term "1,1,1,1,0")) - (rule "add_literals" (formula "36") (term "1,1,1,1,1,0")) - (rule "times_zero_1" (formula "36") (term "1,1,1,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,1,2,1,1,1,0")) - (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,1,2,1,1,1,0")) - (rule "polySimp_elimOne" (formula "36") (term "0,0,0,1,2,1,1,1,0")) - (rule "replace_known_left" (formula "36") (term "0,0,1,2,1,1,1,0") (ifseqformula "8")) + (rule "polySimp_pullOutFactor1" (formula "36") (term "2,1,1,1,1,0")) + (rule "add_literals" (formula "36") (term "1,2,1,1,1,1,0")) + (rule "times_zero_1" (formula "36") (term "2,1,1,1,1,0")) (builtin "One Step Simplification" (formula "36")) - (rule "polySimp_addComm1" (formula "36") (term "2,1,1,1,0")) (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,0,2,0,1,1,0")) (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,0,2,0,1,1,0")) (rule "polySimp_elimOne" (formula "36") (term "0,0,0,0,2,0,1,1,0")) @@ -2482,211 +2587,89 @@ (builtin "One Step Simplification" (formula "36")) (rule "inEqSimp_homoInEq0" (formula "36") (term "0,2,0,1,1,0")) (rule "polySimp_addComm1" (formula "36") (term "0,0,2,0,1,1,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "36") (term "0,2,0,1,1,0")) - (rule "polySimp_mulComm0" (formula "36") (term "1,0,2,0,1,1,0")) - (rule "polySimp_rightDist" (formula "36") (term "1,0,2,0,1,1,0")) - (rule "mul_literals" (formula "36") (term "0,1,0,2,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "36") (term "1,1,0,2,0,1,1,0")) - (rule "polySimp_elimOne" (formula "36") (term "1,1,0,2,0,1,1,0")) - (rule "replace_known_left" (formula "36") (term "0,2,0,1,1,0") (ifseqformula "9")) - (builtin "One Step Simplification" (formula "36")) - (rule "getOfSeqConcatEQ" (formula "28") (term "0,0,0,1,0,0") (ifseqformula "26")) - (rule "polySimp_elimSub" (formula "28") (term "1,2,0,0,0,1,0,0")) - (rule "lenOfSeqSub" (formula "28") (term "1,0,0,0,0,1,0,0")) - (rule "polySimp_elimSub" (formula "28") (term "1,1,0,0,0,0,1,0,0")) - (rule "mul_literals" (formula "28") (term "1,1,1,0,0,0,0,1,0,0")) - (rule "add_zero_right" (formula "28") (term "1,1,0,0,0,0,1,0,0")) - (rule "lenOfSeqSub" (formula "28") (term "0,1,1,2,0,0,0,1,0,0")) - (rule "polySimp_elimSub" (formula "28") (term "1,0,1,1,2,0,0,0,1,0,0")) - (rule "times_zero_2" (formula "28") (term "1,1,0,1,1,2,0,0,0,1,0,0")) - (rule "add_zero_right" (formula "28") (term "1,0,1,1,2,0,0,0,1,0,0")) - (rule "ifEqualsNull" (formula "28") (term "0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "0,1,0,0,0,0,1,0,0")) - (rule "add_zero_right" (formula "28") (term "0,0,1,0,0,0,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,1,0,0,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "0,1,0,0,1,0,0,1,0,0")) - (rule "add_zero_right" (formula "28") (term "0,0,1,0,0,1,0,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,1,0,0,1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "0,0,1,1,0,1,1,0,0,1,0,0")) - (rule "add_zero_right" (formula "28") (term "0,0,0,1,1,0,1,1,0,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,0,1,1,0,1,1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "0,0,0,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,0,0,0,0,1,0,0")) - (rule "polySimp_addComm1" (formula "28") (term "0,0,0,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "0,0,1,0,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,0,0,1,0,0,1,0,0")) - (rule "polySimp_addComm1" (formula "28") (term "0,0,0,1,0,0,1,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,1,1,0,1,1,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,1,1,0,1,1,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "0,0,0,1,1,0,1,1,0,0,1,0,0")) - (rule "replace_known_left" (formula "28") (term "0,0,1,1,0,1,1,0,0,1,0,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "28")) - (rule "polySimp_pullOutFactor1" (formula "28") (term "1,0,1,1,0,0,1,0,0")) - (rule "add_literals" (formula "28") (term "1,1,0,1,1,0,0,1,0,0")) - (rule "times_zero_1" (formula "28") (term "1,0,1,1,0,0,1,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,1,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,1,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "0,0,0,1,0,0,1,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "0,0,0,0,0,1,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,0,0,1,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,0,0,1,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "0,0,0,0,0,1,0,0,1,0,0")) - (rule "replace_known_left" (formula "28") (term "0,0,0,0,1,0,0,1,0,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "28")) - (rule "inEqSimp_homoInEq1" (formula "28") (term "0,0,1,0,0,1,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "28") (term "0,0,0,1,0,0,1,0,0")) - (rule "add_literals" (formula "28") (term "1,1,0,0,0,1,0,0,1,0,0")) - (rule "times_zero_1" (formula "28") (term "1,0,0,0,1,0,0,1,0,0")) - (rule "add_zero_right" (formula "28") (term "0,0,0,1,0,0,1,0,0")) - (rule "leq_literals" (formula "28") (term "0,0,1,0,0,1,0,0")) - (builtin "One Step Simplification" (formula "28")) - (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,0,0,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,0,0,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "0,0,0,0,0,0,0,1,0,0")) - (rule "replace_known_left" (formula "28") (term "0,0,0,0,0,0,1,0,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "28")) - (rule "inEqSimp_homoInEq1" (formula "28") (term "0,0,0,0,1,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "28") (term "0,0,0,0,0,1,0,0")) - (rule "add_literals" (formula "28") (term "1,1,0,0,0,0,0,1,0,0")) - (rule "times_zero_1" (formula "28") (term "1,0,0,0,0,0,1,0,0")) - (rule "add_literals" (formula "28") (term "0,0,0,0,0,1,0,0")) - (rule "leq_literals" (formula "28") (term "0,0,0,0,1,0,0")) - (builtin "One Step Simplification" (formula "28")) - (rule "getOfSeqSub" (formula "44") (term "0")) - (rule "castDel" (formula "44") (term "2,0")) - (rule "polySimp_elimSub" (formula "44") (term "1,1,0,0")) - (rule "polySimp_addComm0" (formula "44") (term "1,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "44") (term "1,0,0")) - (rule "polySimp_rightDist" (formula "44") (term "1,0,0,1,0,0")) - (rule "polySimp_mulAssoc" (formula "44") (term "0,1,0,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "44") (term "0,0,1,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "44") (term "0,1,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "44") (term "0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "44") (term "0,0,1,0,0")) - (rule "polySimp_addComm1" (formula "44") (term "0,1,0,0")) - (rule "polySimp_addComm1" (formula "44") (term "0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "44") (term "0,0,0,1,0,0")) - (rule "add_literals" (formula "44") (term "0,0,0,0,1,0,0")) - (rule "inEqSimp_homoInEq0" (formula "44") (term "0,0,0")) - (rule "times_zero_2" (formula "44") (term "1,0,0,0,0")) - (rule "add_zero_right" (formula "44") (term "0,0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "44") (term "1,0,0")) - (rule "polySimp_mulLiterals" (formula "44") (term "0,1,0,0")) - (rule "polySimp_elimOne" (formula "44") (term "0,1,0,0")) - (rule "replace_known_left" (formula "44") (term "1,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "44")) - (rule "inEqSimp_sepPosMonomial1" (formula "44") (term "0,0")) - (rule "mul_literals" (formula "44") (term "1,0,0")) - (rule "inEqSimp_subsumption1" (formula "44") (term "0,0") (ifseqformula "1")) - (rule "leq_literals" (formula "44") (term "0,0,0")) - (builtin "One Step Simplification" (formula "44")) - (rule "eqSymm" (formula "44")) - (rule "getOfSeqConcatEQ" (formula "34") (term "0,1,0,1,0") (ifseqformula "26")) - (rule "polySimp_elimSub" (formula "34") (term "1,2,0,1,0,1,0")) - (rule "lenOfSeqSub" (formula "34") (term "1,0,0,1,0,1,0")) - (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,1,0,1,0")) - (rule "mul_literals" (formula "34") (term "1,1,1,0,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "1,1,0,0,1,0,1,0")) - (rule "lenOfSeqSub" (formula "34") (term "0,1,1,2,0,1,0,1,0")) - (rule "polySimp_elimSub" (formula "34") (term "1,0,1,1,2,0,1,0,1,0")) - (rule "times_zero_2" (formula "34") (term "1,1,0,1,1,2,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "1,0,1,1,2,0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,1,0,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,1,0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,1,0,0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,1,2,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,0,1,1,2,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,1,1,2,0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,0,1,0,1,0")) - (rule "polySimp_addComm1" (formula "34") (term "0,0,0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "34") (term "0,0,0,0,1,0,1,0")) - (rule "add_literals" (formula "34") (term "0,0,0,0,0,1,0,1,0")) - (rule "add_zero_left" (formula "34") (term "0,0,0,0,1,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,1,2,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,1,2,0,1,0,1,0")) - (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,1,2,0,1,0,1,0")) - (rule "replace_known_left" (formula "34") (term "0,0,1,1,2,0,1,0,1,0") (ifseqformula "8")) + (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,1,2,1,1,1,0")) + (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,1,2,1,1,1,0")) + (rule "polySimp_elimOne" (formula "36") (term "0,0,0,1,2,1,1,1,0")) + (rule "replace_known_left" (formula "36") (term "0,0,1,2,1,1,1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "36")) + (rule "polySimp_addComm1" (formula "36") (term "2,1,1,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "36") (term "0,2,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "36") (term "1,0,2,0,1,1,0")) + (rule "polySimp_rightDist" (formula "36") (term "1,0,2,0,1,1,0")) + (rule "mul_literals" (formula "36") (term "0,1,0,2,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "36") (term "1,1,0,2,0,1,1,0")) + (rule "polySimp_elimOne" (formula "36") (term "1,1,0,2,0,1,1,0")) + (rule "replace_known_left" (formula "36") (term "0,2,0,1,1,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "36")) + (rule "getOfSeqConcatEQ" (formula "34") (term "0,0,1,0,1,0") (ifseqformula "26")) + (rule "polySimp_elimSub" (formula "34") (term "1,2,0,0,1,0,1,0")) + (rule "lenOfSeqSub" (formula "34") (term "1,0,0,0,1,0,1,0")) + (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,0,1,0,1,0")) + (rule "mul_literals" (formula "34") (term "1,1,1,0,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "1,1,0,0,0,1,0,1,0")) + (rule "lenOfSeqSub" (formula "34") (term "0,1,1,2,0,0,1,0,1,0")) + (rule "polySimp_elimSub" (formula "34") (term "1,0,1,1,2,0,0,1,0,1,0")) + (rule "mul_literals" (formula "34") (term "1,1,0,1,1,2,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "1,0,1,1,2,0,0,1,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,1,0,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "0,0,1,0,0,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,1,0,0,0,1,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,1,2,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "0,0,0,1,1,2,0,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,1,1,2,0,0,1,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,0,0,1,0,1,0")) + (rule "polySimp_addComm1" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "34") (term "0,0,0,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "0,0,0,0,0,0,1,0,1,0")) + (rule "add_zero_left" (formula "34") (term "0,0,0,0,0,1,0,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,1,2,0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,1,2,0,0,1,0,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,1,2,0,0,1,0,1,0")) + (rule "replace_known_left" (formula "34") (term "0,0,1,1,2,0,0,1,0,1,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "34")) - (rule "polySimp_pullOutFactor1b" (formula "34") (term "1,2,0,1,0,1,0")) - (rule "add_literals" (formula "34") (term "1,1,1,2,0,1,0,1,0")) - (rule "times_zero_1" (formula "34") (term "1,1,2,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "1,2,0,1,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,0,0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,0,0,0,1,0,1,0")) - (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,0,0,0,1,0,1,0")) - (rule "replace_known_left" (formula "34") (term "0,0,1,0,0,0,1,0,1,0") (ifseqformula "8")) + (rule "polySimp_pullOutFactor1b" (formula "34") (term "1,2,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "1,1,1,2,0,0,1,0,1,0")) + (rule "times_zero_1" (formula "34") (term "1,1,2,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "1,2,0,0,1,0,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,0,0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,0,0,0,1,0,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,0,0,0,1,0,1,0")) + (rule "replace_known_left" (formula "34") (term "0,0,0,0,0,1,0,1,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "34")) - (rule "polySimp_pullOutFactor1" (formula "34") (term "0,0,0,1,0,1,0")) - (rule "add_literals" (formula "34") (term "1,0,0,0,1,0,1,0")) - (rule "times_zero_1" (formula "34") (term "0,0,0,1,0,1,0")) - (rule "leq_literals" (formula "34") (term "0,0,1,0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "34") (term "0,0,0,1,0,1,0")) + (rule "polySimp_pullOutFactor1" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "1,0,0,0,0,1,0,1,0")) + (rule "times_zero_1" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "leq_literals" (formula "34") (term "0,0,0,1,0,1,0")) (builtin "One Step Simplification" (formula "34")) - (rule "getOfSeqSub" (formula "28") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "28") (term "1,1,0,0,0,1,0,0")) - (rule "leq_literals" (formula "28") (term "0,0,0,0,0,1,0,0")) - (builtin "One Step Simplification" (formula "28")) - (rule "polySimp_elimSub" (formula "28") (term "1,0,0,0,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "28") (term "1,1,0,0,0,0,1,0,0")) - (rule "polySimp_rightDist" (formula "28") (term "1,1,0,0,0,0,1,0,0")) - (rule "mul_literals" (formula "28") (term "0,1,1,0,0,0,0,1,0,0")) - (rule "polySimp_addComm0" (formula "28") (term "1,0,0,0,0,1,0,0")) - (rule "ifEqualsNull" (formula "28") (term "0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "0,0,0,0,1,0,0")) - (rule "add_zero_right" (formula "28") (term "0,0,0,0,0,1,0,0")) - (rule "polySimp_rightDist" (formula "28") (term "1,0,0,0,0,0,1,0,0")) - (rule "polySimp_rightDist" (formula "28") (term "0,1,0,0,0,0,0,1,0,0")) - (rule "mul_literals" (formula "28") (term "0,0,1,0,0,0,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "1,0,1,0,0,0,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "1,0,1,0,0,0,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "28") (term "0,0,0,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "28") (term "0,0,0,0,0,0,1,0,0")) - (rule "add_literals" (formula "28") (term "0,0,0,0,0,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "0,0,1,0,0,1,0,0")) - (rule "add_zero_right" (formula "28") (term "0,0,0,1,0,0,1,0,0")) - (rule "polySimp_rightDist" (formula "28") (term "1,0,0,0,1,0,0,1,0,0")) - (rule "polySimp_rightDist" (formula "28") (term "0,1,0,0,0,1,0,0,1,0,0")) - (rule "mul_literals" (formula "28") (term "0,0,1,0,0,0,1,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "1,0,1,0,0,0,1,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "1,0,1,0,0,0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "28") (term "0,0,0,1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "28") (term "0,0,0,0,1,0,0,1,0,0")) - (rule "add_literals" (formula "28") (term "0,0,0,0,0,1,0,0,1,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "0,0,0,0,0,1,0,0")) - (rule "replace_known_left" (formula "28") (term "0,0,0,0,1,0,0") (ifseqformula "9")) + (rule "getOfSeqSub" (formula "28") (term "0,0,0,0")) + (rule "leq_literals" (formula "28") (term "0,0,0,0,0,0")) (builtin "One Step Simplification" (formula "28")) - (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,1,0,0,1,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,1,0,0,1,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "0,0,0,1,0,0,1,0,0")) - (rule "replace_known_left" (formula "28") (term "0,0,1,0,0,1,0,0") (ifseqformula "9")) + (rule "add_zero_left" (formula "28") (term "1,1,0,0,0,0")) + (rule "polySimp_elimSub" (formula "28") (term "1,0,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "28") (term "1,1,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "28") (term "1,1,0,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "0,1,1,0,0,0,0,0")) + (rule "polySimp_addComm0" (formula "28") (term "1,0,0,0,0,0")) + (rule "inEqSimp_ltToLeq" (formula "28") (term "0,0,0,0,0")) + (rule "add_zero_right" (formula "28") (term "0,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "28") (term "1,0,0,0,0,0,0")) + (rule "polySimp_rightDist" (formula "28") (term "0,1,0,0,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "0,0,1,0,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "28") (term "1,0,1,0,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "28") (term "1,0,1,0,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "28") (term "0,0,0,0,0,0")) + (rule "polySimp_addAssoc" (formula "28") (term "0,0,0,0,0,0,0")) + (rule "add_literals" (formula "28") (term "0,0,0,0,0,0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "28") (term "0,0,0,0,0,0")) + (rule "replace_known_left" (formula "28") (term "0,0,0,0,0") (ifseqformula "9")) (builtin "One Step Simplification" (formula "28")) - (rule "getOfSeqSub" (formula "34") (term "0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "1,1,0,1,0,1,0")) - (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,1,0,1,0")) - (rule "times_zero_2" (formula "34") (term "1,1,1,0,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "1,1,0,0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,1,0,0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "34") (term "0,1,0,0,1,0,1,0")) - (rule "polySimp_addComm1" (formula "34") (term "0,0,1,0,0,1,0,1,0")) - (rule "add_literals" (formula "34") (term "0,0,0,1,0,0,1,0,1,0")) - (rule "add_zero_left" (formula "34") (term "0,0,1,0,0,1,0,1,0")) - (rule "polySimp_pullOutFactor2" (formula "34") (term "0,1,0,0,1,0,1,0")) - (rule "add_literals" (formula "34") (term "1,0,1,0,0,1,0,1,0")) - (rule "times_zero_1" (formula "34") (term "0,1,0,0,1,0,1,0")) - (rule "leq_literals" (formula "34") (term "1,0,0,1,0,1,0")) - (builtin "One Step Simplification" (formula "34")) - (rule "inEqSimp_homoInEq0" (formula "34") (term "0,0,1,0,1,0")) - (rule "times_zero_2" (formula "34") (term "1,0,0,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,0,1,0,1,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "34") (term "0,0,1,0,1,0")) - (rule "mul_literals" (formula "34") (term "1,0,0,1,0,1,0")) - (rule "replace_known_left" (formula "34") (term "0,0,1,0,1,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "34")) (rule "getOfSeqConcatEQ" (formula "44") (term "0") (ifseqformula "26")) (rule "polySimp_elimSub" (formula "44") (term "1,2,0")) (rule "lenOfSeqSub" (formula "44") (term "1,0,0")) @@ -2695,7 +2678,7 @@ (rule "add_zero_right" (formula "44") (term "1,1,0,0")) (rule "lenOfSeqSub" (formula "44") (term "0,1,1,2,0")) (rule "polySimp_elimSub" (formula "44") (term "1,0,1,1,2,0")) - (rule "times_zero_2" (formula "44") (term "1,1,0,1,1,2,0")) + (rule "mul_literals" (formula "44") (term "1,1,0,1,1,2,0")) (rule "add_zero_right" (formula "44") (term "1,0,1,1,2,0")) (rule "inEqSimp_ltToLeq" (formula "44") (term "0,1,0,0")) (rule "add_zero_right" (formula "44") (term "0,0,1,0,0")) @@ -2734,45 +2717,29 @@ (rule "inEqSimp_contradInEq1" (formula "44") (term "0,0") (ifseqformula "1")) (rule "qeq_literals" (formula "44") (term "0,0,0")) (builtin "One Step Simplification" (formula "44")) - (rule "getOfSeqConcatEQ" (formula "28") (term "1,1,0") (ifseqformula "26")) - (rule "polySimp_elimSub" (formula "28") (term "1,2,1,1,0")) - (rule "lenOfSeqSub" (formula "28") (term "1,0,1,1,0")) - (rule "polySimp_elimSub" (formula "28") (term "1,1,0,1,1,0")) - (rule "mul_literals" (formula "28") (term "1,1,1,0,1,1,0")) - (rule "add_zero_right" (formula "28") (term "1,1,0,1,1,0")) - (rule "lenOfSeqSub" (formula "28") (term "0,1,1,2,1,1,0")) - (rule "polySimp_elimSub" (formula "28") (term "1,0,1,1,2,1,1,0")) - (rule "times_zero_2" (formula "28") (term "1,1,0,1,1,2,1,1,0")) - (rule "add_zero_right" (formula "28") (term "1,0,1,1,2,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "0,1,0,1,1,0")) - (rule "add_zero_right" (formula "28") (term "0,0,1,0,1,1,0")) - (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,1,0,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "0,0,1,1,2,1,1,0")) - (rule "add_zero_right" (formula "28") (term "0,0,0,1,1,2,1,1,0")) - (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,0,1,1,2,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "0,1,1,0")) - (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,0,1,1,0")) - (rule "polySimp_addComm1" (formula "28") (term "0,0,1,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,1,1,2,1,1,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,1,1,2,1,1,0")) - (rule "polySimp_elimOne" (formula "28") (term "0,0,0,1,1,2,1,1,0")) - (rule "replace_known_left" (formula "28") (term "0,0,1,1,2,1,1,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "28")) - (rule "polySimp_pullOutFactor1" (formula "28") (term "1,2,1,1,0")) - (rule "add_literals" (formula "28") (term "1,1,2,1,1,0")) - (rule "times_zero_1" (formula "28") (term "1,2,1,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,1,0,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,1,0,0,1,1,0")) - (rule "polySimp_elimOne" (formula "28") (term "0,0,0,1,0,0,1,1,0")) - (rule "replace_known_left" (formula "28") (term "0,0,1,0,0,1,1,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "28")) - (rule "polySimp_pullOutFactor1b" (formula "28") (term "0,0,1,1,0")) - (rule "add_literals" (formula "28") (term "1,1,0,0,1,1,0")) - (rule "times_zero_1" (formula "28") (term "1,0,0,1,1,0")) - (rule "add_literals" (formula "28") (term "0,0,1,1,0")) - (rule "leq_literals" (formula "28") (term "0,1,1,0")) - (builtin "One Step Simplification" (formula "28")) - (rule "commuteUnion" (formula "24") (term "0,1,0")) + (rule "getOfSeqSub" (formula "34") (term "0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "1,1,0,0,1,0,1,0")) + (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,0,1,0,1,0")) + (rule "mul_literals" (formula "34") (term "1,1,1,0,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "1,1,0,0,0,1,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "1,0,0,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,1,0,0,0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "34") (term "0,1,0,0,0,1,0,1,0")) + (rule "polySimp_addComm1" (formula "34") (term "0,0,1,0,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "0,0,0,1,0,0,0,1,0,1,0")) + (rule "add_zero_left" (formula "34") (term "0,0,1,0,0,0,1,0,1,0")) + (rule "polySimp_pullOutFactor2" (formula "34") (term "0,1,0,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "1,0,1,0,0,0,1,0,1,0")) + (rule "times_zero_1" (formula "34") (term "0,1,0,0,0,1,0,1,0")) + (rule "leq_literals" (formula "34") (term "1,0,0,0,1,0,1,0")) + (builtin "One Step Simplification" (formula "34")) + (rule "inEqSimp_homoInEq0" (formula "34") (term "0,0,0,1,0,1,0")) + (rule "mul_literals" (formula "34") (term "1,0,0,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "34") (term "0,0,0,1,0,1,0")) + (rule "mul_literals" (formula "34") (term "1,0,0,0,1,0,1,0")) + (rule "replace_known_left" (formula "34") (term "0,0,0,1,0,1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "34")) (rule "getOfSeqSub" (formula "44") (term "0")) (rule "castDel" (formula "44") (term "2,0")) (rule "polySimp_elimSub" (formula "44") (term "1,1,0,0")) @@ -2788,8 +2755,8 @@ (rule "inEqSimp_ltToLeq" (formula "44") (term "1")) (rule "polySimp_rightDist" (formula "44") (term "1,0,0,1")) (rule "polySimp_rightDist" (formula "44") (term "0,1,0,0,1")) - (rule "polySimp_mulLiterals" (formula "44") (term "1,0,1,0,0,1")) (rule "mul_literals" (formula "44") (term "0,0,1,0,0,1")) + (rule "polySimp_mulLiterals" (formula "44") (term "1,0,1,0,0,1")) (rule "polySimp_elimOne" (formula "44") (term "1,0,1,0,0,1")) (rule "polySimp_addAssoc" (formula "44") (term "0,0,1")) (rule "polySimp_addComm1" (formula "44") (term "0,1")) @@ -2800,8 +2767,8 @@ (rule "replace_known_left" (formula "44") (term "0") (ifseqformula "1")) (builtin "One Step Simplification" (formula "44")) (rule "inEqSimp_leqRight" (formula "44")) - (rule "times_zero_1" (formula "1") (term "1,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0")) + (rule "mul_literals" (formula "1") (term "1,0,0")) + (rule "add_literals" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0")) (rule "polySimp_addAssoc" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) @@ -2828,7 +2795,7 @@ (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) (rule "add_literals" (formula "3") (term "1,1,0")) (rule "times_zero_1" (formula "3") (term "1,0")) - (rule "add_zero_right" (formula "3") (term "0")) + (rule "add_literals" (formula "3") (term "0")) (rule "leq_literals" (formula "3")) (rule "closeFalse" (formula "3")) ) @@ -2847,9 +2814,9 @@ (rule "eqSymm" (formula "25")) (rule "eqSymm" (formula "28") (term "0,0")) (rule "eqSymm" (formula "30") (term "0,1,0")) - (rule "eqSymm" (formula "33") (term "0,0,1,1,0")) + (rule "eqSymm" (formula "33") (term "0,0,0,1,1,0")) (rule "eqSymm" (formula "35")) - (rule "eqSymm" (formula "33") (term "0,0,1,0,1,0")) + (rule "eqSymm" (formula "33") (term "0,0,0,1,0,1,0")) (rule "eqSymm" (formula "37")) (rule "eqSymm" (formula "27") (term "0,1")) (rule "polySimp_elimSub" (formula "26") (term "1")) @@ -2987,9 +2954,9 @@ (rule "polySimp_addComm1" (formula "45") (term "0,0,0,1,0")) (rule "applyEq" (formula "34") (term "2,1,1,0") (ifseqformula "25")) (rule "applyEq" (formula "41") (term "0") (ifseqformula "11")) - (rule "applyEq" (formula "32") (term "0,1,1,0") (ifseqformula "27")) + (rule "applyEq" (formula "32") (term "0,0,1,1,0") (ifseqformula "27")) (rule "applyEq" (formula "26") (term "1") (ifseqformula "28")) - (rule "applyEq" (formula "32") (term "0,1,0,1,0") (ifseqformula "28")) + (rule "applyEq" (formula "32") (term "0,0,1,0,1,0") (ifseqformula "28")) (rule "applyEq" (formula "44") (term "0,1,0,0,0,1,0") (ifseqformula "11")) (rule "applyEq" (formula "44") (term "1,1,0,1,0") (ifseqformula "11")) (rule "applyEq" (formula "29") (term "0,1,0,0,1,0,0") (ifseqformula "25")) @@ -3128,8 +3095,8 @@ (rule "eqSymm" (formula "29") (term "0,1,0")) (rule "eqSymm" (formula "20") (term "0,1,0,0")) (rule "eqSymm" (formula "24")) - (rule "eqSymm" (formula "32") (term "0,0,1,0,1,0")) - (rule "eqSymm" (formula "32") (term "0,0,1,1,0")) + (rule "eqSymm" (formula "32") (term "0,0,0,1,0,1,0")) + (rule "eqSymm" (formula "32") (term "0,0,0,1,1,0")) (rule "eqSymm" (formula "34")) (rule "eqSymm" (formula "38")) (rule "eqSymm" (formula "26") (term "0,1")) @@ -3255,10 +3222,10 @@ (rule "polySimp_addComm1" (formula "8") (term "0")) (rule "polySimp_addAssoc" (formula "15") (term "0,0,1,0,0")) (rule "add_literals" (formula "15") (term "0,0,0,1,0,0")) - (rule "applyEq" (formula "33") (term "0,1,1,0") (ifseqformula "28")) + (rule "applyEq" (formula "33") (term "0,0,1,1,0") (ifseqformula "28")) (rule "applyEq" (formula "47") (term "0,1,0") (ifseqformula "25")) (rule "applyEq" (formula "35") (term "2,1,1,0") (ifseqformula "26")) - (rule "applyEq" (formula "33") (term "0,1,0,1,0") (ifseqformula "29")) + (rule "applyEq" (formula "33") (term "0,0,1,0,1,0") (ifseqformula "29")) (rule "applyEq" (formula "27") (term "1") (ifseqformula "29")) (rule "applyEq" (formula "43") (term "0") (ifseqformula "12")) (rule "applyEq" (formula "30") (term "0,1,0,0,1,0,0") (ifseqformula "26")) @@ -3369,10 +3336,10 @@ (rule "eqSymm" (formula "38") (term "0,0")) (rule "eqSymm" (formula "28") (term "0,0")) (rule "eqSymm" (formula "29") (term "0,1,0")) - (rule "eqSymm" (formula "32") (term "0,0,1,1,0")) + (rule "eqSymm" (formula "32") (term "0,0,0,1,1,0")) (rule "eqSymm" (formula "34")) (rule "eqSymm" (formula "27") (term "0,0")) - (rule "eqSymm" (formula "32") (term "0,0,1,0,1,0")) + (rule "eqSymm" (formula "32") (term "0,0,0,1,0,1,0")) (rule "eqSymm" (formula "36")) (rule "eqSymm" (formula "26") (term "0,1")) (rule "polySimp_elimSub" (formula "25") (term "1")) @@ -3488,9 +3455,9 @@ (rule "applyEq" (formula "34") (term "2,1,1,0") (ifseqformula "25")) (rule "applyEq" (formula "26") (term "1") (ifseqformula "28")) (rule "applyEq" (formula "45") (term "0,0") (ifseqformula "24")) - (rule "applyEq" (formula "32") (term "0,1,0,1,0") (ifseqformula "28")) + (rule "applyEq" (formula "32") (term "0,0,1,0,1,0") (ifseqformula "28")) (rule "applyEq" (formula "41") (term "0") (ifseqformula "11")) - (rule "applyEq" (formula "32") (term "0,1,1,0") (ifseqformula "27")) + (rule "applyEq" (formula "32") (term "0,0,1,1,0") (ifseqformula "27")) (rule "applyEq" (formula "35") (term "1,1") (ifseqformula "25")) (rule "polySimp_addAssoc" (formula "35") (term "1")) (rule "add_literals" (formula "35") (term "0,1")) @@ -3589,7 +3556,7 @@ (rule "times_zero_2" (formula "43") (term "1,1,0,0")) (rule "add_zero_right" (formula "43") (term "1,0,0")) (builtin "One Step Simplification" (formula "43")) - (rule "allRight" (formula "43") (inst "sk=iv_0")) + (rule "allRight" (formula "43") (inst "sk=iv_0:int")) (rule "impRight" (formula "43")) (rule "andLeft" (formula "1")) (rule "inEqSimp_ltToLeq" (formula "2") (term "0,1")) @@ -3861,99 +3828,72 @@ (rule "replace_known_left" (formula "45") (term "0,0") (ifseqformula "2")) (builtin "One Step Simplification" (formula "45")) (rule "eqSymm" (formula "45")) - (rule "getOfSeqConcatEQ" (formula "34") (term "0,1,0,1,0") (ifseqformula "26")) - (rule "polySimp_elimSub" (formula "34") (term "1,2,0,1,0,1,0")) - (rule "lenOfSeqSub" (formula "34") (term "1,0,0,1,0,1,0")) - (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,1,0,1,0")) - (rule "times_zero_2" (formula "34") (term "1,1,1,0,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "1,1,0,0,1,0,1,0")) - (rule "lenOfSeqSub" (formula "34") (term "0,1,1,2,0,1,0,1,0")) - (rule "polySimp_elimSub" (formula "34") (term "1,0,1,1,2,0,1,0,1,0")) - (rule "mul_literals" (formula "34") (term "1,1,0,1,1,2,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "1,0,1,1,2,0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,1,0,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,1,0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,1,0,0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,1,2,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,0,1,1,2,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,1,1,2,0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,0,1,0,1,0")) - (rule "polySimp_addComm1" (formula "34") (term "0,0,0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "34") (term "0,0,0,0,1,0,1,0")) - (rule "add_literals" (formula "34") (term "0,0,0,0,0,1,0,1,0")) - (rule "add_zero_left" (formula "34") (term "0,0,0,0,1,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,1,2,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,1,2,0,1,0,1,0")) - (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,1,2,0,1,0,1,0")) - (rule "replace_known_left" (formula "34") (term "0,0,1,1,2,0,1,0,1,0") (ifseqformula "8")) + (rule "getOfSeqConcatEQ" (formula "34") (term "0,0,1,0,1,0") (ifseqformula "26")) + (rule "polySimp_elimSub" (formula "34") (term "1,2,0,0,1,0,1,0")) + (rule "lenOfSeqSub" (formula "34") (term "1,0,0,0,1,0,1,0")) + (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,0,1,0,1,0")) + (rule "times_zero_2" (formula "34") (term "1,1,1,0,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "1,1,0,0,0,1,0,1,0")) + (rule "lenOfSeqSub" (formula "34") (term "0,1,1,2,0,0,1,0,1,0")) + (rule "polySimp_elimSub" (formula "34") (term "1,0,1,1,2,0,0,1,0,1,0")) + (rule "mul_literals" (formula "34") (term "1,1,0,1,1,2,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "1,0,1,1,2,0,0,1,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,0,0,1,0,1,0")) + (rule "polySimp_addComm1" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "34") (term "0,0,0,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "0,0,0,0,0,0,1,0,1,0")) + (rule "add_zero_left" (formula "34") (term "0,0,0,0,0,1,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,1,2,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "0,0,0,1,1,2,0,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,1,1,2,0,0,1,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,0,0,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "0,0,0,1,0,0,0,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,1,0,0,0,0,1,0,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,1,2,0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,1,2,0,0,1,0,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,1,2,0,0,1,0,1,0")) + (rule "replace_known_left" (formula "34") (term "0,0,1,1,2,0,0,1,0,1,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "34")) - (rule "polySimp_pullOutFactor1b" (formula "34") (term "1,2,0,1,0,1,0")) - (rule "add_literals" (formula "34") (term "1,1,1,2,0,1,0,1,0")) - (rule "times_zero_1" (formula "34") (term "1,1,2,0,1,0,1,0")) - (rule "add_literals" (formula "34") (term "1,2,0,1,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,0,0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,0,0,0,1,0,1,0")) - (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,0,0,0,1,0,1,0")) - (rule "replace_known_left" (formula "34") (term "0,0,1,0,0,0,1,0,1,0") (ifseqformula "8")) + (rule "polySimp_pullOutFactor1b" (formula "34") (term "1,2,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "1,1,1,2,0,0,1,0,1,0")) + (rule "times_zero_1" (formula "34") (term "1,1,2,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "1,2,0,0,1,0,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,0,0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,0,0,0,1,0,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,0,0,0,1,0,1,0")) + (rule "replace_known_left" (formula "34") (term "0,0,0,0,0,1,0,1,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "34")) - (rule "polySimp_pullOutFactor1" (formula "34") (term "0,0,0,1,0,1,0")) - (rule "add_literals" (formula "34") (term "1,0,0,0,1,0,1,0")) - (rule "times_zero_1" (formula "34") (term "0,0,0,1,0,1,0")) - (rule "leq_literals" (formula "34") (term "0,0,1,0,1,0")) + (rule "inEqSimp_homoInEq1" (formula "34") (term "0,0,0,1,0,1,0")) + (rule "polySimp_pullOutFactor1" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "1,0,0,0,0,1,0,1,0")) + (rule "times_zero_1" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "leq_literals" (formula "34") (term "0,0,0,1,0,1,0")) (builtin "One Step Simplification" (formula "34")) - (rule "getOfSeqSub" (formula "28") (term "1")) - (rule "add_zero_right" (formula "28") (term "1,1,1")) - (rule "polySimp_elimSub" (formula "28") (term "1,1,0,1")) - (rule "times_zero_2" (formula "28") (term "1,1,1,0,1")) - (rule "add_zero_right" (formula "28") (term "1,1,0,1")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "1,0,1")) - (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,1,0,1")) - (rule "polySimp_addAssoc" (formula "28") (term "0,1,0,1")) - (rule "polySimp_addComm1" (formula "28") (term "0,0,1,0,1")) - (rule "add_literals" (formula "28") (term "0,0,0,1,0,1")) - (rule "add_zero_left" (formula "28") (term "0,0,1,0,1")) - (rule "polySimp_pullOutFactor2" (formula "28") (term "0,1,0,1")) - (rule "add_literals" (formula "28") (term "1,0,1,0,1")) - (rule "times_zero_1" (formula "28") (term "0,1,0,1")) - (rule "leq_literals" (formula "28") (term "1,0,1")) - (builtin "One Step Simplification" (formula "28")) - (rule "inEqSimp_homoInEq0" (formula "28") (term "0,1")) - (rule "times_zero_2" (formula "28") (term "1,0,0,1")) - (rule "add_zero_right" (formula "28") (term "0,0,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "28") (term "0,1")) - (rule "mul_literals" (formula "28") (term "1,0,1")) - (rule "replace_known_left" (formula "28") (term "0,1") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "28")) - (rule "getOfSeqSub" (formula "30") (term "1")) - (rule "add_zero_right" (formula "30") (term "1,1,1")) - (rule "eqSymm" (formula "30")) - (rule "polySimp_elimSub" (formula "30") (term "1,1,0,0")) - (rule "times_zero_2" (formula "30") (term "1,1,1,0,0")) - (rule "add_zero_right" (formula "30") (term "1,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "30") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "30") (term "1,0,0,1,0,0")) - (rule "polySimp_addAssoc" (formula "30") (term "0,1,0,0")) - (rule "polySimp_addComm1" (formula "30") (term "0,0,1,0,0")) - (rule "add_literals" (formula "30") (term "0,0,0,1,0,0")) - (rule "add_zero_left" (formula "30") (term "0,0,1,0,0")) - (rule "polySimp_pullOutFactor2" (formula "30") (term "0,1,0,0")) - (rule "add_literals" (formula "30") (term "1,0,1,0,0")) - (rule "times_zero_1" (formula "30") (term "0,1,0,0")) - (rule "leq_literals" (formula "30") (term "1,0,0")) - (builtin "One Step Simplification" (formula "30")) - (rule "inEqSimp_homoInEq0" (formula "30") (term "0,0")) - (rule "times_zero_2" (formula "30") (term "1,0,0,0")) - (rule "add_zero_right" (formula "30") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "30") (term "0,0")) - (rule "mul_literals" (formula "30") (term "1,0,0")) - (rule "replace_known_left" (formula "30") (term "0,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "30")) - (rule "eqSymm" (formula "30")) + (rule "getOfSeqSub" (formula "45") (term "0")) + (rule "castDel" (formula "45") (term "2,0")) + (rule "add_zero_right" (formula "45") (term "1,1,0")) + (rule "polySimp_elimSub" (formula "45") (term "1,1,0,0")) + (rule "mul_literals" (formula "45") (term "1,1,1,0,0")) + (rule "add_zero_right" (formula "45") (term "1,1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "45") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "45") (term "1,0,0,1,0,0")) + (rule "polySimp_addComm1" (formula "45") (term "0,1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "45") (term "0,0,0")) + (rule "replace_known_left" (formula "45") (term "0,0,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "45")) + (rule "inEqSimp_sepNegMonomial0" (formula "45") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "45") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "45") (term "0,0,0")) + (rule "replace_known_left" (formula "45") (term "0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "45")) (rule "getOfSeqSub" (formula "31") (term "1,0,0,1,0")) (rule "add_zero_right" (formula "31") (term "1,1,1,0,0,1,0")) (rule "polySimp_elimSub" (formula "31") (term "1,1,0,1,0,0,1,0")) - (rule "times_zero_2" (formula "31") (term "1,1,1,0,1,0,0,1,0")) + (rule "mul_literals" (formula "31") (term "1,1,1,0,1,0,0,1,0")) (rule "add_zero_right" (formula "31") (term "1,1,0,1,0,0,1,0")) (rule "inEqSimp_ltToLeq" (formula "31") (term "1,0,1,0,0,1,0")) (rule "polySimp_mulComm0" (formula "31") (term "1,0,0,1,0,1,0,0,1,0")) @@ -3980,8 +3920,8 @@ (rule "inEqSimp_ltToLeq" (formula "31") (term "1,0,2,0,0,1,0")) (rule "polySimp_rightDist" (formula "31") (term "1,0,0,1,0,2,0,0,1,0")) (rule "polySimp_rightDist" (formula "31") (term "0,1,0,0,1,0,2,0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "31") (term "1,0,1,0,0,1,0,2,0,0,1,0")) (rule "mul_literals" (formula "31") (term "0,0,1,0,0,1,0,2,0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "31") (term "1,0,1,0,0,1,0,2,0,0,1,0")) (rule "polySimp_elimOne" (formula "31") (term "1,0,1,0,0,1,0,2,0,0,1,0")) (rule "polySimp_addAssoc" (formula "31") (term "0,0,1,0,2,0,0,1,0")) (rule "polySimp_addAssoc" (formula "31") (term "0,0,0,1,0,2,0,0,1,0")) @@ -3993,7 +3933,7 @@ (rule "times_zero_1" (formula "31") (term "1,0,0,0,1,0,2,0,0,1,0")) (rule "add_literals" (formula "31") (term "0,0,0,1,0,2,0,0,1,0")) (rule "inEqSimp_homoInEq0" (formula "31") (term "0,0,2,0,0,1,0")) - (rule "times_zero_2" (formula "31") (term "1,0,0,0,2,0,0,1,0")) + (rule "mul_literals" (formula "31") (term "1,0,0,0,2,0,0,1,0")) (rule "add_zero_right" (formula "31") (term "0,0,0,2,0,0,1,0")) (rule "inEqSimp_sepPosMonomial0" (formula "31") (term "1,0,2,0,0,1,0")) (rule "polySimp_mulComm0" (formula "31") (term "1,1,0,2,0,0,1,0")) @@ -4004,10 +3944,33 @@ (rule "inEqSimp_sepPosMonomial1" (formula "31") (term "0,0,2,0,0,1,0")) (rule "polySimp_mulLiterals" (formula "31") (term "1,0,0,2,0,0,1,0")) (rule "polySimp_elimOne" (formula "31") (term "1,0,0,2,0,0,1,0")) + (rule "getOfSeqSub" (formula "28") (term "1")) + (rule "add_zero_right" (formula "28") (term "1,1,1")) + (rule "polySimp_elimSub" (formula "28") (term "1,1,0,1")) + (rule "mul_literals" (formula "28") (term "1,1,1,0,1")) + (rule "add_zero_right" (formula "28") (term "1,1,0,1")) + (rule "inEqSimp_ltToLeq" (formula "28") (term "1,0,1")) + (rule "polySimp_mulComm0" (formula "28") (term "1,0,0,1,0,1")) + (rule "polySimp_addAssoc" (formula "28") (term "0,1,0,1")) + (rule "polySimp_addComm1" (formula "28") (term "0,0,1,0,1")) + (rule "add_literals" (formula "28") (term "0,0,0,1,0,1")) + (rule "add_zero_left" (formula "28") (term "0,0,1,0,1")) + (rule "polySimp_pullOutFactor2" (formula "28") (term "0,1,0,1")) + (rule "add_literals" (formula "28") (term "1,0,1,0,1")) + (rule "times_zero_1" (formula "28") (term "0,1,0,1")) + (rule "leq_literals" (formula "28") (term "1,0,1")) + (builtin "One Step Simplification" (formula "28")) + (rule "inEqSimp_homoInEq0" (formula "28") (term "0,1")) + (rule "mul_literals" (formula "28") (term "1,0,0,1")) + (rule "add_zero_right" (formula "28") (term "0,0,1")) + (rule "inEqSimp_sepPosMonomial1" (formula "28") (term "0,1")) + (rule "mul_literals" (formula "28") (term "1,0,1")) + (rule "replace_known_left" (formula "28") (term "0,1") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "28")) (rule "getOfSeqSub" (formula "29") (term "1")) - (rule "add_zero_left" (formula "29") (term "1,1,1")) (rule "leq_literals" (formula "29") (term "0,0,1")) (builtin "One Step Simplification" (formula "29")) + (rule "add_zero_left" (formula "29") (term "1,1,1")) (rule "eqSymm" (formula "29")) (rule "polySimp_elimSub" (formula "29") (term "1,0,0")) (rule "polySimp_mulComm0" (formula "29") (term "1,1,0,0")) @@ -4018,8 +3981,8 @@ (rule "add_zero_right" (formula "29") (term "0,0,0")) (rule "polySimp_rightDist" (formula "29") (term "1,0,0,0")) (rule "polySimp_rightDist" (formula "29") (term "0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "29") (term "1,0,1,0,0,0")) (rule "mul_literals" (formula "29") (term "0,0,1,0,0,0")) + (rule "polySimp_mulLiterals" (formula "29") (term "1,0,1,0,0,0")) (rule "polySimp_elimOne" (formula "29") (term "1,0,1,0,0,0")) (rule "polySimp_addAssoc" (formula "29") (term "0,0,0")) (rule "polySimp_addAssoc" (formula "29") (term "0,0,0,0")) @@ -4030,28 +3993,36 @@ (rule "replace_known_left" (formula "29") (term "0,0") (ifseqformula "9")) (builtin "One Step Simplification" (formula "29")) (rule "eqSymm" (formula "29")) - (rule "getOfSeqSub" (formula "45") (term "0")) - (rule "castDel" (formula "45") (term "2,0")) - (rule "add_zero_right" (formula "45") (term "1,1,0")) - (rule "polySimp_elimSub" (formula "45") (term "1,1,0,0")) - (rule "times_zero_2" (formula "45") (term "1,1,1,0,0")) - (rule "add_zero_right" (formula "45") (term "1,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "45") (term "1,0,0")) - (rule "polySimp_mulComm0" (formula "45") (term "1,0,0,1,0,0")) - (rule "polySimp_addComm1" (formula "45") (term "0,1,0,0")) - (rule "inEqSimp_commuteLeq" (formula "45") (term "0,0,0")) - (rule "replace_known_left" (formula "45") (term "0,0,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "45")) - (rule "inEqSimp_sepNegMonomial0" (formula "45") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "45") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "45") (term "0,0,0")) - (rule "replace_known_left" (formula "45") (term "0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "45")) + (rule "getOfSeqSub" (formula "30") (term "1")) + (rule "add_zero_right" (formula "30") (term "1,1,1")) + (rule "eqSymm" (formula "30")) + (rule "polySimp_elimSub" (formula "30") (term "1,1,0,0")) + (rule "mul_literals" (formula "30") (term "1,1,1,0,0")) + (rule "add_zero_right" (formula "30") (term "1,1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "30") (term "1,0,0")) + (rule "polySimp_mulComm0" (formula "30") (term "1,0,0,1,0,0")) + (rule "polySimp_addAssoc" (formula "30") (term "0,1,0,0")) + (rule "polySimp_addComm1" (formula "30") (term "0,0,1,0,0")) + (rule "add_literals" (formula "30") (term "0,0,0,1,0,0")) + (rule "add_zero_left" (formula "30") (term "0,0,1,0,0")) + (rule "polySimp_pullOutFactor2" (formula "30") (term "0,1,0,0")) + (rule "add_literals" (formula "30") (term "1,0,1,0,0")) + (rule "times_zero_1" (formula "30") (term "0,1,0,0")) + (rule "leq_literals" (formula "30") (term "1,0,0")) + (builtin "One Step Simplification" (formula "30")) + (rule "inEqSimp_homoInEq0" (formula "30") (term "0,0")) + (rule "mul_literals" (formula "30") (term "1,0,0,0")) + (rule "add_zero_right" (formula "30") (term "0,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "30") (term "0,0")) + (rule "mul_literals" (formula "30") (term "1,0,0")) + (rule "replace_known_left" (formula "30") (term "0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "30")) + (rule "eqSymm" (formula "30")) (rule "getOfSeqConcatEQ" (formula "38") (term "0") (ifseqformula "36")) (rule "polySimp_elimSub" (formula "38") (term "1,2,0")) (rule "lenOfSeqSub" (formula "38") (term "1,0,0")) (rule "polySimp_elimSub" (formula "38") (term "1,1,0,0")) - (rule "times_zero_2" (formula "38") (term "1,1,1,0,0")) + (rule "mul_literals" (formula "38") (term "1,1,1,0,0")) (rule "add_zero_right" (formula "38") (term "1,1,0,0")) (rule "lenOfSeqSub" (formula "38") (term "0,1,1,2,0")) (rule "polySimp_elimSub" (formula "38") (term "1,0,1,1,2,0")) @@ -4074,86 +4045,90 @@ (rule "polySimp_pullOutFactor1" (formula "38") (term "1,2,0")) (rule "add_literals" (formula "38") (term "1,1,2,0")) (rule "times_zero_1" (formula "38") (term "1,2,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "38") (term "0,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "38") (term "0,0,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "38") (term "0,0,0,1,0,0,0")) - (rule "replace_known_left" (formula "38") (term "0,0,1,0,0,0") (ifseqformula "8")) + (rule "inEqSimp_sepNegMonomial0" (formula "38") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "38") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "38") (term "0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "38") (term "0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "38") (term "0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "38") (term "0,0,0,0,0")) + (rule "replace_known_left" (formula "38") (term "0,0,0,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "38")) + (rule "inEqSimp_homoInEq1" (formula "38") (term "0,0")) (rule "polySimp_pullOutFactor1b" (formula "38") (term "0,0,0")) (rule "add_literals" (formula "38") (term "1,1,0,0,0")) (rule "times_zero_1" (formula "38") (term "1,0,0,0")) (rule "add_literals" (formula "38") (term "0,0,0")) (rule "leq_literals" (formula "38") (term "0,0")) (builtin "One Step Simplification" (formula "38")) - (rule "getOfSeqSub" (formula "34") (term "0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "1,1,0,1,0,1,0")) - (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,1,0,1,0")) - (rule "times_zero_2" (formula "34") (term "1,1,1,0,0,1,0,1,0")) + (rule "getOfSeqSub" (formula "34") (term "0,0,1,0,1,0")) (rule "add_zero_right" (formula "34") (term "1,1,0,0,1,0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "1,0,0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,1,0,0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "34") (term "0,1,0,0,1,0,1,0")) - (rule "polySimp_addComm1" (formula "34") (term "0,0,1,0,0,1,0,1,0")) - (rule "add_literals" (formula "34") (term "0,0,0,1,0,0,1,0,1,0")) - (rule "add_zero_left" (formula "34") (term "0,0,1,0,0,1,0,1,0")) - (rule "polySimp_pullOutFactor2" (formula "34") (term "0,1,0,0,1,0,1,0")) - (rule "add_literals" (formula "34") (term "1,0,1,0,0,1,0,1,0")) - (rule "times_zero_1" (formula "34") (term "0,1,0,0,1,0,1,0")) - (rule "leq_literals" (formula "34") (term "1,0,0,1,0,1,0")) + (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,0,1,0,1,0")) + (rule "mul_literals" (formula "34") (term "1,1,1,0,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "1,1,0,0,0,1,0,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "1,0,0,0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,1,0,0,0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "34") (term "0,1,0,0,0,1,0,1,0")) + (rule "polySimp_addComm1" (formula "34") (term "0,0,1,0,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "0,0,0,1,0,0,0,1,0,1,0")) + (rule "add_zero_left" (formula "34") (term "0,0,1,0,0,0,1,0,1,0")) + (rule "polySimp_pullOutFactor2" (formula "34") (term "0,1,0,0,0,1,0,1,0")) + (rule "add_literals" (formula "34") (term "1,0,1,0,0,0,1,0,1,0")) + (rule "times_zero_1" (formula "34") (term "0,1,0,0,0,1,0,1,0")) + (rule "leq_literals" (formula "34") (term "1,0,0,0,1,0,1,0")) (builtin "One Step Simplification" (formula "34")) - (rule "inEqSimp_homoInEq0" (formula "34") (term "0,0,1,0,1,0")) - (rule "times_zero_2" (formula "34") (term "1,0,0,0,1,0,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,0,1,0,1,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "34") (term "0,0,1,0,1,0")) - (rule "mul_literals" (formula "34") (term "1,0,0,1,0,1,0")) - (rule "replace_known_left" (formula "34") (term "0,0,1,0,1,0") (ifseqformula "8")) + (rule "inEqSimp_homoInEq0" (formula "34") (term "0,0,0,1,0,1,0")) + (rule "mul_literals" (formula "34") (term "1,0,0,0,0,1,0,1,0")) + (rule "add_zero_right" (formula "34") (term "0,0,0,0,1,0,1,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "34") (term "0,0,0,1,0,1,0")) + (rule "mul_literals" (formula "34") (term "1,0,0,0,1,0,1,0")) + (rule "replace_known_left" (formula "34") (term "0,0,0,1,0,1,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "34")) (rule "subSeqConcatEQ" (formula "36") (term "1,1,0") (ifseqformula "26")) (rule "polySimp_elimSub" (formula "36") (term "2,1,1,1,1,0")) (rule "polySimp_elimSub" (formula "36") (term "2,1,1,1,0")) - (rule "lenOfSeqSub" (formula "36") (term "1,0,1,1,1,1,0")) - (rule "polySimp_elimSub" (formula "36") (term "1,1,0,1,1,1,1,0")) - (rule "times_zero_2" (formula "36") (term "1,1,1,0,1,1,1,1,0")) - (rule "add_zero_right" (formula "36") (term "1,1,0,1,1,1,1,0")) (rule "lenOfSeqSub" (formula "36") (term "0,0,2,0,1,1,0")) (rule "polySimp_elimSub" (formula "36") (term "1,0,0,2,0,1,1,0")) - (rule "times_zero_2" (formula "36") (term "1,1,0,0,2,0,1,1,0")) + (rule "mul_literals" (formula "36") (term "1,1,0,0,2,0,1,1,0")) (rule "add_zero_right" (formula "36") (term "1,0,0,2,0,1,1,0")) (rule "lenOfSeqSub" (formula "36") (term "1,2,0,1,1,0")) (rule "polySimp_elimSub" (formula "36") (term "1,1,2,0,1,1,0")) - (rule "times_zero_2" (formula "36") (term "1,1,1,2,0,1,1,0")) + (rule "mul_literals" (formula "36") (term "1,1,1,2,0,1,1,0")) (rule "add_zero_right" (formula "36") (term "1,1,2,0,1,1,0")) + (rule "lenOfSeqSub" (formula "36") (term "1,0,1,1,1,1,0")) + (rule "polySimp_elimSub" (formula "36") (term "1,1,0,1,1,1,1,0")) + (rule "mul_literals" (formula "36") (term "1,1,1,0,1,1,1,1,0")) + (rule "add_zero_right" (formula "36") (term "1,1,0,1,1,1,1,0")) (rule "lenOfSeqSub" (formula "36") (term "0,1,2,1,1,1,1,0")) (rule "polySimp_elimSub" (formula "36") (term "1,0,1,2,1,1,1,1,0")) (rule "mul_literals" (formula "36") (term "1,1,0,1,2,1,1,1,1,0")) (rule "add_zero_right" (formula "36") (term "1,0,1,2,1,1,1,1,0")) (rule "lenOfSeqSub" (formula "36") (term "0,1,2,1,1,1,0")) (rule "polySimp_elimSub" (formula "36") (term "1,0,1,2,1,1,1,0")) - (rule "times_zero_2" (formula "36") (term "1,1,0,1,2,1,1,1,0")) + (rule "mul_literals" (formula "36") (term "1,1,0,1,2,1,1,1,0")) (rule "add_zero_right" (formula "36") (term "1,0,1,2,1,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,0,1,1,1,1,0")) - (rule "add_zero_right" (formula "36") (term "0,0,1,0,1,1,1,1,0")) - (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,1,0,1,1,1,1,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,0,0,2,0,1,1,0")) (rule "add_zero_right" (formula "36") (term "0,0,0,0,2,0,1,1,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,0,2,0,1,1,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,2,0,1,1,0")) (rule "add_zero_right" (formula "36") (term "0,0,1,2,0,1,1,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,1,2,0,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,0,1,1,1,1,0")) + (rule "add_zero_right" (formula "36") (term "0,0,1,0,1,1,1,1,0")) + (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,1,0,1,1,1,1,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,0,1,2,1,1,1,1,0")) (rule "add_zero_right" (formula "36") (term "0,0,0,1,2,1,1,1,1,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,1,2,1,1,1,1,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,0,1,2,1,1,1,0")) (rule "add_zero_right" (formula "36") (term "0,0,0,1,2,1,1,1,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,1,2,1,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,1,1,1,0")) - (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,1,1,1,1,0")) - (rule "polySimp_addComm1" (formula "36") (term "0,0,1,1,1,1,0")) (rule "inEqSimp_ltToLeq" (formula "36") (term "0,2,0,1,1,0")) (rule "polySimp_rightDist" (formula "36") (term "1,0,0,0,2,0,1,1,0")) (rule "mul_literals" (formula "36") (term "0,1,0,0,0,2,0,1,1,0")) (rule "polySimp_addAssoc" (formula "36") (term "0,0,0,2,0,1,1,0")) (rule "add_literals" (formula "36") (term "0,0,0,0,2,0,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "36") (term "0,1,1,1,1,0")) + (rule "polySimp_mulComm0" (formula "36") (term "1,0,0,0,1,1,1,1,0")) + (rule "polySimp_addComm1" (formula "36") (term "0,0,1,1,1,1,0")) (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,1,2,0,1,1,0")) (rule "polySimp_mulLiterals" (formula "36") (term "0,0,1,2,0,1,1,0")) (rule "polySimp_elimOne" (formula "36") (term "0,0,1,2,0,1,1,0")) @@ -4162,15 +4137,12 @@ (rule "inEqSimp_sepPosMonomial0" (formula "36") (term "0,2,0,1,1,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,2,0,1,1,0")) (rule "polySimp_rightDist" (formula "36") (term "1,0,2,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "36") (term "1,1,0,2,0,1,1,0")) (rule "mul_literals" (formula "36") (term "0,1,0,2,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "36") (term "1,1,0,2,0,1,1,0")) (rule "polySimp_elimOne" (formula "36") (term "1,1,0,2,0,1,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,1,2,1,1,1,0")) - (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,1,2,1,1,1,0")) - (rule "polySimp_elimOne" (formula "36") (term "0,0,0,1,2,1,1,1,0")) - (rule "replace_known_left" (formula "36") (term "0,0,1,2,1,1,1,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "36")) - (rule "polySimp_addComm1" (formula "36") (term "2,1,1,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,1,1,1,1,0")) + (rule "polySimp_mulLiterals" (formula "36") (term "0,0,1,1,1,1,0")) + (rule "polySimp_elimOne" (formula "36") (term "0,0,1,1,1,1,0")) (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,1,2,1,1,1,1,0")) (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,1,2,1,1,1,1,0")) (rule "polySimp_elimOne" (formula "36") (term "0,0,0,1,2,1,1,1,1,0")) @@ -4187,11 +4159,17 @@ (builtin "One Step Simplification" (formula "36")) (rule "inEqSimp_homoInEq0" (formula "36") (term "0,2,0,1,1,0")) (rule "polySimp_addComm1" (formula "36") (term "0,0,2,0,1,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "36") (term "0,0,1,2,1,1,1,0")) + (rule "polySimp_mulLiterals" (formula "36") (term "0,0,0,1,2,1,1,1,0")) + (rule "polySimp_elimOne" (formula "36") (term "0,0,0,1,2,1,1,1,0")) + (rule "replace_known_left" (formula "36") (term "0,0,1,2,1,1,1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "36")) + (rule "polySimp_addComm1" (formula "36") (term "2,1,1,1,0")) (rule "inEqSimp_sepPosMonomial1" (formula "36") (term "0,2,0,1,1,0")) (rule "polySimp_mulComm0" (formula "36") (term "1,0,2,0,1,1,0")) (rule "polySimp_rightDist" (formula "36") (term "1,0,2,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "36") (term "1,1,0,2,0,1,1,0")) (rule "mul_literals" (formula "36") (term "0,1,0,2,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "36") (term "1,1,0,2,0,1,1,0")) (rule "polySimp_elimOne" (formula "36") (term "1,1,0,2,0,1,1,0")) (rule "replace_known_left" (formula "36") (term "0,2,0,1,1,0") (ifseqformula "9")) (builtin "One Step Simplification" (formula "36")) @@ -4199,19 +4177,50 @@ (builtin "One Step Simplification" (formula "38")) (rule "castDel" (formula "38") (term "1,0")) (builtin "One Step Simplification" (formula "38")) - (rule "sub_literals" (formula "38") (term "1,0,1")) (rule "less_literals" (formula "38") (term "0")) (builtin "One Step Simplification" (formula "38")) (rule "true_left" (formula "38")) + (rule "getOfSeqConcatEQ" (formula "44") (term "0") (ifseqformula "26")) + (rule "polySimp_elimSub" (formula "44") (term "1,2,0")) + (rule "lenOfSeqSub" (formula "44") (term "1,0,0")) + (rule "polySimp_elimSub" (formula "44") (term "1,1,0,0")) + (rule "mul_literals" (formula "44") (term "1,1,1,0,0")) + (rule "add_zero_right" (formula "44") (term "1,1,0,0")) + (rule "lenOfSeqSub" (formula "44") (term "0,1,1,2,0")) + (rule "polySimp_elimSub" (formula "44") (term "1,0,1,1,2,0")) + (rule "mul_literals" (formula "44") (term "1,1,0,1,1,2,0")) + (rule "add_zero_right" (formula "44") (term "1,0,1,1,2,0")) + (rule "inEqSimp_ltToLeq" (formula "44") (term "0,1,0,0")) + (rule "add_zero_right" (formula "44") (term "0,0,1,0,0")) + (rule "polySimp_mulComm0" (formula "44") (term "1,0,0,1,0,0")) + (rule "inEqSimp_ltToLeq" (formula "44") (term "0,0,1,1,2,0")) + (rule "add_zero_right" (formula "44") (term "0,0,0,1,1,2,0")) + (rule "polySimp_mulComm0" (formula "44") (term "1,0,0,0,1,1,2,0")) + (rule "inEqSimp_ltToLeq" (formula "44") (term "0,0")) + (rule "polySimp_mulComm0" (formula "44") (term "1,0,0,0,0")) + (rule "polySimp_addComm1" (formula "44") (term "0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "44") (term "0,0,1,1,2,0")) + (rule "polySimp_mulLiterals" (formula "44") (term "0,0,0,1,1,2,0")) + (rule "polySimp_elimOne" (formula "44") (term "0,0,0,1,1,2,0")) + (rule "replace_known_left" (formula "44") (term "0,0,1,1,2,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "44")) + (rule "inEqSimp_sepNegMonomial0" (formula "44") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "44") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "44") (term "0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "44") (term "0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "44") (term "0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "44") (term "0,0,0,0,0")) + (rule "replace_known_left" (formula "44") (term "0,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "44") (ifInst "" (formula "2"))) (rule "getOfSeqConcatEQ" (formula "28") (term "0,0,0,0") (ifseqformula "26")) (rule "polySimp_elimSub" (formula "28") (term "1,2,0,0,0,0")) (rule "lenOfSeqSub" (formula "28") (term "1,0,0,0,0,0")) (rule "polySimp_elimSub" (formula "28") (term "1,1,0,0,0,0,0")) - (rule "times_zero_2" (formula "28") (term "1,1,1,0,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "1,1,1,0,0,0,0,0")) (rule "add_zero_right" (formula "28") (term "1,1,0,0,0,0,0")) (rule "lenOfSeqSub" (formula "28") (term "0,1,1,2,0,0,0,0")) (rule "polySimp_elimSub" (formula "28") (term "1,0,1,1,2,0,0,0,0")) - (rule "times_zero_2" (formula "28") (term "1,1,0,1,1,2,0,0,0,0")) + (rule "mul_literals" (formula "28") (term "1,1,0,1,1,2,0,0,0,0")) (rule "add_zero_right" (formula "28") (term "1,0,1,1,2,0,0,0,0")) (rule "inEqSimp_ltToLeq" (formula "28") (term "0,1,0,0,0,0,0")) (rule "add_zero_right" (formula "28") (term "0,0,1,0,0,0,0,0")) @@ -4230,113 +4239,63 @@ (rule "polySimp_pullOutFactor1" (formula "28") (term "1,2,0,0,0,0")) (rule "add_literals" (formula "28") (term "1,1,2,0,0,0,0")) (rule "times_zero_1" (formula "28") (term "1,2,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,1,0,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,1,0,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "0,0,0,1,0,0,0,0,0,0")) - (rule "replace_known_left" (formula "28") (term "0,0,1,0,0,0,0,0,0") (ifseqformula "8")) + (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "28") (term "0,0,0,0,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,0,0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,0,0,0,0,0")) + (rule "polySimp_elimOne" (formula "28") (term "0,0,0,0,0,0,0,0")) + (rule "replace_known_left" (formula "28") (term "0,0,0,0,0,0,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "28")) + (rule "inEqSimp_homoInEq1" (formula "28") (term "0,0,0,0,0")) (rule "polySimp_pullOutFactor1b" (formula "28") (term "0,0,0,0,0,0")) (rule "add_literals" (formula "28") (term "1,1,0,0,0,0,0,0")) (rule "times_zero_1" (formula "28") (term "1,0,0,0,0,0,0")) - (rule "add_zero_right" (formula "28") (term "0,0,0,0,0,0")) + (rule "add_literals" (formula "28") (term "0,0,0,0,0,0")) (rule "leq_literals" (formula "28") (term "0,0,0,0,0")) (builtin "One Step Simplification" (formula "28")) - (rule "getOfSeqConcatEQ" (formula "44") (term "0") (ifseqformula "26")) - (rule "polySimp_elimSub" (formula "44") (term "1,2,0")) - (rule "lenOfSeqSub" (formula "44") (term "1,0,0")) - (rule "polySimp_elimSub" (formula "44") (term "1,1,0,0")) - (rule "mul_literals" (formula "44") (term "1,1,1,0,0")) - (rule "add_zero_right" (formula "44") (term "1,1,0,0")) - (rule "lenOfSeqSub" (formula "44") (term "0,1,1,2,0")) - (rule "polySimp_elimSub" (formula "44") (term "1,0,1,1,2,0")) - (rule "times_zero_2" (formula "44") (term "1,1,0,1,1,2,0")) - (rule "add_zero_right" (formula "44") (term "1,0,1,1,2,0")) - (rule "inEqSimp_ltToLeq" (formula "44") (term "0,1,0,0")) - (rule "add_zero_right" (formula "44") (term "0,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "44") (term "1,0,0,1,0,0")) - (rule "inEqSimp_ltToLeq" (formula "44") (term "0,0,1,1,2,0")) - (rule "add_zero_right" (formula "44") (term "0,0,0,1,1,2,0")) - (rule "polySimp_mulComm0" (formula "44") (term "1,0,0,0,1,1,2,0")) - (rule "inEqSimp_ltToLeq" (formula "44") (term "0,0")) - (rule "polySimp_mulComm0" (formula "44") (term "1,0,0,0,0")) - (rule "polySimp_addComm1" (formula "44") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "44") (term "0,0,1,1,2,0")) - (rule "polySimp_mulLiterals" (formula "44") (term "0,0,0,1,1,2,0")) - (rule "polySimp_elimOne" (formula "44") (term "0,0,0,1,1,2,0")) - (rule "replace_known_left" (formula "44") (term "0,0,1,1,2,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "44")) - (rule "inEqSimp_sepNegMonomial0" (formula "44") (term "0,0,1,0,0,0")) - (rule "polySimp_mulLiterals" (formula "44") (term "0,0,0,1,0,0,0")) - (rule "polySimp_elimOne" (formula "44") (term "0,0,0,1,0,0,0")) - (rule "replace_known_left" (formula "44") (term "0,0,1,0,0,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "44")) - (rule "inEqSimp_sepNegMonomial0" (formula "44") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "44") (term "0,0,0")) - (rule "polySimp_elimOne" (formula "44") (term "0,0,0")) - (rule "replace_known_left" (formula "44") (term "0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "44")) - (rule "getOfSeqConcatEQ" (formula "34") (term "0,1,1,0") (ifseqformula "26")) - (rule "polySimp_elimSub" (formula "34") (term "1,2,0,1,1,0")) - (rule "lenOfSeqSub" (formula "34") (term "1,0,0,1,1,0")) - (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,1,1,0")) - (rule "mul_literals" (formula "34") (term "1,1,1,0,0,1,1,0")) - (rule "add_zero_right" (formula "34") (term "1,1,0,0,1,1,0")) - (rule "lenOfSeqSub" (formula "34") (term "0,1,1,2,0,1,1,0")) - (rule "polySimp_elimSub" (formula "34") (term "1,0,1,1,2,0,1,1,0")) - (rule "times_zero_2" (formula "34") (term "1,1,0,1,1,2,0,1,1,0")) - (rule "add_zero_right" (formula "34") (term "1,0,1,1,2,0,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,1,0,0,1,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,1,0,0,1,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,1,0,0,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,1,2,0,1,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,0,1,1,2,0,1,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,1,1,2,0,1,1,0")) - (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,1,0")) - (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,0,1,1,0")) - (rule "polySimp_addComm1" (formula "34") (term "0,0,0,1,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,1,2,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,1,2,0,1,1,0")) - (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,1,2,0,1,1,0")) - (rule "replace_known_left" (formula "34") (term "0,0,1,1,2,0,1,1,0") (ifseqformula "8")) + (rule "getOfSeqConcatEQ" (formula "34") (term "0,0,1,1,0") (ifseqformula "26")) + (rule "polySimp_elimSub" (formula "34") (term "1,2,0,0,1,1,0")) + (rule "lenOfSeqSub" (formula "34") (term "1,0,0,0,1,1,0")) + (rule "polySimp_elimSub" (formula "34") (term "1,1,0,0,0,1,1,0")) + (rule "mul_literals" (formula "34") (term "1,1,1,0,0,0,1,1,0")) + (rule "add_zero_right" (formula "34") (term "1,1,0,0,0,1,1,0")) + (rule "lenOfSeqSub" (formula "34") (term "0,1,1,2,0,0,1,1,0")) + (rule "polySimp_elimSub" (formula "34") (term "1,0,1,1,2,0,0,1,1,0")) + (rule "mul_literals" (formula "34") (term "1,1,0,1,1,2,0,0,1,1,0")) + (rule "add_zero_right" (formula "34") (term "1,0,1,1,2,0,0,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,1,0,0,0,1,1,0")) + (rule "add_zero_right" (formula "34") (term "0,0,1,0,0,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,1,0,0,0,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,1,1,2,0,0,1,1,0")) + (rule "add_zero_right" (formula "34") (term "0,0,0,1,1,2,0,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,1,1,2,0,0,1,1,0")) + (rule "inEqSimp_ltToLeq" (formula "34") (term "0,0,0,1,1,0")) + (rule "polySimp_mulComm0" (formula "34") (term "1,0,0,0,0,0,1,1,0")) + (rule "polySimp_addComm1" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,1,2,0,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,1,2,0,0,1,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,1,2,0,0,1,1,0")) + (rule "replace_known_left" (formula "34") (term "0,0,1,1,2,0,0,1,1,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "34")) - (rule "polySimp_pullOutFactor1" (formula "34") (term "1,2,0,1,1,0")) - (rule "add_literals" (formula "34") (term "1,1,2,0,1,1,0")) - (rule "times_zero_1" (formula "34") (term "1,2,0,1,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,1,0,0,0,1,1,0")) - (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,1,0,0,0,1,1,0")) - (rule "polySimp_elimOne" (formula "34") (term "0,0,0,1,0,0,0,1,1,0")) - (rule "replace_known_left" (formula "34") (term "0,0,1,0,0,0,1,1,0") (ifseqformula "8")) + (rule "polySimp_pullOutFactor1" (formula "34") (term "1,2,0,0,1,1,0")) + (rule "add_literals" (formula "34") (term "1,1,2,0,0,1,1,0")) + (rule "times_zero_1" (formula "34") (term "1,2,0,0,1,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "34") (term "0,0,0,0,0,1,1,0")) + (rule "polySimp_mulLiterals" (formula "34") (term "0,0,0,0,0,0,1,1,0")) + (rule "polySimp_elimOne" (formula "34") (term "0,0,0,0,0,0,1,1,0")) + (rule "replace_known_left" (formula "34") (term "0,0,0,0,0,1,1,0") (ifseqformula "8")) (builtin "One Step Simplification" (formula "34")) - (rule "polySimp_pullOutFactor1b" (formula "34") (term "0,0,0,1,1,0")) - (rule "add_literals" (formula "34") (term "1,1,0,0,0,1,1,0")) - (rule "times_zero_1" (formula "34") (term "1,0,0,0,1,1,0")) - (rule "add_zero_right" (formula "34") (term "0,0,0,1,1,0")) - (rule "leq_literals" (formula "34") (term "0,0,1,1,0")) + (rule "inEqSimp_homoInEq1" (formula "34") (term "0,0,0,1,1,0")) + (rule "polySimp_pullOutFactor1b" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "add_literals" (formula "34") (term "1,1,0,0,0,0,1,1,0")) + (rule "times_zero_1" (formula "34") (term "1,0,0,0,0,1,1,0")) + (rule "add_literals" (formula "34") (term "0,0,0,0,1,1,0")) + (rule "leq_literals" (formula "34") (term "0,0,0,1,1,0")) (builtin "One Step Simplification" (formula "34")) - (rule "getOfSeqSub" (formula "28") (term "0,0,0,0")) - (rule "leq_literals" (formula "28") (term "0,0,0,0,0,0")) - (builtin "One Step Simplification" (formula "28")) - (rule "add_zero_left" (formula "28") (term "1,1,0,0,0,0")) - (rule "polySimp_elimSub" (formula "28") (term "1,0,0,0,0,0")) - (rule "polySimp_mulComm0" (formula "28") (term "1,1,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "28") (term "1,1,0,0,0,0,0")) - (rule "mul_literals" (formula "28") (term "0,1,1,0,0,0,0,0")) - (rule "polySimp_addComm0" (formula "28") (term "1,0,0,0,0,0")) - (rule "inEqSimp_ltToLeq" (formula "28") (term "0,0,0,0,0")) - (rule "add_zero_right" (formula "28") (term "0,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "28") (term "1,0,0,0,0,0,0")) - (rule "polySimp_rightDist" (formula "28") (term "0,1,0,0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "1,0,1,0,0,0,0,0,0")) - (rule "mul_literals" (formula "28") (term "0,0,1,0,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "1,0,1,0,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "28") (term "0,0,0,0,0,0")) - (rule "polySimp_addAssoc" (formula "28") (term "0,0,0,0,0,0,0")) - (rule "add_literals" (formula "28") (term "0,0,0,0,0,0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "28") (term "0,0,0,0,0")) - (rule "polySimp_mulLiterals" (formula "28") (term "0,0,0,0,0,0")) - (rule "polySimp_elimOne" (formula "28") (term "0,0,0,0,0,0")) - (rule "replace_known_left" (formula "28") (term "0,0,0,0,0") (ifseqformula "9")) - (builtin "One Step Simplification" (formula "28")) (rule "getOfSeqSub" (formula "44") (term "0")) (rule "castDel" (formula "44") (term "2,0")) (rule "add_zero_right" (formula "44") (term "1,1,0")) @@ -4344,7 +4303,7 @@ (rule "orRight" (formula "44")) (rule "eqSymm" (formula "45")) (rule "polySimp_elimSub" (formula "44") (term "1,1")) - (rule "times_zero_2" (formula "44") (term "1,1,1")) + (rule "mul_literals" (formula "44") (term "1,1,1")) (rule "add_zero_right" (formula "44") (term "1,1")) (rule "inEqSimp_ltToLeq" (formula "44") (term "1")) (rule "polySimp_mulComm0" (formula "44") (term "1,0,0,1")) @@ -4353,8 +4312,8 @@ (rule "replace_known_left" (formula "44") (term "0") (ifseqformula "1")) (builtin "One Step Simplification" (formula "44")) (rule "inEqSimp_leqRight" (formula "44")) - (rule "times_zero_1" (formula "1") (term "1,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0")) + (rule "mul_literals" (formula "1") (term "1,0,0")) + (rule "add_literals" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0")) (rule "polySimp_addAssoc" (formula "1") (term "0,0")) (rule "add_literals" (formula "1") (term "0,0,0")) @@ -4362,15 +4321,15 @@ (rule "inEqSimp_sepNegMonomial1" (formula "1")) (rule "polySimp_mulLiterals" (formula "1") (term "0")) (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "1")) - (rule "andLeft" (formula "3")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_pullOutFactor1b" (formula "3") (term "0")) - (rule "add_literals" (formula "3") (term "1,1,0")) - (rule "times_zero_1" (formula "3") (term "1,0")) - (rule "add_zero_right" (formula "3") (term "0")) - (rule "leq_literals" (formula "3")) - (rule "closeFalse" (formula "3")) + (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "3")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) ) ) (branch "Exceptional Post (unremove)" @@ -4601,15 +4560,15 @@ (rule "leq_literals" (formula "33") (term "0")) (builtin "One Step Simplification" (formula "33")) (rule "false_right" (formula "33")) - (rule "pullOutSelect" (formula "36") (term "1,1,0,0") (inst "selectSK=DoubleLinkedList_Node_l_0")) + (rule "pullOutSelect" (formula "36") (term "1,1,0,0") (inst "selectSK=DoubleLinkedList_Node_l_0:DoubleLinkedList.Node")) (rule "applyEq" (formula "37") (term "1,1,0,0,0,0") (ifseqformula "1")) (rule "simplifySelectOfAnonEQ" (formula "1") (ifseqformula "23")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "36")) (ifInst "" (formula "5"))) - (rule "pullOutSelect" (formula "37") (term "0,0,1,0") (inst "selectSK=DoubleLinkedList_Node_r_0")) + (rule "pullOutSelect" (formula "37") (term "0,0,1,0") (inst "selectSK=DoubleLinkedList_Node_r_0:DoubleLinkedList.Node")) (rule "applyEq" (formula "38") (term "1,1,0,0,0") (ifseqformula "1")) (rule "simplifySelectOfAnonEQ" (formula "1") (ifseqformula "24")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "37")) (ifInst "" (formula "6"))) - (rule "pullOutSelect" (formula "38") (term "0,0,0,1,0,1") (inst "selectSK=DoubleLinkedList_s_0")) + (rule "pullOutSelect" (formula "38") (term "0,0,0,1,0,1") (inst "selectSK=DoubleLinkedList_s_0:Seq")) (rule "applyEq" (formula "39") (term "0,0,1,0,0") (ifseqformula "1")) (rule "applyEq" (formula "39") (term "0,1,0,1,0,0,0,0") (ifseqformula "1")) (rule "applyEq" (formula "39") (term "0,0,1,0,0,0") (ifseqformula "1")) @@ -4839,7 +4798,7 @@ (rule "inEqSimp_sepPosMonomial1" (formula "32") (term "0,0,2,0,0,1,0")) (rule "polySimp_mulLiterals" (formula "32") (term "1,0,0,2,0,0,1,0")) (rule "polySimp_elimOne" (formula "32") (term "1,0,0,2,0,0,1,0")) - (rule "pullOutSelect" (formula "39") (term "1,1,1,0,0,1") (inst "selectSK=DoubleLinkedList_len_0")) + (rule "pullOutSelect" (formula "39") (term "1,1,1,0,0,1") (inst "selectSK=DoubleLinkedList_len_0:int")) (rule "applyEq" (formula "40") (term "0,0,0,0,0,0") (ifseqformula "1")) (rule "simplifySelectOfAnonEQ" (formula "1") (ifseqformula "26")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "38")) (ifInst "" (formula "6"))) @@ -4878,7 +4837,7 @@ (rule "replace_known_left" (formula "31") (term "0,0") (ifseqformula "11")) (builtin "One Step Simplification" (formula "31")) (rule "eqSymm" (formula "31")) - (rule "pullOutSelect" (formula "40") (term "0,1,0,0,0,0") (inst "selectSK=DoubleLinkedList_Node_l_1")) + (rule "pullOutSelect" (formula "40") (term "0,1,0,0,0,0") (inst "selectSK=DoubleLinkedList_Node_l_1:DoubleLinkedList.Node")) (rule "simplifySelectOfAnonEQ" (formula "1") (ifseqformula "27")) (builtin "One Step Simplification" (formula "1")) (rule "getOfSeqSub" (formula "31") (term "1,0,0,1,1,0,0")) @@ -4973,7 +4932,7 @@ (rule "applyEqReverse" (formula "1") (term "0,1,2,0") (ifseqformula "3")) (rule "applyEqReverse" (formula "1") (term "0,0,1,0,0,0") (ifseqformula "3")) (rule "applyEqReverse" (formula "1") (term "0,1,0,0,1,1,0,0") (ifseqformula "3")) - (rule "applyEqReverse" (formula "1") (term "0,0,0,0,0,0") (ifseqformula "3")) + (rule "applyEqReverse" (formula "1") (term "0,0,0,0,0,0,0") (ifseqformula "3")) (rule "applyEqReverse" (formula "39") (term "0,1,1,0,0") (ifseqformula "3")) (rule "applyEqReverse" (formula "39") (term "0,0,0,1,0,1") (ifseqformula "3")) (rule "applyEqReverse" (formula "39") (term "0,1,1,0,0,0") (ifseqformula "3")) @@ -6251,7 +6210,7 @@ (rule "commute_or_2" (formula "18") (term "0")) (rule "commute_or_2" (formula "13") (term "0")) (rule "commute_or_2" (formula "19") (term "0")) - (rule "Class_invariant_axiom_for_DoubleLinkedList" (formula "24") (inst "j=j") (inst "i=i") (inst "i_0=i_0") (inst "i_1=i_1") (inst "i_2=i_2") (inst "i_3=i_3") (inst "i_4=i_4") (inst "i_5=i_5") (ifseqformula "22")) + (rule "Class_invariant_axiom_for_DoubleLinkedList" (formula "24") (inst "i=i") (inst "i_0=i_0") (inst "i_1=i_1") (inst "i_2=i_2") (inst "i_3=i_3") (inst "i_4=i_4") (inst "i_5=i_5") (inst "j=j") (ifseqformula "22")) (builtin "One Step Simplification" (formula "24") (ifInst "" (formula "21")) (ifInst "" (formula "21")) (ifInst "" (formula "11")) (ifInst "" (formula "21")) (ifInst "" (formula "16")) (ifInst "" (formula "21"))) (rule "eqSymm" (formula "24") (term "0,1,0,0,1")) (rule "eqSymm" (formula "24") (term "1,0,1,0")) @@ -6559,7 +6518,7 @@ (branch "Case 1" (rule "andRight" (formula "24")) (branch "Case 1" - (rule "allRight" (formula "24") (inst "sk=i_4_0")) + (rule "allRight" (formula "24") (inst "sk=i_4_0:int")) (rule "orRight" (formula "24")) (rule "orRight" (formula "24")) (rule "notRight" (formula "26")) @@ -6574,7 +6533,7 @@ (rule "inEqSimp_sepNegMonomial0" (formula "1")) (rule "polySimp_mulLiterals" (formula "1") (term "0")) (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "allLeft" (formula "16") (inst "t=i_4_0")) + (rule "allLeft" (formula "16") (inst "t=i_4_0:int")) (rule "replace_known_left" (formula "16") (term "0,0,0") (ifseqformula "3")) (builtin "One Step Simplification" (formula "16")) (rule "inEqSimp_commuteGeq" (formula "16") (term "1")) @@ -6592,7 +6551,7 @@ (rule "closeFalse" (formula "1")) ) (branch "Case 2" - (rule "allRight" (formula "24") (inst "sk=i_3_0")) + (rule "allRight" (formula "24") (inst "sk=i_3_0:int")) (rule "orRight" (formula "24")) (rule "notRight" (formula "25")) (rule "orRight" (formula "25")) @@ -6609,7 +6568,7 @@ (rule "inEqSimp_sepNegMonomial0" (formula "1")) (rule "polySimp_mulLiterals" (formula "1") (term "0")) (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "allLeft" (formula "17") (inst "t=i_3_0")) + (rule "allLeft" (formula "17") (inst "t=i_3_0:int")) (rule "replace_known_left" (formula "17") (term "0,0,0") (ifseqformula "3")) (builtin "One Step Simplification" (formula "17")) (rule "inEqSimp_homoInEq1" (formula "17") (term "1")) @@ -6641,7 +6600,7 @@ ) ) (branch "Case 2" - (rule "allRight" (formula "24") (inst "sk=i_2_0")) + (rule "allRight" (formula "24") (inst "sk=i_2_0:int")) (rule "orRight" (formula "24")) (rule "orRight" (formula "24")) (rule "inEqSimp_leqRight" (formula "24")) @@ -6654,7 +6613,7 @@ (rule "inEqSimp_sepNegMonomial0" (formula "1")) (rule "polySimp_mulLiterals" (formula "1") (term "0")) (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "allLeft" (formula "14") (inst "t=i_2_0")) + (rule "allLeft" (formula "14") (inst "t=i_2_0:int")) (rule "inEqSimp_commuteGeq" (formula "14") (term "1")) (rule "inEqSimp_contradInEq1" (formula "14") (term "1,0") (ifseqformula "2")) (rule "qeq_literals" (formula "14") (term "0,1,0")) @@ -6670,7 +6629,7 @@ (rule "notLeft" (formula "14")) (rule "replace_known_right" (formula "27") (term "0,0") (ifseqformula "23")) (builtin "One Step Simplification" (formula "27")) - (rule "allLeft" (formula "17") (inst "t=i_2_0")) + (rule "allLeft" (formula "17") (inst "t=i_2_0:int")) (rule "replace_known_right" (formula "17") (term "0,0") (ifseqformula "28")) (builtin "One Step Simplification" (formula "17")) (rule "inEqSimp_commuteGeq" (formula "17") (term "1")) @@ -6689,7 +6648,7 @@ ) ) (branch "Case 2" - (rule "allRight" (formula "24") (inst "sk=i_1_0")) + (rule "allRight" (formula "24") (inst "sk=i_1_0:int")) (rule "orRight" (formula "24")) (rule "orRight" (formula "24")) (rule "inEqSimp_leqRight" (formula "24")) @@ -6703,7 +6662,7 @@ (rule "inEqSimp_sepNegMonomial0" (formula "1")) (rule "polySimp_mulLiterals" (formula "1") (term "0")) (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "allLeft" (formula "20") (inst "t=i_1_0")) + (rule "allLeft" (formula "20") (inst "t=i_1_0:int")) (rule "replace_known_right" (formula "20") (term "0,0") (ifseqformula "27")) (builtin "One Step Simplification" (formula "20")) (rule "inEqSimp_commuteGeq" (formula "20") (term "1")) @@ -6722,7 +6681,7 @@ ) ) (branch "Case 2" - (rule "allRight" (formula "24") (inst "sk=i_0_0")) + (rule "allRight" (formula "24") (inst "sk=i_0_0:int")) (rule "orRight" (formula "24")) (rule "orRight" (formula "24")) (rule "inEqSimp_leqRight" (formula "24")) @@ -6738,7 +6697,7 @@ (rule "inEqSimp_sepNegMonomial0" (formula "1")) (rule "polySimp_mulLiterals" (formula "1") (term "0")) (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "allLeft" (formula "21") (inst "t=i_0_0")) + (rule "allLeft" (formula "21") (inst "t=i_0_0:int")) (rule "replace_known_right" (formula "21") (term "0,0") (ifseqformula "27")) (builtin "One Step Simplification" (formula "21")) (rule "inEqSimp_homoInEq1" (formula "21") (term "1")) diff --git a/key.ui/examples/standard_key/polymorphic/setExample.key b/key.ui/examples/standard_key/polymorphic/setExample.key index 6da4aec1632..1f2748831b1 100644 --- a/key.ui/examples/standard_key/polymorphic/setExample.key +++ b/key.ui/examples/standard_key/polymorphic/setExample.key @@ -4,6 +4,6 @@ \problem { \forall Set s1; (\forall Set s2; - (sIntersect(s1, s2) = sEmpty <-> - (\forall T a; (sElementOf(a, s1) -> !sElementOf(a, s2))))) + (intersect(s1, s2) = empty <-> + (\forall T a; (elementOf(a, s1) -> !elementOf(a, s2))))) } diff --git a/key.util/src/main/java/org/key_project/util/collection/ImmutableListArray.java b/key.util/src/main/java/org/key_project/util/collection/ImmutableListArray.java index 5c6e224138d..bc416190f86 100644 --- a/key.util/src/main/java/org/key_project/util/collection/ImmutableListArray.java +++ b/key.util/src/main/java/org/key_project/util/collection/ImmutableListArray.java @@ -158,6 +158,19 @@ public T get(int idx) { return data[idx]; } + @Override + public String toString() { + var sb = new StringBuilder().append('['); + for (int i = 0; i < size(); ++i) { + if (i > 0) { + sb.append(','); + } + sb.append(get(i)); + } + sb.append(']'); + return sb.toString(); + } + @Override public boolean equals(@Nullable Object o) { if (o instanceof ImmutableListArray that) { diff --git a/keyext.slicing/src/test/java/org/key_project/slicing/EndToEndTests.java b/keyext.slicing/src/test/java/org/key_project/slicing/EndToEndTests.java index 555dc9f0aa6..47927235886 100644 --- a/keyext.slicing/src/test/java/org/key_project/slicing/EndToEndTests.java +++ b/keyext.slicing/src/test/java/org/key_project/slicing/EndToEndTests.java @@ -86,15 +86,15 @@ void sliceMultipleIterations() throws Exception { .resolve("reverseArray.proof"); Pair iteration1 = sliceProofFullFilename( directory, - 5270, 4183, true, true, true); + 5308, 4218, true, true, true); var iteration2 = - sliceProofFullFilename(iteration1.second, 4183, 4181, true, true, true); + sliceProofFullFilename(iteration1.second, 4218, 4216, true, true, true); var iteration3 = - sliceProofFullFilename(iteration2.second, 4181, 4179, true, true, true); + sliceProofFullFilename(iteration2.second, 4216, 4214, true, true, true); var iteration4 = - sliceProofFullFilename(iteration3.second, 4179, 4177, true, true, true); + sliceProofFullFilename(iteration3.second, 4214, 4212, true, true, true); var iteration5 = - sliceProofFullFilename(iteration4.second, 4177, 4175, true, true, true); + sliceProofFullFilename(iteration4.second, 4212, 4210, true, true, true); iteration5.first.dispose(); iteration4.first.dispose(); iteration3.first.dispose();