diff --git a/key.core/src/main/antlr4/JmlLexer.g4 b/key.core/src/main/antlr4/JmlLexer.g4 index a8594d8bbf4..8b4eb5880cb 100644 --- a/key.core/src/main/antlr4/JmlLexer.g4 +++ b/key.core/src/main/antlr4/JmlLexer.g4 @@ -7,6 +7,8 @@ lexer grammar JmlLexer; // needed for double literals and ".." private int _lex_pos; + private boolean parensEndExpr = false; + private int parenthesisLevel = 0; private void incrParen() { parenthesisLevel++;} private void decrParen() { parenthesisLevel--;} @@ -20,6 +22,7 @@ lexer grammar JmlLexer; private void decrBracket() { bracketLevel--;} boolean semicolonOnToplevel() { return bracketLevel==0 && bracesLevel == 0 && parenthesisLevel==0; } + boolean parensEnd() { return parenthesisLevel == 1 && parensEndExpr; } private JmlMarkerDecision jmlMarkerDecision = new JmlMarkerDecision(this); } @@ -101,10 +104,12 @@ DECREASING: ('decreasing' | 'decreases' | 'loop_variant') Pred -> pushMode(expr) DETERMINES: 'determines' -> pushMode(expr); DIVERGES: 'diverges' Pred -> pushMode(expr); //DURATION: 'duration' Pred -> pushMode(expr); +ELSE: 'else'; ENSURES: ('ensures' | 'post') (Pfree|Pred) -> pushMode(expr); FOR_EXAMPLE: 'for_example' -> pushMode(expr); //FORALL: 'forall' -> pushMode(expr); //? HELPER: 'helper'; +IF: 'if' { parensEndExpr = true; } -> pushMode(expr); IMPLIES_THAT: 'implies_that' -> pushMode(expr); IN: 'in' Pred -> pushMode(expr); INITIALLY: 'initially' -> pushMode(expr); @@ -134,6 +139,7 @@ SEPARATES: 'separates' -> pushMode(expr); SET: 'set' -> pushMode(expr); SIGNALS: ('signals' Pred | 'exsures' Pred) -> pushMode(expr); SIGNALS_ONLY: 'signals_only' Pred -> pushMode(expr); +VAR: 'var'; WHEN: 'when' Pred -> pushMode(expr); WORKING_SPACE: 'working_space' Pred -> pushMode(expr); WRITABLE: 'writable' -> pushMode(expr); @@ -361,9 +367,9 @@ XOR: '^'; GT: '>'; LT: '<'; - LPAREN: '(' {incrParen();}; -RPAREN: ')' {decrParen();}; +RPAREN_TOPLEVEL: { parensEnd() }? ')' { decrParen(); parensEndExpr = false; } -> type(RPAREN), popMode; +RPAREN: { ! parensEnd() }? ')' { decrParen(); }; LBRACE: '{' {incrBrace();}; RBRACE: '}' {decrBrace();}; LBRACKET: '[' {incrBracket();}; diff --git a/key.core/src/main/antlr4/JmlParser.g4 b/key.core/src/main/antlr4/JmlParser.g4 index 40f27ec6acc..0060642e03b 100644 --- a/key.core/src/main/antlr4/JmlParser.g4 +++ b/key.core/src/main/antlr4/JmlParser.g4 @@ -152,8 +152,14 @@ name_clause: SPEC_NAME STRING_LITERAL SEMICOLON ; //old_clause: OLD modifiers type IDENT INITIALISER ; field_declaration: typespec IDENT (LBRACKET RBRACKET)* initialiser? SEMI_TOPLEVEL; -method_declaration: typespec IDENT param_list (method_body|SEMI_TOPLEVEL); -method_body: LBRACE RETURN expression SEMI_TOPLEVEL RBRACE; +method_declaration: typespec IDENT param_list (method_body=mbody_block | SEMI_TOPLEVEL); +mbody_block: LBRACE mbody_var* mbody_statement RBRACE; +mbody_statement: + RETURN expression SEMI_TOPLEVEL #mbody_return + | IF LPAREN expression RPAREN (mbody_statement | mbody_block) ELSE (mbody_statement | mbody_block) #mbody_if + ; +mbody_var: VAR? IDENT EQUAL_SINGLE expression SEMI_TOPLEVEL; + param_list: LPAREN (param_decl (COMMA param_decl)*)? RPAREN; param_decl: ((NON_NULL | NULLABLE))? typespec p=IDENT (LBRACKET RBRACKET)*; history_constraint: CONSTRAINT expression; diff --git a/key.core/src/main/java/de/uka/ilkd/key/speclang/jml/translation/JMLSpecFactory.java b/key.core/src/main/java/de/uka/ilkd/key/speclang/jml/translation/JMLSpecFactory.java index 74cebc86572..4bad9d0db32 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/speclang/jml/translation/JMLSpecFactory.java +++ b/key.core/src/main/java/de/uka/ilkd/key/speclang/jml/translation/JMLSpecFactory.java @@ -486,8 +486,8 @@ private void translateAxioms(Context context, ProgramVariableCollection progVars boolean empty = axioms.isEmpty() // either the list is empty || (axioms.size() == 1 // or the first element is an empty method_decl && axioms.head().first instanceof JmlParser.Method_declarationContext - && ((JmlParser.Method_declarationContext) axioms.head().first) - .method_body() == null); + && ((JmlParser.Method_declarationContext) axioms + .head().first).method_body == null); if (empty) { clauses.axioms.put(heap, null); } else { diff --git a/key.core/src/main/java/de/uka/ilkd/key/speclang/njml/Translator.java b/key.core/src/main/java/de/uka/ilkd/key/speclang/njml/Translator.java index 6a39ce1e1f2..f792e10901b 100644 --- a/key.core/src/main/java/de/uka/ilkd/key/speclang/njml/Translator.java +++ b/key.core/src/main/java/de/uka/ilkd/key/speclang/njml/Translator.java @@ -2351,7 +2351,7 @@ public Object visitField_declaration(JmlParser.Field_declarationContext ctx) { @Override public SLExpression visitMethod_declaration(JmlParser.Method_declarationContext ctx) { - if (ctx.method_body() == null) { + if (ctx.method_body == null) { return new SLExpression(tb.tt()); } @@ -2368,7 +2368,7 @@ public SLExpression visitMethod_declaration(JmlParser.Method_declarationContext ParserRuleContext equal = JmlFacade.parseExpr(ctx.IDENT() + paramsString); Object a = accept(equal); - SLExpression body = accept(ctx.method_body().expression()); + SLExpression body = accept(ctx.method_body); SLParameters params = visitParameters(ctx.param_list()); SLExpression apply = lookupIdentifier(ctx.IDENT().getText(), null, params, ctx); @@ -2376,7 +2376,6 @@ public SLExpression visitMethod_declaration(JmlParser.Method_declarationContext boolean applyContainsHeap = TermUtil.contains(apply.getTerm(), forbiddenHeapVar); boolean bodyContainsHeap = TermUtil.contains(body.getTerm(), forbiddenHeapVar); - if (!applyContainsHeap && bodyContainsHeap) { // NOT (no heap in applies --> no heap in body) raiseError(ctx, "Heap used in a `no_state` method."); @@ -2385,6 +2384,60 @@ public SLExpression visitMethod_declaration(JmlParser.Method_declarationContext return termFactory.eq(apply, body); } + @Override + public SLExpression visitMbody_return(JmlParser.Mbody_returnContext ctx) { + return accept(ctx.expression()); + } + + @Override + public SLExpression visitMbody_block(JmlParser.Mbody_blockContext ctx) { + resolverManager.pushLocalVariablesNamespace(); + List> substList = new ArrayList<>(); + for (JmlParser.Mbody_varContext varCtx : ctx.mbody_var()) { + String name = varCtx.IDENT().getText(); + SLExpression expr = accept(varCtx.expression()); + JTerm term = expr.getTerm(); + LogicVariable logVar; + Optional existingVar = substList.stream() + .map(p -> p.first) + .filter(p -> p.name().toString().equals(name)) + .findAny(); + if (varCtx.VAR() != null) { + existingVar.ifPresent(p -> { + raiseError("Variable " + name + " already declared in this block.", ctx); + }); + logVar = new LogicVariable(new Name(name), term.sort()); + resolverManager.putIntoTopLocalVariablesNamespace(ImmutableList.of(logVar), + javaInfo.getKeYJavaType(term.sort())); + } else { + logVar = existingVar.orElseThrow(() -> { + raiseError("Assigned variable " + name + " unknown in this block.", varCtx); + return new Error("Unreachable"); + }); + if (!term.sort().extendsTrans(logVar.sort())) { + raiseError("Assignment to variable " + name + " with incompatible type.", + varCtx); + } + } + substList.add(new Pair<>(logVar, term)); + } + + SLExpression stmExpr = accept(ctx.mbody_statement()); + JTerm term = stmExpr.getTerm(); + for (Pair lv : substList.reversed()) { + term = tb.subst(lv.first, lv.second, term); + } + resolverManager.popLocalVariablesNamespace(); + return new SLExpression(term); + } + + @Override + public SLExpression visitMbody_if(JmlParser.Mbody_ifContext ctx) { + SLExpression cond = accept(ctx.getChild(ParserRuleContext.class, 0)); + SLExpression then = accept(ctx.getChild(ParserRuleContext.class, 1)); + SLExpression elze = accept(ctx.getChild(ParserRuleContext.class, 2)); + return new SLExpression(tb.ife(cond.getTerm(), then.getTerm(), elze.getTerm())); + } @Override public Object visitHistory_constraint(JmlParser.History_constraintContext ctx) { diff --git a/key.ui/examples/heap/BoyerMoore/BM(BM__bm((I)).JML normal_behavior operation contract.0.proof b/key.ui/examples/heap/BoyerMoore/BM(BM__bm((I)).JML normal_behavior operation contract.0.proof index 6c6b444ae69..9a0d0a5b6c5 100644 --- a/key.ui/examples/heap/BoyerMoore/BM(BM__bm((I)).JML normal_behavior operation contract.0.proof +++ b/key.ui/examples/heap/BoyerMoore/BM(BM__bm((I)).JML normal_behavior operation contract.0.proof @@ -30,7 +30,9 @@ "UseOriginLabels" : true }, "NewSMT" : { - + "Axiomatisations" : "false", + "Presburger" : "false", + "sqrtSMTTranslation" : "SMT" }, "SMTSettings" : { "SelectedTaclets" : [ @@ -76,10 +78,9 @@ } } -\javaSource "src"; -\proofObligation -// Proof-Obligation settings +\javaSource "src";\proofObligation +// { "class" : "de.uka.ilkd.key.proof.init.FunctionalOperationContractPO", "contract" : "BoyerMoore[BoyerMoore::bm([I)].JML normal_behavior operation contract.0", @@ -87,9 +88,9 @@ } \proof { -(keyLog "0" (keyUser "ulbrich" ) (keyVersion "da84fda9bf3430ac9f414d98cece1292d1e669fe")) +(keyLog "0" (keyUser "ulbrich" ) (keyVersion "947da2060bf662ceb5ca270943291196724c7fa3")) -(autoModeTime "2359") +(autoModeTime "12050") (branch "dummy ID" (builtin "One Step Simplification" (formula "1") (newnames "heapAtPre,o,f")) @@ -163,65 +164,25 @@ ) ) (branch "Case 2" + (builtin "One Step Simplification" (formula "10") (userinteraction)) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "10") (term "1,0") (inst "last=last") (ifseqformula "3") (userinteraction)) (builtin "One Step Simplification" (formula "10")) + (rule "times_zero_1" (formula "10") (term "0")) (rule "add_zero_left" (formula "10") (term "1")) - (rule "polySimp_mulComm0" (formula "10") (term "0")) - (rule "inEqSimp_leqRight" (formula "10")) - (rule "times_zero_1" (formula "1") (term "1,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "mul_literals" (formula "1") (term "1")) - (rule "elimGcdGeq_antec" (formula "1") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=BoyerMoore::count(heap, self, a, Z(0(#)), Z(0(#)))") (inst "elimGcdRightDiv=Z(1(#))")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,0,0,1,0")) - (rule "leq_literals" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "mul_literals" (formula "1") (term "1,0,0,0,0,0")) - (rule "polySimp_addLiterals" (formula "1") (term "0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0")) - (rule "leq_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "1") (term "0") (ifseqformula "4")) - (builtin "One Step Simplification" (formula "1")) - (rule "castDel" (formula "1") (term "0")) - (rule "qeq_literals" (formula "1")) - (rule "closeFalse" (formula "1")) + (rule "leq_literals" (formula "10")) + (rule "closeTrue" (formula "10")) ) ) (branch "Case 2" + (builtin "One Step Simplification" (formula "10") (userinteraction)) + (rule "allRight" (formula "10") (inst "sk=x_0") (userinteraction)) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "10") (term "1,0,1") (inst "last=last") (ifseqformula "3") (userinteraction)) (builtin "One Step Simplification" (formula "10")) - (rule "sub_literals" (formula "10") (term "1,1,0")) - (rule "allRight" (formula "10") (inst "sk=x_0")) - (rule "impRight" (formula "10")) - (rule "polySimp_mulComm0" (formula "11") (term "0")) - (rule "inEqSimp_leqRight" (formula "11")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "mul_literals" (formula "1") (term "1")) - (rule "elimGcdGeq_antec" (formula "1") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=BoyerMoore::count(heap, self, a, Z(0(#)), x_0)") (inst "elimGcdRightDiv=Z(1(#))")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,0,0,0,1,0")) - (rule "leq_literals" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "mul_literals" (formula "1") (term "1,0,0,0,0,0")) - (rule "polySimp_addLiterals" (formula "1") (term "0,0,0,0")) - (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "1,1,0,0")) - (rule "times_zero_1" (formula "1") (term "1,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0")) - (rule "leq_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "1") (term "0") (ifseqformula "5")) - (builtin "One Step Simplification" (formula "1")) - (rule "castDel" (formula "1") (term "0")) - (rule "qeq_literals" (formula "1")) - (rule "closeFalse" (formula "1")) + (rule "times_zero_1" (formula "10") (term "0,1")) + (rule "sub_literals" (formula "10") (term "1,1")) + (rule "leq_literals" (formula "10") (term "1")) + (builtin "One Step Simplification" (formula "10")) + (rule "closeTrue" (formula "10")) ) ) (branch "Case 2" @@ -344,7 +305,7 @@ (rule "emptyModality" (formula "19") (term "1")) (builtin "One Step Simplification" (formula "19")) (rule "andRight" (formula "19")) - (branch + (branch "Case 1" (rule "andRight" (formula "19")) (branch "Case 1" (rule "andRight" (formula "19")) @@ -358,8 +319,14 @@ (rule "add_zero_right" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0")) (rule "add_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_ltToLeq" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "3") (term "0")) (rule "inEqSimp_sepPosMonomial0" (formula "1")) (rule "mul_literals" (formula "1") (term "1")) + (rule "inEqSimp_sepNegMonomial0" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "polySimp_elimOne" (formula "3") (term "0")) (rule "inEqSimp_contradInEq0" (formula "12") (ifseqformula "1")) (rule "qeq_literals" (formula "12") (term "0")) (builtin "One Step Simplification" (formula "12")) @@ -381,15 +348,24 @@ (rule "inEqSimp_sepNegMonomial0" (formula "3")) (rule "polySimp_mulLiterals" (formula "3") (term "0")) (rule "polySimp_elimOne" (formula "3") (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_subsumption1" (formula "14") (ifseqformula "3")) + (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_zero_right" (formula "14") (term "0,0")) + (rule "qeq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) + (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_zero_right" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) ) ) (branch "Case 2" @@ -398,711 +374,262 @@ ) ) (branch "Case 2" - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "19") (term "0,0") (ifseqformula "5")) - (rule "ifthenelse_split" (formula "19") (term "0,0,0")) + (rule "instAll" (formula "19") (term "4,0,0") (ifseqformula "16") (userinteraction)) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "20") (term "0,0") (inst "last=last") (ifseqformula "6") (userinteraction)) + (rule "ifthenelse_split" (formula "20") (term "0,0") (userinteraction)) (branch "1 + k_0 = 0 TRUE" - (rule "castDel" (formula "20") (term "0,0")) - (rule "times_zero_2" (formula "20") (term "0")) - (rule "polySimp_addComm1" (formula "20") (term "1")) - (rule "add_literals" (formula "20") (term "0,1")) - (rule "inEqSimp_leqRight" (formula "20")) + (rule "times_zero_2" (formula "21") (term "0")) + (rule "polySimp_addComm1" (formula "21") (term "1")) + (rule "add_literals" (formula "21") (term "0,1")) + (rule "inEqSimp_leqRight" (formula "21")) (rule "add_zero_right" (formula "1") (term "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 "add_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_ltToLeq" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "5") (term "0")) (rule "polySimp_sepPosMonomial" (formula "2")) (rule "mul_literals" (formula "2") (term "1")) - (rule "applyEq" (formula "1") (term "0,1,0") (ifseqformula "2")) + (rule "applyEq" (formula "19") (term "1,1,0") (ifseqformula "2")) + (rule "applyEq" (formula "3") (term "3,0,0,1") (ifseqformula "2")) + (rule "applyEq" (formula "18") (term "1") (ifseqformula "2")) + (rule "applyEqRigid" (formula "1") (term "0,1,0") (ifseqformula "2")) (rule "mul_literals" (formula "1") (term "1,0")) (rule "add_literals" (formula "1") (term "0")) (rule "qeq_literals" (formula "1")) (rule "closeFalse" (formula "1")) ) (branch "1 + k_0 = 0 FALSE" - (rule "ifthenelse_split" (formula "20") (term "0,0,0,0")) - (branch "a[1 + k_0 - 1] = a[k_0] TRUE" - (rule "castDel" (formula "21") (term "0,0")) - (rule "unlimit_BoyerMoore_count[I\bigint\bigint" (formula "21") (term "1,0,0")) - (rule "polySimp_elimSub" (formula "21") (term "3,1,0,0")) - (rule "mul_literals" (formula "21") (term "1,3,1,0,0")) - (rule "polySimp_mulComm0" (formula "21") (term "0")) - (rule "polySimp_addComm1" (formula "21") (term "1")) - (rule "add_literals" (formula "21") (term "0,1")) - (rule "polySimp_addComm1" (formula "21") (term "3,1,1,0")) - (rule "add_literals" (formula "21") (term "0,3,1,1,0")) - (rule "add_zero_left" (formula "21") (term "3,1,1,0")) - (rule "polySimp_rightDist" (formula "21") (term "0")) - (rule "mul_literals" (formula "21") (term "0,0")) - (rule "inEqSimp_ltToLeq" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "inEqSimp_leqRight" (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 "polySimp_addAssoc" (formula "1") (term "0")) - (rule "polySimp_addComm1" (formula "1") (term "0,0")) - (rule "add_literals" (formula "1") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "4")) - (rule "polySimp_mulLiterals" (formula "4") (term "0")) - (rule "polySimp_elimOne" (formula "4") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "nnf_imp2or" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "0,0") (inst "l=l")) - (rule "eqSymm" (formula "1") (term "0,1")) - (rule "replace_known_left" (formula "1") (term "0,1,0,0,0,0,0") (ifseqformula "12")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "21")) (ifInst "" (formula "6")) (ifInst "" (formula "7")) (ifInst "" (formula "20")) (ifInst "" (formula "12"))) - (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "10")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) - (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "14")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0") (ifseqformula "5")) - (rule "inEqSimp_homoInEq0" (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_zero_right" (formula "1") (term "0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "17") (term "1") (ifseqformula "8")) - (rule "castDel" (formula "17") (term "1")) - (rule "eqSymm" (formula "17")) - (rule "polySimp_elimSub" (formula "17") (term "0,2,0,0,0,2,0")) - (rule "mul_literals" (formula "17") (term "1,0,2,0,0,0,2,0")) - (rule "polySimp_elimSub" (formula "17") (term "3,1,2,0")) - (rule "mul_literals" (formula "17") (term "1,3,1,2,0")) - (rule "polySimp_addComm0" (formula "17") (term "0,2,0,0,0,2,0")) - (rule "polySimp_addComm0" (formula "17") (term "3,1,2,0")) - (rule "polySimp_addComm0" (formula "17") (term "2,0")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "18") (term "0,0") (ifseqformula "8")) - (rule "castDel" (formula "18") (term "0,0")) - (rule "polySimp_elimSub" (formula "18") (term "0,2,0,0,0,2,0,0")) - (rule "mul_literals" (formula "18") (term "1,0,2,0,0,0,2,0,0")) - (rule "polySimp_elimSub" (formula "18") (term "3,1,2,0,0")) - (rule "mul_literals" (formula "18") (term "1,3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "18") (term "0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "18") (term "3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "18") (term "2,0,0")) - (rule "applyEq" (formula "18") (term "0,0") (ifseqformula "17")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "0,0") (ifseqformula "8")) - (rule "castDel" (formula "2") (term "0,0")) - (rule "polySimp_elimSub" (formula "2") (term "0,2,0,0,0,2,0,0")) - (rule "mul_literals" (formula "2") (term "1,0,2,0,0,0,2,0,0")) - (rule "polySimp_elimSub" (formula "2") (term "3,1,2,0,0")) - (rule "mul_literals" (formula "2") (term "1,3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "2,0,0")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "19") (term "0,0,1,0") (ifseqformula "8")) - (rule "castDel" (formula "19") (term "0,0,1,0")) - (rule "eqSymm" (formula "19") (term "0,0,2,0,0,1,0")) - (rule "polySimp_elimSub" (formula "19") (term "3,1,2,0,0,1,0")) - (rule "mul_literals" (formula "19") (term "1,3,1,2,0,0,1,0")) - (rule "polySimp_elimSub" (formula "19") (term "0,2,1,0,0,2,0,0,1,0")) - (rule "mul_literals" (formula "19") (term "1,0,2,1,0,0,2,0,0,1,0")) - (rule "polySimp_addComm0" (formula "19") (term "3,1,2,0,0,1,0")) - (rule "polySimp_addComm0" (formula "19") (term "0,2,1,0,0,2,0,0,1,0")) - (rule "polySimp_addComm0" (formula "19") (term "2,0,0,1,0")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (ifseqformula "8")) - (rule "castDel" (formula "1") (term "1")) - (rule "polySimp_elimSub" (formula "1") (term "0,2,0,0,0,2,1")) - (rule "mul_literals" (formula "1") (term "1,0,2,0,0,0,2,1")) - (rule "polySimp_elimSub" (formula "1") (term "3,1,2,1")) - (rule "mul_literals" (formula "1") (term "1,3,1,2,1")) - (rule "polySimp_addComm0" (formula "1") (term "0,2,0,0,0,2,1")) - (rule "polySimp_addComm0" (formula "1") (term "3,1,2,1")) - (rule "polySimp_addComm0" (formula "1") (term "2,1")) - (rule "ifthenelse_split" (formula "17") (term "0")) - (branch "k_0 = 0 TRUE" - (rule "replace_known_left" (formula "2") (term "0,0,0") (ifseqformula "17")) - (builtin "One Step Simplification" (formula "2")) - (rule "mul_literals" (formula "2") (term "0")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "times_zero_2" (formula "2") (term "1,0")) - (rule "add_zero_right" (formula "2") (term "0")) - (rule "applyEq" (formula "2") (term "1,0") (ifseqformula "17")) - (rule "add_zero_right" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) - ) - (branch "k_0 = 0 FALSE" - (rule "replace_known_right" (formula "19") (term "0,0,0,1,0") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "19")) - (rule "replace_known_right" (formula "1") (term "0,1") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "1")) - (rule "replace_known_right" (formula "2") (term "0,0,0") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_homoEq" (formula "17")) - (rule "polySimp_mulComm0" (formula "19") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "2") (term "0")) - (rule "polySimp_mulComm0" (formula "17") (term "1,0")) - (rule "polySimp_rightDist" (formula "19") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "19") (term "0,0,1,0")) - (rule "polySimp_rightDist" (formula "2") (term "0")) - (rule "polySimp_mulComm0" (formula "2") (term "0,0")) - (rule "polySimp_rightDist" (formula "17") (term "1,0")) - (rule "polySimp_mulComm0" (formula "17") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "17") (term "0")) - (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 "polySimp_mulLiterals" (formula "19") (term "1,1,0,1,0")) - (rule "polySimp_mulAssoc" (formula "19") (term "0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "19") (term "0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "19") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "19") (term "0,1,0")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0")) - (rule "polySimp_rightDist" (formula "2") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,1,0")) - (rule "polySimp_mulAssoc" (formula "2") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "2") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0")) - (rule "polySimp_sepNegMonomial" (formula "17")) - (rule "polySimp_mulLiterals" (formula "17") (term "0")) - (rule "polySimp_elimOne" (formula "17") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "19") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "19") (term "0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "ifthenelse_split" (formula "1") (term "1,1")) - (branch "a[-1 + k_0] = a[k_0] TRUE" - (rule "replace_known_left" (formula "3") (term "0,0,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "3")) - (rule "mul_literals" (formula "3") (term "0")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "mul_literals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "0,0,0")) - (rule "applyEq" (formula "18") (term "0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "20") (term "1,0,0,0,1,0") (ifseqformula "1")) - (rule "inEqSimp_sepNegMonomial0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "ifthenelse_split" (formula "18") (term "0")) - (branch "a[k_0] = mx_0 TRUE" - (rule "polySimp_homoEq" (formula "19")) - (rule "mul_literals" (formula "19") (term "1,0")) - (rule "polySimp_addComm1" (formula "19") (term "0")) - (rule "polySimp_addComm0" (formula "19") (term "0,0")) - (rule "applyEq" (formula "3") (term "4,0,0") (ifseqformula "18")) - (rule "polySimp_sepNegMonomial" (formula "19")) - (rule "polySimp_mulLiterals" (formula "19") (term "0")) - (rule "polySimp_elimOne" (formula "19") (term "0")) - (rule "applyEq" (formula "3") (term "0,0") (ifseqformula "19")) - (rule "polySimp_mulComm0" (formula "3") (term "0")) - (rule "polySimp_rightDist" (formula "3") (term "0")) - (rule "mul_literals" (formula "3") (term "0,0")) - (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_mulLiterals" (formula "3") (term "1,1,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "inEqSimp_contradInEq4" (formula "20") (ifseqformula "3")) - (rule "greater_literals" (formula "20") (term "0,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "greater_literals" (formula "20") (term "0,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "andLeft" (formula "20")) - (rule "polySimp_mulComm0" (formula "20") (term "0")) - (rule "polySimp_rightDist" (formula "20") (term "1")) - (rule "mul_literals" (formula "20") (term "0,1")) - (rule "inEqSimp_homoInEq1" (formula "20")) - (rule "polySimp_mulLiterals" (formula "20") (term "1,0")) - (rule "polySimp_pullOutFactor0b" (formula "20") (term "0")) - (rule "add_literals" (formula "20") (term "1,1,0")) - (rule "times_zero_1" (formula "20") (term "1,0")) - (rule "add_zero_right" (formula "20") (term "0")) - (rule "leq_literals" (formula "20")) - (rule "closeFalse" (formula "20")) - ) - (branch "a[k_0] = mx_0 FALSE" - (rule "allLeft" (formula "20") (inst "t=int::select(heap, a, arr(k_0))")) - (builtin "One Step Simplification" (formula "20") (ifInst "" (formula "22"))) - (rule "mul_literals" (formula "20") (term "0")) - (rule "inEqSimp_homoInEq0" (formula "20")) - (rule "mul_literals" (formula "20") (term "1,0")) - (rule "polySimp_addComm1" (formula "20") (term "0")) - (rule "polySimp_addComm0" (formula "20") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "20")) - (rule "polySimp_mulLiterals" (formula "20") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "20")) - (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_addComm1" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "0,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 "a[-1 + k_0] = a[k_0] FALSE" - (rule "replace_known_right" (formula "2") (term "0,0,0") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "2")) - (rule "mul_literals" (formula "2") (term "0")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "times_zero_2" (formula "2") (term "1,0")) - (rule "add_zero_right" (formula "2") (term "0")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "ifthenelse_split" (formula "17") (term "0")) - (branch "a[-1 + k_0] = mx_0 TRUE" - (rule "applyEq" (formula "21") (term "0") (ifseqformula "17")) - (rule "eqSymm" (formula "21")) - (rule "applyEq" (formula "20") (term "1,0,0,0,1,0") (ifseqformula "17")) - (rule "allLeft" (formula "20") (inst "t=int::select(heap, a, arr(k_0))")) - (rule "replace_known_right" (formula "20") (term "0") (ifseqformula "22")) - (builtin "One Step Simplification" (formula "20") (ifInst "" (formula "22"))) - (rule "mul_literals" (formula "20") (term "0")) - (rule "inEqSimp_homoInEq0" (formula "20")) - (rule "times_zero_2" (formula "20") (term "1,0")) - (rule "add_zero_right" (formula "20") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "20")) - (rule "polySimp_mulLiterals" (formula "20") (term "0")) - (rule "inEqSimp_contradInEq1" (formula "20") (ifseqformula "2")) - (rule "andLeft" (formula "20")) - (rule "inEqSimp_homoInEq1" (formula "20")) - (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 "a[-1 + k_0] = mx_0 FALSE" - (rule "polySimp_homoEq" (formula "17")) - (rule "times_zero_2" (formula "17") (term "1,0")) - (rule "add_zero_right" (formula "17") (term "0")) - (rule "polySimp_sepNegMonomial" (formula "17")) - (rule "polySimp_mulLiterals" (formula "17") (term "0")) - (rule "polySimp_elimOne" (formula "17") (term "0")) - (rule "allLeft" (formula "19") (inst "t=int::select(heap, a, arr(k_0))")) - (rule "eqSymm" (formula "19") (term "0,0,0,1")) - (rule "replace_known_right" (formula "19") (term "0,0,0,1") (ifseqformula "22")) - (builtin "One Step Simplification" (formula "19")) - (rule "times_zero_2" (formula "19") (term "0,1")) - (rule "inEqSimp_homoInEq0" (formula "19") (term "1")) - (rule "times_zero_2" (formula "19") (term "1,0,1")) - (rule "add_zero_right" (formula "19") (term "0,1")) - (rule "inEqSimp_sepNegMonomial1" (formula "19") (term "1")) - (rule "polySimp_mulLiterals" (formula "19") (term "0,1")) - (rule "inEqSimp_contradInEq4" (formula "19") (term "1") (ifseqformula "2")) - (rule "greater_literals" (formula "19") (term "0,0,1")) - (builtin "One Step Simplification" (formula "19")) - (rule "greater_literals" (formula "19") (term "0,0,1")) - (builtin "One Step Simplification" (formula "19")) - (rule "polySimp_mulComm0" (formula "19") (term "0,0,1")) - (rule "polySimp_rightDist" (formula "19") (term "1,0,1")) - (rule "mul_literals" (formula "19") (term "0,1,0,1")) - (rule "inEqSimp_homoInEq1" (formula "19") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "19") (term "1,0,0,1")) - (rule "polySimp_pullOutFactor0b" (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_zero_right" (formula "19") (term "0,0,1")) - (rule "leq_literals" (formula "19") (term "0,1")) - (builtin "One Step Simplification" (formula "19")) - (rule "applyEq" (formula "2") (term "4,0,0") (ifseqformula "19")) - (rule "applyEq" (formula "2") (term "0,0") (ifseqformula "17")) - (rule "inEqSimp_contradInEq4" (formula "18") (ifseqformula "2")) - (rule "greater_literals" (formula "18") (term "0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "greater_literals" (formula "18") (term "0,0")) - (builtin "One Step Simplification" (formula "18")) - (rule "andLeft" (formula "18")) - (rule "polySimp_mulComm0" (formula "18") (term "0")) - (rule "polySimp_rightDist" (formula "18") (term "1")) - (rule "mul_literals" (formula "18") (term "0,1")) - (rule "inEqSimp_homoInEq1" (formula "18")) - (rule "polySimp_mulLiterals" (formula "18") (term "1,0")) - (rule "polySimp_pullOutFactor0b" (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 "a[1 + k_0 - 1] = a[k_0] FALSE" - (rule "polySimp_elimSub" (formula "20") (term "0,2,0")) - (rule "mul_literals" (formula "20") (term "1,0,2,0")) - (rule "polySimp_addComm1" (formula "20") (term "0,2,0")) - (rule "add_literals" (formula "20") (term "0,0,2,0")) - (rule "add_zero_left" (formula "20") (term "0,2,0")) - (builtin "One Step Simplification" (formula "20")) - (rule "closeTrue" (formula "20")) - ) + (rule "polySimp_elimSub" (formula "21") (term "3,1,1,0,0")) + (rule "mul_literals" (formula "21") (term "1,3,1,1,0,0")) + (rule "polySimp_elimSub" (formula "21") (term "0,2,0,0,0,0")) + (rule "mul_literals" (formula "21") (term "1,0,2,0,0,0,0")) + (rule "polySimp_elimSub" (formula "21") (term "3,2,0,0")) + (rule "mul_literals" (formula "21") (term "1,3,2,0,0")) + (rule "polySimp_addComm1" (formula "21") (term "1")) + (rule "add_literals" (formula "21") (term "0,1")) + (rule "polySimp_addComm1" (formula "21") (term "3,1,1,0,0")) + (rule "add_literals" (formula "21") (term "0,3,1,1,0,0")) + (rule "add_zero_left" (formula "21") (term "3,1,1,0,0")) + (rule "polySimp_addComm1" (formula "21") (term "0,2,0,0,0,0")) + (rule "add_literals" (formula "21") (term "0,0,2,0,0,0,0")) + (rule "add_zero_left" (formula "21") (term "0,2,0,0,0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "polySimp_mulComm0" (formula "21") (term "0")) + (rule "polySimp_rightDist" (formula "21") (term "0")) + (rule "mul_literals" (formula "21") (term "0,0")) + (rule "inEqSimp_ltToLeq" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "3") (term "0")) + (rule "inEqSimp_leqRight" (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 "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_sepPosMonomial" (formula "21")) + (rule "mul_literals" (formula "21") (term "1")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "polySimp_elimOne" (formula "4") (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_contradEq7" (formula "21") (ifseqformula "13")) + (rule "add_zero_left" (formula "21") (term "0,0")) + (rule "mul_literals" (formula "21") (term "0,0")) + (rule "leq_literals" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (rule "false_right" (formula "21")) + (rule "inEqSimp_subsumption1" (formula "15") (ifseqformula "4")) + (rule "inEqSimp_homoInEq0" (formula "15") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "15") (term "0,0")) + (rule "add_literals" (formula "15") (term "1,1,0,0")) + (rule "times_zero_1" (formula "15") (term "1,0,0")) + (rule "add_zero_right" (formula "15") (term "0,0")) + (rule "qeq_literals" (formula "15") (term "0")) + (builtin "One Step Simplification" (formula "15")) + (rule "true_left" (formula "15")) + (rule "nnf_imp2or" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "2") (term "0,0,1")) + (rule "applyEq" (formula "1") (term "0,0") (ifseqformula "2")) + (rule "inEqSimp_contradInEq1" (formula "3") (term "1") (ifseqformula "1")) + (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_zero_right" (formula "3") (term "0,0,1")) + (rule "leq_literals" (formula "3") (term "0,1")) + (builtin "One Step Simplification" (formula "3")) + (rule "applyEq" (formula "2") (term "4,0") (ifseqformula "3")) + (rule "eqSymm" (formula "2")) + (rule "applyEq" (formula "1") (term "4,0,0") (ifseqformula "3")) + (rule "applyEq" (formula "2") (term "4,0") (ifseqformula "3")) + (rule "eqSymm" (formula "2")) + (rule "inEqSimp_contradInEq2" (formula "1") (ifseqformula "16")) + (rule "greater_literals" (formula "1") (term "0,1,0")) + (builtin "One Step Simplification" (formula "1")) + (rule "greater_literals" (formula "1") (term "0,0")) + (builtin "One Step Simplification" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "0")) + (rule "polySimp_rightDist" (formula "1") (term "1")) + (rule "mul_literals" (formula "1") (term "0,1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,0")) + (rule "polySimp_pullOutFactor0b" (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 "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) ) ) ) (branch "Case 2" - (rule "allRight" (formula "19") (inst "sk=x_0")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "19") (term "0,0,1") (ifseqformula "5")) - (rule "unlimit_BoyerMoore_count[I\bigint\bigint" (formula "19") (term "1,2,0,0,0,1")) - (rule "castDel" (formula "19") (term "0,0,1")) - (rule "mul_literals" (formula "19") (term "1,1,1")) - (rule "impRight" (formula "19")) - (rule "notLeft" (formula "1")) - (rule "eqSymm" (formula "17")) - (rule "polySimp_elimSub" (formula "20") (term "0,2,0,0,0,2,0,0")) - (rule "mul_literals" (formula "20") (term "1,0,2,0,0,0,2,0,0")) - (rule "polySimp_elimSub" (formula "20") (term "3,1,2,0,0")) - (rule "mul_literals" (formula "20") (term "1,3,1,2,0,0")) - (rule "polySimp_addComm1" (formula "20") (term "1")) - (rule "add_literals" (formula "20") (term "0,1")) - (rule "add_zero_left" (formula "20") (term "1")) - (rule "polySimp_addComm1" (formula "20") (term "0,2,0,0,0,2,0,0")) - (rule "add_literals" (formula "20") (term "0,0,2,0,0,0,2,0,0")) - (rule "add_zero_left" (formula "20") (term "0,2,0,0,0,2,0,0")) - (rule "replace_known_right" (formula "20") (term "0,0,2,0,0") (ifseqformula "17")) - (builtin "One Step Simplification" (formula "20")) - (rule "add_zero_left" (formula "20") (term "2,0,0")) - (rule "polySimp_addComm1" (formula "20") (term "3,2,0,0")) - (rule "add_literals" (formula "20") (term "0,3,2,0,0")) - (rule "add_zero_left" (formula "20") (term "3,2,0,0")) - (rule "inEqSimp_ltToLeq" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "inEqSimp_leqRight" (formula "20")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "polySimp_sepPosMonomial" (formula "1") (term "0,0,1,0")) - (rule "mul_literals" (formula "1") (term "1,0,0,1,0")) - (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_contradEq7" (formula "1") (term "0,0,0") (ifseqformula "12")) - (rule "add_zero_left" (formula "1") (term "0,0,0,0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0,0,0")) - (rule "leq_literals" (formula "1") (term "0,0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "nnf_imp2or" (formula "17") (term "0")) - (builtin "One Step Simplification" (formula "17")) - (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "0,0") (inst "l=l")) - (rule "eqSymm" (formula "1") (term "0,1")) - (rule "replace_known_left" (formula "1") (term "1,0,0,0,0") (ifseqformula "5")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "11")) (ifInst "" (formula "21")) (ifInst "" (formula "6")) (ifInst "" (formula "20")) (ifInst "" (formula "11"))) - (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "9")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) - (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "13")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0") (ifseqformula "4")) - (rule "inEqSimp_homoInEq0" (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_zero_right" (formula "1") (term "0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "16") (term "1") (ifseqformula "7")) - (rule "castDel" (formula "16") (term "1")) - (rule "eqSymm" (formula "16")) - (rule "polySimp_elimSub" (formula "16") (term "0,2,0,0,0,2,0")) - (rule "mul_literals" (formula "16") (term "1,0,2,0,0,0,2,0")) - (rule "polySimp_elimSub" (formula "16") (term "3,1,2,0")) - (rule "mul_literals" (formula "16") (term "1,3,1,2,0")) - (rule "polySimp_addComm0" (formula "16") (term "0,2,0,0,0,2,0")) - (rule "polySimp_addComm0" (formula "16") (term "3,1,2,0")) - (rule "polySimp_addComm0" (formula "16") (term "2,0")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "17") (term "0,0") (ifseqformula "7")) - (rule "castDel" (formula "17") (term "0,0")) - (rule "polySimp_elimSub" (formula "17") (term "3,1,2,0,0")) - (rule "mul_literals" (formula "17") (term "1,3,1,2,0,0")) - (rule "polySimp_elimSub" (formula "17") (term "0,2,0,0,0,2,0,0")) - (rule "mul_literals" (formula "17") (term "1,0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "17") (term "3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "17") (term "0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "17") (term "2,0,0")) - (rule "applyEq" (formula "17") (term "0,0") (ifseqformula "16")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "0,0") (ifseqformula "7")) - (rule "castDel" (formula "2") (term "0,0")) - (rule "polySimp_elimSub" (formula "2") (term "3,1,2,0,0")) - (rule "mul_literals" (formula "2") (term "1,3,1,2,0,0")) - (rule "polySimp_elimSub" (formula "2") (term "0,2,0,0,0,2,0,0")) - (rule "mul_literals" (formula "2") (term "1,0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "2,0,0")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "18") (term "0,0,1,0") (ifseqformula "7")) - (rule "castDel" (formula "18") (term "0,0,1,0")) - (rule "eqSymm" (formula "18") (term "0,0,2,0,0,1,0")) - (rule "polySimp_elimSub" (formula "18") (term "3,1,2,0,0,1,0")) - (rule "mul_literals" (formula "18") (term "1,3,1,2,0,0,1,0")) - (rule "polySimp_elimSub" (formula "18") (term "0,2,1,0,0,2,0,0,1,0")) - (rule "mul_literals" (formula "18") (term "1,0,2,1,0,0,2,0,0,1,0")) - (rule "polySimp_addComm0" (formula "18") (term "3,1,2,0,0,1,0")) - (rule "polySimp_addComm0" (formula "18") (term "0,2,1,0,0,2,0,0,1,0")) - (rule "polySimp_addComm0" (formula "18") (term "2,0,0,1,0")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (ifseqformula "7")) - (rule "castDel" (formula "1") (term "1")) - (rule "polySimp_elimSub" (formula "1") (term "0,2,0,0,0,2,1")) - (rule "mul_literals" (formula "1") (term "1,0,2,0,0,0,2,1")) - (rule "polySimp_elimSub" (formula "1") (term "3,1,2,1")) - (rule "mul_literals" (formula "1") (term "1,3,1,2,1")) - (rule "polySimp_addComm0" (formula "1") (term "0,2,0,0,0,2,1")) - (rule "polySimp_addComm0" (formula "1") (term "3,1,2,1")) - (rule "polySimp_addComm0" (formula "1") (term "2,1")) - (rule "ifthenelse_split" (formula "16") (term "0")) - (branch "k_0 = 0 TRUE" - (rule "replace_known_left" (formula "2") (term "0,0,0") (ifseqformula "16")) - (builtin "One Step Simplification" (formula "2")) - (rule "times_zero_2" (formula "2") (term "0")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "times_zero_2" (formula "2") (term "1,0")) - (rule "add_zero_right" (formula "2") (term "0")) - (rule "applyEq" (formula "2") (term "1,0") (ifseqformula "16")) - (rule "add_zero_right" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) + (rule "allRight" (formula "19") (inst "sk=x_0") (userinteraction)) + (rule "impRight" (formula "19") (userinteraction)) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "20") (term "0,0") (inst "last=last") (ifseqformula "6") (userinteraction)) + (rule "ifthenelse_split" (formula "20") (term "0,0") (userinteraction)) + (branch "1 + k_0 = 0 TRUE" + (rule "times_zero_2" (formula "21") (term "0")) + (rule "mul_literals" (formula "21") (term "1,1")) + (rule "notLeft" (formula "2")) + (rule "eqSymm" (formula "18")) + (rule "polySimp_addComm1" (formula "21") (term "1")) + (rule "add_literals" (formula "21") (term "0,1")) + (rule "add_zero_left" (formula "21") (term "1")) + (rule "inEqSimp_leqRight" (formula "21")) + (rule "add_zero_right" (formula "1") (term "0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0")) + (rule "inEqSimp_ltToLeq" (formula "4")) + (rule "polySimp_mulComm0" (formula "4") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "polySimp_sepPosMonomial" (formula "2")) + (rule "mul_literals" (formula "2") (term "1")) + (rule "applyEqRigid" (formula "18") (term "1,1,0") (ifseqformula "2")) + (rule "applyEq" (formula "13") (term "0") (ifseqformula "2")) + (rule "qeq_literals" (formula "13")) + (rule "closeFalse" (formula "13")) ) - (branch "k_0 = 0 FALSE" - (rule "replace_known_right" (formula "18") (term "0,0,0,1,0") (ifseqformula "19")) - (builtin "One Step Simplification" (formula "18")) - (rule "replace_known_right" (formula "1") (term "0,1") (ifseqformula "19")) - (builtin "One Step Simplification" (formula "1")) - (rule "replace_known_right" (formula "2") (term "0,0,0") (ifseqformula "19")) - (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_homoEq" (formula "16")) - (rule "polySimp_mulComm0" (formula "18") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "2") (term "0")) - (rule "polySimp_mulComm0" (formula "16") (term "1,0")) - (rule "polySimp_rightDist" (formula "18") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "18") (term "0,0,1,0")) - (rule "polySimp_rightDist" (formula "2") (term "0")) - (rule "polySimp_mulComm0" (formula "2") (term "0,0")) - (rule "polySimp_rightDist" (formula "16") (term "1,0")) - (rule "polySimp_mulComm0" (formula "16") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "16") (term "0")) - (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 "polySimp_mulLiterals" (formula "18") (term "1,1,0,1,0")) - (rule "polySimp_mulAssoc" (formula "18") (term "0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "18") (term "0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "18") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "18") (term "0,1,0")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0")) - (rule "polySimp_rightDist" (formula "2") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,1,0")) - (rule "polySimp_mulAssoc" (formula "2") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "2") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0")) - (rule "polySimp_sepNegMonomial" (formula "16")) - (rule "polySimp_mulLiterals" (formula "16") (term "0")) - (rule "polySimp_elimOne" (formula "16") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "18") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "18") (term "0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "ifthenelse_split" (formula "1") (term "1,1")) - (branch "a[-1 + k_0] = x_0 TRUE" - (rule "replace_known_left" (formula "3") (term "0,0,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "3")) - (rule "mul_literals" (formula "3") (term "0")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "mul_literals" (formula "3") (term "1,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "0,0,0")) - (rule "applyEq" (formula "17") (term "0,0,0") (ifseqformula "1")) - (rule "applyEq" (formula "19") (term "1,0,0,0,1,0") (ifseqformula "1")) + (branch "1 + k_0 = 0 FALSE" + (rule "ifthenelse_split" (formula "21") (term "0,0") (userinteraction)) + (branch "a[1 + k_0 - 1] = x_0 TRUE" + (rule "mul_literals" (formula "22") (term "1,1")) + (rule "notLeft" (formula "2")) + (rule "eqSymm" (formula "18")) + (rule "polySimp_elimSub" (formula "22") (term "3,1,0,0")) + (rule "mul_literals" (formula "22") (term "1,3,1,0,0")) + (rule "polySimp_elimSub" (formula "1") (term "0,2,0")) + (rule "mul_literals" (formula "1") (term "1,0,2,0")) + (rule "polySimp_mulComm0" (formula "22") (term "0")) + (rule "polySimp_addComm1" (formula "22") (term "1")) + (rule "add_literals" (formula "22") (term "0,1")) + (rule "add_zero_left" (formula "22") (term "1")) + (rule "polySimp_addComm1" (formula "1") (term "0,2,0")) + (rule "add_literals" (formula "1") (term "0,0,2,0")) + (rule "add_zero_left" (formula "1") (term "0,2,0")) + (rule "close" (formula "18") (ifseqformula "1")) + ) + (branch "a[1 + k_0 - 1] = x_0 FALSE" + (rule "unlimit_BoyerMoore_count[I\bigint\bigint" (formula "22") (term "0,0") (userinteraction)) + (rule "mul_literals" (formula "22") (term "1,1")) + (rule "notLeft" (formula "1")) + (rule "eqSymm" (formula "17")) + (rule "polySimp_elimSub" (formula "21") (term "0,2,0")) + (rule "mul_literals" (formula "21") (term "1,0,2,0")) + (rule "polySimp_elimSub" (formula "22") (term "3,0,0")) + (rule "mul_literals" (formula "22") (term "1,3,0,0")) + (rule "polySimp_addComm1" (formula "22") (term "1")) + (rule "add_literals" (formula "22") (term "0,1")) + (rule "add_zero_left" (formula "22") (term "1")) + (rule "polySimp_addComm1" (formula "21") (term "0,2,0")) + (rule "add_literals" (formula "21") (term "0,0,2,0")) + (rule "add_zero_left" (formula "21") (term "0,2,0")) + (rule "polySimp_addComm1" (formula "21") (term "3,0,0")) + (rule "add_literals" (formula "21") (term "0,3,0,0")) + (rule "add_zero_left" (formula "21") (term "3,0,0")) + (rule "inEqSimp_ltToLeq" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "inEqSimp_leqRight" (formula "21")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "polySimp_sepPosMonomial" (formula "21")) + (rule "mul_literals" (formula "21") (term "1")) (rule "inEqSimp_sepNegMonomial0" (formula "3")) (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "ifthenelse_split" (formula "17") (term "0")) - (branch "x_0 = mx_0 TRUE" - (rule "polySimp_homoEq" (formula "18")) - (rule "mul_literals" (formula "18") (term "1,0")) - (rule "polySimp_addComm1" (formula "18") (term "0")) - (rule "polySimp_addComm0" (formula "18") (term "0,0")) - (rule "applyEqRigid" (formula "3") (term "4,0,0") (ifseqformula "17")) - (rule "polySimp_sepNegMonomial" (formula "18")) - (rule "polySimp_mulLiterals" (formula "18") (term "0")) - (rule "polySimp_elimOne" (formula "18") (term "0")) - (rule "applyEq" (formula "3") (term "0,0") (ifseqformula "18")) - (rule "polySimp_mulComm0" (formula "3") (term "0")) - (rule "polySimp_rightDist" (formula "3") (term "0")) - (rule "mul_literals" (formula "3") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0")) - (rule "polySimp_rightDist" (formula "3") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,1,0")) - (rule "mul_literals" (formula "3") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "3") (term "0")) - (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "add_literals" (formula "3") (term "0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "inEqSimp_contradInEq2" (formula "3") (ifseqformula "19")) - (rule "greater_literals" (formula "3") (term "0,1,0")) - (builtin "One Step Simplification" (formula "3")) - (rule "greater_literals" (formula "3") (term "0,0")) - (builtin "One Step Simplification" (formula "3")) - (rule "andLeft" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "0")) - (rule "polySimp_rightDist" (formula "3") (term "1")) - (rule "mul_literals" (formula "3") (term "0,1")) - (rule "inEqSimp_homoInEq1" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) - (rule "polySimp_pullOutFactor0b" (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 "x_0 = mx_0 FALSE" - (rule "allLeft" (formula "19") (inst "t=x_0")) - (builtin "One Step Simplification" (formula "19") (ifInst "" (formula "21"))) - (rule "mul_literals" (formula "19") (term "0")) - (rule "inEqSimp_homoInEq0" (formula "19")) - (rule "mul_literals" (formula "19") (term "1,0")) - (rule "polySimp_addComm1" (formula "19") (term "0")) - (rule "polySimp_addComm0" (formula "19") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "19")) - (rule "polySimp_mulLiterals" (formula "19") (term "0")) - (rule "inEqSimp_contradInEq4" (formula "19") (ifseqformula "3")) - (rule "greater_literals" (formula "19") (term "0,1,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "greater_literals" (formula "19") (term "0,0")) - (builtin "One Step Simplification" (formula "19")) - (rule "andLeft" (formula "19")) - (rule "polySimp_rightDist" (formula "19") (term "1")) - (rule "mul_literals" (formula "19") (term "0,1")) - (rule "polySimp_rightDist" (formula "19") (term "0")) - (rule "mul_literals" (formula "19") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "19")) - (rule "polySimp_mulComm0" (formula "19") (term "1,0")) - (rule "polySimp_rightDist" (formula "19") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "19") (term "1,1,0")) - (rule "mul_literals" (formula "19") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "19") (term "0")) - (rule "polySimp_addComm1" (formula "19") (term "0,0")) - (rule "add_literals" (formula "19") (term "0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "19") (term "0")) - (rule "add_literals" (formula "19") (term "1,1,0")) - (rule "times_zero_1" (formula "19") (term "1,0")) - (rule "add_zero_right" (formula "19") (term "0")) - (rule "leq_literals" (formula "19")) - (rule "closeFalse" (formula "19")) - ) - ) - (branch "a[-1 + k_0] = x_0 FALSE" - (rule "replace_known_right" (formula "2") (term "0,0,0") (ifseqformula "19")) - (builtin "One Step Simplification" (formula "2")) - (rule "times_zero_2" (formula "2") (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_contradEq7" (formula "21") (ifseqformula "12")) + (rule "mul_literals" (formula "21") (term "1,0,0")) + (rule "add_zero_left" (formula "21") (term "0,0")) + (rule "leq_literals" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (rule "false_right" (formula "21")) + (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "3")) + (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_zero_right" (formula "14") (term "0,0")) + (rule "qeq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) + (rule "nnf_imp2or" (formula "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "1") (term "0,0")) + (rule "allLeft" (formula "17") (inst "t=x_0")) + (rule "inEqSimp_contradInEq4" (formula "17") (term "1") (ifseqformula "2")) + (rule "greater_literals" (formula "17") (term "0,0,1")) + (builtin "One Step Simplification" (formula "17")) + (rule "greater_literals" (formula "17") (term "0,0,1")) + (builtin "One Step Simplification" (formula "17")) + (rule "polySimp_mulComm0" (formula "17") (term "0,0,1")) + (rule "polySimp_rightDist" (formula "17") (term "1,0,1")) + (rule "mul_literals" (formula "17") (term "0,1,0,1")) + (rule "inEqSimp_homoInEq1" (formula "17") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "17") (term "1,0,0,1")) + (rule "polySimp_pullOutFactor0b" (formula "17") (term "0,0,1")) + (rule "add_literals" (formula "17") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "17") (term "1,0,0,1")) + (rule "add_zero_right" (formula "17") (term "0,0,1")) + (rule "leq_literals" (formula "17") (term "0,1")) + (builtin "One Step Simplification" (formula "17")) + (rule "applyEq" (formula "2") (term "4,0,0") (ifseqformula "17")) + (rule "applyEqRigid" (formula "1") (term "4,0") (ifseqformula "17")) + (rule "applyEq" (formula "15") (term "0") (ifseqformula "1")) + (rule "applyEqRigid" (formula "15") (term "4,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "15")) + (rule "true_left" (formula "15")) + (rule "applyEqRigid" (formula "1") (term "4,1") (ifseqformula "16")) + (rule "applyEqRigid" (formula "18") (term "1") (ifseqformula "16")) + (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "15")) + (rule "andLeft" (formula "2")) (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "times_zero_2" (formula "2") (term "1,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_zero_right" (formula "2") (term "0")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "ifthenelse_split" (formula "16") (term "0")) - (branch "a[-1 + k_0] = mx_0 TRUE" - (rule "applyEq" (formula "20") (term "0") (ifseqformula "16")) - (rule "eqSymm" (formula "20")) - (rule "applyEq" (formula "19") (term "1,0,0,0,1,0") (ifseqformula "16")) - (rule "allLeft" (formula "19") (inst "t=x_0")) - (rule "replace_known_right" (formula "19") (term "0") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "19") (ifInst "" (formula "21"))) - (rule "times_zero_2" (formula "19") (term "0")) - (rule "inEqSimp_homoInEq0" (formula "19")) - (rule "times_zero_2" (formula "19") (term "1,0")) - (rule "add_zero_right" (formula "19") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "19")) - (rule "polySimp_mulLiterals" (formula "19") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "19")) - (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_zero_right" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) - ) - (branch "a[-1 + k_0] = mx_0 FALSE" - (rule "polySimp_homoEq" (formula "16")) - (rule "times_zero_2" (formula "16") (term "1,0")) - (rule "add_zero_right" (formula "16") (term "0")) - (rule "polySimp_sepNegMonomial" (formula "16")) - (rule "polySimp_mulLiterals" (formula "16") (term "0")) - (rule "polySimp_elimOne" (formula "16") (term "0")) - (rule "allLeft" (formula "18") (inst "t=x_0")) - (rule "eqSymm" (formula "18") (term "0,0,0,1")) - (rule "replace_known_right" (formula "18") (term "0,0,0,1") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "18")) - (rule "times_zero_2" (formula "18") (term "0,1")) - (rule "inEqSimp_homoInEq0" (formula "18") (term "1")) - (rule "times_zero_2" (formula "18") (term "1,0,1")) - (rule "add_zero_right" (formula "18") (term "0,1")) - (rule "inEqSimp_sepNegMonomial1" (formula "18") (term "1")) - (rule "polySimp_mulLiterals" (formula "18") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "18") (term "1") (ifseqformula "2")) - (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_zero_right" (formula "18") (term "0,0,1")) - (rule "leq_literals" (formula "18") (term "0,1")) - (builtin "One Step Simplification" (formula "18")) - (rule "applyEq" (formula "2") (term "4,0,0") (ifseqformula "18")) - (rule "applyEq" (formula "2") (term "0,0") (ifseqformula "16")) - (rule "inEqSimp_contradInEq2" (formula "2") (ifseqformula "17")) - (rule "greater_literals" (formula "2") (term "0,0")) - (builtin "One Step Simplification" (formula "2")) - (rule "greater_literals" (formula "2") (term "0,0")) - (builtin "One Step Simplification" (formula "2")) - (rule "andLeft" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "0")) - (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "mul_literals" (formula "2") (term "0,1")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,0")) - (rule "polySimp_pullOutFactor0b" (formula "2") (term "0")) - (rule "add_literals" (formula "2") (term "1,1,0")) - (rule "times_zero_1" (formula "2") (term "1,0")) - (rule "add_zero_right" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) - ) + (rule "leq_literals" (formula "2")) + (rule "closeFalse" (formula "2")) ) ) ) ) - (branch + (branch "Case 2" (rule "polySimp_mulComm0" (formula "19") (term "0,0")) (rule "polySimp_rightDist" (formula "19") (term "0,0")) (rule "mul_literals" (formula "19") (term "0,0,0")) @@ -1136,8 +663,8 @@ (rule "add_zero_right" (formula "1") (term "0")) (rule "polySimp_rightDist" (formula "1") (term "1,0")) (rule "polySimp_rightDist" (formula "1") (term "0,1,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1,0")) (rule "mul_literals" (formula "1") (term "0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1,0")) (rule "polySimp_elimOne" (formula "1") (term "1,0,1,0")) (rule "polySimp_addAssoc" (formula "1") (term "0")) (rule "polySimp_addAssoc" (formula "1") (term "0,0")) @@ -1149,15 +676,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_zero_right" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) ) ) (branch "Null Reference (mc == 0 = null)" @@ -1166,29 +693,47 @@ ) (branch "Index Out of Bounds (mc == 0 != null, but k < _a.length Out of Bounds!)" (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) + (rule "false_right" (formula "21")) (rule "inEqSimp_ltToLeq" (formula "3")) (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) (rule "polySimp_addComm1" (formula "3") (term "0")) (rule "inEqSimp_ltToLeq" (formula "1") (term "1")) (rule "times_zero_1" (formula "1") (term "1,0,0,1")) (rule "add_zero_right" (formula "1") (term "0,0,1")) + (rule "applyEqRigid" (formula "17") (term "1,1") (ifseqformula "2")) + (rule "add_zero_right" (formula "17") (term "1")) + (rule "applyEqRigid" (formula "18") (term "0,1,1,1,0") (ifseqformula "2")) + (rule "times_zero_2" (formula "18") (term "1,1,1,0")) + (rule "add_zero_right" (formula "18") (term "1,1,0")) + (rule "applyEqRigid" (formula "15") (term "0") (ifseqformula "2")) + (rule "qeq_literals" (formula "15")) + (rule "true_left" (formula "15")) (rule "inEqSimp_sepNegMonomial0" (formula "3")) (rule "polySimp_mulLiterals" (formula "3") (term "0")) (rule "polySimp_elimOne" (formula "3") (term "0")) (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1")) (rule "mul_literals" (formula "1") (term "1,1")) + (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "3")) + (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_zero_right" (formula "14") (term "0,0")) + (rule "qeq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) (rule "inEqSimp_contradInEq1" (formula "1") (term "1") (ifseqformula "12")) (rule "qeq_literals" (formula "1") (term "0,1")) (builtin "One Step Simplification" (formula "1")) - (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_zero_right" (formula "1") (term "0")) - (rule "leq_literals" (formula "1")) - (rule "closeFalse" (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_zero_right" (formula "3") (term "0")) + (rule "leq_literals" (formula "3")) + (rule "closeFalse" (formula "3")) ) ) (branch "if mc == 0 false" @@ -1245,7 +790,7 @@ (rule "emptyModality" (formula "21") (term "1")) (builtin "One Step Simplification" (formula "21")) (rule "andRight" (formula "21")) - (branch + (branch "Case 1" (rule "andRight" (formula "21")) (branch "Case 1" (rule "andRight" (formula "21")) @@ -1259,12 +804,35 @@ (rule "add_zero_right" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0")) (rule "add_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_ltToLeq" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "3") (term "0")) (rule "inEqSimp_sepPosMonomial0" (formula "1")) (rule "mul_literals" (formula "1") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "12")) - (rule "qeq_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "closeFalse" (formula "1")) + (rule "inEqSimp_sepNegMonomial0" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "inEqSimp_strengthen1" (formula "15") (ifseqformula "19")) + (rule "add_zero_right" (formula "15") (term "1")) + (rule "inEqSimp_contradEq7" (formula "19") (ifseqformula "15")) + (rule "times_zero_1" (formula "19") (term "1,0,0")) + (rule "add_zero_right" (formula "19") (term "0,0")) + (rule "leq_literals" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "false_right" (formula "19")) + (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "3")) + (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_zero_right" (formula "14") (term "0,0")) + (rule "qeq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) + (rule "inEqSimp_contradInEq0" (formula "12") (ifseqformula "1")) + (rule "qeq_literals" (formula "12") (term "0")) + (builtin "One Step Simplification" (formula "12")) + (rule "closeFalse" (formula "12")) ) (branch "Case 2" (rule "inEqSimp_geqRight" (formula "21")) @@ -1282,15 +850,32 @@ (rule "inEqSimp_sepNegMonomial0" (formula "3")) (rule "polySimp_mulLiterals" (formula "3") (term "0")) (rule "polySimp_elimOne" (formula "3") (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_strengthen1" (formula "15") (ifseqformula "19")) + (rule "add_zero_right" (formula "15") (term "1")) + (rule "inEqSimp_contradEq7" (formula "19") (ifseqformula "15")) + (rule "times_zero_1" (formula "19") (term "1,0,0")) + (rule "add_zero_right" (formula "19") (term "0,0")) + (rule "leq_literals" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "false_right" (formula "19")) + (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "3")) + (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_zero_right" (formula "14") (term "0,0")) + (rule "qeq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) + (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_zero_right" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) ) ) (branch "Case 2" @@ -1299,8 +884,20 @@ (rule "add_zero_right" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0")) (rule "add_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_ltToLeq" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "3") (term "0")) (rule "inEqSimp_sepPosMonomial0" (formula "1")) (rule "mul_literals" (formula "1") (term "1")) + (rule "inEqSimp_sepNegMonomial0" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "inEqSimp_contradEq3" (formula "19") (ifseqformula "1")) + (rule "times_zero_1" (formula "19") (term "1,0,0")) + (rule "add_zero_right" (formula "19") (term "0,0")) + (rule "qeq_literals" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "false_right" (formula "19")) (rule "inEqSimp_contradInEq0" (formula "15") (ifseqformula "1")) (rule "qeq_literals" (formula "15") (term "0")) (builtin "One Step Simplification" (formula "15")) @@ -1308,9 +905,27 @@ ) ) (branch "Case 2" + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "21") (term "0,0") (inst "last=last") (ifseqformula "5") (userinteraction)) + (rule "polySimp_elimSub" (formula "21") (term "0,2,0,0,2,0,0")) + (rule "mul_literals" (formula "21") (term "1,0,2,0,0,2,0,0")) + (rule "polySimp_elimSub" (formula "21") (term "3,2,2,0,0")) + (rule "mul_literals" (formula "21") (term "1,3,2,2,0,0")) + (rule "polySimp_elimSub" (formula "21") (term "3,1,1,2,0,0")) + (rule "mul_literals" (formula "21") (term "1,3,1,1,2,0,0")) + (rule "polySimp_addComm1" (formula "21") (term "0,2,0,0,2,0,0")) + (rule "add_literals" (formula "21") (term "0,0,2,0,0,2,0,0")) + (rule "add_zero_left" (formula "21") (term "0,2,0,0,2,0,0")) + (rule "replace_known_left" (formula "21") (term "0,2,0,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "polySimp_addComm1" (formula "21") (term "3,1,2,0,0")) + (rule "add_literals" (formula "21") (term "0,3,1,2,0,0")) + (rule "add_zero_left" (formula "21") (term "3,1,2,0,0")) (rule "polySimp_addAssoc" (formula "21") (term "1")) (rule "polySimp_addComm1" (formula "21") (term "0,1")) (rule "add_literals" (formula "21") (term "0,0,1")) + (rule "inEqSimp_ltToLeq" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "2") (term "0")) (rule "inEqSimp_leqRight" (formula "21")) (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) (rule "polySimp_rightDist" (formula "1") (term "0,1,0,0")) @@ -1318,9 +933,12 @@ (rule "polySimp_addAssoc" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "inEqSimp_ltToLeq" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) + (rule "applyEq" (formula "1") (term "1,2,0,1,0") (ifseqformula "16")) + (rule "polySimp_sepPosMonomial" (formula "1") (term "0,0,1,0")) + (rule "mul_literals" (formula "1") (term "1,0,0,1,0")) + (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")) @@ -1330,480 +948,201 @@ (rule "mul_literals" (formula "1") (term "0,0,1")) (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1")) (rule "polySimp_elimOne" (formula "1") (term "1,0,1")) - (rule "inEqSimp_sepNegMonomial0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) - (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "17") (term "0,0") (inst "l=l")) - (rule "eqSymm" (formula "17") (term "0,1")) - (rule "replace_known_right" (formula "17") (term "0,1,0,0") (ifseqformula "21")) - (builtin "One Step Simplification" (formula "17") (ifInst "" (formula "10")) (ifInst "" (formula "22")) (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "10"))) - (rule "measuredByCheckEmpty" (formula "17") (term "1,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "17")) - (rule "inEqSimp_commuteLeq" (formula "17") (term "0,0")) - (rule "replace_known_left" (formula "17") (term "0,0") (ifseqformula "12")) - (builtin "One Step Simplification" (formula "17")) - (rule "inEqSimp_commuteLeq" (formula "17") (term "0")) - (rule "inEqSimp_subsumption1" (formula "17") (term "0") (ifseqformula "3")) - (rule "inEqSimp_homoInEq0" (formula "17") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "17") (term "0,0,0")) - (rule "add_literals" (formula "17") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "17") (term "1,0,0,0")) - (rule "add_zero_right" (formula "17") (term "0,0,0")) - (rule "qeq_literals" (formula "17") (term "0,0")) - (builtin "One Step Simplification" (formula "17")) - (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "0,0") (inst "l=l")) - (rule "eqSymm" (formula "1") (term "0,1")) - (rule "replace_known_left" (formula "1") (term "1,0,0,0") (ifseqformula "6")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "11")) (ifInst "" (formula "23")) (ifInst "" (formula "5")) (ifInst "" (formula "22")) (ifInst "" (formula "11"))) - (rule "bsum_induction_upper_concrete" (formula "1") (term "0,1")) - (rule "replace_known_left" (formula "1") (term "0,1,1,0,1") (ifseqformula "3")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_homoEq" (formula "1") (term "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,1")) - (rule "polySimp_addComm0" (formula "1") (term "1,1,0,1")) - (rule "polySimp_rightDist" (formula "1") (term "1,0,1")) - (rule "polySimp_mulComm0" (formula "1") (term "0,1,0,1")) - (rule "polySimp_addAssoc" (formula "1") (term "0,1")) - (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "9")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0,1,0,0,1")) - (rule "replace_known_left" (formula "1") (term "0,0,1,0,0,1") (ifseqformula "13")) - (builtin "One Step Simplification" (formula "1")) - (rule "mul_literals" (formula "1") (term "1,0,0,1")) - (rule "polySimp_addComm0" (formula "1") (term "0,0,1")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "1,0")) - (rule "replace_known_left" (formula "1") (term "1,0") (ifseqformula "4")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0")) - (rule "times_zero_2" (formula "1") (term "1,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0")) - (rule "applyEq" (formula "1") (term "0,1,0,1") (ifseqformula "18")) - (rule "polySimp_addComm1" (formula "1") (term "0,1")) - (rule "polySimp_sepPosMonomial" (formula "1") (term "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1,1")) - (rule "polySimp_rightDist" (formula "1") (term "1,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,1")) - (rule "mul_literals" (formula "1") (term "0,1,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0")) - (rule "mul_literals" (formula "1") (term "1,0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0") (ifseqformula "13")) - (rule "leq_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_contradEq7" (formula "1") (term "0,0,0") (ifseqformula "12")) + (rule "add_zero_left" (formula "1") (term "0,0,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,0,0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0,0,0")) (builtin "One Step Simplification" (formula "1")) - (rule "applyEq" (formula "2") (term "0,0") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "2") (term "0")) - (rule "polySimp_rightDist" (formula "2") (term "0")) - (rule "mul_literals" (formula "2") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0")) - (rule "polySimp_rightDist" (formula "2") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,1,0")) - (rule "mul_literals" (formula "2") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0")) - (rule "polySimp_addComm1" (formula "2") (term "0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0,0,0")) - (rule "add_literals" (formula "2") (term "0,0,0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "19")) - (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 "polySimp_mulComm0" (formula "2") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "2") (term "0")) - (rule "polySimp_addComm1" (formula "2") (term "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_zero_right" (formula "2") (term "0,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_zero_right" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) + (rule "polySimp_mulComm0" (formula "1") (term "0")) + (rule "polySimp_rightDist" (formula "1") (term "0")) + (rule "mul_literals" (formula "1") (term "0,0")) + (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_mulLiterals" (formula "1") (term "1,1,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0")) + (rule "polySimp_addComm1" (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 "inEqSimp_sepNegMonomial0" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "inEqSimp_strengthen1" (formula "15") (ifseqformula "19")) + (rule "add_zero_right" (formula "15") (term "1")) + (rule "inEqSimp_contradEq7" (formula "19") (ifseqformula "15")) + (rule "times_zero_1" (formula "19") (term "1,0,0")) + (rule "add_zero_right" (formula "19") (term "0,0")) + (rule "leq_literals" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "false_right" (formula "19")) + (rule "inEqSimp_contradInEq1" (formula "17") (ifseqformula "1")) + (rule "andLeft" (formula "17")) + (rule "inEqSimp_homoInEq1" (formula "17")) + (rule "polySimp_mulComm0" (formula "17") (term "1,0")) + (rule "polySimp_rightDist" (formula "17") (term "1,0")) + (rule "polySimp_mulComm0" (formula "17") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "17") (term "0")) + (rule "polySimp_addComm1" (formula "17") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "17") (term "0")) + (rule "add_literals" (formula "17") (term "1,1,0")) + (rule "times_zero_1" (formula "17") (term "1,0")) + (rule "add_zero_right" (formula "17") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "17") (term "0")) + (rule "add_literals" (formula "17") (term "1,1,0")) + (rule "times_zero_1" (formula "17") (term "1,0")) + (rule "add_zero_right" (formula "17") (term "0")) + (rule "leq_literals" (formula "17")) + (rule "closeFalse" (formula "17")) ) ) (branch "Case 2" - (rule "allRight" (formula "21") (inst "sk=x_0")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "21") (term "0,0,1") (ifseqformula "5")) - (rule "unlimit_BoyerMoore_count[I\bigint\bigint" (formula "21") (term "1,2,0,0,0,1")) - (rule "castDel" (formula "21") (term "0,0,1")) - (rule "impRight" (formula "21")) - (rule "notLeft" (formula "1")) - (rule "polySimp_elimSub" (formula "22") (term "3,1,2,0,0")) - (rule "mul_literals" (formula "22") (term "1,3,1,2,0,0")) - (rule "polySimp_elimSub" (formula "22") (term "0,2,0,0,0,2,0,0")) - (rule "mul_literals" (formula "22") (term "1,0,2,0,0,0,2,0,0")) - (rule "polySimp_mulComm0" (formula "22") (term "1,1")) - (rule "polySimp_addComm1" (formula "22") (term "3,1,2,0,0")) - (rule "add_literals" (formula "22") (term "0,3,1,2,0,0")) - (rule "add_zero_left" (formula "22") (term "3,1,2,0,0")) - (rule "polySimp_addComm1" (formula "22") (term "0,2,0,0,0,2,0,0")) - (rule "add_literals" (formula "22") (term "0,0,2,0,0,0,2,0,0")) - (rule "add_zero_left" (formula "22") (term "0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "22") (term "2,0,0")) - (rule "polySimp_rightDist" (formula "22") (term "1,1")) - (rule "mul_literals" (formula "22") (term "0,1,1")) - (rule "polySimp_addAssoc" (formula "22") (term "1")) - (rule "polySimp_addComm1" (formula "22") (term "0,1")) - (rule "add_literals" (formula "22") (term "0,0,1")) - (rule "add_zero_left" (formula "22") (term "0,1")) - (rule "inEqSimp_ltToLeq" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "inEqSimp_leqRight" (formula "22")) - (rule "polySimp_rightDist" (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 "polySimp_mulComm0" (formula "1") (term "0,1,0,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "applyEq" (formula "1") (term "0,0,1,2,0,1,0") (ifseqformula "2")) - (rule "eqSymm" (formula "1") (term "0,1,2,0,1,0")) - (rule "replace_known_right" (formula "1") (term "0,1,2,0,1,0") (ifseqformula "19")) - (builtin "One Step Simplification" (formula "1")) - (rule "add_zero_right" (formula "1") (term "2,0,1,0")) - (rule "polySimp_sepPosMonomial" (formula "1") (term "0,0,1,0")) - (rule "mul_literals" (formula "1") (term "1,0,0,1,0")) - (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 "polySimp_rightDist" (formula "1") (term "0,1")) - (rule "mul_literals" (formula "1") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,0,1")) - (rule "inEqSimp_contradEq7" (formula "1") (term "0,0,0") (ifseqformula "12")) - (rule "add_zero_left" (formula "1") (term "0,0,0,0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0,0,0")) - (rule "leq_literals" (formula "1") (term "0,0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_strengthen1" (formula "15") (ifseqformula "20")) - (rule "add_zero_right" (formula "15") (term "1")) - (rule "nnf_imp2or" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) - (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "0,0") (inst "l=l")) - (rule "eqSymm" (formula "1") (term "0,1")) - (rule "replace_known_right" (formula "1") (term "0,1,1,0,0,0,0,0") (ifseqformula "23")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "11")) (ifInst "" (formula "5")) (ifInst "" (formula "6")) (ifInst "" (formula "22")) (ifInst "" (formula "11"))) - (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "9")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) - (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "13")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0") (ifseqformula "4")) - (rule "inEqSimp_homoInEq0" (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_zero_right" (formula "1") (term "0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "17") (term "1") (ifseqformula "7")) - (rule "castDel" (formula "17") (term "1")) - (rule "eqSymm" (formula "17")) - (rule "polySimp_elimSub" (formula "17") (term "0,2,0,0,0,2,0")) - (rule "mul_literals" (formula "17") (term "1,0,2,0,0,0,2,0")) - (rule "polySimp_elimSub" (formula "17") (term "3,1,2,0")) - (rule "mul_literals" (formula "17") (term "1,3,1,2,0")) - (rule "polySimp_addComm0" (formula "17") (term "0,2,0,0,0,2,0")) - (rule "polySimp_addComm0" (formula "17") (term "3,1,2,0")) - (rule "polySimp_addComm0" (formula "17") (term "2,0")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "0,0") (ifseqformula "7")) - (rule "castDel" (formula "2") (term "0,0")) - (rule "polySimp_elimSub" (formula "2") (term "3,1,2,0,0")) - (rule "mul_literals" (formula "2") (term "1,3,1,2,0,0")) - (rule "polySimp_elimSub" (formula "2") (term "0,2,0,0,0,2,0,0")) - (rule "mul_literals" (formula "2") (term "1,0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "2") (term "2,0,0")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "19") (term "0,0,1,0") (ifseqformula "7")) - (rule "castDel" (formula "19") (term "0,0,1,0")) - (rule "eqSymm" (formula "19") (term "0,0,2,0,0,1,0")) - (rule "polySimp_elimSub" (formula "19") (term "3,1,2,0,0,1,0")) - (rule "mul_literals" (formula "19") (term "1,3,1,2,0,0,1,0")) - (rule "polySimp_elimSub" (formula "19") (term "0,2,1,0,0,2,0,0,1,0")) - (rule "mul_literals" (formula "19") (term "1,0,2,1,0,0,2,0,0,1,0")) - (rule "polySimp_addComm0" (formula "19") (term "3,1,2,0,0,1,0")) - (rule "polySimp_addComm0" (formula "19") (term "0,2,1,0,0,2,0,0,1,0")) - (rule "polySimp_addComm0" (formula "19") (term "2,0,0,1,0")) - (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "1") (term "1")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "8")) - (rule "castDel" (formula "2") (term "1")) - (rule "polySimp_elimSub" (formula "2") (term "0,2,0,0,0,2,1")) - (rule "mul_literals" (formula "2") (term "1,0,2,0,0,0,2,1")) - (rule "polySimp_elimSub" (formula "2") (term "3,1,2,1")) - (rule "mul_literals" (formula "2") (term "1,3,1,2,1")) - (rule "polySimp_addComm0" (formula "2") (term "0,2,0,0,0,2,1")) - (rule "polySimp_addComm0" (formula "2") (term "3,1,2,1")) - (rule "polySimp_addComm0" (formula "2") (term "2,1")) - (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (inst "l=l")) - (rule "eqSymm" (formula "1") (term "0,1")) - (rule "replace_known_left" (formula "1") (term "1,0,0,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "25")) (ifInst "" (formula "7")) (ifInst "" (formula "24"))) - (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "11")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "1,0,0")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0,0")) - (rule "replace_known_left" (formula "1") (term "0,0,0") (ifseqformula "15")) - (builtin "One Step Simplification" (formula "1")) - (rule "applyEq" (formula "1") (term "0,0,1") (ifseqformula "3")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "6")) - (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_zero_right" (formula "1") (term "0,0,0,0")) - (rule "qeq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "9")) - (rule "castDel" (formula "2") (term "1")) - (rule "eqSymm" (formula "2")) - (rule "polySimp_elimSub" (formula "2") (term "3,1,2,0")) - (rule "mul_literals" (formula "2") (term "1,3,1,2,0")) - (rule "polySimp_elimSub" (formula "2") (term "0,2,0,0,0,2,0")) - (rule "mul_literals" (formula "2") (term "1,0,2,0,0,0,2,0")) - (rule "polySimp_addComm0" (formula "2") (term "3,1,2,0")) - (rule "polySimp_addComm0" (formula "2") (term "0,2,0,0,0,2,0")) - (rule "polySimp_addComm0" (formula "2") (term "2,0")) - (rule "applyEq" (formula "1") (term "0,0,1") (ifseqformula "2")) - (rule "applyEq" (formula "4") (term "0,0") (ifseqformula "2")) - (rule "Class_invariant_axiom_for_BoyerMoore" (formula "1") (term "1,1") (ifseqformula "9")) - (builtin "One Step Simplification" (formula "1")) - (rule "Class_invariant_axiom_for_BoyerMoore" (formula "1") (term "0") (ifseqformula "9")) - (builtin "One Step Simplification" (formula "1")) - (rule "applyEq" (formula "4") (term "0,0") (ifseqformula "1")) - (rule "applyEq" (formula "2") (term "1") (ifseqformula "1")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (ifseqformula "9")) - (rule "castDel" (formula "1") (term "1")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_elimSub" (formula "1") (term "0,2,0,0,0,2,0")) - (rule "mul_literals" (formula "1") (term "1,0,2,0,0,0,2,0")) - (rule "polySimp_elimSub" (formula "1") (term "3,1,2,0")) - (rule "mul_literals" (formula "1") (term "1,3,1,2,0")) - (rule "polySimp_addComm0" (formula "1") (term "0,2,0,0,0,2,0")) - (rule "polySimp_addComm0" (formula "1") (term "3,1,2,0")) - (rule "polySimp_addComm0" (formula "1") (term "2,0")) - (rule "applyEq" (formula "2") (term "0") (ifseqformula "1")) - (rule "applyEq" (formula "1") (term "1") (ifseqformula "2")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "9")) - (rule "castDel" (formula "2") (term "1")) - (rule "eqSymm" (formula "2")) - (rule "polySimp_elimSub" (formula "2") (term "0,2,0,0,0,2,0")) - (rule "mul_literals" (formula "2") (term "1,0,2,0,0,0,2,0")) - (rule "polySimp_elimSub" (formula "2") (term "3,1,2,0")) - (rule "mul_literals" (formula "2") (term "1,3,1,2,0")) - (rule "polySimp_addComm0" (formula "2") (term "0,2,0,0,0,2,0")) - (rule "polySimp_addComm0" (formula "2") (term "3,1,2,0")) - (rule "polySimp_addComm0" (formula "2") (term "2,0")) - (rule "applyEq" (formula "1") (term "0") (ifseqformula "2")) - (rule "applyEq" (formula "2") (term "1") (ifseqformula "1")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,0") (ifseqformula "9")) - (rule "castDel" (formula "4") (term "0,0")) - (rule "polySimp_elimSub" (formula "4") (term "0,2,0,0,0,2,0,0")) - (rule "mul_literals" (formula "4") (term "1,0,2,0,0,0,2,0,0")) - (rule "polySimp_elimSub" (formula "4") (term "3,1,2,0,0")) - (rule "mul_literals" (formula "4") (term "1,3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "4") (term "0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "4") (term "3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "4") (term "2,0,0")) - (rule "applyEq" (formula "4") (term "0,0") (ifseqformula "2")) - (rule "ifthenelse_split" (formula "19") (term "0")) - (branch "k_0 = 0 TRUE" - (rule "replace_known_left" (formula "22") (term "0,0,0,1,0") (ifseqformula "19")) - (builtin "One Step Simplification" (formula "22")) - (rule "times_zero_2" (formula "22") (term "0,1,0")) - (rule "inEqSimp_homoInEq0" (formula "22") (term "1,0")) - (rule "times_zero_2" (formula "22") (term "1,0,1,0")) - (rule "add_zero_right" (formula "22") (term "0,1,0")) - (rule "applyEqRigid" (formula "22") (term "0,0,1,0") (ifseqformula "19")) - (rule "add_zero_left" (formula "22") (term "0,1,0")) - (rule "inEqSimp_invertInEq1" (formula "22") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "22") (term "0,1,0")) - (rule "times_zero_2" (formula "22") (term "1,1,0")) - (rule "polySimp_elimOne" (formula "22") (term "0,1,0")) - (rule "inEqSimp_contradInEq1" (formula "22") (term "1,0") (ifseqformula "18")) - (rule "qeq_literals" (formula "22") (term "0,1,0")) - (builtin "One Step Simplification" (formula "22")) - (rule "closeFalse" (formula "22")) + (rule "allRight" (formula "21") (inst "sk=x_0") (userinteraction)) + (rule "impRight" (formula "21") (userinteraction)) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "22") (term "0,0") (inst "last=last") (ifseqformula "6") (userinteraction)) + (rule "ifthenelse_split" (formula "22") (term "0,0") (userinteraction)) + (branch "1 + k_0 = 0 TRUE" + (rule "times_zero_2" (formula "23") (term "0")) + (rule "notLeft" (formula "2")) + (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_addAssoc" (formula "23") (term "1")) + (rule "polySimp_addComm1" (formula "23") (term "0,1")) + (rule "add_literals" (formula "23") (term "0,0,1")) + (rule "add_zero_left" (formula "23") (term "0,1")) + (rule "inEqSimp_leqRight" (formula "23")) + (rule "add_zero_right" (formula "1") (term "0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0")) + (rule "inEqSimp_ltToLeq" (formula "4")) + (rule "polySimp_mulComm0" (formula "4") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "polySimp_sepPosMonomial" (formula "2")) + (rule "mul_literals" (formula "2") (term "1")) + (rule "applyEq" (formula "18") (term "3,0,0") (ifseqformula "2")) + (rule "applyEq" (formula "13") (term "0") (ifseqformula "2")) + (rule "qeq_literals" (formula "13")) + (rule "closeFalse" (formula "13")) ) - (branch "k_0 = 0 FALSE" - (rule "replace_known_right" (formula "21") (term "0,0,0,1,0") (ifseqformula "22")) - (builtin "One Step Simplification" (formula "21")) - (rule "replace_known_right" (formula "2") (term "0,0") (ifseqformula "22")) + (branch "1 + k_0 = 0 FALSE" + (rule "unlimit_BoyerMoore_count[I\bigint\bigint" (formula "23") (term "1,1,0,0") (userinteraction)) + (rule "unlimit_BoyerMoore_count[I\bigint\bigint" (formula "23") (term "2,0,0") (userinteraction)) + (rule "notLeft" (formula "1")) + (rule "polySimp_elimSub" (formula "23") (term "3,1,1,0,0")) + (rule "mul_literals" (formula "23") (term "1,3,1,1,0,0")) + (rule "polySimp_elimSub" (formula "23") (term "3,2,0,0")) + (rule "mul_literals" (formula "23") (term "1,3,2,0,0")) + (rule "polySimp_elimSub" (formula "23") (term "0,2,0,0,0,0")) + (rule "mul_literals" (formula "23") (term "1,0,2,0,0,0,0")) + (rule "polySimp_mulComm0" (formula "23") (term "1,1")) + (rule "polySimp_addComm1" (formula "23") (term "3,1,1,0,0")) + (rule "add_literals" (formula "23") (term "0,3,1,1,0,0")) + (rule "add_zero_left" (formula "23") (term "3,1,1,0,0")) + (rule "polySimp_addComm1" (formula "23") (term "3,2,0,0")) + (rule "add_literals" (formula "23") (term "0,3,2,0,0")) + (rule "add_zero_left" (formula "23") (term "3,2,0,0")) + (rule "polySimp_addComm1" (formula "23") (term "0,2,0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,2,0,0,0,0")) + (rule "add_zero_left" (formula "23") (term "0,2,0,0,0,0")) + (rule "polySimp_rightDist" (formula "23") (term "1,1")) + (rule "mul_literals" (formula "23") (term "0,1,1")) + (rule "polySimp_addAssoc" (formula "23") (term "1")) + (rule "polySimp_addComm1" (formula "23") (term "0,1")) + (rule "add_literals" (formula "23") (term "0,0,1")) + (rule "add_zero_left" (formula "23") (term "0,1")) + (rule "inEqSimp_ltToLeq" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "inEqSimp_leqRight" (formula "23")) + (rule "polySimp_rightDist" (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 "polySimp_mulComm0" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "applyEq" (formula "1") (term "0,0,0,1,0") (ifseqformula "2")) + (rule "eqSymm" (formula "1") (term "0,0,1,0")) + (rule "replace_known_right" (formula "1") (term "0,0,1,0") (ifseqformula "19")) + (builtin "One Step Simplification" (formula "1")) + (rule "polySimp_sepPosMonomial" (formula "23")) + (rule "mul_literals" (formula "23") (term "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 "polySimp_rightDist" (formula "1") (term "0,1")) + (rule "mul_literals" (formula "1") (term "0,0,1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1")) + (rule "polySimp_elimOne" (formula "1") (term "1,0,1")) + (rule "inEqSimp_contradEq7" (formula "23") (ifseqformula "12")) + (rule "add_zero_left" (formula "23") (term "0,0")) + (rule "mul_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 "inEqSimp_strengthen1" (formula "15") (ifseqformula "20")) + (rule "add_zero_right" (formula "15") (term "1")) + (rule "inEqSimp_contradEq7" (formula "20") (ifseqformula "15")) + (rule "times_zero_1" (formula "20") (term "1,0,0")) + (rule "add_zero_right" (formula "20") (term "0,0")) + (rule "leq_literals" (formula "20") (term "0")) + (builtin "One Step Simplification" (formula "20")) + (rule "false_right" (formula "20")) + (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "3")) + (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_zero_right" (formula "14") (term "0,0")) + (rule "qeq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) + (rule "nnf_imp2or" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "1") (term "0,0")) + (rule "allLeft" (formula "18") (inst "t=x_0")) + (rule "replace_known_right" (formula "18") (term "0") (ifseqformula "20")) + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_contradInEq2" (formula "2") (ifseqformula "18")) + (rule "greater_literals" (formula "2") (term "0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "greater_literals" (formula "2") (term "0,0")) (builtin "One Step Simplification" (formula "2")) - (rule "polySimp_homoEq" (formula "19")) - (rule "polySimp_homoEq" (formula "2")) - (rule "polySimp_mulComm0" (formula "21") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "19") (term "1,0")) + (rule "andLeft" (formula "2")) + (rule "polySimp_rightDist" (formula "2") (term "1")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,1")) + (rule "polySimp_rightDist" (formula "2") (term "0")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,0")) + (rule "polySimp_mulComm0" (formula "2") (term "0,0")) + (rule "polySimp_rightDist" (formula "2") (term "0,1")) + (rule "mul_literals" (formula "2") (term "0,0,1")) + (rule "inEqSimp_homoInEq1" (formula "2")) (rule "polySimp_mulComm0" (formula "2") (term "1,0")) - (rule "polySimp_rightDist" (formula "21") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "21") (term "0,0,1,0")) - (rule "polySimp_rightDist" (formula "19") (term "1,0")) - (rule "polySimp_mulComm0" (formula "19") (term "0,1,0")) (rule "polySimp_rightDist" (formula "2") (term "1,0")) - (rule "polySimp_mulComm0" (formula "2") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "19") (term "0")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,1,0")) + (rule "polySimp_mulAssoc" (formula "2") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "2") (term "0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "2") (term "0,1,0")) (rule "polySimp_addAssoc" (formula "2") (term "0")) - (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 "polySimp_mulLiterals" (formula "21") (term "1,1,0,1,0")) - (rule "polySimp_mulAssoc" (formula "21") (term "0,1,0,1,0")) - (rule "polySimp_mulComm0" (formula "21") (term "0,0,1,0,1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0,1,0")) - (rule "polySimp_addAssoc" (formula "21") (term "0,1,0")) - (rule "polySimp_sepNegMonomial" (formula "19")) - (rule "polySimp_mulLiterals" (formula "19") (term "0")) - (rule "polySimp_elimOne" (formula "19") (term "0")) - (rule "polySimp_sepNegMonomial" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "21") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0")) - (rule "inEqSimp_strengthen1" (formula "15") (ifseqformula "22")) - (rule "add_zero_right" (formula "15") (term "1")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (ifseqformula "9")) - (rule "castDel" (formula "1") (term "1")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_elimSub" (formula "1") (term "0,2,0,0,0,2,0")) - (rule "mul_literals" (formula "1") (term "1,0,2,0,0,0,2,0")) - (rule "polySimp_elimSub" (formula "1") (term "3,1,2,0")) - (rule "mul_literals" (formula "1") (term "1,3,1,2,0")) - (rule "polySimp_addComm0" (formula "1") (term "0,2,0,0,0,2,0")) - (rule "polySimp_addComm0" (formula "1") (term "3,1,2,0")) - (rule "polySimp_addComm0" (formula "1") (term "2,0")) - (rule "applyEq" (formula "1") (term "1,2,0") (ifseqformula "2")) - (rule "polySimp_addAssoc" (formula "1") (term "2,0")) - (rule "polySimp_addComm0" (formula "1") (term "0,2,0")) - (rule "polySimp_pullOutFactor1b" (formula "1") (term "2,0")) - (rule "add_literals" (formula "1") (term "1,1,2,0")) - (rule "times_zero_1" (formula "1") (term "1,2,0")) - (rule "add_zero_right" (formula "1") (term "2,0")) - (rule "inEqSimp_contradEq7" (formula "1") (term "0,0") (ifseqformula "15")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0,0,0")) - (rule "leq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "eqSymm" (formula "1")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,0") (ifseqformula "9")) - (rule "castDel" (formula "4") (term "0,0")) - (rule "polySimp_elimSub" (formula "4") (term "0,2,0,0,0,2,0,0")) - (rule "mul_literals" (formula "4") (term "1,0,2,0,0,0,2,0,0")) - (rule "polySimp_elimSub" (formula "4") (term "3,1,2,0,0")) - (rule "mul_literals" (formula "4") (term "1,3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "4") (term "0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "4") (term "3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "4") (term "2,0,0")) - (rule "applyEq" (formula "4") (term "1,2,0,0") (ifseqformula "2")) - (rule "polySimp_addAssoc" (formula "4") (term "2,0,0")) - (rule "polySimp_addComm0" (formula "4") (term "0,2,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "2,0,0")) - (rule "add_literals" (formula "4") (term "1,1,2,0,0")) - (rule "times_zero_1" (formula "4") (term "1,2,0,0")) - (rule "add_zero_right" (formula "4") (term "2,0,0")) - (rule "inEqSimp_contradEq7" (formula "4") (term "0,0,0") (ifseqformula "15")) - (rule "times_zero_1" (formula "4") (term "1,0,0,0,0,0")) - (rule "add_zero_right" (formula "4") (term "0,0,0,0,0")) - (rule "leq_literals" (formula "4") (term "0,0,0,0")) - (builtin "One Step Simplification" (formula "4")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (ifseqformula "9")) - (rule "castDel" (formula "1") (term "1")) - (rule "eqSymm" (formula "1")) - (rule "polySimp_elimSub" (formula "1") (term "0,2,0,0,0,2,0")) - (rule "mul_literals" (formula "1") (term "1,0,2,0,0,0,2,0")) - (rule "polySimp_elimSub" (formula "1") (term "3,1,2,0")) - (rule "mul_literals" (formula "1") (term "1,3,1,2,0")) - (rule "polySimp_addComm0" (formula "1") (term "0,2,0,0,0,2,0")) - (rule "polySimp_addComm0" (formula "1") (term "3,1,2,0")) - (rule "polySimp_addComm0" (formula "1") (term "2,0")) - (rule "inEqSimp_contradEq7" (formula "1") (term "0,0") (ifseqformula "15")) - (rule "times_zero_1" (formula "1") (term "1,0,0,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0,0,0")) - (rule "leq_literals" (formula "1") (term "0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_homoEq" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0")) - (rule "polySimp_sepNegMonomial" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,0") (ifseqformula "9")) - (rule "castDel" (formula "4") (term "0,0")) - (rule "polySimp_elimSub" (formula "4") (term "3,1,2,0,0")) - (rule "mul_literals" (formula "4") (term "1,3,1,2,0,0")) - (rule "polySimp_elimSub" (formula "4") (term "0,2,0,0,0,2,0,0")) - (rule "mul_literals" (formula "4") (term "1,0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "4") (term "3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "4") (term "0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm0" (formula "4") (term "2,0,0")) - (rule "applyEq" (formula "4") (term "1,2,0,0") (ifseqformula "1")) - (rule "polySimp_addAssoc" (formula "4") (term "2,0,0")) - (rule "polySimp_addComm0" (formula "4") (term "0,2,0,0")) - (rule "polySimp_pullOutFactor1b" (formula "4") (term "2,0,0")) - (rule "add_literals" (formula "4") (term "1,1,2,0,0")) - (rule "times_zero_1" (formula "4") (term "1,2,0,0")) - (rule "add_zero_right" (formula "4") (term "2,0,0")) - (rule "inEqSimp_contradEq7" (formula "4") (term "0,0,0") (ifseqformula "15")) - (rule "times_zero_1" (formula "4") (term "1,0,0,0,0,0")) - (rule "add_literals" (formula "4") (term "0,0,0,0,0")) - (rule "leq_literals" (formula "4") (term "0,0,0,0")) - (builtin "One Step Simplification" (formula "4")) - (rule "allLeft" (formula "21") (inst "t=x_0")) - (rule "eqSymm" (formula "21") (term "0,0,0,1")) - (rule "replace_known_right" (formula "21") (term "0") (ifseqformula "24")) - (builtin "One Step Simplification" (formula "21")) - (rule "applyEq" (formula "21") (term "0,0") (ifseqformula "1")) - (rule "polySimp_mulComm0" (formula "21") (term "0")) - (rule "polySimp_rightDist" (formula "21") (term "0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,0")) - (rule "polySimp_mulComm0" (formula "21") (term "0,0")) - (rule "inEqSimp_homoInEq0" (formula "21")) - (rule "polySimp_mulComm0" (formula "21") (term "1,0")) - (rule "polySimp_rightDist" (formula "21") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "1,1,0")) - (rule "polySimp_mulAssoc" (formula "21") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "21") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "21") (term "0")) - (rule "polySimp_addComm1" (formula "21") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (formula "21") (term "0")) - (rule "add_literals" (formula "21") (term "1,1,0")) - (rule "times_zero_1" (formula "21") (term "1,0")) - (rule "add_zero_right" (formula "21") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "21")) - (rule "polySimp_mulLiterals" (formula "21") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "4") (ifseqformula "21")) - (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 "polySimp_mulLiterals" (formula "4") (term "1,1,0")) - (rule "polySimp_elimOne" (formula "4") (term "1,1,0")) - (rule "polySimp_mulComm0" (formula "4") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "4") (term "0")) - (rule "polySimp_addComm1" (formula "4") (term "0,0")) - (rule "polySimp_pullOutFactor2b" (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 "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 "polySimp_addComm1" (formula "2") (term "0,0")) + (rule "polySimp_pullOutFactor0b" (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_zero_right" (formula "2") (term "0,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "2") (term "0")) + (rule "add_literals" (formula "2") (term "1,1,0")) + (rule "times_zero_1" (formula "2") (term "1,0")) + (rule "add_zero_right" (formula "2") (term "0")) + (rule "leq_literals" (formula "2")) + (rule "closeFalse" (formula "2")) ) ) ) - (branch + (branch "Case 2" (rule "polySimp_mulComm0" (formula "21") (term "0,0")) (rule "polySimp_rightDist" (formula "21") (term "0,0")) (rule "mul_literals" (formula "21") (term "0,0,0")) @@ -1850,6 +1189,23 @@ (rule "inEqSimp_sepNegMonomial1" (formula "1")) (rule "polySimp_mulLiterals" (formula "1") (term "0")) (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_strengthen1" (formula "15") (ifseqformula "19")) + (rule "add_zero_right" (formula "15") (term "1")) + (rule "inEqSimp_contradEq7" (formula "19") (ifseqformula "15")) + (rule "times_zero_1" (formula "19") (term "1,0,0")) + (rule "add_zero_right" (formula "19") (term "0,0")) + (rule "leq_literals" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "false_right" (formula "19")) + (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "3")) + (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_zero_right" (formula "14") (term "0,0")) + (rule "qeq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "1")) (rule "andLeft" (formula "3")) (rule "inEqSimp_homoInEq1" (formula "3")) @@ -1899,7 +1255,7 @@ (rule "andRight" (formula "21")) (branch "Case 1" (rule "andRight" (formula "21")) - (branch + (branch "Case 1" (rule "andRight" (formula "21")) (branch "Case 1" (rule "andRight" (formula "21")) @@ -1911,8 +1267,31 @@ (rule "add_zero_right" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0")) (rule "add_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_ltToLeq" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "2") (term "0")) (rule "inEqSimp_sepPosMonomial0" (formula "1")) (rule "mul_literals" (formula "1") (term "1")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "inEqSimp_strengthen1" (formula "14") (ifseqformula "19")) + (rule "add_zero_right" (formula "14") (term "1")) + (rule "inEqSimp_contradEq7" (formula "19") (ifseqformula "14")) + (rule "times_zero_1" (formula "19") (term "1,0,0")) + (rule "add_zero_right" (formula "19") (term "0,0")) + (rule "leq_literals" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "false_right" (formula "19")) + (rule "inEqSimp_subsumption1" (formula "13") (ifseqformula "2")) + (rule "inEqSimp_homoInEq0" (formula "13") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "13") (term "0,0")) + (rule "add_literals" (formula "13") (term "1,1,0,0")) + (rule "times_zero_1" (formula "13") (term "1,0,0")) + (rule "add_zero_right" (formula "13") (term "0,0")) + (rule "qeq_literals" (formula "13") (term "0")) + (builtin "One Step Simplification" (formula "13")) + (rule "true_left" (formula "13")) (rule "inEqSimp_contradInEq0" (formula "11") (ifseqformula "1")) (rule "qeq_literals" (formula "11") (term "0")) (builtin "One Step Simplification" (formula "11")) @@ -1934,6 +1313,14 @@ (rule "inEqSimp_sepNegMonomial0" (formula "2")) (rule "polySimp_mulLiterals" (formula "2") (term "0")) (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "inEqSimp_strengthen1" (formula "14") (ifseqformula "19")) + (rule "add_zero_right" (formula "14") (term "1")) + (rule "inEqSimp_contradEq7" (formula "19") (ifseqformula "14")) + (rule "times_zero_1" (formula "19") (term "1,0,0")) + (rule "add_zero_right" (formula "19") (term "0,0")) + (rule "leq_literals" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "false_right" (formula "19")) (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "1")) (rule "andLeft" (formula "2")) (rule "inEqSimp_homoInEq1" (formula "2")) @@ -1952,26 +1339,59 @@ (rule "polySimp_addAssoc" (formula "1") (term "0")) (rule "add_literals" (formula "1") (term "0,0")) (rule "add_zero_left" (formula "1") (term "0")) - (rule "inEqSimp_strengthen0" (formula "1") (ifseqformula "19")) - (rule "add_zero_right" (formula "1") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "14") (ifseqformula "1")) - (rule "qeq_literals" (formula "14") (term "0")) - (builtin "One Step Simplification" (formula "14")) - (rule "closeFalse" (formula "14")) + (rule "inEqSimp_ltToLeq" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "inEqSimp_strengthen1" (formula "14") (ifseqformula "19")) + (rule "add_zero_right" (formula "14") (term "1")) + (rule "inEqSimp_contradEq7" (formula "19") (ifseqformula "14")) + (rule "times_zero_1" (formula "19") (term "1,0,0")) + (rule "add_zero_right" (formula "19") (term "0,0")) + (rule "leq_literals" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "false_right" (formula "19")) + (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "14")) + (rule "qeq_literals" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "closeFalse" (formula "1")) ) ) (branch "Case 2" + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "21") (term "0,0") (inst "last=last") (ifseqformula "4") (userinteraction)) + (rule "polySimp_elimSub" (formula "21") (term "3,2,2,0,0")) + (rule "mul_literals" (formula "21") (term "1,3,2,2,0,0")) + (rule "polySimp_elimSub" (formula "21") (term "0,2,0,0,2,0,0")) + (rule "mul_literals" (formula "21") (term "1,0,2,0,0,2,0,0")) + (rule "polySimp_elimSub" (formula "21") (term "3,1,1,2,0,0")) + (rule "mul_literals" (formula "21") (term "1,3,1,1,2,0,0")) + (rule "polySimp_addComm1" (formula "21") (term "3,2,2,0,0")) + (rule "add_literals" (formula "21") (term "0,3,2,2,0,0")) + (rule "add_zero_left" (formula "21") (term "3,2,2,0,0")) + (rule "polySimp_addComm1" (formula "21") (term "0,2,0,0,2,0,0")) + (rule "add_literals" (formula "21") (term "0,0,2,0,0,2,0,0")) + (rule "add_zero_left" (formula "21") (term "0,2,0,0,2,0,0")) + (rule "replace_known_right" (formula "21") (term "0,2,0,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "21")) (rule "polySimp_addAssoc" (formula "21") (term "1")) (rule "polySimp_addComm1" (formula "21") (term "0,1")) (rule "add_literals" (formula "21") (term "0,0,1")) (rule "add_zero_left" (formula "21") (term "0,1")) + (rule "inEqSimp_ltToLeq" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "1") (term "0")) (rule "inEqSimp_leqRight" (formula "21")) (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) (rule "polySimp_mulComm0" (formula "1") (term "0,1,0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0,0")) - (rule "inEqSimp_ltToLeq" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "applyEq" (formula "1") (term "2,0,1,0") (ifseqformula "15")) + (rule "polySimp_sepPosMonomial" (formula "1") (term "0,0,1,0")) + (rule "mul_literals" (formula "1") (term "1,0,0,1,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_mulComm0" (formula "1") (term "1")) (rule "polySimp_rightDist" (formula "1") (term "1")) @@ -1981,104 +1401,123 @@ (rule "mul_literals" (formula "1") (term "0,0,1")) (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1")) (rule "polySimp_elimOne" (formula "1") (term "1,0,1")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "16") (term "0,0") (inst "l=l")) - (rule "eqSymm" (formula "16") (term "0,1")) - (rule "replace_known_left" (formula "16") (term "1,0,0,0,0") (ifseqformula "3")) - (builtin "One Step Simplification" (formula "16") (ifInst "" (formula "9")) (ifInst "" (formula "22")) (ifInst "" (formula "4")) (ifInst "" (formula "21")) (ifInst "" (formula "9"))) - (rule "measuredByCheckEmpty" (formula "16") (term "1,0") (ifseqformula "7")) - (builtin "One Step Simplification" (formula "16")) - (rule "inEqSimp_commuteLeq" (formula "16") (term "1,0")) - (rule "inEqSimp_commuteLeq" (formula "16") (term "0,0")) - (rule "replace_known_left" (formula "16") (term "0,0") (ifseqformula "11")) - (builtin "One Step Simplification" (formula "16")) - (rule "inEqSimp_subsumption1" (formula "16") (term "0") (ifseqformula "2")) - (rule "inEqSimp_homoInEq0" (formula "16") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "16") (term "0,0,0")) - (rule "add_literals" (formula "16") (term "1,1,0,0,0")) - (rule "times_zero_1" (formula "16") (term "1,0,0,0")) - (rule "add_zero_right" (formula "16") (term "0,0,0")) - (rule "qeq_literals" (formula "16") (term "0,0")) - (builtin "One Step Simplification" (formula "16")) - (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "0,0") (inst "l=l")) - (rule "eqSymm" (formula "1") (term "0,1")) - (rule "replace_known_left" (formula "1") (term "0,1,0,0,0,0,0") (ifseqformula "10")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "23")) (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "22")) (ifInst "" (formula "10"))) - (rule "bsum_induction_upper_concrete" (formula "1") (term "0,1")) - (rule "replace_known_right" (formula "1") (term "0,1,1,0,1") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "1")) - (rule "add_zero_right" (formula "1") (term "0,1")) - (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "1,0")) - (rule "replace_known_left" (formula "1") (term "1,0") (ifseqformula "3")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0")) - (rule "times_zero_2" (formula "1") (term "1,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0")) - (rule "applyEq" (formula "1") (term "0,1") (ifseqformula "17")) - (rule "eqSymm" (formula "1") (term "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "1") (term "0")) - (rule "mul_literals" (formula "1") (term "1,0")) - (rule "inEqSimp_subsumption1" (formula "1") (term "0") (ifseqformula "12")) - (rule "leq_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_contradEq7" (formula "1") (term "0,0,0") (ifseqformula "11")) + (rule "add_zero_left" (formula "1") (term "0,0,0,0,0")) + (rule "mul_literals" (formula "1") (term "0,0,0,0,0")) + (rule "leq_literals" (formula "1") (term "0,0,0,0")) (builtin "One Step Simplification" (formula "1")) - (rule "applyEq" (formula "2") (term "0,0") (ifseqformula "1")) - (rule "inEqSimp_contradInEq1" (formula "18") (ifseqformula "2")) - (rule "andLeft" (formula "18")) - (rule "inEqSimp_homoInEq1" (formula "18")) - (rule "polySimp_mulComm0" (formula "18") (term "1,0")) - (rule "polySimp_rightDist" (formula "18") (term "1,0")) - (rule "polySimp_mulComm0" (formula "18") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "18") (term "0")) - (rule "polySimp_addComm1" (formula "18") (term "0,0")) - (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_zero_right" (formula "18") (term "0")) - (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")) + (rule "inEqSimp_strengthen1" (formula "14") (ifseqformula "19")) + (rule "add_zero_right" (formula "14") (term "1")) + (rule "inEqSimp_contradEq7" (formula "19") (ifseqformula "14")) + (rule "times_zero_1" (formula "19") (term "1,0,0")) + (rule "add_zero_right" (formula "19") (term "0,0")) + (rule "leq_literals" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "false_right" (formula "19")) + (rule "inEqSimp_subsumption1" (formula "13") (ifseqformula "2")) + (rule "inEqSimp_homoInEq0" (formula "13") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "13") (term "0,0")) + (rule "add_literals" (formula "13") (term "1,1,0,0")) + (rule "times_zero_1" (formula "13") (term "1,0,0")) + (rule "add_zero_right" (formula "13") (term "0,0")) + (rule "qeq_literals" (formula "13") (term "0")) + (builtin "One Step Simplification" (formula "13")) + (rule "true_left" (formula "13")) + (rule "inEqSimp_contradInEq4" (formula "15") (ifseqformula "1")) + (rule "greater_literals" (formula "15") (term "0,1,0")) + (builtin "One Step Simplification" (formula "15")) + (rule "greater_literals" (formula "15") (term "0,0")) + (builtin "One Step Simplification" (formula "15")) + (rule "andLeft" (formula "15")) + (rule "polySimp_rightDist" (formula "15") (term "0")) + (rule "polySimp_mulComm0" (formula "15") (term "0,0")) + (rule "polySimp_rightDist" (formula "15") (term "1")) + (rule "polySimp_rightDist" (formula "15") (term "0,1")) + (rule "mul_literals" (formula "15") (term "0,0,1")) + (rule "inEqSimp_homoInEq1" (formula "15")) + (rule "polySimp_mulComm0" (formula "15") (term "1,0")) + (rule "polySimp_rightDist" (formula "15") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,1,0")) + (rule "polySimp_mulAssoc" (formula "15") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "15") (term "0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "15") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "15") (term "0")) + (rule "polySimp_addComm1" (formula "15") (term "0,0")) + (rule "polySimp_pullOutFactor0b" (formula "15") (term "0")) + (rule "add_literals" (formula "15") (term "1,1,0")) + (rule "times_zero_1" (formula "15") (term "1,0")) + (rule "add_zero_right" (formula "15") (term "0")) + (rule "polySimp_pullOutFactor0b" (formula "15") (term "0")) + (rule "add_literals" (formula "15") (term "1,1,0")) + (rule "times_zero_1" (formula "15") (term "1,0")) + (rule "add_zero_right" (formula "15") (term "0")) + (rule "leq_literals" (formula "15")) + (rule "closeFalse" (formula "15")) ) ) (branch "Case 2" (rule "allRight" (formula "21") (inst "sk=x_0") (userinteraction)) - (rule "impRight" (formula "21") (userinteraction)) - (rule "instAll" (formula "22") (term "4,0,0") (ifseqformula "17") (userinteraction)) - (rule "impLeft" (formula "1") (userinteraction)) - (branch "Case 1" - (rule "close" (formula "18") (ifseqformula "1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "21") (term "0,0,1") (inst "last=last") (ifseqformula "4") (userinteraction)) + (rule "ifthenelse_split" (formula "21") (term "0,0,1") (userinteraction)) + (branch "1 + k_0 = 0 TRUE" + (rule "times_zero_2" (formula "22") (term "0,1")) + (rule "impRight" (formula "22")) + (rule "notLeft" (formula "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_addAssoc" (formula "23") (term "1")) + (rule "polySimp_addComm1" (formula "23") (term "0,1")) + (rule "add_literals" (formula "23") (term "0,0,1")) + (rule "inEqSimp_leqRight" (formula "23")) + (rule "add_zero_right" (formula "1") (term "0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "0,1,0")) + (rule "mul_literals" (formula "1") (term "0,0,1,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")) + (rule "inEqSimp_ltToLeq" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "3") (term "0")) + (rule "polySimp_sepPosMonomial" (formula "2")) + (rule "mul_literals" (formula "2") (term "1")) + (rule "applyEq" (formula "14") (term "1") (ifseqformula "2")) + (rule "applyEq" (formula "12") (term "0") (ifseqformula "2")) + (rule "qeq_literals" (formula "12")) + (rule "closeFalse" (formula "12")) ) - (branch "Case 2" - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "23") (term "0,0") (ifseqformula "6") (userinteraction)) - (rule "unlimit_BoyerMoore_count[I\bigint\bigint" (formula "23") (term "1,2,0,0,0") (userinteraction)) - (rule "castDel" (formula "23") (term "0,0")) - (rule "notLeft" (formula "2")) - (rule "polySimp_elimSub" (formula "23") (term "0,2,0,0,0,2,0,0")) - (rule "mul_literals" (formula "23") (term "1,0,2,0,0,0,2,0,0")) - (rule "polySimp_elimSub" (formula "23") (term "3,1,2,0,0")) - (rule "mul_literals" (formula "23") (term "1,3,1,2,0,0")) + (branch "1 + k_0 = 0 FALSE" + (rule "unlimit_BoyerMoore_count[I\bigint\bigint" (formula "22") (term "1,1,0,0,1") (userinteraction)) + (rule "unlimit_BoyerMoore_count[I\bigint\bigint" (formula "22") (term "2,0,0,1") (userinteraction)) + (rule "impRight" (formula "22")) + (rule "notLeft" (formula "1")) + (rule "polySimp_elimSub" (formula "23") (term "0,2,0,0,0,0")) + (rule "mul_literals" (formula "23") (term "1,0,2,0,0,0,0")) + (rule "polySimp_elimSub" (formula "23") (term "3,2,0,0")) + (rule "mul_literals" (formula "23") (term "1,3,2,0,0")) + (rule "polySimp_elimSub" (formula "23") (term "3,1,1,0,0")) + (rule "mul_literals" (formula "23") (term "1,3,1,1,0,0")) (rule "polySimp_mulComm0" (formula "23") (term "1,1")) - (rule "polySimp_addComm1" (formula "23") (term "0,2,0,0,0,2,0,0")) - (rule "add_literals" (formula "23") (term "0,0,2,0,0,0,2,0,0")) - (rule "add_zero_left" (formula "23") (term "0,2,0,0,0,2,0,0")) - (rule "polySimp_addComm1" (formula "23") (term "3,1,2,0,0")) - (rule "add_literals" (formula "23") (term "0,3,1,2,0,0")) - (rule "add_zero_left" (formula "23") (term "3,1,2,0,0")) - (rule "polySimp_addComm0" (formula "23") (term "2,0,0")) + (rule "polySimp_addComm1" (formula "23") (term "0,2,0,0,0,0")) + (rule "add_literals" (formula "23") (term "0,0,2,0,0,0,0")) + (rule "add_zero_left" (formula "23") (term "0,2,0,0,0,0")) + (rule "polySimp_addComm1" (formula "23") (term "3,2,0,0")) + (rule "add_literals" (formula "23") (term "0,3,2,0,0")) + (rule "add_zero_left" (formula "23") (term "3,2,0,0")) + (rule "polySimp_addComm1" (formula "23") (term "3,1,1,0,0")) + (rule "add_literals" (formula "23") (term "0,3,1,1,0,0")) + (rule "add_zero_left" (formula "23") (term "3,1,1,0,0")) (rule "polySimp_rightDist" (formula "23") (term "1,1")) (rule "mul_literals" (formula "23") (term "0,1,1")) (rule "polySimp_addAssoc" (formula "23") (term "1")) (rule "polySimp_addComm1" (formula "23") (term "0,1")) (rule "add_literals" (formula "23") (term "0,0,1")) - (rule "inEqSimp_ltToLeq" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "inEqSimp_ltToLeq" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "1") (term "0")) (rule "inEqSimp_leqRight" (formula "23")) (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0")) @@ -2088,11 +1527,11 @@ (rule "polySimp_addAssoc" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0,0,0")) (rule "add_literals" (formula "1") (term "0,0,0,0")) - (rule "polySimp_sepPosMonomial" (formula "1") (term "0,0,1,0")) - (rule "mul_literals" (formula "1") (term "1,0,0,1,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "polySimp_sepPosMonomial" (formula "23")) + (rule "mul_literals" (formula "23") (term "1")) + (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_mulComm0" (formula "1") (term "1")) (rule "polySimp_rightDist" (formula "1") (term "1")) @@ -2100,121 +1539,111 @@ (rule "mul_literals" (formula "1") (term "0,0,1")) (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1")) (rule "polySimp_elimOne" (formula "1") (term "1,0,1")) - (rule "inEqSimp_contradEq7" (formula "1") (term "0,0,0") (ifseqformula "12")) - (rule "add_zero_left" (formula "1") (term "0,0,0,0,0")) - (rule "mul_literals" (formula "1") (term "0,0,0,0,0")) - (rule "leq_literals" (formula "1") (term "0,0,0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "0")) - (rule "polySimp_rightDist" (formula "1") (term "0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0")) - (rule "inEqSimp_homoInEq1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0")) - (rule "polySimp_rightDist" (formula "1") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0")) - (rule "polySimp_mulAssoc" (formula "1") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "1") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "1") (term "0")) - (rule "inEqSimp_sepNegMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "inEqSimp_strengthen1" (formula "15") (ifseqformula "21")) - (rule "add_zero_right" (formula "15") (term "1")) - (rule "inEqSimp_contradEq7" (formula "21") (ifseqformula "15")) - (rule "times_zero_1" (formula "21") (term "1,0,0")) - (rule "add_literals" (formula "21") (term "0,0")) - (rule "leq_literals" (formula "21") (term "0")) - (builtin "One Step Simplification" (formula "21")) - (rule "false_right" (formula "21")) - (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "3")) - (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_zero_right" (formula "14") (term "0,0")) - (rule "qeq_literals" (formula "14") (term "0")) - (builtin "One Step Simplification" (formula "14")) - (rule "true_left" (formula "14")) - (rule "nnf_imp2or" (formula "17") (term "0")) + (rule "inEqSimp_contradEq7" (formula "23") (ifseqformula "11")) + (rule "mul_literals" (formula "23") (term "1,0,0")) + (rule "add_zero_left" (formula "23") (term "0,0")) + (rule "leq_literals" (formula "23") (term "0")) + (builtin "One Step Simplification" (formula "23")) + (rule "false_right" (formula "23")) + (rule "inEqSimp_strengthen1" (formula "14") (ifseqformula "20")) + (rule "add_zero_right" (formula "14") (term "1")) + (rule "inEqSimp_contradEq7" (formula "20") (ifseqformula "14")) + (rule "times_zero_1" (formula "20") (term "1,0,0")) + (rule "add_zero_right" (formula "20") (term "0,0")) + (rule "leq_literals" (formula "20") (term "0")) + (builtin "One Step Simplification" (formula "20")) + (rule "false_right" (formula "20")) + (rule "inEqSimp_subsumption1" (formula "13") (ifseqformula "2")) + (rule "inEqSimp_homoInEq0" (formula "13") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "13") (term "0,0")) + (rule "add_literals" (formula "13") (term "1,1,0,0")) + (rule "times_zero_1" (formula "13") (term "1,0,0")) + (rule "add_zero_right" (formula "13") (term "0,0")) + (rule "qeq_literals" (formula "13") (term "0")) + (builtin "One Step Simplification" (formula "13")) + (rule "true_left" (formula "13")) + (rule "nnf_imp2or" (formula "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "1") (term "2,0,0")) + (rule "allLeft" (formula "17") (inst "t=x_0")) + (rule "replace_known_right" (formula "17") (term "0") (ifseqformula "19")) (builtin "One Step Simplification" (formula "17")) - (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "2") (term "0,0")) - (rule "ifthenelse_split" (formula "1") (term "0,0")) + (rule "ifthenelse_split" (formula "2") (term "0,0")) (branch "a[k_0] = x_0 TRUE" - (rule "mul_literals" (formula "2") (term "0")) - (rule "inEqSimp_homoInEq1" (formula "2")) - (rule "mul_literals" (formula "2") (term "1,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "polySimp_addComm1" (formula "2") (term "0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0,0,0")) - (rule "add_literals" (formula "2") (term "0,0,0,0")) - (rule "applyEq" (formula "21") (term "0") (ifseqformula "1")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "inEqSimp_contradInEq4" (formula "4") (ifseqformula "2")) - (rule "greater_literals" (formula "4") (term "0,0")) - (builtin "One Step Simplification" (formula "4")) - (rule "greater_literals" (formula "4") (term "0,0")) - (builtin "One Step Simplification" (formula "4")) - (rule "andLeft" (formula "4")) - (rule "polySimp_rightDist" (formula "4") (term "1")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,1")) - (rule "polySimp_rightDist" (formula "4") (term "0")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) - (rule "polySimp_mulComm0" (formula "4") (term "0,0")) - (rule "polySimp_rightDist" (formula "4") (term "0,1")) - (rule "mul_literals" (formula "4") (term "0,0,1")) - (rule "inEqSimp_homoInEq1" (formula "4")) - (rule "polySimp_mulComm0" (formula "4") (term "1,0")) - (rule "polySimp_rightDist" (formula "4") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "1,1,0")) - (rule "polySimp_mulAssoc" (formula "4") (term "0,1,0")) - (rule "polySimp_mulComm0" (formula "4") (term "0,0,1,0")) - (rule "polySimp_mulLiterals" (formula "4") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "4") (term "0")) - (rule "polySimp_addComm1" (formula "4") (term "0,0")) - (rule "polySimp_pullOutFactor0b" (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_zero_right" (formula "4") (term "0,0,0")) - (rule "polySimp_pullOutFactor0b" (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")) - ) - (branch "a[k_0] = x_0 FALSE" - (rule "times_zero_2" (formula "1") (term "0")) - (rule "inEqSimp_homoInEq1" (formula "1")) - (rule "times_zero_2" (formula "1") (term "1,0")) - (rule "add_zero_right" (formula "1") (term "0")) - (rule "inEqSimp_sepNegMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "inEqSimp_contradInEq1" (formula "3") (ifseqformula "1")) - (rule "andLeft" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "0")) + (rule "polySimp_rightDist" (formula "3") (term "0")) + (rule "mul_literals" (formula "3") (term "0,0")) (rule "inEqSimp_homoInEq1" (formula "3")) (rule "polySimp_mulComm0" (formula "3") (term "1,0")) (rule "polySimp_rightDist" (formula "3") (term "1,0")) (rule "polySimp_mulLiterals" (formula "3") (term "1,1,0")) - (rule "polySimp_elimOne" (formula "3") (term "1,1,0")) - (rule "polySimp_mulComm0" (formula "3") (term "0,1,0")) + (rule "mul_literals" (formula "3") (term "0,1,0")) (rule "polySimp_addAssoc" (formula "3") (term "0")) (rule "polySimp_addComm1" (formula "3") (term "0,0")) - (rule "polySimp_pullOutFactor2b" (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 "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")) + (rule "polySimp_addComm1" (formula "3") (term "0,0,0")) + (rule "add_literals" (formula "3") (term "0,0,0,0")) + (rule "applyEq" (formula "21") (term "0") (ifseqformula "2")) + (rule "inEqSimp_sepNegMonomial0" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "inEqSimp_contradInEq4" (formula "18") (ifseqformula "3")) + (rule "greater_literals" (formula "18") (term "0,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "greater_literals" (formula "18") (term "0,0")) + (builtin "One Step Simplification" (formula "18")) + (rule "andLeft" (formula "18")) + (rule "polySimp_rightDist" (formula "18") (term "1")) + (rule "polySimp_mulLiterals" (formula "18") (term "1,1")) + (rule "polySimp_rightDist" (formula "18") (term "0")) + (rule "polySimp_mulLiterals" (formula "18") (term "1,0")) + (rule "polySimp_mulComm0" (formula "18") (term "0,0")) + (rule "polySimp_rightDist" (formula "18") (term "0,1")) + (rule "mul_literals" (formula "18") (term "0,0,1")) + (rule "inEqSimp_homoInEq1" (formula "18")) + (rule "polySimp_mulComm0" (formula "18") (term "1,0")) + (rule "polySimp_rightDist" (formula "18") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "18") (term "1,1,0")) + (rule "polySimp_mulAssoc" (formula "18") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "18") (term "0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "18") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "18") (term "0")) + (rule "polySimp_addComm1" (formula "18") (term "0,0")) + (rule "polySimp_pullOutFactor0b" (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_zero_right" (formula "18") (term "0,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "18") (term "0")) + (rule "add_literals" (formula "18") (term "1,1,0")) + (rule "times_zero_1" (formula "18") (term "1,0")) + (rule "add_zero_right" (formula "18") (term "0")) + (rule "leq_literals" (formula "18")) + (rule "closeFalse" (formula "18")) + ) + (branch "a[k_0] = x_0 FALSE" + (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "17")) + (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 "polySimp_mulLiterals" (formula "2") (term "1,1,0")) + (rule "polySimp_elimOne" (formula "2") (term "1,1,0")) + (rule "polySimp_mulComm0" (formula "2") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "2") (term "0")) + (rule "polySimp_addComm1" (formula "2") (term "0,0")) + (rule "polySimp_pullOutFactor2b" (formula "2") (term "0")) + (rule "add_literals" (formula "2") (term "1,1,0")) + (rule "times_zero_1" (formula "2") (term "1,0")) + (rule "add_zero_right" (formula "2") (term "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 + (branch "Case 2" (rule "polySimp_mulComm0" (formula "21") (term "0,0")) (rule "polySimp_rightDist" (formula "21") (term "0,0")) (rule "mul_literals" (formula "21") (term "0,0,0")) @@ -2261,15 +1690,32 @@ (rule "inEqSimp_sepNegMonomial1" (formula "1")) (rule "polySimp_mulLiterals" (formula "1") (term "0")) (rule "polySimp_elimOne" (formula "1") (term "0")) - (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_zero_right" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) + (rule "inEqSimp_strengthen1" (formula "14") (ifseqformula "19")) + (rule "add_zero_right" (formula "14") (term "1")) + (rule "inEqSimp_contradEq7" (formula "19") (ifseqformula "14")) + (rule "times_zero_1" (formula "19") (term "1,0,0")) + (rule "add_zero_right" (formula "19") (term "0,0")) + (rule "leq_literals" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "false_right" (formula "19")) + (rule "inEqSimp_subsumption1" (formula "13") (ifseqformula "2")) + (rule "inEqSimp_homoInEq0" (formula "13") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "13") (term "0,0")) + (rule "add_literals" (formula "13") (term "1,1,0,0")) + (rule "times_zero_1" (formula "13") (term "1,0,0")) + (rule "add_zero_right" (formula "13") (term "0,0")) + (rule "qeq_literals" (formula "13") (term "0")) + (builtin "One Step Simplification" (formula "13")) + (rule "true_left" (formula "13")) + (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "2")) + (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_zero_right" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) ) ) ) @@ -2279,6 +1725,7 @@ ) (branch "Index Out of Bounds (mc == 0 != null, but k < _a.length Out of Bounds!)" (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) + (rule "false_right" (formula "21")) (rule "inEqSimp_ltToLeq" (formula "2")) (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) (rule "polySimp_addComm1" (formula "2") (term "0")) @@ -2290,18 +1737,35 @@ (rule "polySimp_elimOne" (formula "2") (term "0")) (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1")) (rule "mul_literals" (formula "1") (term "1,1")) - (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "2")) - (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_zero_right" (formula "1") (term "0,0,0")) - (rule "leq_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_strengthen1" (formula "14") (ifseqformula "18")) + (rule "add_zero_right" (formula "14") (term "1")) + (rule "inEqSimp_contradEq7" (formula "18") (ifseqformula "14")) + (rule "times_zero_1" (formula "18") (term "1,0,0")) + (rule "add_zero_right" (formula "18") (term "0,0")) + (rule "leq_literals" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "false_right" (formula "18")) + (rule "inEqSimp_subsumption1" (formula "13") (ifseqformula "2")) + (rule "inEqSimp_homoInEq0" (formula "13") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "13") (term "0,0")) + (rule "add_literals" (formula "13") (term "1,1,0,0")) + (rule "times_zero_1" (formula "13") (term "1,0,0")) + (rule "add_zero_right" (formula "13") (term "0,0")) + (rule "qeq_literals" (formula "13") (term "0")) + (builtin "One Step Simplification" (formula "13")) + (rule "true_left" (formula "13")) + (rule "inEqSimp_contradInEq1" (formula "1") (term "1") (ifseqformula "11")) + (rule "qeq_literals" (formula "1") (term "0,1")) (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_contradInEq0" (formula "11") (ifseqformula "1")) - (rule "qeq_literals" (formula "11") (term "0")) - (builtin "One Step Simplification" (formula "11")) - (rule "closeFalse" (formula "11")) + (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "2")) + (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_zero_right" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) ) ) ) @@ -2384,27 +1848,142 @@ (rule "tryEmpty" (formula "18") (term "1")) (rule "emptyModality" (formula "18") (term "1")) (rule "andRight" (formula "18")) - (branch + (branch "Case 1" (rule "andRight" (formula "18")) (branch "Case 1" (rule "andRight" (formula "18")) (branch "Case 1" (rule "impRight" (formula "18")) (builtin "One Step Simplification" (formula "1")) - (rule "nnf_imp2or" (formula "15") (term "0")) - (builtin "One Step Simplification" (formula "15")) - (rule "allLeft" (formula "15") (inst "t=int::select(heap, + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_ltRight" (formula "16")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_gtRight" (formula "19")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "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 "2")) + (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,1") (ifseqformula "14")) + (rule "applyEq" (formula "1") (term "3,0") (ifseqformula "14")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "14")) + (rule "inEqSimp_homoInEq0" (formula "2")) + (rule "polySimp_pullOutFactor1" (formula "2") (term "0")) + (rule "add_literals" (formula "2") (term "1,0")) + (rule "times_zero_1" (formula "2") (term "0")) + (rule "qeq_literals" (formula "2")) + (rule "true_left" (formula "2")) + (rule "nnf_imp2or" (formula "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "1") (term "0")) + (rule "jdiv_axiom" (formula "2") (term "1")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "2") (term "0,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "applyEq" (formula "3") (term "1") (ifseqformula "2")) + (rule "div_axiom" (formula "2") (term "1") (inst "quotient=quotient_0")) + (rule "mul_literals" (formula "2") (term "1,1,1,1,1")) + (rule "qeq_literals" (formula "2") (term "0,1,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "equal_literals" (formula "2") (term "0")) + (builtin "One Step Simplification" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "polySimp_addComm1" (formula "4") (term "1")) + (rule "add_literals" (formula "4") (term "0,1")) + (rule "inEqSimp_commuteLeq" (formula "3")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "applyEq" (formula "6") (term "1") (ifseqformula "2")) + (rule "applyEq" (formula "5") (term "1") (ifseqformula "2")) + (rule "inEqSimp_sepPosMonomial0" (formula "4")) + (rule "polySimp_mulComm0" (formula "4") (term "1")) + (rule "polySimp_rightDist" (formula "4") (term "1")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,1")) + (rule "mul_literals" (formula "4") (term "0,1")) + (rule "inEqSimp_exactShadow3" (formula "17") (ifseqformula "4")) + (rule "times_zero_1" (formula "17") (term "0,0")) + (rule "add_zero_left" (formula "17") (term "0")) + (rule "inEqSimp_sepPosMonomial1" (formula "17")) + (rule "mul_literals" (formula "17") (term "1")) + (rule "elimGcdGeq_antec" (formula "17") (inst "elimGcdRightDiv=Z(0(#))") (inst "elimGcdLeftDiv=quotient_0") (inst "elimGcd=Z(2(#))")) + (rule "times_zero_1" (formula "17") (term "1,0,0,0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "17") (term "1,0,1,0")) + (rule "leq_literals" (formula "17") (term "0,0")) + (builtin "One Step Simplification" (formula "17")) + (rule "polySimp_addLiterals" (formula "17") (term "0,0,0,0")) + (rule "add_literals" (formula "17") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "17") (term "0,0")) + (rule "add_literals" (formula "17") (term "1,1,0,0")) + (rule "times_zero_1" (formula "17") (term "1,0,0")) + (rule "add_zero_right" (formula "17") (term "0,0")) + (rule "leq_literals" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "arrayLengthNotNegative" (formula "19") (term "0")) + (rule "applyEq" (formula "19") (term "0") (ifseqformula "20")) + (rule "arrayLengthIsAShort" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "true_left" (formula "19")) + (rule "allLeft" (formula "22") (inst "t=int::select(heap, IntOpt::final(null, IntOpt::$NONE), IntOpt::$value)")) - (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_2" (formula "8")) - (rule "notLeft" (formula "8")) - (rule "close" (formula "17") (ifseqformula "1")) + (rule "cut_direct" (formula "22") (term "1")) + (branch "CUT: self.count(a, k_0, IntOpt.NONE.value) * 2 <= k_0 TRUE" + (builtin "One Step Simplification" (formula "23")) + (rule "true_left" (formula "23")) + (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_1" (formula "14")) + (rule "notLeft" (formula "14")) + (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_2" (formula "14")) + (rule "notLeft" (formula "14")) + (rule "close" (formula "24") (ifseqformula "7")) + ) + (branch "CUT: self.count(a, k_0, IntOpt.NONE.value) * 2 <= k_0 FALSE" + (builtin "One Step Simplification" (formula "22")) + (rule "inEqSimp_leqRight" (formula "24")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "applyEq" (formula "1") (term "4,0,1,0") (ifseqformula "23")) + (rule "applyEq" (formula "2") (term "4,0") (ifseqformula "23")) + (rule "eqSymm" (formula "2")) + (rule "applyEq" (formula "7") (term "4,0") (ifseqformula "23")) + (rule "applyEq" (formula "2") (term "4,0") (ifseqformula "23")) + (rule "eqSymm" (formula "2")) + (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 "21")) + (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_zero_right" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) ) (branch "Case 2" (rule "andRight" (formula "18")) (branch "Case 1" (rule "impRight" (formula "18")) + (builtin "One Step Simplification" (formula "1")) (builtin "One Step Simplification" (formula "19")) + (rule "notLeft" (formula "1")) (rule "notRight" (formula "19")) (rule "exLeft" (formula "1") (inst "sk=m_0")) (rule "inEqSimp_ltRight" (formula "17")) @@ -2418,20 +1997,35 @@ (rule "inEqSimp_sepPosMonomial1" (formula "2")) (rule "polySimp_mulComm0" (formula "2") (term "1")) (rule "polySimp_rightDist" (formula "2") (term "1")) - (rule "polySimp_mulLiterals" (formula "2") (term "1,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_antiSymm" (formula "14") (ifseqformula "1")) - (rule "applyEq" (formula "2") (term "0,1,1") (ifseqformula "14")) - (rule "applyEq" (formula "2") (term "3,0") (ifseqformula "14")) - (rule "nnf_imp2or" (formula "18") (term "0")) - (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_antiSymm" (formula "13") (ifseqformula "1")) + (rule "applyEq" (formula "1") (term "0") (ifseqformula "13")) + (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 "1") (term "3,0") (ifseqformula "12")) + (rule "applyEq" (formula "1") (term "0,1,1") (ifseqformula "12")) + (rule "applyEq" (formula "13") (term "0") (ifseqformula "12")) + (rule "inEqSimp_homoInEq1" (formula "13")) + (rule "polySimp_pullOutFactor1" (formula "13") (term "0")) + (rule "add_literals" (formula "13") (term "1,0")) + (rule "times_zero_1" (formula "13") (term "0")) + (rule "leq_literals" (formula "13")) + (rule "true_left" (formula "13")) + (rule "nnf_imp2or" (formula "15") (term "0")) + (builtin "One Step Simplification" (formula "15")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "1") (term "0")) (rule "jdiv_axiom" (formula "2") (term "1,1")) (rule "eqSymm" (formula "2")) - (rule "replace_known_left" (formula "2") (term "0,0") (ifseqformula "14")) + (rule "replace_known_left" (formula "2") (term "0,0") (ifseqformula "13")) (builtin "One Step Simplification" (formula "2")) (rule "eqSymm" (formula "2")) - (rule "applyEqRigid" (formula "3") (term "1,1") (ifseqformula "2")) + (rule "applyEq" (formula "3") (term "1,1") (ifseqformula "2")) (rule "div_axiom" (formula "2") (term "1") (inst "quotient=quotient_0")) (rule "mul_literals" (formula "2") (term "1,1,1,1,1")) (rule "qeq_literals" (formula "2") (term "0,1,1")) @@ -2442,20 +2036,47 @@ (rule "andLeft" (formula "2")) (rule "polySimp_addComm1" (formula "4") (term "1")) (rule "add_literals" (formula "4") (term "0,1")) + (rule "inEqSimp_commuteLeq" (formula "3")) (rule "inEqSimp_homoInEq1" (formula "4")) (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) (rule "polySimp_addComm1" (formula "4") (term "0")) - (rule "applyEqRigid" (formula "6") (term "1,1") (ifseqformula "2")) + (rule "applyEq" (formula "6") (term "1,1") (ifseqformula "2")) + (rule "applyEqRigid" (formula "5") (term "1") (ifseqformula "2")) (rule "inEqSimp_sepPosMonomial0" (formula "4")) (rule "polySimp_mulComm0" (formula "4") (term "1")) (rule "polySimp_rightDist" (formula "4") (term "1")) (rule "polySimp_mulLiterals" (formula "4") (term "1,1")) (rule "mul_literals" (formula "4") (term "0,1")) - (rule "allLeft" (formula "22") (inst "t=m_0")) - (rule "eqSymm" (formula "22") (term "0")) - (rule "cut_direct" (formula "22") (term "1")) + (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "4")) + (rule "times_zero_1" (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 "elimGcdGeq_antec" (formula "16") (inst "elimGcdRightDiv=Z(0(#))") (inst "elimGcdLeftDiv=quotient_0") (inst "elimGcd=Z(2(#))")) + (rule "polySimp_mulLiterals" (formula "16") (term "1,0,1,0")) + (rule "times_zero_1" (formula "16") (term "1,0,0,0,0,1,0")) + (rule "leq_literals" (formula "16") (term "0,0")) + (builtin "One Step Simplification" (formula "16")) + (rule "polySimp_addLiterals" (formula "16") (term "0,0,0,0")) + (rule "add_literals" (formula "16") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "16") (term "0,0")) + (rule "add_literals" (formula "16") (term "1,1,0,0")) + (rule "times_zero_1" (formula "16") (term "1,0,0")) + (rule "add_zero_right" (formula "16") (term "0,0")) + (rule "leq_literals" (formula "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "arrayLengthNotNegative" (formula "18") (term "0")) + (rule "applyEq" (formula "18") (term "0") (ifseqformula "19")) + (rule "arrayLengthIsAShort" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "true_left" (formula "18")) + (rule "allLeft" (formula "21") (inst "t=m_0")) + (rule "eqSymm" (formula "21") (term "0")) + (rule "cut_direct" (formula "21") (term "1")) (branch "CUT: self.count(a, k_0, m_0) * 2 <= k_0 TRUE" - (rule "inEqSimp_exactShadow2" (formula "6") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "22")) + (rule "true_left" (formula "22")) + (rule "inEqSimp_exactShadow2" (formula "6") (ifseqformula "21")) (rule "greater_literals" (formula "6") (term "0")) (builtin "One Step Simplification" (formula "6")) (rule "polySimp_rightDist" (formula "6") (term "1,0,0")) @@ -2468,51 +2089,60 @@ (rule "polySimp_rightDist" (formula "6") (term "1")) (rule "polySimp_mulLiterals" (formula "6") (term "1,1")) (rule "mul_literals" (formula "6") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "4") (ifseqformula "6")) - (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 "polySimp_mulLiterals" (formula "4") (term "1,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_pullOutFactor0b" (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_subsumption1" (formula "3") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "3") (term "0")) + (rule "polySimp_mulLiterals" (formula "3") (term "1,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "3") (term "0,0")) + (rule "add_literals" (formula "3") (term "1,1,0,0")) + (rule "times_zero_1" (formula "3") (term "1,0,0")) + (rule "add_zero_right" (formula "3") (term "0,0")) + (rule "qeq_literals" (formula "3") (term "0")) + (builtin "One Step Simplification" (formula "3")) + (rule "true_left" (formula "3")) + (rule "inEqSimp_contradInEq1" (formula "3") (ifseqformula "5")) + (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 "polySimp_mulLiterals" (formula "3") (term "1,1,0")) + (rule "mul_literals" (formula "3") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "3") (term "0")) + (rule "polySimp_addComm1" (formula "3") (term "0,0")) + (rule "add_literals" (formula "3") (term "0,0,0")) + (rule "polySimp_pullOutFactor0b" (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")) ) (branch "CUT: self.count(a, k_0, m_0) * 2 <= k_0 FALSE" - (builtin "One Step Simplification" (formula "22")) - (rule "inEqSimp_leqRight" (formula "24")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_leqRight" (formula "23")) (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "applyEqRigid" (formula "22") (term "4,0,0") (ifseqformula "23")) + (rule "applyEqRigid" (formula "20") (term "4,0") (ifseqformula "22")) + (rule "applyEqRigid" (formula "21") (term "4,0,0") (ifseqformula "22")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "20")) + (rule "applyEq" (formula "2") (term "4,0") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "applyEq" (formula "19") (term "4,1") (ifseqformula "21")) + (rule "applyEqRigid" (formula "22") (term "1,0,0") (ifseqformula "21")) (rule "inEqSimp_sepPosMonomial1" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_contradInEq2" (formula "1") (ifseqformula "22")) - (rule "greater_literals" (formula "1") (term "0,1,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "greater_literals" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "0")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "inEqSimp_homoInEq1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,0")) - (rule "polySimp_pullOutFactor0b" (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 "leq_literals" (formula "1")) - (rule "closeFalse" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1")) + (rule "polySimp_rightDist" (formula "1") (term "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) + (rule "mul_literals" (formula "1") (term "0,1")) + (rule "polySimp_elimOne" (formula "1") (term "1,1")) + (rule "inEqSimp_contradInEq1" (formula "20") (ifseqformula "1")) + (rule "andLeft" (formula "20")) + (rule "inEqSimp_homoInEq1" (formula "20")) + (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_zero_right" (formula "20") (term "0")) + (rule "leq_literals" (formula "20")) + (rule "closeFalse" (formula "20")) ) ) (branch "Case 2" @@ -2524,6 +2154,34 @@ (branch "Case 2" (builtin "One Step Simplification" (formula "18")) (rule "notRight" (formula "18")) + (rule "inEqSimp_ltRight" (formula "16")) + (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_antiSymm" (formula "13") (ifseqformula "1")) + (rule "applyEq" (formula "14") (term "0") (ifseqformula "13")) + (rule "inEqSimp_homoInEq1" (formula "14")) + (rule "polySimp_pullOutFactor1" (formula "14") (term "0")) + (rule "add_literals" (formula "14") (term "1,0")) + (rule "times_zero_1" (formula "14") (term "0")) + (rule "leq_literals" (formula "14")) + (rule "true_left" (formula "14")) + (rule "applyEq" (formula "1") (term "0") (ifseqformula "13")) + (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 "nnf_imp2or" (formula "15") (term "0")) + (builtin "One Step Simplification" (formula "15")) + (rule "arrayLengthIsAShort" (formula "12") (term "0")) + (builtin "One Step Simplification" (formula "12")) + (rule "true_left" (formula "12")) + (rule "arrayLengthNotNegative" (formula "12") (term "0")) + (rule "applyEq" (formula "12") (term "0") (ifseqformula "13")) (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_1" (formula "8")) (rule "notLeft" (formula "8")) (rule "close" (formula "16") (ifseqformula "1")) @@ -2536,7 +2194,7 @@ (rule "closeTrue" (formula "18")) ) ) - (branch + (branch "Case 2" (builtin "One Step Simplification" (formula "18")) (rule "closeTrue" (formula "18")) ) @@ -2562,7 +2220,7 @@ (rule "andRight" (formula "19")) (branch "Case 1" (rule "andRight" (formula "19")) - (branch + (branch "Case 1" (rule "andRight" (formula "19")) (branch "Case 1" (builtin "One Step Simplification" (formula "19")) @@ -2583,24 +2241,44 @@ (rule "inEqSimp_sepNegMonomial1" (formula "1")) (rule "polySimp_mulLiterals" (formula "1") (term "0")) (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_strengthen1" (formula "13") (ifseqformula "17")) + (rule "add_zero_right" (formula "13") (term "1")) + (rule "inEqSimp_contradEq7" (formula "17") (ifseqformula "13")) + (rule "times_zero_1" (formula "17") (term "1,0,0")) + (rule "add_zero_right" (formula "17") (term "0,0")) + (rule "leq_literals" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "false_right" (formula "17")) (rule "inEqSimp_antiSymm" (formula "12") (ifseqformula "2")) - (rule "applyEq" (formula "1") (term "0") (ifseqformula "12")) - (rule "inEqSimp_contradInEq0" (formula "11") (ifseqformula "1")) - (rule "qeq_literals" (formula "11") (term "0")) - (builtin "One Step Simplification" (formula "11")) - (rule "closeFalse" (formula "11")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "12")) + (rule "inEqSimp_homoInEq0" (formula "2")) + (rule "polySimp_pullOutFactor1" (formula "2") (term "0")) + (rule "add_literals" (formula "2") (term "1,0")) + (rule "times_zero_1" (formula "2") (term "0")) + (rule "qeq_literals" (formula "2")) + (rule "true_left" (formula "2")) + (rule "applyEq" (formula "1") (term "0") (ifseqformula "11")) + (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 "inEqSimp_contradInEq0" (formula "10") (ifseqformula "1")) + (rule "qeq_literals" (formula "10") (term "0")) + (builtin "One Step Simplification" (formula "10")) + (rule "closeFalse" (formula "10")) ) ) (branch "Case 2" (builtin "One Step Simplification" (formula "19") (userinteraction)) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "19") (term "1") (ifseqformula "3") (userinteraction)) - (builtin "One Step Simplification" (formula "19")) - (rule "castDel" (formula "19") (term "1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "19") (term "1") (inst "last=last") (ifseqformula "3") (userinteraction)) (builtin "One Step Simplification" (formula "19")) (rule "closeTrue" (formula "19")) ) ) - (branch + (branch "Case 2" (builtin "One Step Simplification" (formula "19")) (rule "inEqSimp_ltRight" (formula "16")) (rule "polySimp_mulComm0" (formula "1") (term "0,0")) @@ -2614,48 +2292,74 @@ (rule "inEqSimp_sepNegMonomial1" (formula "1")) (rule "polySimp_mulLiterals" (formula "1") (term "0")) (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_strengthen1" (formula "13") (ifseqformula "17")) + (rule "add_zero_right" (formula "13") (term "1")) + (rule "inEqSimp_contradEq7" (formula "17") (ifseqformula "13")) + (rule "times_zero_1" (formula "17") (term "1,0,0")) + (rule "add_zero_right" (formula "17") (term "0,0")) + (rule "leq_literals" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "false_right" (formula "17")) (rule "inEqSimp_antiSymm" (formula "12") (ifseqformula "2")) - (rule "applyEq" (formula "1") (term "0,0") (ifseqformula "12")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "12")) + (rule "inEqSimp_homoInEq0" (formula "2")) + (rule "polySimp_pullOutFactor1" (formula "2") (term "0")) + (rule "add_literals" (formula "2") (term "1,0")) + (rule "times_zero_1" (formula "2") (term "0")) + (rule "qeq_literals" (formula "2")) + (rule "true_left" (formula "2")) + (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,0") (ifseqformula "11")) + (rule "nnf_imp2or" (formula "15") (term "0")) + (builtin "One Step Simplification" (formula "15")) (rule "jdiv_axiom" (formula "1") (term "0")) (rule "eqSymm" (formula "1")) - (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "12")) + (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "11")) (builtin "One Step Simplification" (formula "1")) (rule "eqSymm" (formula "1")) (rule "applyEqRigid" (formula "2") (term "0") (ifseqformula "1")) (rule "div_axiom" (formula "1") (term "1") (inst "quotient=quotient_0")) - (rule "mul_literals" (formula "1") (term "1,1,1,1,1")) - (rule "qeq_literals" (formula "1") (term "0,1,1")) - (builtin "One Step Simplification" (formula "1")) (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_addComm1" (formula "3") (term "1")) (rule "add_literals" (formula "3") (term "0,1")) + (rule "inEqSimp_commuteLeq" (formula "2")) (rule "inEqSimp_homoInEq1" (formula "3")) (rule "polySimp_mulLiterals" (formula "3") (term "1,0")) (rule "polySimp_addComm1" (formula "3") (term "0")) (rule "applyEqRigid" (formula "5") (term "0") (ifseqformula "1")) + (rule "applyEqRigid" (formula "4") (term "1") (ifseqformula "1")) (rule "inEqSimp_sepPosMonomial0" (formula "3")) (rule "polySimp_mulComm0" (formula "3") (term "1")) (rule "polySimp_rightDist" (formula "3") (term "1")) (rule "polySimp_mulLiterals" (formula "3") (term "1,1")) (rule "mul_literals" (formula "3") (term "0,1")) - (rule "inEqSimp_exactShadow3" (formula "15") (ifseqformula "3")) - (rule "times_zero_1" (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_contradInEq3" (formula "15") (ifseqformula "5")) - (rule "mul_literals" (formula "15") (term "0,1,0")) - (rule "greater_literals" (formula "15") (term "0,0")) - (builtin "One Step Simplification" (formula "15")) - (rule "qeq_literals" (formula "15") (term "0")) - (builtin "One Step Simplification" (formula "15")) - (rule "closeFalse" (formula "15")) + (rule "inEqSimp_exactShadow3" (formula "14") (ifseqformula "3")) + (rule "times_zero_1" (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_contradInEq3" (formula "14") (ifseqformula "5")) + (rule "mul_literals" (formula "14") (term "0,1,0")) + (rule "greater_literals" (formula "14") (term "0,0")) + (builtin "One Step Simplification" (formula "14")) + (rule "qeq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "closeFalse" (formula "14")) ) ) - (branch + (branch "Case 2" (builtin "One Step Simplification" (formula "19") (ifInst "" (formula "1"))) (rule "closeTrue" (formula "19")) ) @@ -2913,127 +2617,251 @@ (rule "emptyModality" (formula "36") (term "1")) (builtin "One Step Simplification" (formula "36") (ifInst "" (formula "30"))) (rule "andRight" (formula "36")) - (branch + (branch "Case 1" (rule "andRight" (formula "36")) (branch "Case 1" (rule "impRight" (formula "36")) - (rule "dismissNonSelectedField" (formula "37") (term "4,0")) - (rule "selectOfStore" (formula "37") (term "4,0")) - (rule "ifthenelse_split" (formula "37") (term "4,0")) + (rule "dismissNonSelectedField" (formula "37") (term "4,0") (userinteraction)) + (rule "selectOfStore" (formula "37") (term "4,0") (userinteraction)) + (rule "ifthenelse_split" (formula "37") (term "4,0") (userinteraction)) (branch " i_14 = i_14 & IntOpt::$value = IntOpt::$value & !IntOpt::$value = java.lang.Object:: TRUE" - (rule "castDel2" (formula "38") (term "4,0") (ifseqformula "5")) - (rule "applyEq" (formula "38") (term "4,0") (ifseqformula "5")) - (builtin "Use Dependency Contract" (formula "38") (term "0") (ifInst "" (formula "31") (term "0")) (contract "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML accessible clause.0")) - (rule "impLeft" (formula "32")) + (rule "castDel2" (formula "38") (term "4,0") (ifseqformula "5") (userinteraction)) + (rule "applyEqReverse" (formula "31") (term "4,0") (ifseqformula "5") (userinteraction)) + (builtin "Use Dependency Contract" (formula "38") (term "0") (ifInst "" (formula "31") (term "0")) (contract "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML accessible clause.0") (userinteraction)) + (rule "impLeft" (formula "32") (userinteraction)) (branch "Case 1" - (rule "wellFormedStorePrimitive" (formula "32") (term "1,1,0,0,0,0")) - (rule "wellFormedStorePrimitive" (formula "32") (term "1,1,0,0,0,0")) - (rule "wellFormedStorePrimitive" (formula "32") (term "1,1,0,0,0,0")) - (rule "wellFormedCreate" (formula "32") (term "1,1,0,0,0,0")) - (builtin "One Step Simplification" (formula "32") (ifInst "" (formula "37")) (ifInst "" (formula "8")) (ifInst "" (formula "7")) (ifInst "" (formula "7")) (ifInst "" (formula "38")) (ifInst "" (formula "10")) (ifInst "" (formula "13")) (ifInst "" (formula "38"))) - (rule "disjointDefinition" (formula "32") (term "1,0")) - (rule "measuredByCheckEmpty" (formula "32") (term "1") (ifseqformula "11")) - (builtin "One Step Simplification" (formula "32")) - (rule "inEqSimp_commuteLeq" (formula "32") (term "0,0")) - (rule "replace_known_left" (formula "32") (term "0,0") (ifseqformula "16")) - (builtin "One Step Simplification" (formula "32")) - (rule "inEqSimp_homoInEq0" (formula "32") (term "0")) - (rule "polySimp_pullOutFactor1" (formula "32") (term "0,0")) - (rule "add_literals" (formula "32") (term "1,0,0")) - (rule "times_zero_1" (formula "32") (term "0,0")) - (rule "qeq_literals" (formula "32") (term "0")) - (builtin "One Step Simplification" (formula "32")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "wellFormedStorePrimitive" (formula "31") (term "1,1,0,0,0,0")) + (rule "wellFormedStorePrimitive" (formula "31") (term "1,1,0,0,0,0")) + (rule "wellFormedStorePrimitive" (formula "31") (term "1,1,0,0,0,0")) + (rule "wellFormedCreate" (formula "31") (term "1,1,0,0,0,0")) + (builtin "One Step Simplification" (formula "31") (ifInst "" (formula "36")) (ifInst "" (formula "7")) (ifInst "" (formula "6")) (ifInst "" (formula "6")) (ifInst "" (formula "37")) (ifInst "" (formula "9")) (ifInst "" (formula "12")) (ifInst "" (formula "37"))) + (rule "dismissNonSelectedField" (formula "1") (term "0")) + (rule "disjointDefinition" (formula "31") (term "1,0")) + (rule "dismissNonSelectedField" (formula "1") (term "0")) + (rule "measuredByCheckEmpty" (formula "31") (term "1") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "31")) + (rule "inEqSimp_gtRight" (formula "38")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "inEqSimp_ltRight" (formula "36")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_gtToGeq" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1,0,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 "add_zero_left" (formula "5") (term "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 "33") (term "0,0")) + (rule "replace_known_left" (formula "33") (term "0,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "33")) + (rule "inEqSimp_homoInEq0" (formula "33") (term "0")) + (rule "polySimp_pullOutFactor1" (formula "33") (term "0,0")) + (rule "add_literals" (formula "33") (term "1,0,0")) + (rule "times_zero_1" (formula "33") (term "0,0")) + (rule "qeq_literals" (formula "33") (term "0")) + (builtin "One Step Simplification" (formula "33")) + (rule "applyEq" (formula "2") (term "4,1,0") (ifseqformula "6")) + (rule "applyEq" (formula "32") (term "4,0") (ifseqformula "6")) + (rule "inEqSimp_sepNegMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "polySimp_elimOne" (formula "5") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "7")) + (rule "polySimp_mulLiterals" (formula "7") (term "0")) + (rule "polySimp_elimOne" (formula "7") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "1")) + (rule "polySimp_elimOne" (formula "2") (term "1")) + (rule "inEqSimp_strengthen1" (formula "19") (ifseqformula "36")) + (rule "add_zero_right" (formula "19") (term "1")) + (rule "inEqSimp_contradEq7" (formula "36") (ifseqformula "19")) + (rule "times_zero_1" (formula "36") (term "1,0,0")) + (rule "add_zero_right" (formula "36") (term "0,0")) + (rule "leq_literals" (formula "36") (term "0")) + (builtin "One Step Simplification" (formula "36")) + (rule "false_right" (formula "36")) + (rule "inEqSimp_subsumption1" (formula "25") (ifseqformula "7")) + (rule "inEqSimp_homoInEq0" (formula "25") (term "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 "true_left" (formula "25")) (rule "distributeIntersection_2" (formula "32") (term "0")) - (rule "distributeIntersection_2" (formula "32") (term "1,0")) - (rule "intersectWithSingleton" (formula "32") (term "0,0")) + (rule "unionEqualsEmpty" (formula "32")) + (rule "disjointWithSingleton2" (formula "32") (term "0")) (builtin "One Step Simplification" (formula "32")) - (rule "sortsDisjointModuloNull" (formula "32") (term "0,0,0")) - (rule "replace_known_right" (formula "32") (term "0,0,0,0") (ifseqformula "33")) - (builtin "One Step Simplification" (formula "32") (ifInst "" (formula "38"))) + (rule "sortsDisjointModuloNull" (formula "32") (term "0,0")) + (rule "replace_known_right" (formula "32") (term "1,0,0") (ifseqformula "36")) + (builtin "One Step Simplification" (formula "32") (ifInst "" (formula "33"))) + (rule "distributeIntersection_2" (formula "32") (term "0")) (rule "intersectWithSingleton" (formula "32") (term "0,0")) (builtin "One Step Simplification" (formula "32")) (rule "sortsDisjointModuloNull" (formula "32") (term "0,0,0")) (rule "replace_known_right" (formula "32") (term "0,0,0,0") (ifseqformula "33")) - (builtin "One Step Simplification" (formula "32") (ifInst "" (formula "38"))) + (builtin "One Step Simplification" (formula "32") (ifInst "" (formula "36"))) (rule "disjointWithSingleton2" (formula "32")) (builtin "One Step Simplification" (formula "32")) (rule "notRight" (formula "32")) (rule "sortsDisjointModuloNull" (formula "1")) (rule "andLeft" (formula "1")) - (rule "close" (formula "39") (ifseqformula "2")) + (rule "close" (formula "37") (ifseqformula "2")) ) (branch "Case 2" - (rule "applyEq" (formula "39") (term "0") (ifseqformula "32")) - (rule "applyEqReverse" (formula "4") (term "1,0") (ifseqformula "25")) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "31") (term "1") (ifseqformula "9")) - (rule "castDel" (formula "31") (term "1")) - (rule "ifthenelse_split" (formula "31") (term "1")) + (rule "applyEq" (formula "39") (term "0") (ifseqformula "32") (userinteraction)) + (rule "applyEqReverse" (formula "26") (term "4,0") (ifseqformula "5") (userinteraction)) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "31") (term "1") (inst "last=last") (ifseqformula "9") (userinteraction)) + (rule "ifthenelse_split" (formula "31") (term "1") (userinteraction)) (branch "1 + r_0 = 0 TRUE" - (rule "polySimp_sepPosMonomial" (formula "31")) - (rule "mul_literals" (formula "31") (term "1")) - (rule "applyEq" (formula "23") (term "0") (ifseqformula "31")) - (rule "qeq_literals" (formula "23")) - (rule "closeFalse" (formula "23")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "dismissNonSelectedField" (formula "1") (term "0")) + (rule "dismissNonSelectedField" (formula "1") (term "0")) + (rule "inEqSimp_ltRight" (formula "36")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_gtRight" (formula "39")) + (rule "polySimp_mulComm0" (formula "1") (term "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_gtToGeq" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1,0,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 "add_zero_left" (formula "5") (term "0,0")) + (rule "applyEq" (formula "33") (term "4,0") (ifseqformula "6")) + (rule "applyEq" (formula "27") (term "4,0") (ifseqformula "6")) + (rule "applyEq" (formula "34") (term "4,0") (ifseqformula "6")) + (rule "applyEq" (formula "1") (term "4,1,0") (ifseqformula "6")) + (rule "applyEq" (formula "34") (term "4,1") (ifseqformula "6")) + (rule "polySimp_sepPosMonomial" (formula "32")) + (rule "mul_literals" (formula "32") (term "1")) + (rule "applyEqRigid" (formula "25") (term "1") (ifseqformula "32")) + (rule "applyEq" (formula "27") (term "3,0") (ifseqformula "32")) + (rule "applyEqRigid" (formula "24") (term "0") (ifseqformula "32")) + (rule "qeq_literals" (formula "24")) + (rule "closeFalse" (formula "24")) ) (branch "1 + r_0 = 0 FALSE" - (rule "polySimp_elimSub" (formula "31") (term "0,2,0,0,0,1")) - (rule "mul_literals" (formula "31") (term "1,0,2,0,0,0,1")) - (rule "polySimp_elimSub" (formula "31") (term "3,1,1")) - (rule "mul_literals" (formula "31") (term "1,3,1,1")) - (rule "polySimp_addComm1" (formula "31") (term "0,2,0,0,0,1")) - (rule "add_literals" (formula "31") (term "0,0,2,0,0,0,1")) - (rule "add_zero_left" (formula "31") (term "0,2,0,0,0,1")) - (rule "replace_known_left" (formula "31") (term "0,0,1") (ifseqformula "5")) - (builtin "One Step Simplification" (formula "31")) - (rule "polySimp_addComm1" (formula "31") (term "3,1,1")) - (rule "add_literals" (formula "31") (term "0,3,1,1")) - (rule "add_zero_left" (formula "31") (term "3,1,1")) - (rule "inEqSimp_gtRight" (formula "40")) - (rule "polySimp_mulComm0" (formula "1") (term "0,0")) - (rule "inEqSimp_ltRight" (formula "38")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "polySimp_elimSub" (formula "30") (term "0,2,0,0,1")) + (rule "mul_literals" (formula "30") (term "1,0,2,0,0,1")) + (rule "polySimp_elimSub" (formula "30") (term "3,1,1,1")) + (rule "mul_literals" (formula "30") (term "1,3,1,1,1")) + (rule "polySimp_elimSub" (formula "30") (term "3,2,1")) + (rule "mul_literals" (formula "30") (term "1,3,2,1")) + (rule "polySimp_addComm1" (formula "30") (term "0,2,0,0,1")) + (rule "add_literals" (formula "30") (term "0,0,2,0,0,1")) + (rule "add_zero_left" (formula "30") (term "0,2,0,0,1")) + (rule "replace_known_left" (formula "30") (term "0,1") (ifseqformula "4")) + (builtin "One Step Simplification" (formula "30")) + (rule "polySimp_addComm1" (formula "30") (term "3,1,1")) + (rule "add_literals" (formula "30") (term "0,3,1,1")) + (rule "add_zero_left" (formula "30") (term "3,1,1")) + (rule "dismissNonSelectedField" (formula "1") (term "0")) + (rule "inEqSimp_ltRight" (formula "36")) (rule "polySimp_mulComm0" (formula "1") (term "0,0")) (rule "polySimp_addComm0" (formula "1") (term "0")) - (rule "inEqSimp_gtToGeq" (formula "6")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0")) - (rule "polySimp_addComm1" (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_homoInEq1" (formula "33")) - (rule "polySimp_addComm1" (formula "33") (term "0")) - (rule "applyEq" (formula "6") (term "1,0") (ifseqformula "27")) - (rule "polySimp_addComm0" (formula "6") (term "0")) - (rule "applyEq" (formula "33") (term "1,0") (ifseqformula "27")) - (rule "polySimp_addComm1" (formula "33") (term "0")) - (rule "inEqSimp_sepPosMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1")) - (rule "polySimp_elimOne" (formula "2") (term "1")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "0")) - (rule "polySimp_elimOne" (formula "6") (term "0")) - (rule "inEqSimp_sepNegMonomial0" (formula "33")) - (rule "polySimp_mulLiterals" (formula "33") (term "0")) - (rule "polySimp_elimOne" (formula "33") (term "0")) - (rule "inEqSimp_antiSymm" (formula "19") (ifseqformula "1")) - (rule "applyEq" (formula "2") (term "0,1") (ifseqformula "19")) - (rule "applyEq" (formula "30") (term "0,0") (ifseqformula "19")) - (rule "applyEq" (formula "34") (term "3,0") (ifseqformula "19")) - (rule "applyEq" (formula "6") (term "0,0") (ifseqformula "19")) - (rule "applyEq" (formula "2") (term "3,0") (ifseqformula "19")) - (rule "inEqSimp_antiSymm" (formula "30") (ifseqformula "6")) - (rule "applyEq" (formula "2") (term "1") (ifseqformula "30")) - (rule "inEqSimp_contradInEq1" (formula "2") (ifseqformula "35")) - (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")) + (rule "inEqSimp_gtRight" (formula "39")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "dismissNonSelectedField" (formula "3") (term "0")) + (rule "inEqSimp_ltToLeq" (formula "7")) + (rule "polySimp_mulComm0" (formula "7") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "7") (term "0")) + (rule "inEqSimp_gtToGeq" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1,0,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 "add_zero_left" (formula "5") (term "0,0")) + (rule "applyEq" (formula "27") (term "4,0") (ifseqformula "6")) + (rule "applyEq" (formula "32") (term "1,1") (ifseqformula "26")) + (rule "applyEq" (formula "1") (term "4,1,0") (ifseqformula "6")) + (rule "applyEq" (formula "32") (term "4,0") (ifseqformula "6")) + (rule "applyEq" (formula "33") (term "4,0") (ifseqformula "6")) + (rule "applyEq" (formula "33") (term "4,1") (ifseqformula "6")) + (rule "polySimp_sepPosMonomial" (formula "34")) + (rule "mul_literals" (formula "34") (term "1")) + (rule "inEqSimp_sepNegMonomial1" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "7")) + (rule "polySimp_mulLiterals" (formula "7") (term "0")) + (rule "polySimp_elimOne" (formula "7") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "polySimp_elimOne" (formula "5") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1")) + (rule "polySimp_elimOne" (formula "1") (term "1")) + (rule "inEqSimp_contradEq7" (formula "34") (ifseqformula "24")) + (rule "add_zero_left" (formula "34") (term "0,0")) + (rule "mul_literals" (formula "34") (term "0,0")) + (rule "leq_literals" (formula "34") (term "0")) + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "inEqSimp_strengthen1" (formula "19") (ifseqformula "36")) + (rule "add_zero_right" (formula "19") (term "1")) + (rule "inEqSimp_contradEq7" (formula "36") (ifseqformula "19")) + (rule "times_zero_1" (formula "36") (term "1,0,0")) + (rule "add_zero_right" (formula "36") (term "0,0")) + (rule "leq_literals" (formula "36") (term "0")) + (builtin "One Step Simplification" (formula "36")) + (rule "false_right" (formula "36")) + (rule "inEqSimp_subsumption1" (formula "25") (ifseqformula "7")) + (rule "inEqSimp_homoInEq0" (formula "25") (term "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_zero_right" (formula "25") (term "0,0")) + (rule "qeq_literals" (formula "25") (term "0")) + (builtin "One Step Simplification" (formula "25")) + (rule "true_left" (formula "25")) + (rule "pullOutSelect" (formula "3") (term "0") (inst "selectSK=IntOpt_present_0")) + (rule "simplifySelectOfStore" (formula "3")) + (builtin "One Step Simplification" (formula "3")) + (rule "castDel" (formula "3") (term "0")) + (rule "applyEqReverse" (formula "4") (term "0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) + (rule "hideAuxiliaryEq" (formula "3")) + (rule "inEqSimp_antiSymm" (formula "26") (ifseqformula "4")) + (rule "applyEq" (formula "1") (term "1") (ifseqformula "26")) + (rule "applyEq" (formula "4") (term "0") (ifseqformula "26")) + (rule "inEqSimp_homoInEq0" (formula "4")) + (rule "polySimp_pullOutFactor1" (formula "4") (term "0")) + (rule "add_literals" (formula "4") (term "1,0")) + (rule "times_zero_1" (formula "4") (term "0")) + (rule "qeq_literals" (formula "4")) + (rule "true_left" (formula "4")) + (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 "inEqSimp_contradInEq1" (formula "1") (ifseqformula "29")) + (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_zero_right" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) ) ) ) @@ -3046,41 +2874,186 @@ (rule "andRight" (formula "36")) (branch "Case 1" (rule "impRight" (formula "36")) - (rule "notLeft" (formula "1")) - (rule "dismissNonSelectedField" (formula "30") (term "0")) - (rule "dismissNonSelectedField" (formula "30") (term "0")) - (rule "pullOutSelect" (formula "30") (term "0") (inst "selectSK=IntOpt_present_0")) + (rule "notRight" (formula "37")) + (rule "notLeft" (formula "2")) + (rule "exLeft" (formula "1") (inst "sk=m_0")) + (rule "dismissNonSelectedField" (formula "31") (term "0")) + (rule "dismissNonSelectedField" (formula "31") (term "0")) + (rule "inEqSimp_ltRight" (formula "35")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_gtToGeq" (formula "4")) + (rule "polySimp_mulComm0" (formula "4") (term "1,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 "add_zero_left" (formula "4") (term "0,0")) + (rule "inEqSimp_ltToLeq" (formula "6")) + (rule "polySimp_mulComm0" (formula "6") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "6") (term "0")) + (rule "inEqSimp_gtToGeq" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "polySimp_elimOne" (formula "4") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "6")) + (rule "polySimp_mulLiterals" (formula "6") (term "0")) + (rule "polySimp_elimOne" (formula "6") (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_strengthen1" (formula "18") (ifseqformula "35")) + (rule "add_zero_right" (formula "18") (term "1")) + (rule "inEqSimp_contradEq7" (formula "35") (ifseqformula "18")) + (rule "times_zero_1" (formula "35") (term "1,0,0")) + (rule "add_zero_right" (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_subsumption1" (formula "24") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "24") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "24") (term "0,0")) + (rule "add_literals" (formula "24") (term "1,1,0,0")) + (rule "times_zero_1" (formula "24") (term "1,0,0")) + (rule "add_literals" (formula "24") (term "0,0")) + (rule "qeq_literals" (formula "24") (term "0")) + (builtin "One Step Simplification" (formula "24")) + (rule "true_left" (formula "24")) + (rule "pullOutSelect" (formula "31") (term "0") (inst "selectSK=IntOpt_present_0")) (rule "simplifySelectOfStore" (formula "1")) (builtin "One Step Simplification" (formula "1")) (rule "castDel" (formula "1") (term "0")) - (rule "applyEqReverse" (formula "31") (term "0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "31")) - (rule "closeTrue" (formula "31")) + (rule "applyEqReverse" (formula "32") (term "0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "32")) + (rule "closeTrue" (formula "32")) ) (branch "Case 2" - (rule "Class_invariant_axiom_for_BoyerMoore" (formula "36") (ifseqformula "7")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "36") (ifseqformula "7") (userinteraction)) (rule "closeTrue" (formula "36")) ) ) ) - (branch + (branch "Case 2" (rule "allRight" (formula "36") (inst "sk=f_0")) (rule "allRight" (formula "36") (inst "sk=o_0")) (rule "orRight" (formula "36")) (rule "eqSymm" (formula "37")) - (rule "pullOutSelect" (formula "37") (term "0") (inst "selectSK=f_0_0")) + (rule "inEqSimp_ltRight" (formula "33")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_ltToLeq" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "inEqSimp_gtToGeq" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1,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 "add_zero_left" (formula "3") (term "0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "polySimp_elimOne" (formula "5") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "inEqSimp_strengthen1" (formula "17") (ifseqformula "33")) + (rule "add_zero_right" (formula "17") (term "1")) + (rule "inEqSimp_contradEq7" (formula "33") (ifseqformula "17")) + (rule "times_zero_1" (formula "33") (term "1,0,0")) + (rule "add_zero_right" (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_subsumption1" (formula "23") (ifseqformula "5")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0")) + (rule "add_zero_right" (formula "23") (term "0,0")) + (rule "qeq_literals" (formula "23") (term "0")) + (builtin "One Step Simplification" (formula "23")) + (rule "true_left" (formula "23")) + (rule "pullOutSelect" (formula "35") (term "0") (inst "selectSK=f_0_0")) (rule "simplifySelectOfStore" (formula "1")) (builtin "One Step Simplification" (formula "1")) (rule "castDel" (formula "1") (term "1,0")) - (rule "eqSymm" (formula "38")) + (rule "eqSymm" (formula "36")) (rule "eqSymm" (formula "1") (term "1,0,0")) (rule "eqSymm" (formula "1") (term "0,0,0")) + (rule "inEqSimp_antiSymm" (formula "17") (ifseqformula "2")) + (rule "applyEq" (formula "31") (term "3,0") (ifseqformula "17")) + (rule "inEqSimp_commuteGeq" (formula "31")) + (rule "applyEq" (formula "18") (term "0") (ifseqformula "17")) + (rule "inEqSimp_homoInEq1" (formula "18")) + (rule "polySimp_pullOutFactor1" (formula "18") (term "0")) + (rule "add_literals" (formula "18") (term "1,0")) + (rule "times_zero_1" (formula "18") (term "0")) + (rule "leq_literals" (formula "18")) + (rule "true_left" (formula "18")) + (rule "applyEq" (formula "4") (term "0,0") (ifseqformula "17")) + (rule "applyEq" (formula "29") (term "3,0") (ifseqformula "17")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "17")) + (rule "inEqSimp_homoInEq0" (formula "2")) + (rule "polySimp_pullOutFactor1" (formula "2") (term "0")) + (rule "add_literals" (formula "2") (term "1,0")) + (rule "times_zero_1" (formula "2") (term "0")) + (rule "qeq_literals" (formula "2")) + (rule "true_left" (formula "2")) + (rule "applyEq" (formula "15") (term "0") (ifseqformula "16")) + (rule "applyEq" (formula "24") (term "0,0") (ifseqformula "15")) + (rule "applyEq" (formula "5") (term "0") (ifseqformula "15")) + (rule "inEqSimp_homoInEq1" (formula "5")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "applyEq" (formula "17") (term "0") (ifseqformula "27")) + (rule "applyEq" (formula "17") (term "3,0") (ifseqformula "15")) + (builtin "One Step Simplification" (formula "17")) + (rule "true_left" (formula "17")) + (rule "applyEq" (formula "26") (term "3,1") (ifseqformula "15")) + (rule "inEqSimp_sepPosMonomial0" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1")) + (rule "polySimp_rightDist" (formula "5") (term "1")) + (rule "polySimp_mulLiterals" (formula "5") (term "1,1")) + (rule "mul_literals" (formula "5") (term "0,1")) + (rule "polySimp_elimOne" (formula "5") (term "1,1")) (rule "pullOutSelect" (formula "1") (term "2,0") (inst "selectSK=f_0_1")) (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 "eqSymm" (formula "1") (term "0,0,0")) + (rule "inEqSimp_antiSymm" (formula "24") (ifseqformula "4")) + (rule "applyEq" (formula "4") (term "0") (ifseqformula "24")) + (rule "inEqSimp_homoInEq0" (formula "4")) + (rule "polySimp_pullOutFactor1" (formula "4") (term "0")) + (rule "add_literals" (formula "4") (term "1,0")) + (rule "times_zero_1" (formula "4") (term "0")) + (rule "qeq_literals" (formula "4")) + (rule "true_left" (formula "4")) + (rule "applyEqRigid" (formula "24") (term "0") (ifseqformula "23")) + (rule "inEqSimp_homoInEq1" (formula "24")) + (rule "polySimp_pullOutFactor1" (formula "24") (term "0")) + (rule "add_literals" (formula "24") (term "1,0")) + (rule "times_zero_1" (formula "24") (term "0")) + (rule "leq_literals" (formula "24")) + (rule "true_left" (formula "24")) + (rule "inEqSimp_exactShadow3" (formula "20") (ifseqformula "5")) + (rule "mul_literals" (formula "20") (term "0,0")) + (rule "add_zero_left" (formula "20") (term "0")) + (rule "inEqSimp_sepPosMonomial1" (formula "20")) + (rule "mul_literals" (formula "20") (term "1")) + (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "20")) + (rule "leq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) (rule "pullOutSelect" (formula "1") (term "2,0") (inst "selectSK=f_0_2")) (rule "simplifySelectOfStore" (formula "1")) (builtin "One Step Simplification" (formula "1")) @@ -3091,72 +3064,208 @@ (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 "34")) + (rule "replace_known_right" (formula "1") (term "0,1,0,0,0") (ifseqformula "30")) (builtin "One Step Simplification" (formula "1")) + (rule "nnf_imp2or" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) (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 "cut_direct" (formula "40") (term "0,0")) + (rule "jdiv_axiom" (formula "25") (term "0")) + (rule "eqSymm" (formula "25")) + (rule "applyEq" (formula "25") (term "1") (ifseqformula "26")) + (rule "inEqSimp_subsumption1" (formula "25") (term "0,0") (ifseqformula "21")) + (rule "leq_literals" (formula "25") (term "0,0,0")) + (builtin "One Step Simplification" (formula "25")) + (rule "cut_direct" (formula "35") (term "0,0")) (branch "CUT: o_0 = null TRUE" + (builtin "One Step Simplification" (formula "36")) + (rule "false_right" (formula "36")) + (rule "applyEq" (formula "36") (term "1,0") (ifseqformula "1")) + (rule "applyEqRigid" (formula "5") (term "0,1,0,0") (ifseqformula "1")) + (rule "eqSymm" (formula "5") (term "1,0,0")) + (rule "replace_known_right" (formula "5") (term "1,0,0") (ifseqformula "32")) + (builtin "One Step Simplification" (formula "5")) + (rule "applyEqReverse" (formula "36") (term "1") (ifseqformula "5")) + (rule "hideAuxiliaryEq" (formula "5")) + (rule "applyEq" (formula "2") (term "0,1,0,0") (ifseqformula "1")) + (rule "eqSymm" (formula "2") (term "1,0,0")) + (rule "replace_known_right" (formula "2") (term "1,0,0") (ifseqformula "31")) + (builtin "One Step Simplification" (formula "2")) + (rule "applyEqReverse" (formula "3") (term "2,0") (ifseqformula "2")) + (rule "hideAuxiliaryEq" (formula "2")) (rule "applyEq" (formula "3") (term "0,1,0,0") (ifseqformula "1")) (rule "eqSymm" (formula "3") (term "1,0,0")) - (rule "replace_known_right" (formula "3") (term "1,0,0") (ifseqformula "35")) + (rule "replace_known_right" (formula "3") (term "1,0,0") (ifseqformula "30")) (builtin "One Step Simplification" (formula "3")) - (rule "applyEqReverse" (formula "4") (term "2,0") (ifseqformula "3")) - (rule "applyEqRigid" (formula "4") (term "0,1,0,0") (ifseqformula "1")) - (rule "eqSymm" (formula "4") (term "1,0,0")) - (rule "replace_known_right" (formula "4") (term "1,0,0") (ifseqformula "35")) - (builtin "One Step Simplification" (formula "4")) - (rule "applyEqReverse" (formula "5") (term "2,0") (ifseqformula "4")) - (rule "applyEqRigid" (formula "2") (term "1,2,0") (ifseqformula "1")) - (rule "applyEq" (formula "42") (term "1,0") (ifseqformula "1")) - (rule "applyEq" (formula "2") (term "0,1,0,0") (ifseqformula "1")) + (rule "applyEqReverse" (formula "34") (term "1") (ifseqformula "3")) + (rule "hideAuxiliaryEq" (formula "3")) + (rule "applyEqRigid" (formula "2") (term "0,1,0,0") (ifseqformula "1")) (rule "eqSymm" (formula "2") (term "1,0,0")) - (rule "replace_known_right" (formula "2") (term "1,0,0") (ifseqformula "35")) + (rule "replace_known_right" (formula "2") (term "1,0,0") (ifseqformula "29")) (builtin "One Step Simplification" (formula "2")) - (rule "applyEqReverse" (formula "5") (term "2,0") (ifseqformula "2")) - (rule "applyEqRigid" (formula "5") (term "0,1,0,0") (ifseqformula "1")) - (rule "eqSymm" (formula "5") (term "1,0,0")) - (rule "replace_known_right" (formula "5") (term "1,0,0") (ifseqformula "35")) - (builtin "One Step Simplification" (formula "5") (ifInst "" (formula "42"))) - (rule "closeFalse" (formula "5")) + (rule "applyEqReverse" (formula "33") (term "1") (ifseqformula "2")) + (rule "hideAuxiliaryEq" (formula "2")) + (rule "eqSymm" (formula "32")) + (rule "applyEq" (formula "32") (term "1,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "32")) + (rule "closeTrue" (formula "32")) ) (branch "CUT: o_0 = null FALSE" - (builtin "One Step Simplification" (formula "41")) - (rule "notRight" (formula "41")) + (builtin "One Step Simplification" (formula "36")) + (rule "notRight" (formula "36")) + (rule "div_axiom" (formula "26") (term "0") (inst "quotient=quotient_0")) + (rule "equal_literals" (formula "26") (term "0")) + (builtin "One Step Simplification" (formula "26")) + (rule "qeq_literals" (formula "26") (term "0,1")) + (builtin "One Step Simplification" (formula "26")) + (rule "mul_literals" (formula "26") (term "1,1,1")) + (rule "andLeft" (formula "26")) + (rule "andLeft" (formula "26")) + (rule "polySimp_addComm1" (formula "28") (term "1")) + (rule "add_literals" (formula "28") (term "0,1")) + (rule "inEqSimp_commuteLeq" (formula "27")) + (rule "inEqSimp_homoInEq1" (formula "28")) + (rule "polySimp_mulLiterals" (formula "28") (term "1,0")) + (rule "polySimp_addComm1" (formula "28") (term "0")) + (rule "applyEq" (formula "29") (term "0") (ifseqformula "26")) + (rule "eqSymm" (formula "29")) + (rule "applyEq" (formula "25") (term "1") (ifseqformula "29")) + (rule "applyEqRigid" (formula "24") (term "1") (ifseqformula "29")) + (rule "applyEqRigid" (formula "30") (term "1") (ifseqformula "29")) + (rule "inEqSimp_sepPosMonomial0" (formula "28")) + (rule "polySimp_mulComm0" (formula "28") (term "1")) + (rule "polySimp_rightDist" (formula "28") (term "1")) + (rule "polySimp_mulLiterals" (formula "28") (term "1,1")) + (rule "mul_literals" (formula "28") (term "0,1")) + (rule "inEqSimp_exactShadow3" (formula "22") (ifseqformula "28")) + (rule "mul_literals" (formula "22") (term "0,0")) + (rule "polySimp_addAssoc" (formula "22") (term "0")) + (rule "add_literals" (formula "22") (term "0,0")) + (rule "add_zero_left" (formula "22") (term "0")) + (rule "elimGcdGeq_antec" (formula "22") (inst "elimGcdRightDiv=Z(0(#))") (inst "elimGcdLeftDiv=quotient_0") (inst "elimGcd=Z(2(#))")) + (rule "polySimp_mulLiterals" (formula "22") (term "1,0,1,0")) + (rule "leq_literals" (formula "22") (term "0,0")) + (builtin "One Step Simplification" (formula "22")) + (rule "add_zero_right" (formula "22") (term "0,0,0,0")) + (rule "times_zero_1" (formula "22") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "22") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor0b" (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_zero_right" (formula "22") (term "0,0")) + (rule "leq_literals" (formula "22") (term "0")) + (builtin "One Step Simplification" (formula "22")) (rule "ifthenelse_split" (formula "2") (term "0")) (branch "f_0 = java.lang.Object:: & o_0 = i_14 TRUE" (rule "andLeft" (formula "2")) + (rule "applyEqReverse" (formula "5") (term "2,0") (ifseqformula "4")) + (builtin "One Step Simplification" (formula "5") (ifInst "" (formula "3"))) + (rule "applyEqReverse" (formula "6") (term "2,0") (ifseqformula "5")) + (rule "hideAuxiliaryEq" (formula "4")) + (rule "hideAuxiliaryEq" (formula "4")) + (rule "replace_known_left" (formula "4") (term "1,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "4")) + (rule "replace_known_left" (formula "5") (term "1,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "5")) + (rule "applyEq" (formula "4") (term "0,0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "4")) + (rule "applyEqReverse" (formula "5") (term "2,0") (ifseqformula "4")) + (builtin "One Step Simplification" (formula "5")) + (rule "applyEqReverse" (formula "41") (term "1") (ifseqformula "5")) + (rule "hideAuxiliaryEq" (formula "4")) + (rule "hideAuxiliaryEq" (formula "4")) (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "3")) - (rule "close" (formula "38") (ifseqformula "1")) + (rule "close" (formula "35") (ifseqformula "1")) ) (branch "f_0 = java.lang.Object:: & o_0 = i_14 FALSE" (rule "applyEqReverse" (formula "3") (term "2,0") (ifseqformula "2")) - (rule "ifthenelse_split" (formula "3") (term "0")) + (rule "hideAuxiliaryEq" (formula "2")) + (rule "ifthenelse_split" (formula "2") (term "0")) (branch "f_0 = IntOpt::$present & o_0 = i_14 TRUE" - (rule "andLeft" (formula "3")) - (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "4")) - (rule "close" (formula "39") (ifseqformula "1")) + (rule "andLeft" (formula "2")) + (rule "applyEqReverse" (formula "5") (term "2,0") (ifseqformula "4")) + (rule "hideAuxiliaryEq" (formula "4")) + (rule "replace_known_left" (formula "4") (term "1,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "4")) + (rule "replace_known_left" (formula "5") (term "1,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "5")) + (rule "replace_known_left" (formula "36") (term "1") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "36")) + (rule "applyEqRigid" (formula "36") (term "0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "36")) + (rule "false_right" (formula "36")) + (rule "applyEqRigid" (formula "5") (term "0,0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "5")) + (rule "applyEqReverse" (formula "41") (term "1") (ifseqformula "5")) + (rule "hideAuxiliaryEq" (formula "5")) + (rule "applyEqRigid" (formula "4") (term "0,0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "4")) + (rule "applyEqReverse" (formula "40") (term "1") (ifseqformula "4")) + (rule "hideAuxiliaryEq" (formula "4")) + (rule "applyEqRigid" (formula "39") (term "2,0") (ifseqformula "2")) + (rule "narrowSelectType" (formula "39") (term "0") (ifseqformula "7")) + (rule "applyEq" (formula "38") (term "0") (ifseqformula "3")) + (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "3")) + (rule "close" (formula "35") (ifseqformula "1")) ) (branch "f_0 = IntOpt::$present & o_0 = i_14 FALSE" - (rule "applyEqReverse" (formula "4") (term "2,0") (ifseqformula "3")) - (rule "ifthenelse_split" (formula "4") (term "0")) + (rule "applyEqReverse" (formula "3") (term "2,0") (ifseqformula "2")) + (rule "hideAuxiliaryEq" (formula "2")) + (rule "ifthenelse_split" (formula "2") (term "0")) (branch "f_0 = IntOpt::$value & o_0 = i_14 TRUE" - (rule "andLeft" (formula "4")) - (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "5")) - (rule "close" (formula "40") (ifseqformula "1")) + (rule "andLeft" (formula "2")) + (rule "applyEqReverse" (formula "5") (term "2,0") (ifseqformula "4")) + (rule "hideAuxiliaryEq" (formula "4")) + (rule "replace_known_left" (formula "4") (term "1,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "4")) + (rule "replace_known_left" (formula "35") (term "1") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "35")) + (rule "replace_known_left" (formula "36") (term "1") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "36")) + (rule "applyEq" (formula "4") (term "0,0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "4")) + (rule "applyEqReverse" (formula "42") (term "1") (ifseqformula "4")) + (rule "hideAuxiliaryEq" (formula "4")) + (rule "applyEq" (formula "41") (term "1,0") (ifseqformula "3")) + (rule "applyEq" (formula "40") (term "0") (ifseqformula "3")) + (rule "applyEq" (formula "40") (term "2,0") (ifseqformula "2")) + (rule "narrowSelectType" (formula "40") (term "0") (ifseqformula "7")) + (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "3")) + (rule "close" (formula "37") (ifseqformula "1")) ) (branch "f_0 = IntOpt::$value & o_0 = i_14 FALSE" - (rule "applyEqReverse" (formula "5") (term "2,0") (ifseqformula "4")) - (rule "ifthenelse_split" (formula "5") (term "0")) + (rule "applyEqReverse" (formula "3") (term "2,0") (ifseqformula "2")) + (rule "hideAuxiliaryEq" (formula "2")) + (rule "ifthenelse_split" (formula "2") (term "0")) (branch "f_0 = java.lang.Object:: & o_0 = i_14 TRUE" - (rule "andLeft" (formula "5")) - (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "6")) - (rule "close" (formula "41") (ifseqformula "1")) + (rule "andLeft" (formula "2")) + (rule "applyEqReverse" (formula "43") (term "1") (ifseqformula "4")) + (rule "hideAuxiliaryEq" (formula "4")) + (rule "replace_known_left" (formula "36") (term "1") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "36")) + (rule "replace_known_left" (formula "35") (term "1") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "35")) + (rule "replace_known_left" (formula "34") (term "1") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "34")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEqRigid" (formula "41") (term "2,0") (ifseqformula "2")) + (rule "narrowSelectType" (formula "41") (term "0") (ifseqformula "7")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEq" (formula "34") (term "0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "applyEq" (formula "38") (term "0") (ifseqformula "3")) + (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "3")) + (rule "close" (formula "35") (ifseqformula "1")) ) (branch "f_0 = java.lang.Object:: & o_0 = i_14 FALSE" - (rule "close" (formula "46") (ifseqformula "5")) + (rule "close" (formula "42") (ifseqformula "2")) ) ) ) @@ -3187,29 +3296,61 @@ (rule "polySimp_addComm0" (formula "29") (term "0,1")) (rule "measuredByCheckEmpty" (formula "29") (term "1") (ifseqformula "8")) (builtin "One Step Simplification" (formula "29")) - (rule "inEqSimp_ltToLeq" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) + (rule "inEqSimp_ltRight" (formula "26")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_ltToLeq" (formula "4")) + (rule "polySimp_mulComm0" (formula "4") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "inEqSimp_gtToGeq" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "polySimp_addAssoc" (formula "2") (term "0,0")) + (rule "add_literals" (formula "2") (term "0,0,0")) + (rule "add_zero_left" (formula "2") (term "0,0")) (rule "inEqSimp_commuteLeq" (formula "29") (term "1")) (rule "inEqSimp_homoInEq0" (formula "29") (term "0")) (rule "times_zero_2" (formula "29") (term "1,0,0")) (rule "add_zero_right" (formula "29") (term "0,0")) - (rule "inEqSimp_sepNegMonomial0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) - (rule "replace_known_left" (formula "29") (term "1") (ifseqformula "3")) + (rule "inEqSimp_sepNegMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "polySimp_elimOne" (formula "4") (term "0")) + (rule "replace_known_left" (formula "29") (term "1") (ifseqformula "4")) (builtin "One Step Simplification" (formula "29")) (rule "inEqSimp_geqRight" (formula "29")) (rule "times_zero_1" (formula "1") (term "1,0,0")) (rule "add_zero_right" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0")) (rule "add_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "polySimp_elimOne" (formula "3") (term "0")) (rule "inEqSimp_sepPosMonomial0" (formula "1")) (rule "mul_literals" (formula "1") (term "1")) - (rule "inEqSimp_contradInEq0" (formula "21") (ifseqformula "1")) - (rule "qeq_literals" (formula "21") (term "0")) - (builtin "One Step Simplification" (formula "21")) - (rule "closeFalse" (formula "21")) + (rule "inEqSimp_strengthen1" (formula "17") (ifseqformula "27")) + (rule "add_zero_right" (formula "17") (term "1")) + (rule "inEqSimp_contradEq7" (formula "27") (ifseqformula "17")) + (rule "times_zero_1" (formula "27") (term "1,0,0")) + (rule "add_zero_right" (formula "27") (term "0,0")) + (rule "leq_literals" (formula "27") (term "0")) + (builtin "One Step Simplification" (formula "27")) + (rule "false_right" (formula "27")) + (rule "inEqSimp_subsumption1" (formula "23") (ifseqformula "5")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0")) + (rule "add_zero_right" (formula "23") (term "0,0")) + (rule "qeq_literals" (formula "23") (term "0")) + (builtin "One Step Simplification" (formula "23")) + (rule "true_left" (formula "23")) + (rule "inEqSimp_contradInEq0" (formula "22") (ifseqformula "1")) + (rule "qeq_literals" (formula "22") (term "0")) + (builtin "One Step Simplification" (formula "22")) + (rule "closeFalse" (formula "22")) ) ) (branch "if ++cnt > _a.length / 2 false" @@ -3239,20 +3380,64 @@ (rule "andRight" (formula "29")) (branch "Case 1" (rule "andRight" (formula "29")) - (branch + (branch "Case 1" (rule "andRight" (formula "29")) (branch "Case 1" + (rule "inEqSimp_ltRight" (formula "26")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_gtRight" (formula "25")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) (rule "inEqSimp_geqRight" (formula "29")) (rule "times_zero_1" (formula "1") (term "1,0,0")) (rule "add_zero_right" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0")) (rule "add_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_ltToLeq" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) (rule "inEqSimp_sepPosMonomial0" (formula "1")) (rule "mul_literals" (formula "1") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "20")) - (rule "qeq_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "closeFalse" (formula "1")) + (rule "inEqSimp_sepNegMonomial0" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "polySimp_elimOne" (formula "5") (term "0")) + (rule "inEqSimp_strengthen1" (formula "17") (ifseqformula "27")) + (rule "add_zero_right" (formula "17") (term "1")) + (rule "inEqSimp_contradEq7" (formula "27") (ifseqformula "17")) + (rule "times_zero_1" (formula "27") (term "1,0,0")) + (rule "add_zero_right" (formula "27") (term "0,0")) + (rule "leq_literals" (formula "27") (term "0")) + (builtin "One Step Simplification" (formula "27")) + (rule "false_right" (formula "27")) + (rule "inEqSimp_subsumption1" (formula "26") (ifseqformula "2")) + (rule "inEqSimp_homoInEq0" (formula "26") (term "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_zero_right" (formula "26") (term "0,0")) + (rule "qeq_literals" (formula "26") (term "0")) + (builtin "One Step Simplification" (formula "26")) + (rule "true_left" (formula "26")) + (rule "inEqSimp_subsumption1" (formula "23") (ifseqformula "5")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0")) + (rule "add_zero_right" (formula "23") (term "0,0")) + (rule "qeq_literals" (formula "23") (term "0")) + (builtin "One Step Simplification" (formula "23")) + (rule "true_left" (formula "23")) + (rule "inEqSimp_contradInEq0" (formula "22") (ifseqformula "1")) + (rule "qeq_literals" (formula "22") (term "0")) + (builtin "One Step Simplification" (formula "22")) + (rule "closeFalse" (formula "22")) ) (branch "Case 2" (rule "inEqSimp_geqRight" (formula "29")) @@ -3261,45 +3446,84 @@ (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_ltToLeq" (formula "3")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "3") (term "0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_sepNegMonomial0" (formula "3")) - (rule "polySimp_mulLiterals" (formula "3") (term "0")) - (rule "polySimp_elimOne" (formula "3") (term "0")) - (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_zero_right" (formula "1") (term "0")) - (rule "leq_literals" (formula "1")) - (rule "closeFalse" (formula "1")) + (rule "inEqSimp_ltRight" (formula "27")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_gtRight" (formula "26")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_ltToLeq" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "inEqSimp_sepNegMonomial1" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "polySimp_elimOne" (formula "5") (term "0")) + (rule "inEqSimp_strengthen1" (formula "17") (ifseqformula "27")) + (rule "add_zero_right" (formula "17") (term "1")) + (rule "inEqSimp_contradEq7" (formula "27") (ifseqformula "17")) + (rule "times_zero_1" (formula "27") (term "1,0,0")) + (rule "add_zero_right" (formula "27") (term "0,0")) + (rule "leq_literals" (formula "27") (term "0")) + (builtin "One Step Simplification" (formula "27")) + (rule "false_right" (formula "27")) + (rule "inEqSimp_subsumption1" (formula "23") (ifseqformula "5")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0")) + (rule "add_zero_right" (formula "23") (term "0,0")) + (rule "qeq_literals" (formula "23") (term "0")) + (builtin "One Step Simplification" (formula "23")) + (rule "true_left" (formula "23")) + (rule "inEqSimp_subsumption1" (formula "25") (ifseqformula "1")) + (rule "inEqSimp_homoInEq0" (formula "25") (term "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_zero_right" (formula "25") (term "0,0")) + (rule "qeq_literals" (formula "25") (term "0")) + (builtin "One Step Simplification" (formula "25")) + (rule "true_left" (formula "25")) + (rule "inEqSimp_contradInEq1" (formula "3") (ifseqformula "5")) + (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")) ) ) (branch "Case 2" - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "29") (term "0") (ifseqformula "5") (userinteraction)) - (rule "castDel" (formula "29") (term "0")) - (rule "polySimp_elimSub" (formula "29") (term "0,2,0,0,0,2,0")) - (rule "mul_literals" (formula "29") (term "1,0,2,0,0,0,2,0")) - (rule "polySimp_elimSub" (formula "29") (term "3,1,2,0")) - (rule "mul_literals" (formula "29") (term "1,3,1,2,0")) - (rule "polySimp_addComm1" (formula "29") (term "0,2,0,0,0,2,0")) - (rule "add_literals" (formula "29") (term "0,0,2,0,0,0,2,0")) - (rule "add_zero_left" (formula "29") (term "0,2,0,0,0,2,0")) - (rule "replace_known_left" (formula "29") (term "0,0,2,0") (ifseqformula "1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "29") (term "0") (inst "last=last") (ifseqformula "5") (userinteraction)) + (rule "polySimp_elimSub" (formula "29") (term "0,2,0,0,2,0")) + (rule "mul_literals" (formula "29") (term "1,0,2,0,0,2,0")) + (rule "polySimp_elimSub" (formula "29") (term "3,2,2,0")) + (rule "mul_literals" (formula "29") (term "1,3,2,2,0")) + (rule "polySimp_elimSub" (formula "29") (term "3,1,1,2,0")) + (rule "mul_literals" (formula "29") (term "1,3,1,1,2,0")) + (rule "polySimp_addComm1" (formula "29") (term "0,2,0,0,2,0")) + (rule "add_literals" (formula "29") (term "0,0,2,0,0,2,0")) + (rule "add_zero_left" (formula "29") (term "0,2,0,0,2,0")) + (rule "replace_known_left" (formula "29") (term "0,2,0") (ifseqformula "1")) (builtin "One Step Simplification" (formula "29")) (rule "polySimp_addComm1" (formula "29") (term "3,1,2,0")) (rule "add_literals" (formula "29") (term "0,3,1,2,0")) (rule "add_zero_left" (formula "29") (term "3,1,2,0")) - (rule "inEqSimp_ltRight" (formula "26")) + (rule "inEqSimp_gtRight" (formula "24")) (rule "polySimp_mulComm0" (formula "1") (term "0,0")) (rule "polySimp_addComm0" (formula "1") (term "0")) - (rule "inEqSimp_gtRight" (formula "25")) + (rule "inEqSimp_ltRight" (formula "26")) (rule "polySimp_mulComm0" (formula "1") (term "0,0")) (rule "polySimp_addComm0" (formula "1") (term "0")) (rule "inEqSimp_ltToLeq" (formula "4")) @@ -3314,47 +3538,94 @@ (rule "add_zero_right" (formula "30") (term "0")) (rule "polySimp_sepPosMonomial" (formula "1")) (rule "mul_literals" (formula "1") (term "1")) + (rule "applyEqRigid" (formula "25") (term "3,0") (ifseqformula "1")) + (rule "applyEqRigid" (formula "24") (term "3,0") (ifseqformula "1")) + (rule "applyEq" (formula "4") (term "0,2,0") (ifseqformula "1")) (rule "applyEq" (formula "23") (term "1") (ifseqformula "1")) - (rule "applyEqRigid" (formula "22") (term "0") (ifseqformula "1")) + (rule "applyEq" (formula "22") (term "0") (ifseqformula "1")) (rule "qeq_literals" (formula "22")) (rule "closeFalse" (formula "22")) ) ) - (branch + (branch "Case 2" (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_gtRight" (formula "25")) + (rule "inEqSimp_ltRight" (formula "27")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_gtRight" (formula "26")) (rule "polySimp_mulComm0" (formula "1") (term "0,0")) (rule "polySimp_addComm0" (formula "1") (term "0")) - (rule "inEqSimp_sepPosMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "1")) - (rule "polySimp_elimOne" (formula "2") (term "1")) + (rule "inEqSimp_ltToLeq" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "1")) + (rule "polySimp_elimOne" (formula "3") (term "1")) + (rule "inEqSimp_sepNegMonomial1" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) (rule "inEqSimp_sepNegMonomial0" (formula "1")) (rule "polySimp_mulLiterals" (formula "1") (term "0")) (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "inEqSimp_contradInEq1" (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_zero_right" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) + (rule "inEqSimp_sepNegMonomial0" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "polySimp_elimOne" (formula "5") (term "0")) + (rule "inEqSimp_strengthen1" (formula "17") (ifseqformula "27")) + (rule "add_zero_right" (formula "17") (term "1")) + (rule "inEqSimp_contradEq7" (formula "27") (ifseqformula "17")) + (rule "times_zero_1" (formula "27") (term "1,0,0")) + (rule "add_zero_right" (formula "27") (term "0,0")) + (rule "leq_literals" (formula "27") (term "0")) + (builtin "One Step Simplification" (formula "27")) + (rule "false_right" (formula "27")) + (rule "inEqSimp_subsumption1" (formula "26") (ifseqformula "1")) + (rule "inEqSimp_homoInEq0" (formula "26") (term "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_zero_right" (formula "26") (term "0,0")) + (rule "qeq_literals" (formula "26") (term "0")) + (builtin "One Step Simplification" (formula "26")) + (rule "true_left" (formula "26")) + (rule "inEqSimp_subsumption1" (formula "23") (ifseqformula "5")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0")) + (rule "add_zero_right" (formula "23") (term "0,0")) + (rule "qeq_literals" (formula "23") (term "0")) + (builtin "One Step Simplification" (formula "23")) + (rule "true_left" (formula "23")) + (rule "inEqSimp_contradInEq1" (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")) ) ) - (branch + (branch "Case 2" (rule "polySimp_mulComm0" (formula "29") (term "0,0")) (rule "polySimp_rightDist" (formula "29") (term "0,0")) (rule "mul_literals" (formula "29") (term "0,0,0")) (rule "precOfInt" (formula "29")) - (rule "inEqSimp_ltToLeq" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "inEqSimp_ltRight" (formula "26")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_gtRight" (formula "25")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_ltToLeq" (formula "4")) + (rule "polySimp_mulComm0" (formula "4") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) (rule "inEqSimp_ltToLeq" (formula "29") (term "1")) (rule "polySimp_rightDist" (formula "29") (term "1,0,0,1")) (rule "polySimp_mulAssoc" (formula "29") (term "0,1,0,0,1")) @@ -3388,25 +3659,57 @@ (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 "3")) + (rule "inEqSimp_sepNegMonomial1" (formula "3")) (rule "polySimp_mulLiterals" (formula "3") (term "0")) (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "polySimp_elimOne" (formula "5") (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 "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_zero_right" (formula "1") (term "0")) - (rule "leq_literals" (formula "1")) - (rule "closeFalse" (formula "1")) + (rule "inEqSimp_strengthen1" (formula "17") (ifseqformula "27")) + (rule "add_zero_right" (formula "17") (term "1")) + (rule "inEqSimp_contradEq7" (formula "27") (ifseqformula "17")) + (rule "times_zero_1" (formula "27") (term "1,0,0")) + (rule "add_zero_right" (formula "27") (term "0,0")) + (rule "leq_literals" (formula "27") (term "0")) + (builtin "One Step Simplification" (formula "27")) + (rule "false_right" (formula "27")) + (rule "inEqSimp_subsumption1" (formula "26") (ifseqformula "2")) + (rule "inEqSimp_homoInEq0" (formula "26") (term "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_zero_right" (formula "26") (term "0,0")) + (rule "qeq_literals" (formula "26") (term "0")) + (builtin "One Step Simplification" (formula "26")) + (rule "true_left" (formula "26")) + (rule "inEqSimp_subsumption1" (formula "23") (ifseqformula "5")) + (rule "inEqSimp_homoInEq0" (formula "23") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "23") (term "0,0")) + (rule "add_literals" (formula "23") (term "1,1,0,0")) + (rule "times_zero_1" (formula "23") (term "1,0,0")) + (rule "add_zero_right" (formula "23") (term "0,0")) + (rule "qeq_literals" (formula "23") (term "0")) + (builtin "One Step Simplification" (formula "23")) + (rule "true_left" (formula "23")) + (rule "inEqSimp_contradInEq0" (formula "5") (ifseqformula "1")) + (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_zero_right" (formula "5") (term "0")) + (rule "leq_literals" (formula "5")) + (rule "closeFalse" (formula "5")) ) ) ) - (branch + (branch "Case 2" (builtin "One Step Simplification" (formula "28")) (rule "equal_literals" (formula "28") (term "0")) (builtin "One Step Simplification" (formula "28")) @@ -3414,6 +3717,7 @@ ) ) (branch "Null Reference (mc == 0 = null)" + (rule "false_right" (formula "29")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "28"))) (rule "closeFalse" (formula "1")) ) @@ -3441,7 +3745,7 @@ (rule "emptyModality" (formula "28") (term "1")) (builtin "One Step Simplification" (formula "28") (ifInst "" (formula "22"))) (rule "andRight" (formula "28")) - (branch + (branch "Case 1" (rule "andRight" (formula "28")) (branch "Case 1" (rule "andRight" (formula "28")) @@ -3451,12 +3755,32 @@ (rule "add_zero_right" (formula "1") (term "0,0")) (rule "polySimp_addAssoc" (formula "1") (term "0")) (rule "add_literals" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "mul_literals" (formula "1") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "19")) - (rule "qeq_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "closeFalse" (formula "1")) + (rule "inEqSimp_ltRight" (formula "26")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (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_sepPosMonomial0" (formula "2")) + (rule "mul_literals" (formula "2") (term "1")) + (rule "inEqSimp_sepNegMonomial1" (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 "inEqSimp_strengthen1" (formula "15") (ifseqformula "26")) + (rule "add_zero_right" (formula "15") (term "1")) + (rule "inEqSimp_contradEq7" (formula "26") (ifseqformula "15")) + (rule "times_zero_1" (formula "26") (term "1,0,0")) + (rule "add_zero_right" (formula "26") (term "0,0")) + (rule "leq_literals" (formula "26") (term "0")) + (builtin "One Step Simplification" (formula "26")) + (rule "false_right" (formula "26")) + (rule "inEqSimp_contradInEq0" (formula "20") (ifseqformula "2")) + (rule "qeq_literals" (formula "20") (term "0")) + (builtin "One Step Simplification" (formula "20")) + (rule "closeFalse" (formula "20")) ) (branch "Case 2" (rule "inEqSimp_geqRight" (formula "28")) @@ -3465,16 +3789,39 @@ (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_ltToLeq" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1")) - (rule "polySimp_elimOne" (formula "1") (term "1")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "1")) + (rule "inEqSimp_ltRight" (formula "26")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (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_sepPosMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "1")) + (rule "polySimp_elimOne" (formula "2") (term "1")) + (rule "inEqSimp_sepNegMonomial1" (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 "inEqSimp_strengthen1" (formula "15") (ifseqformula "26")) + (rule "add_zero_right" (formula "15") (term "1")) + (rule "inEqSimp_contradEq7" (formula "26") (ifseqformula "15")) + (rule "times_zero_1" (formula "26") (term "1,0,0")) + (rule "add_zero_right" (formula "26") (term "0,0")) + (rule "leq_literals" (formula "26") (term "0")) + (builtin "One Step Simplification" (formula "26")) + (rule "false_right" (formula "26")) + (rule "inEqSimp_subsumption1" (formula "21") (ifseqformula "3")) + (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_zero_right" (formula "21") (term "0,0")) + (rule "qeq_literals" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (rule "true_left" (formula "21")) + (rule "inEqSimp_contradInEq1" (formula "2") (ifseqformula "3")) (rule "andLeft" (formula "2")) (rule "inEqSimp_homoInEq1" (formula "2")) (rule "polySimp_pullOutFactor1b" (formula "2") (term "0")) @@ -3486,105 +3833,54 @@ ) ) (branch "Case 2" + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "28") (term "0") (inst "last=last") (ifseqformula "4") (userinteraction)) + (rule "polySimp_elimSub" (formula "28") (term "3,1,1,2,0")) + (rule "mul_literals" (formula "28") (term "1,3,1,1,2,0")) + (rule "polySimp_elimSub" (formula "28") (term "0,2,0,0,2,0")) + (rule "mul_literals" (formula "28") (term "1,0,2,0,0,2,0")) + (rule "polySimp_elimSub" (formula "28") (term "3,2,2,0")) + (rule "mul_literals" (formula "28") (term "1,3,2,2,0")) + (rule "polySimp_addComm1" (formula "28") (term "3,1,1,2,0")) + (rule "add_literals" (formula "28") (term "0,3,1,1,2,0")) + (rule "add_zero_left" (formula "28") (term "3,1,1,2,0")) + (rule "polySimp_addComm1" (formula "28") (term "0,2,0,0,2,0")) + (rule "add_literals" (formula "28") (term "0,0,2,0,0,2,0")) + (rule "add_zero_left" (formula "28") (term "0,2,0,0,2,0")) + (rule "replace_known_right" (formula "28") (term "0,2,0") (ifseqformula "23")) + (builtin "One Step Simplification" (formula "28")) + (rule "polySimp_addComm1" (formula "28") (term "3,2,0")) + (rule "add_literals" (formula "28") (term "0,3,2,0")) + (rule "add_zero_left" (formula "28") (term "3,2,0")) (rule "inEqSimp_ltRight" (formula "25")) (rule "polySimp_mulComm0" (formula "1") (term "0,0")) (rule "polySimp_addComm0" (formula "1") (term "0")) (rule "inEqSimp_ltToLeq" (formula "2")) (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "inEqSimp_sepNegMonomial1" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "inEqSimp_antiSymm" (formula "13") (ifseqformula "1")) - (rule "applyEq" (formula "2") (term "0") (ifseqformula "13")) - (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 "polySimp_mulLiterals" (formula "2") (term "1,1")) - (rule "mul_literals" (formula "2") (term "0,1")) - (rule "polySimp_elimOne" (formula "2") (term "1,1")) - (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "23") (term "0") (inst "l=l")) - (rule "eqSymm" (formula "23") (term "0,1")) - (rule "replace_known_left" (formula "23") (term "1,0,0,0") (ifseqformula "4")) - (builtin "One Step Simplification" (formula "23") (ifInst "" (formula "9")) (ifInst "" (formula "29")) (ifInst "" (formula "3")) (ifInst "" (formula "28")) (ifInst "" (formula "9"))) - (rule "measuredByCheckEmpty" (formula "23") (term "1,0") (ifseqformula "7")) - (builtin "One Step Simplification" (formula "23")) - (rule "inEqSimp_commuteLeq" (formula "23") (term "1,0")) - (rule "inEqSimp_commuteLeq" (formula "23") (term "0,0")) - (rule "replace_known_left" (formula "23") (term "0,0") (ifseqformula "20")) - (builtin "One Step Simplification" (formula "23")) - (rule "applyEq" (formula "23") (term "0,0") (ifseqformula "13")) - (rule "inEqSimp_commuteGeq" (formula "23") (term "0")) - (rule "applyEq" (formula "23") (term "1,1") (ifseqformula "24")) - (rule "inEqSimp_subsumption0" (formula "23") (term "0") (ifseqformula "2")) - (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 "polySimp_addComm0" (formula "23") (term "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_zero_right" (formula "23") (term "0,0,0")) - (rule "qeq_literals" (formula "23") (term "0,0")) - (builtin "One Step Simplification" (formula "23")) - (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "30") (term "0") (inst "l=l")) - (rule "eqSymm" (formula "1") (term "0,1")) - (rule "replace_known_left" (formula "1") (term "0,1,0,0,0,0,0") (ifseqformula "10")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "30")) (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "29")) (ifInst "" (formula "10"))) - (rule "bsum_induction_upper_concrete" (formula "1") (term "0,1")) - (rule "replace_known_right" (formula "1") (term "0,1,1,0,1") (ifseqformula "27")) - (builtin "One Step Simplification" (formula "1")) - (rule "add_zero_right" (formula "1") (term "0,1")) - (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "8")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_commuteLeq" (formula "1") (term "1,0")) - (rule "inEqSimp_homoInEq0" (formula "1") (term "0,0")) - (rule "times_zero_2" (formula "1") (term "1,0,0,0")) - (rule "add_zero_right" (formula "1") (term "0,0,0")) - (rule "applyEq" (formula "1") (term "0,1,0") (ifseqformula "14")) - (rule "inEqSimp_homoInEq1" (formula "1") (term "1,0")) - (rule "polySimp_addComm1" (formula "1") (term "0,1,0")) - (rule "applyEq" (formula "1") (term "0,1") (ifseqformula "24")) - (rule "eqSymm" (formula "1") (term "1")) - (rule "replace_known_right" (formula "1") (term "1") (ifseqformula "31")) - (builtin "One Step Simplification" (formula "1")) - (rule "notLeft" (formula "1")) - (rule "inEqSimp_sepPosMonomial1" (formula "26") (term "0")) - (rule "mul_literals" (formula "26") (term "1,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "26") (term "1")) - (rule "polySimp_mulComm0" (formula "26") (term "1,1")) - (rule "polySimp_rightDist" (formula "26") (term "1,1")) - (rule "mul_literals" (formula "26") (term "0,1,1")) - (rule "polySimp_mulLiterals" (formula "26") (term "1,1,1")) - (rule "polySimp_elimOne" (formula "26") (term "1,1,1")) - (rule "replace_known_left" (formula "26") (term "1") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "26")) - (rule "inEqSimp_geqRight" (formula "26")) - (rule "mul_literals" (formula "1") (term "1,0,0")) - (rule "add_literals" (formula "1") (term "0,0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "applyEq" (formula "28") (term "2,0") (ifseqformula "21")) + (builtin "One Step Simplification" (formula "28")) + (rule "orRight" (formula "28")) + (rule "notRight" (formula "28")) + (rule "eqSymm" (formula "29")) + (rule "polySimp_sepPosMonomial" (formula "1")) (rule "mul_literals" (formula "1") (term "1")) - (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "21")) - (rule "qeq_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "closeFalse" (formula "1")) + (rule "applyEq" (formula "22") (term "3,0") (ifseqformula "1")) + (rule "applyEqRigid" (formula "20") (term "0") (ifseqformula "1")) + (rule "qeq_literals" (formula "20")) + (rule "closeFalse" (formula "20")) ) ) - (branch + (branch "Case 2" (rule "polySimp_mulComm0" (formula "28") (term "0,0")) (rule "polySimp_rightDist" (formula "28") (term "0,0")) (rule "mul_literals" (formula "28") (term "0,0,0")) (rule "precOfInt" (formula "28")) - (rule "inEqSimp_ltToLeq" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "inEqSimp_ltRight" (formula "25")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_ltToLeq" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "2") (term "0")) (rule "inEqSimp_ltToLeq" (formula "28") (term "1")) (rule "polySimp_rightDist" (formula "28") (term "1,0,0,1")) (rule "polySimp_mulAssoc" (formula "28") (term "0,1,0,0,1")) @@ -3618,53 +3914,98 @@ (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 "inEqSimp_sepNegMonomial1" (formula "2")) (rule "polySimp_mulLiterals" (formula "2") (term "0")) (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "polySimp_elimOne" (formula "3") (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 "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_zero_right" (formula "2") (term "0")) - (rule "leq_literals" (formula "2")) - (rule "closeFalse" (formula "2")) + (rule "inEqSimp_strengthen1" (formula "15") (ifseqformula "26")) + (rule "add_zero_right" (formula "15") (term "1")) + (rule "inEqSimp_contradEq7" (formula "26") (ifseqformula "15")) + (rule "times_zero_1" (formula "26") (term "1,0,0")) + (rule "add_zero_right" (formula "26") (term "0,0")) + (rule "leq_literals" (formula "26") (term "0")) + (builtin "One Step Simplification" (formula "26")) + (rule "false_right" (formula "26")) + (rule "inEqSimp_subsumption1" (formula "21") (ifseqformula "3")) + (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_zero_right" (formula "21") (term "0,0")) + (rule "qeq_literals" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (rule "true_left" (formula "21")) + (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_zero_right" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) ) ) ) (branch "Null Reference (mc == 0 = null)" + (rule "false_right" (formula "28")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "27"))) (rule "closeFalse" (formula "1")) ) (branch "Index Out of Bounds (mc == 0 != null, but mc == 0 Out of Bounds!)" + (rule "false_right" (formula "28")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "27"))) - (rule "inEqSimp_ltToLeq" (formula "2")) - (rule "polySimp_mulComm0" (formula "2") (term "1,0,0")) - (rule "polySimp_addComm1" (formula "2") (term "0")) - (rule "inEqSimp_ltToLeq" (formula "1") (term "1")) - (rule "times_zero_1" (formula "1") (term "1,0,0,1")) - (rule "add_zero_right" (formula "1") (term "0,0,1")) - (rule "inEqSimp_sepNegMonomial0" (formula "2")) - (rule "polySimp_mulLiterals" (formula "2") (term "0")) - (rule "polySimp_elimOne" (formula "2") (term "0")) - (rule "inEqSimp_sepPosMonomial0" (formula "1") (term "1")) - (rule "mul_literals" (formula "1") (term "1,1")) - (rule "inEqSimp_contradInEq1" (formula "1") (term "0") (ifseqformula "2")) - (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_zero_right" (formula "1") (term "0,0,0")) - (rule "leq_literals" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1")) - (rule "inEqSimp_contradInEq0" (formula "19") (ifseqformula "1")) - (rule "qeq_literals" (formula "19") (term "0")) - (builtin "One Step Simplification" (formula "19")) - (rule "closeFalse" (formula "19")) + (rule "inEqSimp_ltRight" (formula "25")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (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_ltToLeq" (formula "2") (term "1")) + (rule "times_zero_1" (formula "2") (term "1,0,0,1")) + (rule "add_zero_right" (formula "2") (term "0,0,1")) + (rule "inEqSimp_sepNegMonomial1" (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 "inEqSimp_sepPosMonomial0" (formula "2") (term "1")) + (rule "mul_literals" (formula "2") (term "1,1")) + (rule "inEqSimp_strengthen1" (formula "15") (ifseqformula "25")) + (rule "add_zero_right" (formula "15") (term "1")) + (rule "inEqSimp_contradEq7" (formula "25") (ifseqformula "15")) + (rule "times_zero_1" (formula "25") (term "1,0,0")) + (rule "add_zero_right" (formula "25") (term "0,0")) + (rule "leq_literals" (formula "25") (term "0")) + (builtin "One Step Simplification" (formula "25")) + (rule "false_right" (formula "25")) + (rule "inEqSimp_subsumption1" (formula "21") (ifseqformula "3")) + (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_zero_right" (formula "21") (term "0,0")) + (rule "qeq_literals" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (rule "true_left" (formula "21")) + (rule "inEqSimp_contradInEq1" (formula "2") (term "1") (ifseqformula "20")) + (rule "qeq_literals" (formula "2") (term "0,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "2")) + (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")) ) ) (branch "if r < _a.length false" @@ -3674,6 +4015,7 @@ ) ) (branch "Null Reference (mc == 0 = null)" + (rule "false_right" (formula "27")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "26"))) (rule "closeFalse" (formula "1")) ) @@ -3728,28 +4070,203 @@ (rule "tryEmpty" (formula "26") (term "1")) (rule "emptyModality" (formula "26") (term "1")) (rule "andRight" (formula "26")) - (branch + (branch "Case 1" (rule "andRight" (formula "26")) (branch "Case 1" (rule "andRight" (formula "26")) (branch "Case 1" (rule "impRight" (formula "26")) (builtin "One Step Simplification" (formula "1")) - (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_2" (formula "7")) - (rule "notLeft" (formula "7")) - (rule "close" (formula "22") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "27")) + (rule "inEqSimp_ltRight" (formula "24")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_ltRight" (formula "23")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_gtRight" (formula "27")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1")) + (rule "polySimp_elimOne" (formula "1") (term "1")) + (rule "inEqSimp_strengthen1" (formula "15") (ifseqformula "25")) + (rule "add_zero_right" (formula "15") (term "1")) + (rule "inEqSimp_contradEq7" (formula "25") (ifseqformula "15")) + (rule "times_zero_1" (formula "25") (term "1,0,0")) + (rule "add_zero_right" (formula "25") (term "0,0")) + (rule "leq_literals" (formula "25") (term "0")) + (builtin "One Step Simplification" (formula "25")) + (rule "false_right" (formula "25")) + (rule "inEqSimp_antiSymm" (formula "14") (ifseqformula "3")) + (rule "applyEq" (formula "3") (term "0") (ifseqformula "14")) + (rule "inEqSimp_homoInEq0" (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 "qeq_literals" (formula "3")) + (rule "true_left" (formula "3")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "13")) + (rule "inEqSimp_commuteLeq" (formula "2")) + (rule "applyEq" (formula "24") (term "0,0") (ifseqformula "13")) + (rule "applyEq" (formula "1") (term "3,0") (ifseqformula "13")) + (rule "applyEq" (formula "1") (term "0,1") (ifseqformula "13")) + (rule "applyEq" (formula "14") (term "0") (ifseqformula "13")) + (rule "inEqSimp_homoInEq1" (formula "14")) + (rule "polySimp_pullOutFactor1" (formula "14") (term "0")) + (rule "add_literals" (formula "14") (term "1,0")) + (rule "times_zero_1" (formula "14") (term "0")) + (rule "leq_literals" (formula "14")) + (rule "true_left" (formula "14")) + (rule "applyEq" (formula "20") (term "0") (ifseqformula "13")) + (rule "inEqSimp_commuteGeq" (formula "20")) + (rule "inEqSimp_antiSymm" (formula "2") (ifseqformula "20")) + (rule "applyEqRigid" (formula "20") (term "0") (ifseqformula "2")) + (rule "applyEq" (formula "21") (term "3,0") (ifseqformula "2")) + (rule "applyEqRigid" (formula "20") (term "0") (ifseqformula "2")) + (rule "inEqSimp_homoInEq0" (formula "20")) + (rule "polySimp_pullOutFactor1" (formula "20") (term "0")) + (rule "add_literals" (formula "20") (term "1,0")) + (rule "times_zero_1" (formula "20") (term "0")) + (rule "qeq_literals" (formula "20")) + (rule "true_left" (formula "20")) + (rule "applyEqRigid" (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 "20") (term "3,0") (ifseqformula "2")) + (rule "applyEq" (formula "16") (term "0,0") (ifseqformula "20")) + (rule "inEqSimp_homoInEq0" (formula "16")) + (rule "polySimp_mulLiterals" (formula "16") (term "1,0")) + (rule "polySimp_addComm1" (formula "16") (term "0")) + (rule "polySimp_addComm0" (formula "16") (term "0,0")) + (rule "applyEq" (formula "19") (term "0") (ifseqformula "15")) + (rule "applyEq" (formula "15") (term "1") (ifseqformula "19")) + (rule "inEqSimp_sepPosMonomial1" (formula "16")) + (rule "polySimp_mulComm0" (formula "16") (term "1")) + (rule "polySimp_rightDist" (formula "16") (term "1")) + (rule "polySimp_mulComm0" (formula "16") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "16") (term "0,1")) + (rule "nnf_imp2or" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "1") (term "0")) + (rule "jdiv_axiom" (formula "21") (term "0")) + (rule "eqSymm" (formula "21")) + (rule "replace_known_left" (formula "21") (term "0,0") (ifseqformula "13")) + (builtin "One Step Simplification" (formula "21")) + (rule "eqSymm" (formula "21")) + (rule "applyEq" (formula "2") (term "1") (ifseqformula "21")) + (rule "applyEqRigid" (formula "22") (term "0") (ifseqformula "21")) + (rule "div_axiom" (formula "21") (term "1") (inst "quotient=quotient_0")) + (rule "mul_literals" (formula "21") (term "1,1,1,1,1")) + (rule "qeq_literals" (formula "21") (term "0,1,1")) + (builtin "One Step Simplification" (formula "21")) + (rule "equal_literals" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (rule "andLeft" (formula "21")) + (rule "andLeft" (formula "21")) + (rule "polySimp_addComm1" (formula "23") (term "1")) + (rule "add_literals" (formula "23") (term "0,1")) + (rule "inEqSimp_commuteLeq" (formula "22")) + (rule "inEqSimp_homoInEq1" (formula "23")) + (rule "polySimp_mulLiterals" (formula "23") (term "1,0")) + (rule "polySimp_addComm1" (formula "23") (term "0")) + (rule "applyEqRigid" (formula "25") (term "0") (ifseqformula "21")) + (rule "inEqSimp_commuteGeq" (formula "25")) + (rule "applyEq" (formula "2") (term "1") (ifseqformula "21")) + (rule "applyEq" (formula "24") (term "1") (ifseqformula "21")) + (rule "inEqSimp_sepPosMonomial0" (formula "23")) + (rule "polySimp_mulComm0" (formula "23") (term "1")) + (rule "polySimp_rightDist" (formula "23") (term "1")) + (rule "polySimp_mulLiterals" (formula "23") (term "1,1")) + (rule "mul_literals" (formula "23") (term "0,1")) + (rule "inEqSimp_exactShadow3" (formula "13") (ifseqformula "23")) + (rule "times_zero_1" (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 "elimGcdGeq_antec" (formula "13") (inst "elimGcdRightDiv=Z(0(#))") (inst "elimGcdLeftDiv=quotient_0") (inst "elimGcd=Z(2(#))")) + (rule "polySimp_mulLiterals" (formula "13") (term "1,0,1,0")) + (rule "times_zero_1" (formula "13") (term "1,0,0,0,0,1,0")) + (rule "leq_literals" (formula "13") (term "0,0")) + (builtin "One Step Simplification" (formula "13")) + (rule "polySimp_addLiterals" (formula "13") (term "0,0,0,0")) + (rule "add_literals" (formula "13") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "13") (term "0,0")) + (rule "add_literals" (formula "13") (term "1,1,0,0")) + (rule "times_zero_1" (formula "13") (term "1,0,0")) + (rule "add_zero_right" (formula "13") (term "0,0")) + (rule "leq_literals" (formula "13") (term "0")) + (builtin "One Step Simplification" (formula "13")) + (rule "arrayLengthNotNegative" (formula "15") (term "0")) + (rule "applyEq" (formula "15") (term "0") (ifseqformula "16")) + (rule "arrayLengthIsAShort" (formula "15") (term "0")) + (builtin "One Step Simplification" (formula "15")) + (rule "true_left" (formula "15")) + (rule "allLeft" (formula "19") (inst "t=int::select(heap, + IntOpt::final(null, IntOpt::$NONE), + IntOpt::$value)")) + (rule "cut_direct" (formula "19") (term "1")) + (branch "CUT: self.count(a, k_0, IntOpt.NONE.value) * 2 <= k_0 + mc_0 * -1 TRUE" + (builtin "One Step Simplification" (formula "20")) + (rule "true_left" (formula "20")) + (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_2" (formula "10")) + (rule "notLeft" (formula "10")) + (rule "close" (formula "28") (ifseqformula "4")) + ) + (branch "CUT: self.count(a, k_0, IntOpt.NONE.value) * 2 <= k_0 + mc_0 * -1 FALSE" + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_leqRight" (formula "28")) + (rule "polySimp_rightDist" (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 "polySimp_mulComm0" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "applyEq" (formula "3") (term "4,0") (ifseqformula "20")) + (rule "applyEq" (formula "1") (term "4,0,1,0") (ifseqformula "20")) + (rule "applyEq" (formula "2") (term "4,0") (ifseqformula "20")) + (rule "eqSymm" (formula "2")) + (rule "applyEq" (formula "3") (term "0") (ifseqformula "23")) + (rule "applyEq" (formula "1") (term "0,1,0") (ifseqformula "22")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "polySimp_addComm1" (formula "1") (term "0,0")) + (rule "applyEq" (formula "2") (term "4,0") (ifseqformula "19")) + (rule "eqSymm" (formula "2")) + (rule "applyEq" (formula "17") (term "0") (ifseqformula "2")) + (rule "inEqSimp_sepPosMonomial1" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1")) + (rule "polySimp_rightDist" (formula "1") (term "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) + (rule "polySimp_elimOne" (formula "1") (term "1,1")) + (rule "polySimp_rightDist" (formula "1") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1")) + (rule "mul_literals" (formula "1") (term "0,0,1")) + (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_2" (formula "10")) + (rule "notLeft" (formula "10")) + (rule "close" (formula "27") (ifseqformula "4")) + ) ) (branch "Case 2" (rule "andRight" (formula "26")) (branch "Case 1" (rule "impRight" (formula "26")) + (builtin "One Step Simplification" (formula "1")) (builtin "One Step Simplification" (formula "27")) + (rule "notLeft" (formula "1")) (rule "notRight" (formula "27")) (rule "exLeft" (formula "1") (inst "sk=m_0")) - (rule "inEqSimp_ltRight" (formula "25")) + (rule "inEqSimp_ltRight" (formula "23")) (rule "polySimp_mulComm0" (formula "1") (term "0,0")) (rule "polySimp_addComm0" (formula "1") (term "0")) - (rule "inEqSimp_ltRight" (formula "24")) + (rule "inEqSimp_ltRight" (formula "25")) (rule "polySimp_mulComm0" (formula "1") (term "0,0")) (rule "polySimp_addComm0" (formula "1") (term "0")) (rule "inEqSimp_gtToGeq" (formula "3")) @@ -3763,107 +4280,204 @@ (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 "mul_literals" (formula "3") (term "0,1")) (rule "polySimp_elimOne" (formula "3") (term "1,1")) - (rule "inEqSimp_strengthen1" (formula "15") (ifseqformula "25")) - (rule "add_zero_right" (formula "15") (term "1")) - (rule "inEqSimp_antiSymm" (formula "14") (ifseqformula "2")) - (rule "applyEq" (formula "1") (term "0") (ifseqformula "14")) - (rule "inEqSimp_commuteLeq" (formula "1")) - (rule "applyEq" (formula "22") (term "0") (ifseqformula "14")) - (rule "inEqSimp_commuteGeq" (formula "22")) - (rule "applyEq" (formula "3") (term "0,1,1") (ifseqformula "14")) - (rule "applyEq" (formula "3") (term "3,0") (ifseqformula "14")) - (rule "applyEq" (formula "25") (term "0,0") (ifseqformula "14")) - (rule "inEqSimp_antiSymm" (formula "1") (ifseqformula "22")) - (rule "applyEq" (formula "25") (term "3,0") (ifseqformula "1")) - (rule "nnf_imp2or" (formula "20") (term "0")) - (builtin "One Step Simplification" (formula "20")) - (rule "jdiv_axiom" (formula "4") (term "1,1")) - (rule "eqSymm" (formula "4")) - (rule "replace_known_left" (formula "4") (term "0,0") (ifseqformula "15")) - (builtin "One Step Simplification" (formula "4")) - (rule "eqSymm" (formula "4")) - (rule "applyEqRigid" (formula "27") (term "0") (ifseqformula "4")) - (rule "applyEqRigid" (formula "5") (term "1,1") (ifseqformula "4")) - (rule "div_axiom" (formula "4") (term "1") (inst "quotient=quotient_0")) - (rule "equal_literals" (formula "4") (term "0")) - (builtin "One Step Simplification" (formula "4")) - (rule "qeq_literals" (formula "4") (term "0,1")) - (builtin "One Step Simplification" (formula "4")) - (rule "mul_literals" (formula "4") (term "1,1,1")) - (rule "andLeft" (formula "4")) - (rule "andLeft" (formula "4")) - (rule "polySimp_addComm1" (formula "6") (term "1")) - (rule "add_literals" (formula "6") (term "0,1")) - (rule "inEqSimp_homoInEq1" (formula "6")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,0")) - (rule "polySimp_addComm1" (formula "6") (term "0")) - (rule "applyEqRigid" (formula "30") (term "0") (ifseqformula "4")) - (rule "inEqSimp_commuteGeq" (formula "30")) - (rule "applyEqRigid" (formula "8") (term "1,1") (ifseqformula "4")) - (rule "inEqSimp_sepPosMonomial0" (formula "6")) - (rule "polySimp_mulComm0" (formula "6") (term "1")) - (rule "polySimp_rightDist" (formula "6") (term "1")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,1")) - (rule "mul_literals" (formula "6") (term "0,1")) - (rule "allLeft" (formula "24") (inst "t=m_0")) - (rule "eqSymm" (formula "24") (term "0")) - (rule "cut_direct" (formula "24") (term "1")) + (rule "inEqSimp_strengthen1" (formula "14") (ifseqformula "25")) + (rule "add_zero_right" (formula "14") (term "1")) + (rule "inEqSimp_contradEq7" (formula "25") (ifseqformula "14")) + (rule "times_zero_1" (formula "25") (term "1,0,0")) + (rule "add_zero_right" (formula "25") (term "0,0")) + (rule "leq_literals" (formula "25") (term "0")) + (builtin "One Step Simplification" (formula "25")) + (rule "false_right" (formula "25")) + (rule "inEqSimp_antiSymm" (formula "13") (ifseqformula "1")) + (rule "applyEq" (formula "3") (term "0,1,1") (ifseqformula "13")) + (rule "applyEq" (formula "14") (term "0") (ifseqformula "13")) + (rule "inEqSimp_homoInEq1" (formula "14")) + (rule "polySimp_pullOutFactor1" (formula "14") (term "0")) + (rule "add_literals" (formula "14") (term "1,0")) + (rule "times_zero_1" (formula "14") (term "0")) + (rule "leq_literals" (formula "14")) + (rule "true_left" (formula "14")) + (rule "applyEq" (formula "3") (term "3,0") (ifseqformula "13")) + (rule "applyEq" (formula "23") (term "0,0") (ifseqformula "13")) + (rule "applyEq" (formula "20") (term "0") (ifseqformula "13")) + (rule "inEqSimp_commuteGeq" (formula "20")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "13")) + (rule "inEqSimp_commuteLeq" (formula "2")) + (rule "applyEq" (formula "1") (term "0") (ifseqformula "13")) + (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 "inEqSimp_antiSymm" (formula "1") (ifseqformula "19")) + (rule "applyEq" (formula "19") (term "0") (ifseqformula "1")) + (rule "applyEqRigid" (formula "2") (term "0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq1" (formula "2")) + (rule "polySimp_pullOutFactor1" (formula "2") (term "0")) + (rule "add_literals" (formula "2") (term "1,0")) + (rule "times_zero_1" (formula "2") (term "0")) + (rule "leq_literals" (formula "2")) + (rule "true_left" (formula "2")) + (rule "applyEqRigid" (formula "20") (term "3,0") (ifseqformula "1")) + (rule "applyEq" (formula "18") (term "0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq0" (formula "18")) + (rule "polySimp_pullOutFactor1" (formula "18") (term "0")) + (rule "add_literals" (formula "18") (term "1,0")) + (rule "times_zero_1" (formula "18") (term "0")) + (rule "qeq_literals" (formula "18")) + (rule "true_left" (formula "18")) + (rule "applyEqRigid" (formula "18") (term "3,0") (ifseqformula "1")) + (rule "applyEq" (formula "15") (term "0,0") (ifseqformula "19")) + (rule "inEqSimp_homoInEq0" (formula "15")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,0")) + (rule "polySimp_addComm1" (formula "15") (term "0")) + (rule "polySimp_addComm0" (formula "15") (term "0,0")) + (rule "applyEq" (formula "14") (term "0") (ifseqformula "18")) + (rule "eqSymm" (formula "14")) + (rule "inEqSimp_sepPosMonomial1" (formula "14")) + (rule "polySimp_mulComm0" (formula "14") (term "1")) + (rule "polySimp_rightDist" (formula "14") (term "1")) + (rule "polySimp_mulComm0" (formula "14") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "14") (term "0,1")) + (rule "nnf_imp2or" (formula "15") (term "0")) + (builtin "One Step Simplification" (formula "15")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "2") (term "0")) + (rule "jdiv_axiom" (formula "3") (term "1,1")) + (rule "eqSymm" (formula "3")) + (rule "replace_known_left" (formula "3") (term "0,0") (ifseqformula "13")) + (builtin "One Step Simplification" (formula "3")) + (rule "eqSymm" (formula "3")) + (rule "applyEq" (formula "21") (term "0") (ifseqformula "3")) + (rule "applyEq" (formula "4") (term "1,1") (ifseqformula "3")) + (rule "div_axiom" (formula "3") (term "1") (inst "quotient=quotient_0")) + (rule "equal_literals" (formula "3") (term "0")) + (builtin "One Step Simplification" (formula "3")) + (rule "qeq_literals" (formula "3") (term "0,1")) + (builtin "One Step Simplification" (formula "3")) + (rule "mul_literals" (formula "3") (term "1,1,1")) + (rule "andLeft" (formula "3")) + (rule "andLeft" (formula "3")) + (rule "polySimp_addComm1" (formula "5") (term "1")) + (rule "add_literals" (formula "5") (term "0,1")) + (rule "inEqSimp_commuteLeq" (formula "4")) + (rule "inEqSimp_homoInEq1" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "1,0")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "applyEqRigid" (formula "7") (term "1,1") (ifseqformula "3")) + (rule "applyEqRigid" (formula "24") (term "0") (ifseqformula "3")) + (rule "inEqSimp_commuteGeq" (formula "24")) + (rule "applyEqRigid" (formula "6") (term "1") (ifseqformula "3")) + (rule "inEqSimp_sepPosMonomial0" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1")) + (rule "polySimp_rightDist" (formula "5") (term "1")) + (rule "polySimp_mulLiterals" (formula "5") (term "1,1")) + (rule "mul_literals" (formula "5") (term "0,1")) + (rule "inEqSimp_exactShadow3" (formula "16") (ifseqformula "5")) + (rule "times_zero_1" (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 "elimGcdGeq_antec" (formula "16") (inst "elimGcdRightDiv=Z(0(#))") (inst "elimGcdLeftDiv=quotient_0") (inst "elimGcd=Z(2(#))")) + (rule "leq_literals" (formula "16") (term "0,0")) + (builtin "One Step Simplification" (formula "16")) + (rule "polySimp_mulLiterals" (formula "16") (term "1,0,0")) + (rule "times_zero_1" (formula "16") (term "1,0,0,0,0,0")) + (rule "polySimp_addLiterals" (formula "16") (term "0,0,0,0")) + (rule "add_literals" (formula "16") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "16") (term "0,0")) + (rule "add_literals" (formula "16") (term "1,1,0,0")) + (rule "times_zero_1" (formula "16") (term "1,0,0")) + (rule "add_zero_right" (formula "16") (term "0,0")) + (rule "leq_literals" (formula "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "arrayLengthIsAShort" (formula "18") (term "0")) + (builtin "One Step Simplification" (formula "18")) + (rule "true_left" (formula "18")) + (rule "arrayLengthNotNegative" (formula "18") (term "0")) + (rule "applyEq" (formula "18") (term "0") (ifseqformula "19")) + (rule "allLeft" (formula "21") (inst "t=m_0")) + (rule "eqSymm" (formula "21") (term "0")) + (rule "cut_direct" (formula "21") (term "1")) (branch "CUT: self.count(a, k_0, m_0) * 2 <= k_0 + mc_0 * -1 TRUE" - (rule "inEqSimp_exactShadow2" (formula "8") (ifseqformula "24")) - (rule "greater_literals" (formula "8") (term "0")) - (builtin "One Step Simplification" (formula "8")) - (rule "polySimp_rightDist" (formula "8") (term "1,0,0")) - (rule "mul_literals" (formula "8") (term "0,1,0,0")) - (rule "polySimp_rightDist" (formula "8") (term "0,0")) - (rule "polySimp_mulLiterals" (formula "8") (term "1,0,0")) - (rule "mul_literals" (formula "8") (term "0,0,0")) - (rule "polySimp_addAssoc" (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 "22") (ifseqformula "8")) - (rule "mul_literals" (formula "22") (term "0,0")) - (rule "polySimp_addAssoc" (formula "22") (term "0")) - (rule "polySimp_addAssoc" (formula "22") (term "0,0")) - (rule "add_literals" (formula "22") (term "0,0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "22")) - (rule "polySimp_mulComm0" (formula "22") (term "1")) - (rule "polySimp_rightDist" (formula "22") (term "1")) - (rule "polySimp_mulLiterals" (formula "22") (term "1,1")) - (rule "mul_literals" (formula "22") (term "0,1")) - (rule "inEqSimp_contradInEq1" (formula "6") (ifseqformula "22")) - (rule "andLeft" (formula "6")) - (rule "inEqSimp_homoInEq1" (formula "6")) - (rule "polySimp_mulComm0" (formula "6") (term "1,0")) - (rule "polySimp_rightDist" (formula "6") (term "1,0")) - (rule "polySimp_mulLiterals" (formula "6") (term "1,1,0")) - (rule "mul_literals" (formula "6") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "6") (term "0")) - (rule "polySimp_addComm1" (formula "6") (term "0,0")) - (rule "add_literals" (formula "6") (term "0,0,0")) - (rule "polySimp_pullOutFactor0b" (formula "6") (term "0")) - (rule "add_literals" (formula "6") (term "1,1,0")) - (rule "times_zero_1" (formula "6") (term "1,0")) - (rule "add_zero_right" (formula "6") (term "0")) - (rule "leq_literals" (formula "6")) - (rule "closeFalse" (formula "6")) + (builtin "One Step Simplification" (formula "22")) + (rule "true_left" (formula "22")) + (rule "inEqSimp_exactShadow2" (formula "7") (ifseqformula "21")) + (rule "greater_literals" (formula "7") (term "0")) + (builtin "One Step Simplification" (formula "7")) + (rule "polySimp_rightDist" (formula "7") (term "1,0,0")) + (rule "mul_literals" (formula "7") (term "0,1,0,0")) + (rule "polySimp_rightDist" (formula "7") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "7") (term "1,0,0")) + (rule "mul_literals" (formula "7") (term "0,0,0")) + (rule "polySimp_addAssoc" (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_exactShadow3" (formula "20") (ifseqformula "7")) + (rule "mul_literals" (formula "20") (term "0,0")) + (rule "polySimp_addAssoc" (formula "20") (term "0")) + (rule "polySimp_addAssoc" (formula "20") (term "0,0")) + (rule "add_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 "polySimp_mulLiterals" (formula "20") (term "1,1")) + (rule "mul_literals" (formula "20") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "5") (ifseqformula "20")) + (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 "polySimp_mulLiterals" (formula "5") (term "1,1,0")) + (rule "mul_literals" (formula "5") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "5") (term "0")) + (rule "polySimp_addComm1" (formula "5") (term "0,0")) + (rule "add_literals" (formula "5") (term "0,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "5") (term "0")) + (rule "add_literals" (formula "5") (term "1,1,0")) + (rule "times_zero_1" (formula "5") (term "1,0")) + (rule "add_zero_right" (formula "5") (term "0")) + (rule "leq_literals" (formula "5")) + (rule "closeFalse" (formula "5")) ) (branch "CUT: self.count(a, k_0, m_0) * 2 <= k_0 + mc_0 * -1 FALSE" - (builtin "One Step Simplification" (formula "24")) - (rule "applyEq" (formula "30") (term "4,0") (ifseqformula "24")) - (rule "applyEq" (formula "8") (term "0") (ifseqformula "30")) - (rule "inEqSimp_contradInEq0" (formula "8") (ifseqformula "31")) - (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_zero_right" (formula "8") (term "0")) - (rule "leq_literals" (formula "8")) - (rule "closeFalse" (formula "8")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_leqRight" (formula "27")) + (rule "polySimp_rightDist" (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 "polySimp_mulComm0" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "applyEq" (formula "26") (term "4,0") (ifseqformula "22")) + (rule "applyEq" (formula "25") (term "4,0") (ifseqformula "22")) + (rule "applyEq" (formula "1") (term "0,1,0") (ifseqformula "26")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "polySimp_addComm1" (formula "1") (term "0,0")) + (rule "applyEq" (formula "8") (term "0") (ifseqformula "26")) + (rule "applyEq" (formula "3") (term "0") (ifseqformula "25")) + (rule "eqSymm" (formula "3")) + (rule "applyEq" (formula "22") (term "1,0,0") (ifseqformula "21")) + (rule "inEqSimp_sepPosMonomial1" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1")) + (rule "polySimp_rightDist" (formula "1") (term "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) + (rule "polySimp_elimOne" (formula "1") (term "1,1")) + (rule "polySimp_rightDist" (formula "1") (term "0,1")) + (rule "mul_literals" (formula "1") (term "0,0,1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,0,1")) + (rule "inEqSimp_contradInEq1" (formula "26") (ifseqformula "7")) + (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_zero_right" (formula "26") (term "0")) + (rule "leq_literals" (formula "26")) + (rule "closeFalse" (formula "26")) ) ) (branch "Case 2" @@ -3875,9 +4489,132 @@ (branch "Case 2" (builtin "One Step Simplification" (formula "26")) (rule "notRight" (formula "26")) + (rule "inEqSimp_ltRight" (formula "22")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_ltRight" (formula "24")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "inEqSimp_strengthen1" (formula "14") (ifseqformula "24")) + (rule "add_zero_right" (formula "14") (term "1")) + (rule "inEqSimp_contradEq7" (formula "24") (ifseqformula "14")) + (rule "times_zero_1" (formula "24") (term "1,0,0")) + (rule "add_zero_right" (formula "24") (term "0,0")) + (rule "leq_literals" (formula "24") (term "0")) + (builtin "One Step Simplification" (formula "24")) + (rule "false_right" (formula "24")) + (rule "inEqSimp_antiSymm" (formula "20") (ifseqformula "2")) + (rule "applyEq" (formula "13") (term "0") (ifseqformula "20")) + (rule "applyEq" (formula "1") (term "0") (ifseqformula "20")) + (rule "applyEq" (formula "24") (term "0,0") (ifseqformula "20")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "20")) + (rule "inEqSimp_homoInEq0" (formula "2")) + (rule "polySimp_pullOutFactor1" (formula "2") (term "0")) + (rule "add_literals" (formula "2") (term "1,0")) + (rule "times_zero_1" (formula "2") (term "0")) + (rule "qeq_literals" (formula "2")) + (rule "true_left" (formula "2")) + (rule "applyEq" (formula "20") (term "0") (ifseqformula "19")) + (rule "inEqSimp_homoInEq1" (formula "20")) + (rule "polySimp_pullOutFactor1" (formula "20") (term "0")) + (rule "add_literals" (formula "20") (term "1,0")) + (rule "times_zero_1" (formula "20") (term "0")) + (rule "leq_literals" (formula "20")) + (rule "true_left" (formula "20")) + (rule "inEqSimp_antiSymm" (formula "12") (ifseqformula "1")) + (rule "applyEq" (formula "22") (term "3,0") (ifseqformula "12")) + (rule "applyEq" (formula "21") (term "3,0") (ifseqformula "12")) + (rule "applyEq" (formula "19") (term "0") (ifseqformula "12")) + (rule "applyEq" (formula "22") (term "0,0") (ifseqformula "12")) + (rule "applyEqRigid" (formula "1") (term "0") (ifseqformula "12")) + (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 "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 "14") (term "0,0") (ifseqformula "19")) + (rule "inEqSimp_homoInEq0" (formula "14")) + (rule "polySimp_mulLiterals" (formula "14") (term "1,0")) + (rule "polySimp_addComm1" (formula "14") (term "0")) + (rule "polySimp_addComm0" (formula "14") (term "0,0")) + (rule "applyEq" (formula "13") (term "0") (ifseqformula "18")) + (rule "eqSymm" (formula "13")) + (rule "applyEqRigid" (formula "16") (term "1") (ifseqformula "11")) + (rule "inEqSimp_sepPosMonomial1" (formula "13")) + (rule "polySimp_mulComm0" (formula "13") (term "1")) + (rule "polySimp_rightDist" (formula "13") (term "1")) + (rule "polySimp_mulComm0" (formula "13") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "13") (term "0,1")) + (rule "nnf_imp2or" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "jdiv_axiom" (formula "19") (term "0")) + (rule "eqSymm" (formula "19")) + (rule "replace_known_left" (formula "19") (term "0,0") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "19")) + (rule "eqSymm" (formula "19")) + (rule "applyEqRigid" (formula "20") (term "0") (ifseqformula "19")) + (rule "div_axiom" (formula "19") (term "1") (inst "quotient=quotient_0")) + (rule "mul_literals" (formula "19") (term "1,1,1,1,1")) + (rule "qeq_literals" (formula "19") (term "0,1,1")) + (builtin "One Step Simplification" (formula "19")) + (rule "equal_literals" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "andLeft" (formula "19")) + (rule "andLeft" (formula "19")) + (rule "polySimp_addComm1" (formula "21") (term "1")) + (rule "add_literals" (formula "21") (term "0,1")) + (rule "inEqSimp_commuteLeq" (formula "20")) + (rule "inEqSimp_homoInEq1" (formula "21")) + (rule "polySimp_mulLiterals" (formula "21") (term "1,0")) + (rule "polySimp_addComm1" (formula "21") (term "0")) + (rule "applyEq" (formula "23") (term "0") (ifseqformula "19")) + (rule "inEqSimp_commuteGeq" (formula "23")) + (rule "applyEqRigid" (formula "22") (term "1") (ifseqformula "19")) + (rule "inEqSimp_sepPosMonomial0" (formula "21")) + (rule "polySimp_mulComm0" (formula "21") (term "1")) + (rule "polySimp_rightDist" (formula "21") (term "1")) + (rule "polySimp_mulLiterals" (formula "21") (term "1,1")) + (rule "mul_literals" (formula "21") (term "0,1")) + (rule "inEqSimp_exactShadow3" (formula "10") (ifseqformula "21")) + (rule "times_zero_1" (formula "10") (term "0,0")) + (rule "add_zero_left" (formula "10") (term "0")) + (rule "inEqSimp_sepPosMonomial1" (formula "10")) + (rule "mul_literals" (formula "10") (term "1")) + (rule "elimGcdGeq_antec" (formula "10") (inst "elimGcdRightDiv=Z(0(#))") (inst "elimGcdLeftDiv=quotient_0") (inst "elimGcd=Z(2(#))")) + (rule "polySimp_mulLiterals" (formula "10") (term "1,0,1,0")) + (rule "times_zero_1" (formula "10") (term "1,0,0,0,0,1,0")) + (rule "leq_literals" (formula "10") (term "0,0")) + (builtin "One Step Simplification" (formula "10")) + (rule "polySimp_addLiterals" (formula "10") (term "0,0,0,0")) + (rule "add_literals" (formula "10") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor0b" (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_zero_right" (formula "10") (term "0,0")) + (rule "leq_literals" (formula "10") (term "0")) + (builtin "One Step Simplification" (formula "10")) + (rule "arrayLengthNotNegative" (formula "17") (term "0")) + (rule "applyEq" (formula "17") (term "0") (ifseqformula "18")) + (rule "arrayLengthIsAShort" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "true_left" (formula "17")) (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_1" (formula "7")) (rule "notLeft" (formula "7")) - (rule "close" (formula "22") (ifseqformula "1")) + (rule "close" (formula "25") (ifseqformula "1")) ) ) ) @@ -3887,12 +4624,13 @@ (rule "closeTrue" (formula "26")) ) ) - (branch + (branch "Case 2" (builtin "One Step Simplification" (formula "26")) (rule "closeTrue" (formula "26")) ) ) (branch "Null Reference (mc == 0 = null)" + (rule "false_right" (formula "26")) (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "25"))) (rule "closeFalse" (formula "1")) ) diff --git a/key.ui/examples/heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML accessible clause.0.proof b/key.ui/examples/heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML accessible clause.0.proof index 113aa3a4f97..a935d14e417 100644 --- a/key.ui/examples/heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML accessible clause.0.proof +++ b/key.ui/examples/heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML accessible clause.0.proof @@ -7,6 +7,7 @@ "Strings" : "Strings:on", "assertions" : "assertions:on", "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", "floatRules" : "floatRules:strictfpOnly", "initialisation" : "initialisation:disableStaticInitialisation", "intRules" : "intRules:arithmeticSemanticsIgnoringOF", @@ -21,6 +22,7 @@ "reach" : "reach:on", "runtimeExceptions" : "runtimeExceptions:ban", "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", "wdChecks" : "wdChecks:off", "wdOperator" : "wdOperator:L" }, @@ -74,22 +76,23 @@ } } -\javaSource "src"; -\proofObligation "#Proof Obligation Settings -#Fri Apr 12 16:58:52 CEST 2024 -contract=BoyerMoore[BoyerMoore\\:\\:count([I,\\\\bigint,\\\\bigint)].JML accessible clause.0 -name=BoyerMoore[BoyerMoore\\:\\:count([I,\\\\bigint,\\\\bigint)].JML accessible clause.0 -class=de.uka.ilkd.key.proof.init.DependencyContractPO -"; +\javaSource "src";\proofObligation +// +{ + "class" : "de.uka.ilkd.key.proof.init.DependencyContractPO", + "contract" : "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML accessible clause.0", + "name" : "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML accessible clause.0" + } \proof { -(keyLog "0" (keyUser "mattias" ) (keyVersion "9cc569ccced37e242b3a85779f2afdc42b0031ca")) +(keyLog "0" (keyUser "ulbrich" ) (keyVersion "947da2060bf662ceb5ca270943291196724c7fa3")) -(autoModeTime "1607") +(autoModeTime "422") (branch "dummy ID" -(rule "impRight" (formula "1") (newnames "self,a,k,v,anon_heap")) +(rule "impRight" (formula "1") (userinteraction)) + (builtin "One Step Simplification" (formula "2")) (rule "andLeft" (formula "1")) (rule "andLeft" (formula "1")) (rule "andLeft" (formula "3")) @@ -102,215 +105,331 @@ class=de.uka.ilkd.key.proof.init.DependencyContractPO (rule "andLeft" (formula "1")) (rule "andLeft" (formula "1")) (rule "notLeft" (formula "3")) -(rule "orLeft" (formula "5")) -(branch "a = null" - (rule "close" (formula "11") (ifseqformula "5")) +(rule "eqSymm" (formula "12")) +(rule "replace_known_right" (formula "5") (term "0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "5")) +(rule "inEqSimp_commuteLeq" (formula "7")) +(rule "inEqSimp_commuteLeq" (formula "8")) +(rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "12") (term "1")) +(rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "13") (term "0")) +(rule "arrayLengthNotNegative" (formula "10") (term "0")) +(rule "arrayLengthIsAShort" (formula "11") (term "0")) + (builtin "One Step Simplification" (formula "11")) +(rule "true_left" (formula "11")) + (builtin "Use Dependency Contract" (formula "15") (term "0") (ifInst "" (formula "15") (term "1")) (contract "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML accessible clause.0")) +(rule "wellFormedAnon" (formula "13") (term "1,1,0,0,0,0,0")) +(rule "replace_known_right" (formula "13") (term "0,1,0,0,0,0") (ifseqformula "15")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "14")) (ifInst "" (formula "5")) (ifInst "" (formula "3")) (ifInst "" (formula "3")) (ifInst "" (formula "4")) (ifInst "" (formula "7")) (ifInst "" (formula "12")) (ifInst "" (formula "15")) (ifInst "" (formula "16"))) +(rule "notLeft" (formula "13")) +(rule "disjointDefinition" (formula "13") (term "1,0")) + (builtin "One Step Simplification" (formula "13")) +(rule "measuredByCheck" (formula "13") (term "1") (ifseqformula "8")) +(rule "precOfInt" (formula "13") (term "1")) +(rule "inEqSimp_ltToLeq" (formula "13") (term "1,1")) +(rule "polySimp_mulComm0" (formula "13") (term "1,0,0,1,1")) +(rule "polySimp_pullOutFactor2b" (formula "13") (term "0,1,1")) +(rule "add_literals" (formula "13") (term "1,1,0,1,1")) +(rule "times_zero_1" (formula "13") (term "1,0,1,1")) +(rule "add_zero_right" (formula "13") (term "0,1,1")) +(rule "leq_literals" (formula "13") (term "1,1")) + (builtin "One Step Simplification" (formula "13")) +(rule "false_right" (formula "13")) + (builtin "Use Dependency Contract" (formula "1") (term "0") (ifInst "" (formula "2") (term "0")) (contract "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML accessible clause.0")) +(rule "wellFormedAnon" (formula "13") (term "1,1,0,0,0,0,0")) +(rule "replace_known_right" (formula "13") (term "0,1,0,0,0,0") (ifseqformula "15")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "14")) (ifInst "" (formula "5")) (ifInst "" (formula "3")) (ifInst "" (formula "3")) (ifInst "" (formula "4")) (ifInst "" (formula "7")) (ifInst "" (formula "12")) (ifInst "" (formula "15"))) +(rule "disjointDefinition" (formula "13") (term "1,0,0")) + (builtin "One Step Simplification" (formula "13")) +(rule "measuredByCheck" (formula "13") (term "1,0") (ifseqformula "8")) +(rule "precOfInt" (formula "13") (term "1,0")) +(rule "inEqSimp_ltToLeq" (formula "13") (term "1,1,0")) +(rule "polySimp_mulComm0" (formula "13") (term "1,0,0,1,1,0")) +(rule "polySimp_pullOutFactor2b" (formula "13") (term "0,1,1,0")) +(rule "add_literals" (formula "13") (term "1,1,0,1,1,0")) +(rule "times_zero_1" (formula "13") (term "1,0,1,1,0")) +(rule "add_zero_right" (formula "13") (term "0,1,1,0")) +(rule "leq_literals" (formula "13") (term "1,1,0")) + (builtin "One Step Simplification" (formula "13")) +(rule "true_left" (formula "13")) +(rule "Definition_axiom_for_count_in_BoyerMoore" (formula "15") (term "0") (inst "last=last") (ifseqformula "6") (userinteraction)) +(rule "Definition_axiom_for_count_in_BoyerMoore" (formula "15") (term "1") (inst "last=last") (ifseqformula "6") (userinteraction)) +(rule "ifthenelse_split" (formula "15") (term "1") (userinteraction)) +(branch "k = 0 TRUE" + (builtin "One Step Simplification" (formula "16") (ifInst "" (formula "1"))) + (rule "closeTrue" (formula "16")) ) -(branch "a. = TRUE" - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "12") (term "0") (ifseqformula "4") (userinteraction)) - (builtin "One Step Simplification" (formula "12") (userinteraction)) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "12") (term "1") (ifseqformula "4") (userinteraction)) - (rule "castDel" (formula "12") (term "1") (userinteraction)) - (rule "ifthenelse_split" (formula "12") (term "1") (userinteraction)) +(branch "k = 0 FALSE" + (rule "ifthenelse_split" (formula "16") (term "0") (userinteraction)) (branch "k = 0 TRUE" - (rule "castDel" (formula "13") (term "0")) - (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "1"))) - (rule "closeTrue" (formula "13")) + (rule "close" (formula "16") (ifseqformula "1")) ) (branch "k = 0 FALSE" - (rule "replace_known_right" (formula "13") (term "0,0,0") (ifseqformula "12") (userinteraction)) - (builtin "One Step Simplification" (formula "13") (userinteraction)) - (rule "castDel" (formula "13") (term "0") (userinteraction)) - (rule "eqTermCut" (formula "13") (term "0,0,0,1") (inst "s=int::select(heap, a, arr(sub(k, Z(1(#)))))") (userinteraction)) + (rule "eqTermCut" (formula "16") (term "0,0,0") (inst "s=int::select(heap, a, arr(sub(k, Z(1(#)))))") (userinteraction)) (branch "Assume a[k - 1]@heap[anon(allLocs setMinus a.*, anon_heap<>)] = a[k - 1]" - (rule "applyEq" (formula "14") (term "0,0,0,1") (ifseqformula "1") (userinteraction)) + (rule "polySimp_elimSub" (formula "17") (term "3,1,1,1")) + (rule "mul_literals" (formula "17") (term "1,3,1,1,1")) + (rule "polySimp_elimSub" (formula "17") (term "0,2,0,0,0")) + (rule "mul_literals" (formula "17") (term "1,0,2,0,0,0")) + (rule "polySimp_elimSub" (formula "17") (term "3,2,0")) + (rule "mul_literals" (formula "17") (term "1,3,2,0")) + (rule "polySimp_elimSub" (formula "17") (term "0,2,0,0,1")) + (rule "mul_literals" (formula "17") (term "1,0,2,0,0,1")) + (rule "polySimp_elimSub" (formula "17") (term "3,2,1")) + (rule "mul_literals" (formula "17") (term "1,3,2,1")) + (rule "polySimp_elimSub" (formula "17") (term "3,1,1,0")) + (rule "mul_literals" (formula "17") (term "1,3,1,1,0")) (rule "polySimp_elimSub" (formula "1") (term "0,2,0")) (rule "mul_literals" (formula "1") (term "1,0,2,0")) (rule "polySimp_elimSub" (formula "1") (term "0,2,1")) (rule "mul_literals" (formula "1") (term "1,0,2,1")) - (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,0,0")) - (rule "mul_literals" (formula "14") (term "1,0,2,0,0,0,0")) - (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,0,1")) - (rule "mul_literals" (formula "14") (term "1,0,2,0,0,0,1")) - (rule "polySimp_elimSub" (formula "14") (term "3,1,0")) - (rule "mul_literals" (formula "14") (term "1,3,1,0")) - (rule "polySimp_elimSub" (formula "14") (term "3,1,1")) - (rule "mul_literals" (formula "14") (term "1,3,1,1")) - (rule "polySimp_homoEq" (formula "14")) - (rule "polySimp_mulComm0" (formula "14") (term "1,0")) + (rule "polySimp_addComm0" (formula "17") (term "3,1,1,1")) + (rule "polySimp_addComm0" (formula "17") (term "0,2,0,0,0")) + (rule "polySimp_addComm0" (formula "17") (term "3,2,0")) + (rule "polySimp_addComm0" (formula "17") (term "0,2,0,0,1")) + (rule "polySimp_addComm0" (formula "17") (term "3,2,1")) + (rule "polySimp_addComm0" (formula "17") (term "3,1,1,0")) (rule "polySimp_addComm0" (formula "1") (term "0,2,0")) (rule "polySimp_addComm0" (formula "1") (term "0,2,1")) - (rule "polySimp_addComm0" (formula "14") (term "3,1,0,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,0,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,1,1,0")) - (rule "polySimp_addComm0" (formula "14") (term "3,1,1,1,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,0")) - (rule "polySimp_addComm0" (formula "14") (term "1,1,0")) - (rule "polySimp_rightDist" (formula "14") (term "1,0")) - (rule "polySimp_mulComm0" (formula "14") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "14") (term "0")) - (rule "polySimp_addComm1" (formula "14") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "14") (term "0")) - (rule "add_literals" (formula "14") (term "1,1,0")) - (rule "times_zero_1" (formula "14") (term "1,0")) - (rule "add_zero_right" (formula "14") (term "0")) - (rule "polySimp_addComm0" (formula "14") (term "0")) - (rule "inEqSimp_commuteLeq" (formula "8")) - (rule "inEqSimp_commuteLeq" (formula "9")) - (rule "polySimp_sepPosMonomial" (formula "14")) - (rule "polySimp_mulLiterals" (formula "14") (term "1")) - (rule "polySimp_elimOne" (formula "14") (term "1")) - (rule "inEqSimp_strengthen1" (formula "8") (ifseqformula "13")) - (rule "add_zero_right" (formula "8") (term "1")) - (rule "inEqSimp_contradEq7" (formula "13") (ifseqformula "8")) - (rule "times_zero_1" (formula "13") (term "1,0,0")) - (rule "add_zero_right" (formula "13") (term "0,0")) - (rule "leq_literals" (formula "13") (term "0")) - (builtin "One Step Simplification" (formula "13")) - (rule "false_right" (formula "13")) - (rule "pullOutSelect" (formula "1") (term "0") (inst "selectSK=arr_0")) + (rule "inEqSimp_strengthen1" (formula "10") (ifseqformula "16")) + (rule "add_zero_right" (formula "10") (term "1")) + (rule "inEqSimp_contradEq7" (formula "16") (ifseqformula "10")) + (rule "times_zero_1" (formula "16") (term "1,0,0")) + (rule "add_zero_right" (formula "16") (term "0,0")) + (rule "leq_literals" (formula "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "false_right" (formula "16")) + (rule "pullOutSelect" (formula "16") (term "0,0,0") (inst "selectSK=arr_0")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "1")) (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "13")) (ifInst "" (formula "7"))) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "16")) (ifInst "" (formula "9"))) + (rule "eqSymm" (formula "17") (term "0,0")) (rule "eqSymm" (formula "2")) + (rule "applyEqReverse" (formula "17") (term "1,0,0") (ifseqformula "2")) (rule "applyEqReverse" (formula "1") (term "1") (ifseqformula "2")) (builtin "One Step Simplification" (formula "1")) (rule "hideAuxiliaryEq" (formula "2")) + (rule "eqSymm" (formula "16") (term "0,0")) (rule "elementOfSetMinus" (formula "1") (term "0,0")) (builtin "One Step Simplification" (formula "1")) (rule "true_left" (formula "1")) - (rule "arrayLengthIsAShort" (formula "8") (term "0")) - (builtin "One Step Simplification" (formula "8")) - (rule "true_left" (formula "8")) - (rule "arrayLengthNotNegative" (formula "8") (term "0")) - (builtin "Use Dependency Contract" (formula "13") (term "0") (ifInst "" (formula "13") (term "1")) (contract "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML accessible clause.0")) - (rule "wellFormedAnon" (formula "11") (term "1,1,0,0,0,0,0")) - (rule "replace_known_left" (formula "11") (term "0,1,1,0,0,0") (ifseqformula "10")) - (builtin "One Step Simplification" (formula "11") (ifInst "" (formula "12")) (ifInst "" (formula "3")) (ifInst "" (formula "1")) (ifInst "" (formula "1")) (ifInst "" (formula "2")) (ifInst "" (formula "13")) (ifInst "" (formula "5")) (ifInst "" (formula "13")) (ifInst "" (formula "14"))) - (rule "notLeft" (formula "11")) - (rule "disjointDefinition" (formula "11") (term "1,0")) - (builtin "One Step Simplification" (formula "11")) - (rule "measuredByCheck" (formula "11") (term "1") (ifseqformula "6")) - (rule "precOfInt" (formula "11") (term "1")) - (rule "inEqSimp_ltToLeq" (formula "11") (term "1,1")) - (rule "polySimp_mulComm0" (formula "11") (term "1,0,0,1,1")) - (rule "polySimp_addAssoc" (formula "11") (term "0,1,1")) - (rule "polySimp_addComm1" (formula "11") (term "0,0,1,1")) - (rule "add_literals" (formula "11") (term "0,0,0,1,1")) - (rule "add_zero_left" (formula "11") (term "0,0,1,1")) - (rule "polySimp_pullOutFactor2" (formula "11") (term "0,1,1")) - (rule "add_literals" (formula "11") (term "1,0,1,1")) - (rule "times_zero_1" (formula "11") (term "0,1,1")) - (rule "leq_literals" (formula "11") (term "1,1")) - (builtin "One Step Simplification" (formula "11")) - (rule "inEqSimp_commuteLeq" (formula "11") (term "1,0")) - (rule "inEqSimp_homoInEq0" (formula "11") (term "0,0")) - (rule "times_zero_2" (formula "11") (term "1,0,0,0")) - (rule "add_zero_right" (formula "11") (term "0,0,0")) - (rule "inEqSimp_homoInEq0" (formula "11") (term "1")) - (rule "times_zero_2" (formula "11") (term "1,0,1")) - (rule "add_zero_right" (formula "11") (term "0,1")) - (rule "inEqSimp_sepPosMonomial1" (formula "11") (term "0,0")) - (rule "mul_literals" (formula "11") (term "1,0,0")) - (rule "replace_known_left" (formula "11") (term "0,0") (ifseqformula "7")) - (builtin "One Step Simplification" (formula "11")) - (rule "inEqSimp_sepPosMonomial1" (formula "11") (term "1")) - (rule "mul_literals" (formula "11") (term "1,1")) - (rule "replace_known_left" (formula "11") (term "1") (ifseqformula "7")) - (builtin "One Step Simplification" (formula "11")) - (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 "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_contradInEq0" (formula "10") (ifseqformula "1")) - (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_addComm0" (formula "10") (term "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_zero_right" (formula "10") (term "0")) - (rule "leq_literals" (formula "10")) - (rule "closeFalse" (formula "10")) + (rule "ifthenelse_split" (formula "15") (term "1")) + (branch "a[-1 + k] = v TRUE" + (rule "replace_known_left" (formula "16") (term "0,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "16")) + (rule "polySimp_homoEq" (formula "16")) + (rule "polySimp_mulComm0" (formula "16") (term "1,0")) + (rule "polySimp_rightDist" (formula "16") (term "1,0")) + (rule "mul_literals" (formula "16") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "16") (term "0")) + (rule "polySimp_addComm1" (formula "16") (term "0,0")) + (rule "add_literals" (formula "16") (term "0,0,0")) + (rule "add_zero_left" (formula "16") (term "0,0")) + (rule "polySimp_sepNegMonomial" (formula "16")) + (rule "polySimp_mulLiterals" (formula "16") (term "0")) + (rule "polySimp_elimOne" (formula "16") (term "0")) + (builtin "Use Dependency Contract" (formula "2") (term "1") (ifInst "" (formula "3") (term "1")) (contract "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML accessible clause.0")) + (rule "wellFormedAnon" (formula "14") (term "1,1,0,0,0,0,0")) + (rule "replace_known_right" (formula "14") (term "0,1,0,0,0,0") (ifseqformula "16")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "15")) (ifInst "" (formula "6")) (ifInst "" (formula "4")) (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "8")) (ifInst "" (formula "13")) (ifInst "" (formula "16"))) + (rule "disjointDefinition" (formula "14") (term "1,0,0")) + (builtin "One Step Simplification" (formula "14")) + (rule "measuredByCheck" (formula "14") (term "1,0") (ifseqformula "9")) + (rule "precOfInt" (formula "14") (term "1,0")) + (rule "inEqSimp_ltToLeq" (formula "14") (term "1,1,0")) + (rule "polySimp_mulComm0" (formula "14") (term "1,0,0,1,1,0")) + (rule "polySimp_pullOutFactor2b" (formula "14") (term "0,1,1,0")) + (rule "add_literals" (formula "14") (term "1,1,0,1,1,0")) + (rule "times_zero_1" (formula "14") (term "1,0,1,1,0")) + (rule "add_zero_right" (formula "14") (term "0,1,1,0")) + (rule "leq_literals" (formula "14") (term "1,1,0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) + (builtin "Use Dependency Contract" (formula "16") (term "0") (ifInst "" (formula "16") (term "1")) (contract "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML accessible clause.0")) + (rule "wellFormedAnon" (formula "14") (term "1,1,0,0,0,0,0")) + (rule "replace_known_left" (formula "14") (term "0,1,0,0,0,0,0") (ifseqformula "4")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "15")) (ifInst "" (formula "6")) (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "16")) (ifInst "" (formula "8")) (ifInst "" (formula "13")) (ifInst "" (formula "16")) (ifInst "" (formula "17"))) + (rule "notLeft" (formula "14")) + (rule "disjointDefinition" (formula "14") (term "1,0")) + (builtin "One Step Simplification" (formula "14")) + (rule "measuredByCheck" (formula "14") (term "1") (ifseqformula "9")) + (rule "precOfInt" (formula "14") (term "1")) + (rule "inEqSimp_ltToLeq" (formula "14") (term "1,1")) + (rule "polySimp_mulComm0" (formula "14") (term "1,0,0,1,1")) + (rule "polySimp_addAssoc" (formula "14") (term "0,1,1")) + (rule "polySimp_addComm1" (formula "14") (term "0,0,1,1")) + (rule "add_literals" (formula "14") (term "0,0,0,1,1")) + (rule "add_zero_left" (formula "14") (term "0,0,1,1")) + (rule "polySimp_pullOutFactor2" (formula "14") (term "0,1,1")) + (rule "add_literals" (formula "14") (term "1,0,1,1")) + (rule "times_zero_1" (formula "14") (term "0,1,1")) + (rule "leq_literals" (formula "14") (term "1,1")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "1,0")) + (rule "inEqSimp_homoInEq0" (formula "14") (term "1")) + (rule "times_zero_2" (formula "14") (term "1,0,1")) + (rule "add_zero_right" (formula "14") (term "0,1")) + (rule "inEqSimp_homoInEq0" (formula "14") (term "0,0")) + (rule "times_zero_2" (formula "14") (term "1,0,0,0")) + (rule "add_zero_right" (formula "14") (term "0,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "14") (term "1")) + (rule "mul_literals" (formula "14") (term "1,1")) + (rule "replace_known_left" (formula "14") (term "1") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_sepPosMonomial1" (formula "14") (term "0")) + (rule "mul_literals" (formula "14") (term "1,0")) + (rule "replace_known_left" (formula "14") (term "0") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "14")) + (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 "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_contradInEq0" (formula "13") (ifseqformula "1")) + (rule "andLeft" (formula "13")) + (rule "inEqSimp_homoInEq1" (formula "13")) + (rule "polySimp_mulComm0" (formula "13") (term "1,0")) + (rule "polySimp_rightDist" (formula "13") (term "1,0")) + (rule "mul_literals" (formula "13") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "13") (term "0")) + (rule "polySimp_addComm0" (formula "13") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "13") (term "0")) + (rule "add_literals" (formula "13") (term "1,1,0")) + (rule "times_zero_1" (formula "13") (term "1,0")) + (rule "add_zero_right" (formula "13") (term "0")) + (rule "leq_literals" (formula "13")) + (rule "closeFalse" (formula "13")) + ) + (branch "a[-1 + k] = v FALSE" + (rule "replace_known_right" (formula "16") (term "0,0") (ifseqformula "15")) + (builtin "One Step Simplification" (formula "16")) + (builtin "Use Dependency Contract" (formula "1") (term "1") (ifInst "" (formula "2") (term "1")) (contract "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML accessible clause.0")) + (rule "wellFormedAnon" (formula "13") (term "1,1,0,0,0,0,0")) + (rule "replace_known_left" (formula "13") (term "1,1,0,0,0,0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "14")) (ifInst "" (formula "5")) (ifInst "" (formula "3")) (ifInst "" (formula "3")) (ifInst "" (formula "4")) (ifInst "" (formula "15")) (ifInst "" (formula "12")) (ifInst "" (formula "15"))) + (rule "disjointDefinition" (formula "13") (term "1,0,0")) + (builtin "One Step Simplification" (formula "13")) + (rule "measuredByCheck" (formula "13") (term "1,0") (ifseqformula "8")) + (rule "precOfInt" (formula "13") (term "1,0")) + (rule "inEqSimp_ltToLeq" (formula "13") (term "1,1,0")) + (rule "polySimp_mulComm0" (formula "13") (term "1,0,0,1,1,0")) + (rule "polySimp_pullOutFactor2b" (formula "13") (term "0,1,1,0")) + (rule "add_literals" (formula "13") (term "1,1,0,1,1,0")) + (rule "times_zero_1" (formula "13") (term "1,0,1,1,0")) + (rule "add_zero_right" (formula "13") (term "0,1,1,0")) + (rule "leq_literals" (formula "13") (term "1,1,0")) + (builtin "One Step Simplification" (formula "13")) + (rule "true_left" (formula "13")) + (builtin "Use Dependency Contract" (formula "16") (term "0") (ifInst "" (formula "16") (term "1")) (contract "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML accessible clause.0")) + (rule "wellFormedAnon" (formula "13") (term "1,1,0,0,0,0,0")) + (rule "replace_known_right" (formula "13") (term "0,1,0,0,0,0") (ifseqformula "15")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "14")) (ifInst "" (formula "5")) (ifInst "" (formula "3")) (ifInst "" (formula "3")) (ifInst "" (formula "4")) (ifInst "" (formula "7")) (ifInst "" (formula "12")) (ifInst "" (formula "15")) (ifInst "" (formula "17"))) + (rule "notLeft" (formula "13")) + (rule "disjointDefinition" (formula "13") (term "1,0")) + (builtin "One Step Simplification" (formula "13")) + (rule "measuredByCheck" (formula "13") (term "1") (ifseqformula "8")) + (rule "precOfInt" (formula "13") (term "1")) + (rule "inEqSimp_ltToLeq" (formula "13") (term "1,1")) + (rule "polySimp_mulComm0" (formula "13") (term "1,0,0,1,1")) + (rule "polySimp_addAssoc" (formula "13") (term "0,1,1")) + (rule "polySimp_addComm1" (formula "13") (term "0,0,1,1")) + (rule "add_literals" (formula "13") (term "0,0,0,1,1")) + (rule "add_zero_left" (formula "13") (term "0,0,1,1")) + (rule "polySimp_pullOutFactor2" (formula "13") (term "0,1,1")) + (rule "add_literals" (formula "13") (term "1,0,1,1")) + (rule "times_zero_1" (formula "13") (term "0,1,1")) + (rule "leq_literals" (formula "13") (term "1,1")) + (builtin "One Step Simplification" (formula "13")) + (rule "inEqSimp_commuteLeq" (formula "13") (term "1,0")) + (rule "inEqSimp_homoInEq0" (formula "13") (term "0,0")) + (rule "times_zero_2" (formula "13") (term "1,0,0,0")) + (rule "add_zero_right" (formula "13") (term "0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "13") (term "1")) + (rule "mul_literals" (formula "13") (term "1,0,1")) + (rule "add_zero_right" (formula "13") (term "0,1")) + (rule "inEqSimp_sepPosMonomial1" (formula "13") (term "0,0")) + (rule "mul_literals" (formula "13") (term "1,0,0")) + (rule "replace_known_left" (formula "13") (term "0,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "13")) + (rule "inEqSimp_sepPosMonomial1" (formula "13") (term "1")) + (rule "mul_literals" (formula "13") (term "1,1")) + (rule "replace_known_left" (formula "13") (term "1") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "13")) + (rule "inEqSimp_geqRight" (formula "13")) + (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 "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_contradInEq0" (formula "12") (ifseqformula "1")) + (rule "andLeft" (formula "12")) + (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_addAssoc" (formula "12") (term "0")) + (rule "polySimp_addComm0" (formula "12") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "12") (term "0")) + (rule "add_literals" (formula "12") (term "1,1,0")) + (rule "times_zero_1" (formula "12") (term "1,0")) + (rule "add_zero_right" (formula "12") (term "0")) + (rule "leq_literals" (formula "12")) + (rule "closeFalse" (formula "12")) + ) ) (branch "Assume a[k - 1]@heap[anon(allLocs setMinus a.*, anon_heap<>)] != a[k - 1]" (rule "notLeft" (formula "1")) - (rule "polySimp_elimSub" (formula "14") (term "3,1,0")) - (rule "mul_literals" (formula "14") (term "1,3,1,0")) - (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,0,1")) - (rule "mul_literals" (formula "14") (term "1,0,2,0,0,0,1")) - (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,0,0")) - (rule "mul_literals" (formula "14") (term "1,0,2,0,0,0,0")) - (rule "polySimp_elimSub" (formula "14") (term "3,1,1")) - (rule "mul_literals" (formula "14") (term "1,3,1,1")) - (rule "polySimp_elimSub" (formula "10") (term "0,2,0")) - (rule "mul_literals" (formula "10") (term "1,0,2,0")) - (rule "polySimp_elimSub" (formula "10") (term "0,2,1")) - (rule "mul_literals" (formula "10") (term "1,0,2,1")) - (rule "polySimp_homoEq" (formula "14")) - (rule "polySimp_mulComm0" (formula "14") (term "1,0")) - (rule "polySimp_addComm0" (formula "10") (term "0,2,0")) - (rule "polySimp_addComm0" (formula "10") (term "0,2,1")) - (rule "polySimp_addComm0" (formula "14") (term "3,1,0,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,0,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,1,1,0")) - (rule "polySimp_addComm0" (formula "14") (term "3,1,1,1,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,0")) - (rule "polySimp_addComm0" (formula "14") (term "1,1,0")) - (rule "polySimp_rightDist" (formula "14") (term "1,0")) - (rule "polySimp_mulComm0" (formula "14") (term "0,1,0")) - (rule "polySimp_addComm1" (formula "14") (term "0")) - (rule "polySimp_addAssoc" (formula "14") (term "0,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,0,0")) - (rule "inEqSimp_commuteLeq" (formula "7")) - (rule "inEqSimp_commuteLeq" (formula "8")) - (rule "polySimp_sepPosMonomial" (formula "14")) - (rule "polySimp_mulComm0" (formula "14") (term "1")) - (rule "polySimp_rightDist" (formula "14") (term "1")) - (rule "polySimp_mulLiterals" (formula "14") (term "1,1")) - (rule "polySimp_elimOne" (formula "14") (term "1,1")) - (rule "polySimp_rightDist" (formula "14") (term "0,1")) - (rule "polySimp_mulAssoc" (formula "14") (term "0,0,1")) - (rule "polySimp_mulComm0" (formula "14") (term "0,0,0,1")) - (rule "polySimp_mulLiterals" (formula "14") (term "0,0,1")) - (rule "polySimp_elimOne" (formula "14") (term "0,0,1")) - (rule "inEqSimp_strengthen1" (formula "7") (ifseqformula "13")) - (rule "add_zero_right" (formula "7") (term "1")) - (rule "inEqSimp_contradEq7" (formula "13") (ifseqformula "7")) - (rule "times_zero_1" (formula "13") (term "1,0,0")) - (rule "add_zero_right" (formula "13") (term "0,0")) - (rule "leq_literals" (formula "13") (term "0")) - (builtin "One Step Simplification" (formula "13")) - (rule "false_right" (formula "13")) - (rule "pullOutSelect" (formula "10") (term "0") (inst "selectSK=arr_0")) - (rule "applyEq" (formula "14") (term "0,0,0") (ifseqformula "1")) + (rule "polySimp_elimSub" (formula "17") (term "3,2,1")) + (rule "mul_literals" (formula "17") (term "1,3,2,1")) + (rule "polySimp_elimSub" (formula "17") (term "0,2,0,0,1")) + (rule "mul_literals" (formula "17") (term "1,0,2,0,0,1")) + (rule "polySimp_elimSub" (formula "17") (term "0,2,0,0,0")) + (rule "mul_literals" (formula "17") (term "1,0,2,0,0,0")) + (rule "polySimp_elimSub" (formula "17") (term "3,2,0")) + (rule "mul_literals" (formula "17") (term "1,3,2,0")) + (rule "polySimp_elimSub" (formula "17") (term "3,1,1,0")) + (rule "mul_literals" (formula "17") (term "1,3,1,1,0")) + (rule "polySimp_elimSub" (formula "17") (term "3,1,1,1")) + (rule "mul_literals" (formula "17") (term "1,3,1,1,1")) + (rule "polySimp_elimSub" (formula "13") (term "0,2,0")) + (rule "mul_literals" (formula "13") (term "1,0,2,0")) + (rule "polySimp_elimSub" (formula "13") (term "0,2,1")) + (rule "mul_literals" (formula "13") (term "1,0,2,1")) + (rule "polySimp_addComm0" (formula "17") (term "3,2,1")) + (rule "polySimp_addComm0" (formula "17") (term "0,2,0,0,1")) + (rule "polySimp_addComm0" (formula "17") (term "0,2,0,0,0")) + (rule "polySimp_addComm0" (formula "17") (term "3,2,0")) + (rule "polySimp_addComm0" (formula "17") (term "3,1,1,0")) + (rule "polySimp_addComm0" (formula "17") (term "3,1,1,1")) + (rule "polySimp_addComm0" (formula "13") (term "0,2,0")) + (rule "polySimp_addComm0" (formula "13") (term "0,2,1")) + (rule "inEqSimp_strengthen1" (formula "9") (ifseqformula "16")) + (rule "add_zero_right" (formula "9") (term "1")) + (rule "inEqSimp_contradEq7" (formula "16") (ifseqformula "9")) + (rule "times_zero_1" (formula "16") (term "1,0,0")) + (rule "add_zero_right" (formula "16") (term "0,0")) + (rule "leq_literals" (formula "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "false_right" (formula "16")) + (rule "pullOutSelect" (formula "16") (term "0,0,0") (inst "selectSK=arr_0")) + (rule "applyEq" (formula "14") (term "0") (ifseqformula "1")) (rule "simplifySelectOfAnon" (formula "1")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "13")) (ifInst "" (formula "6"))) - (rule "eqSymm" (formula "11")) - (rule "eqSymm" (formula "14") (term "0,0")) - (rule "polySimp_homoEq" (formula "14")) - (rule "polySimp_addComm1" (formula "14") (term "0")) - (rule "polySimp_sepPosMonomial" (formula "14")) - (rule "polySimp_mulComm0" (formula "14") (term "1")) - (rule "polySimp_rightDist" (formula "14") (term "1")) - (rule "polySimp_mulLiterals" (formula "14") (term "1,1")) - (rule "polySimp_elimOne" (formula "14") (term "1,1")) - (rule "polySimp_rightDist" (formula "14") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "14") (term "1,0,1")) - (rule "polySimp_elimOne" (formula "14") (term "1,0,1")) - (rule "polySimp_mulComm0" (formula "14") (term "0,0,1")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "16")) (ifInst "" (formula "8"))) + (rule "eqSymm" (formula "17") (term "0,0")) + (rule "eqSymm" (formula "14")) + (rule "eqSymm" (formula "17")) (rule "elementOfSetMinus" (formula "1") (term "0,0")) - (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "11"))) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "14"))) (rule "closeFalse" (formula "1")) ) ) diff --git a/key.ui/examples/heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML model_behavior operation contract.0.proof b/key.ui/examples/heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML model_behavior operation contract.0.proof index 70385527c98..af8edf15599 100644 --- a/key.ui/examples/heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML model_behavior operation contract.0.proof +++ b/key.ui/examples/heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML model_behavior operation contract.0.proof @@ -7,6 +7,7 @@ "Strings" : "Strings:on", "assertions" : "assertions:on", "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", "floatRules" : "floatRules:strictfpOnly", "initialisation" : "initialisation:disableStaticInitialisation", "intRules" : "intRules:arithmeticSemanticsIgnoringOF", @@ -21,6 +22,7 @@ "reach" : "reach:on", "runtimeExceptions" : "runtimeExceptions:ban", "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", "wdChecks" : "wdChecks:off", "wdOperator" : "wdOperator:L" }, @@ -74,308 +76,300 @@ } } -\javaSource "src"; -\proofObligation "#Proof Obligation Settings -#Fri Apr 12 16:56:49 CEST 2024 -contract=BoyerMoore[BoyerMoore\\:\\:count([I,\\\\bigint,\\\\bigint)].JML model_behavior operation contract.0 -name=BoyerMoore[BoyerMoore\\:\\:count([I,\\\\bigint,\\\\bigint)].JML model_behavior operation contract.0 -class=de.uka.ilkd.key.proof.init.FunctionalOperationContractPO -"; +\javaSource "src";\proofObligation +// +{ + "class" : "de.uka.ilkd.key.proof.init.FunctionalOperationContractPO", + "contract" : "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML model_behavior operation contract.0", + "name" : "BoyerMoore[BoyerMoore::count([I,\bigint,\bigint)].JML model_behavior operation contract.0" + } \proof { -(keyLog "0" (keyUser "mattias" ) (keyVersion "9cc569ccced37e242b3a85779f2afdc42b0031ca")) +(keyLog "0" (keyUser "ulbrich" ) (keyVersion "947da2060bf662ceb5ca270943291196724c7fa3")) -(autoModeTime "2648") +(autoModeTime "331") (branch "dummy ID" -(rule "impRight" (formula "1")) - (builtin "One Step Simplification" (formula "2") (userinteraction)) -(rule "andRight" (formula "2") (userinteraction)) -(branch "Case 1" - (rule "castDel" (formula "2") (term "0") (userinteraction)) - (rule "ifthenelse_split" (formula "2") (term "0") (userinteraction)) - (branch "k = 0 TRUE" - (rule "andLeft" (formula "2")) - (rule "andLeft" (formula "2")) + (builtin "One Step Simplification" (formula "1") (userinteraction)) +(rule "impRight" (formula "1") (userinteraction)) +(rule "ifthenelse_split" (formula "2") (term "0,0") (userinteraction)) +(branch "k = 0 TRUE" + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "4")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "5")) + (rule "andLeft" (formula "7")) + (rule "andLeft" (formula "2")) + (rule "notLeft" (formula "9")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "notLeft" (formula "3")) + (rule "eqSymm" (formula "12") (term "0")) + (rule "replace_known_left" (formula "12") (term "1") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "12")) + (rule "replace_known_right" (formula "5") (term "0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "5")) + (rule "inEqSimp_commuteLeq" (formula "7")) + (rule "inEqSimp_commuteLeq" (formula "8")) + (rule "applyEq" (formula "12") (term "1,0") (ifseqformula "1")) + (rule "bsum_lower_equals_upper" (formula "12") (term "0")) + (builtin "One Step Simplification" (formula "12")) + (rule "closeTrue" (formula "12")) +) +(branch "k = 0 FALSE" + (rule "apply_subst" (formula "3") (term "0,0") (userinteraction)) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "3") (term "2,0,0") (inst "l=l") (userinteraction)) + (rule "impLeft" (formula "1") (userinteraction)) + (branch "Case 1" + (rule "andLeft" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "andLeft" (formula "3")) + (rule "andLeft" (formula "1")) (rule "andLeft" (formula "4")) + (rule "andLeft" (formula "6")) + (rule "andLeft" (formula "1")) + (rule "notLeft" (formula "8")) + (rule "andLeft" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "notLeft" (formula "2")) + (rule "eqSymm" (formula "13") (term "0")) + (rule "replace_known_left" (formula "13") (term "1") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "13")) + (rule "replace_known_right" (formula "4") (term "0") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "4")) + (rule "replace_known_left" (formula "11") (term "1,0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "11") (ifInst "" (formula "8")) (ifInst "" (formula "10")) (ifInst "" (formula "1")) (ifInst "" (formula "9"))) + (rule "polySimp_elimSub" (formula "13") (term "3,2,1")) + (rule "mul_literals" (formula "13") (term "1,3,2,1")) + (rule "polySimp_elimSub" (formula "13") (term "0,2,0,0,1")) + (rule "mul_literals" (formula "13") (term "1,0,2,0,0,1")) + (rule "polySimp_elimSub" (formula "13") (term "3,1,1,1")) + (rule "mul_literals" (formula "13") (term "1,3,1,1,1")) + (rule "polySimp_elimSub" (formula "11") (term "0,1")) + (rule "mul_literals" (formula "11") (term "1,0,1")) + (rule "polySimp_elimSub" (formula "11") (term "1,0,0")) + (rule "mul_literals" (formula "11") (term "1,1,0,0")) + (rule "polySimp_elimSub" (formula "11") (term "0,1,0")) + (rule "mul_literals" (formula "11") (term "1,0,1,0")) + (rule "polySimp_addComm0" (formula "13") (term "3,2,1")) + (rule "polySimp_addComm0" (formula "13") (term "0,2,0,0,1")) + (rule "polySimp_addComm0" (formula "13") (term "3,1,1,1")) + (rule "polySimp_addComm0" (formula "11") (term "0,1")) + (rule "polySimp_addComm0" (formula "11") (term "1,0,0")) + (rule "polySimp_addComm0" (formula "11") (term "0,1,0")) + (rule "measuredByCheck" (formula "11") (term "1") (ifseqformula "5")) + (rule "precOfInt" (formula "11") (term "1")) + (rule "inEqSimp_ltToLeq" (formula "11") (term "1,1")) + (rule "polySimp_mulComm0" (formula "11") (term "1,0,0,1,1")) + (rule "polySimp_addAssoc" (formula "11") (term "0,1,1")) + (rule "polySimp_addComm1" (formula "11") (term "0,0,1,1")) + (rule "add_literals" (formula "11") (term "0,0,0,1,1")) + (rule "add_zero_left" (formula "11") (term "0,0,1,1")) + (rule "polySimp_pullOutFactor2" (formula "11") (term "0,1,1")) + (rule "add_literals" (formula "11") (term "1,0,1,1")) + (rule "times_zero_1" (formula "11") (term "0,1,1")) + (rule "leq_literals" (formula "11") (term "1,1")) + (builtin "One Step Simplification" (formula "11")) + (rule "inEqSimp_commuteLeq" (formula "7")) + (rule "inEqSimp_commuteLeq" (formula "6")) + (rule "inEqSimp_commuteLeq" (formula "11") (term "1,0")) + (rule "inEqSimp_homoInEq0" (formula "11") (term "0,0")) + (rule "times_zero_2" (formula "11") (term "1,0,0,0")) + (rule "add_zero_right" (formula "11") (term "0,0,0")) + (rule "inEqSimp_homoInEq0" (formula "11") (term "1")) + (rule "times_zero_2" (formula "11") (term "1,0,1")) + (rule "add_zero_right" (formula "11") (term "0,1")) + (rule "inEqSimp_sepPosMonomial1" (formula "11") (term "0,0")) + (rule "mul_literals" (formula "11") (term "1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "11") (term "1")) + (rule "mul_literals" (formula "11") (term "1,1")) + (rule "inEqSimp_strengthen1" (formula "6") (ifseqformula "12")) + (rule "add_zero_right" (formula "6") (term "1")) + (rule "replace_known_left" (formula "11") (term "0,0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "11") (ifInst "" (formula "6"))) + (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 "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1")) + (rule "polySimp_rightDist" (formula "1") (term "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) + (rule "mul_literals" (formula "1") (term "0,1")) + (rule "polySimp_elimOne" (formula "1") (term "1,1")) + (rule "inEqSimp_contradEq7" (formula "12") (ifseqformula "7")) + (rule "times_zero_1" (formula "12") (term "1,0,0")) + (rule "add_zero_right" (formula "12") (term "0,0")) + (rule "leq_literals" (formula "12") (term "0")) + (builtin "One Step Simplification" (formula "12")) + (rule "false_right" (formula "12")) + (rule "inEqSimp_contradInEq0" (formula "8") (ifseqformula "1")) + (rule "andLeft" (formula "8")) + (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_addAssoc" (formula "8") (term "0")) + (rule "polySimp_addComm0" (formula "8") (term "0,0")) + (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_zero_right" (formula "8") (term "0")) + (rule "leq_literals" (formula "8")) + (rule "closeFalse" (formula "8")) + ) + (branch "Case 2" + (rule "bsum_induction_upper" (formula "4") (term "1,0") (userinteraction)) (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "1")) + (rule "andLeft" (formula "3")) (rule "andLeft" (formula "5")) - (rule "andLeft" (formula "7")) - (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "3")) + (rule "andLeft" (formula "6")) + (rule "andLeft" (formula "8")) + (rule "andLeft" (formula "3")) (rule "notLeft" (formula "9")) - (rule "andLeft" (formula "2")) - (rule "andLeft" (formula "2")) - (rule "notLeft" (formula "3")) - (rule "eqSymm" (formula "12")) - (rule "replace_known_right" (formula "5") (term "0") (ifseqformula "11")) - (builtin "One Step Simplification" (formula "5")) + (rule "andLeft" (formula "3")) + (rule "andLeft" (formula "3")) + (rule "notLeft" (formula "4")) + (rule "eqSymm" (formula "1")) + (rule "replace_known_left" (formula "13") (term "1") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "13")) + (rule "replace_known_right" (formula "6") (term "0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "6")) + (rule "polySimp_elimSub" (formula "1") (term "3,1")) + (rule "mul_literals" (formula "1") (term "1,3,1")) + (rule "polySimp_elimSub" (formula "1") (term "1,0")) + (rule "mul_literals" (formula "1") (term "1,1,0")) + (rule "polySimp_elimSub" (formula "13") (term "1,0,1")) + (rule "mul_literals" (formula "13") (term "1,1,0,1")) + (rule "polySimp_elimSub" (formula "13") (term "0,2,0,0,0")) + (rule "mul_literals" (formula "13") (term "1,0,2,0,0,0")) + (rule "polySimp_elimSub" (formula "13") (term "3,2,0")) + (rule "mul_literals" (formula "13") (term "1,3,2,0")) + (rule "polySimp_elimSub" (formula "13") (term "3,1,1,0")) + (rule "mul_literals" (formula "13") (term "1,3,1,1,0")) + (rule "polySimp_elimSub" (formula "13") (term "0,2,0,0,1,1,1")) + (rule "mul_literals" (formula "13") (term "1,0,2,0,0,1,1,1")) + (rule "polySimp_homoEq" (formula "13")) + (rule "polySimp_addComm0" (formula "1") (term "3,1")) + (rule "polySimp_addComm0" (formula "1") (term "1,0")) + (rule "polySimp_addComm0" (formula "13") (term "0,2,0,0,1,1,0,0")) + (rule "polySimp_addComm0" (formula "13") (term "3,2,0,1,0")) + (rule "polySimp_addComm0" (formula "13") (term "0,2,0,0,0,1,0")) + (rule "polySimp_addComm0" (formula "13") (term "1,0,0,0")) + (rule "polySimp_addComm0" (formula "13") (term "3,1,1,0,1,0")) + (rule "polySimp_addComm0" (formula "13") (term "0,0")) + (rule "polySimp_addComm1" (formula "13") (term "0")) + (rule "polySimp_addComm0" (formula "13") (term "0,0")) + (rule "bsum_induction_upper2_concrete" (formula "1") (term "0")) + (rule "polySimp_elimSub" (formula "1") (term "0")) + (rule "polySimp_elimSub" (formula "1") (term "0,2,0,0,1,0,1,0")) + (rule "mul_literals" (formula "1") (term "1,0,2,0,0,1,0,1,0")) + (rule "polySimp_homoEq" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,2,0,0,1,0,1,1,1,0")) + (rule "polySimp_addComm0" (formula "1") (term "1,1,0")) + (rule "polySimp_rightDist" (formula "1") (term "1,0")) + (rule "polySimp_mulAssoc" (formula "1") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "1") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "1") (term "0,1,0")) + (rule "bsum_induction_upper2_concrete" (formula "13") (term "1,0")) + (rule "polySimp_elimSub" (formula "13") (term "1,0")) + (rule "polySimp_elimSub" (formula "13") (term "0,2,0,0,1,0,1,1,0")) + (rule "mul_literals" (formula "13") (term "1,0,2,0,0,1,0,1,1,0")) + (rule "polySimp_addComm0" (formula "13") (term "1,0")) + (rule "polySimp_addComm0" (formula "13") (term "0,2,0,0,1,0,0,1,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0")) + (rule "polySimp_addAssoc" (formula "13") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "13") (term "0,0")) + (rule "add_literals" (formula "13") (term "1,1,0,0")) + (rule "times_zero_1" (formula "13") (term "1,0,0")) + (rule "add_zero_right" (formula "13") (term "0,0")) (rule "inEqSimp_commuteLeq" (formula "8")) - (rule "inEqSimp_commuteLeq" (formula "7")) - (rule "applyEq" (formula "8") (term "1") (ifseqformula "1")) - (rule "applyEq" (formula "7") (term "0") (ifseqformula "1")) - (rule "qeq_literals" (formula "7")) - (rule "true_left" (formula "7")) - (rule "applyEq" (formula "11") (term "1,0") (ifseqformula "1")) - (rule "bsum_lower_equals_upper" (formula "11") (term "0")) - (builtin "One Step Simplification" (formula "11")) - (rule "closeTrue" (formula "11")) - ) - (branch "k = 0 FALSE" - (rule "bsum_def" (formula "3") (term "1") (userinteraction)) - (rule "ifthenelse_split" (formula "3") (term "1") (userinteraction)) - (branch "0 < k TRUE" - (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "4") (term "1,0") (inst "l=l") (userinteraction)) - (rule "impLeft" (formula "1") (userinteraction)) - (branch "Case 1" - (rule "andLeft" (formula "2")) - (rule "andLeft" (formula "3")) - (rule "andLeft" (formula "2")) - (rule "andLeft" (formula "5")) - (rule "andLeft" (formula "4")) - (rule "andLeft" (formula "2")) - (rule "notLeft" (formula "8")) - (rule "andLeft" (formula "2")) - (rule "andLeft" (formula "2")) - (rule "andLeft" (formula "2")) - (rule "notLeft" (formula "3")) - (rule "replace_known_right" (formula "5") (term "0") (ifseqformula "11")) - (builtin "One Step Simplification" (formula "5")) - (rule "replace_known_left" (formula "12") (term "1,0,0,0") (ifseqformula "2")) - (builtin "One Step Simplification" (formula "12") (ifInst "" (formula "9")) (ifInst "" (formula "11")) (ifInst "" (formula "3")) (ifInst "" (formula "10"))) - (rule "polySimp_elimSub" (formula "14") (term "3,1,0")) - (rule "mul_literals" (formula "14") (term "1,3,1,0")) - (rule "polySimp_elimSub" (formula "14") (term "1,0,1")) - (rule "mul_literals" (formula "14") (term "1,1,0,1")) - (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,0,0")) - (rule "mul_literals" (formula "14") (term "1,0,2,0,0,0,0")) - (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,1,1")) - (rule "mul_literals" (formula "14") (term "1,0,2,0,0,1,1")) - (rule "polySimp_elimSub" (formula "12") (term "0,1,0")) - (rule "mul_literals" (formula "12") (term "1,0,1,0")) - (rule "polySimp_elimSub" (formula "12") (term "0,1")) - (rule "mul_literals" (formula "12") (term "1,0,1")) - (rule "polySimp_elimSub" (formula "12") (term "1,0,0")) - (rule "mul_literals" (formula "12") (term "1,1,0,0")) - (rule "polySimp_homoEq" (formula "14")) - (rule "polySimp_mulComm0" (formula "14") (term "1,0")) - (rule "polySimp_addComm0" (formula "12") (term "0,1,0")) - (rule "polySimp_addComm0" (formula "12") (term "0,1")) - (rule "polySimp_addComm0" (formula "12") (term "1,0,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,1,1,0")) - (rule "polySimp_addComm0" (formula "14") (term "3,1,1,1,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,0,0")) - (rule "polySimp_addComm0" (formula "14") (term "1,1,0,0")) - (rule "polySimp_addComm0" (formula "14") (term "1,1,0")) - (rule "polySimp_rightDist" (formula "14") (term "1,0")) - (rule "polySimp_mulComm0" (formula "14") (term "0,1,0")) - (rule "polySimp_addComm1" (formula "14") (term "0")) - (rule "inEqSimp_ltToLeq" (formula "1")) - (rule "add_zero_right" (formula "1") (term "0")) - (rule "polySimp_mulComm0" (formula "1") (term "1,0")) - (rule "polySimp_addAssoc" (formula "14") (term "0,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,0,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_zero_right" (formula "14") (term "0,0")) - (rule "bsum_induction_upper2_concrete" (formula "14") (term "1,0")) - (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,1,1,1,0")) - (rule "mul_literals" (formula "14") (term "1,0,2,0,0,1,1,1,0")) - (rule "polySimp_elimSub" (formula "14") (term "1,0")) - (rule "polySimp_addComm0" (formula "14") (term "1,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,1,0,0,1,0")) - (rule "measuredByCheck" (formula "12") (term "1") (ifseqformula "6")) - (rule "polySimp_addAssoc" (formula "14") (term "0")) - (rule "precOfInt" (formula "12") (term "1")) - (rule "inEqSimp_commuteLeq" (formula "7")) - (rule "inEqSimp_commuteLeq" (formula "8")) - (rule "inEqSimp_ltToLeq" (formula "14") (term "0,0,1,0,0")) - (rule "add_zero_right" (formula "14") (term "0,0,0,1,0,0")) - (rule "polySimp_mulComm0" (formula "14") (term "1,0,0,0,1,0,0")) - (rule "replace_known_left" (formula "14") (term "0,0,1,0,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "14")) - (rule "inEqSimp_ltToLeq" (formula "12") (term "1,1")) - (rule "polySimp_mulComm0" (formula "12") (term "1,0,0,1,1")) - (rule "polySimp_addAssoc" (formula "12") (term "0,1,1")) - (rule "polySimp_addComm1" (formula "12") (term "0,0,1,1")) - (rule "add_literals" (formula "12") (term "0,0,0,1,1")) - (rule "add_zero_left" (formula "12") (term "0,0,1,1")) - (rule "polySimp_pullOutFactor2" (formula "12") (term "0,1,1")) - (rule "add_literals" (formula "12") (term "1,0,1,1")) - (rule "times_zero_1" (formula "12") (term "0,1,1")) - (rule "leq_literals" (formula "12") (term "1,1")) - (builtin "One Step Simplification" (formula "12")) - (rule "inEqSimp_commuteLeq" (formula "12") (term "1,0")) - (rule "inEqSimp_homoInEq0" (formula "12") (term "0,0")) - (rule "times_zero_2" (formula "12") (term "1,0,0,0")) - (rule "add_zero_right" (formula "12") (term "0,0,0")) - (rule "inEqSimp_homoInEq0" (formula "12") (term "1")) - (rule "times_zero_2" (formula "12") (term "1,0,1")) - (rule "add_zero_right" (formula "12") (term "0,1")) - (rule "polySimp_sepPosMonomial" (formula "14")) - (rule "polySimp_mulComm0" (formula "14") (term "1")) - (rule "polySimp_rightDist" (formula "14") (term "1")) - (rule "polySimp_mulLiterals" (formula "14") (term "1,1")) - (rule "polySimp_elimOne" (formula "14") (term "1,1")) - (rule "polySimp_mulAssoc" (formula "14") (term "0,1")) - (rule "polySimp_mulComm0" (formula "14") (term "0,0,1")) - (rule "polySimp_mulLiterals" (formula "14") (term "0,1")) - (rule "polySimp_elimOne" (formula "14") (term "0,1")) - (rule "inEqSimp_sepNegMonomial0" (formula "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "12") (term "0,0")) - (rule "mul_literals" (formula "12") (term "1,0,0")) - (rule "replace_known_left" (formula "12") (term "0,0") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "12")) - (rule "inEqSimp_sepPosMonomial1" (formula "12") (term "1")) - (rule "mul_literals" (formula "12") (term "1,1")) - (rule "replace_known_left" (formula "12") (term "1") (ifseqformula "1")) - (builtin "One Step Simplification" (formula "12")) - (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 "inEqSimp_sepPosMonomial0" (formula "1")) - (rule "polySimp_mulComm0" (formula "1") (term "1")) - (rule "polySimp_rightDist" (formula "1") (term "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) - (rule "mul_literals" (formula "1") (term "0,1")) - (rule "polySimp_elimOne" (formula "1") (term "1,1")) - (rule "inEqSimp_contradEq7" (formula "13") (ifseqformula "2")) - (rule "times_zero_1" (formula "13") (term "1,0,0")) - (rule "add_zero_right" (formula "13") (term "0,0")) - (rule "leq_literals" (formula "13") (term "0")) - (builtin "One Step Simplification" (formula "13")) - (rule "false_right" (formula "13")) - (rule "inEqSimp_contradInEq0" (formula "9") (ifseqformula "1")) - (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_zero_right" (formula "9") (term "0")) - (rule "leq_literals" (formula "9")) - (rule "closeFalse" (formula "9")) - ) - (branch "Case 2" - (rule "andLeft" (formula "1") (userinteraction)) - (rule "applyEq" (formula "6") (term "1,0") (ifseqformula "1") (userinteraction)) - (rule "andLeft" (formula "4")) - (rule "andLeft" (formula "5")) - (rule "andLeft" (formula "4")) - (rule "andLeft" (formula "6")) - (rule "andLeft" (formula "8")) - (rule "andLeft" (formula "4")) - (rule "notLeft" (formula "9")) - (rule "andLeft" (formula "4")) - (rule "andLeft" (formula "4")) - (rule "andLeft" (formula "4")) - (rule "notLeft" (formula "5")) - (rule "eqSymm" (formula "1")) - (rule "replace_known_right" (formula "7") (term "0") (ifseqformula "12")) - (builtin "One Step Simplification" (formula "7")) - (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,1,1")) - (rule "mul_literals" (formula "14") (term "1,0,2,0,0,1,1")) - (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,0,0")) - (rule "mul_literals" (formula "14") (term "1,0,2,0,0,0,0")) - (rule "polySimp_elimSub" (formula "14") (term "1,1,0")) - (rule "mul_literals" (formula "14") (term "1,1,1,0")) - (rule "polySimp_elimSub" (formula "14") (term "1,0,1")) - (rule "mul_literals" (formula "14") (term "1,1,0,1")) - (rule "polySimp_elimSub" (formula "1") (term "1,0")) - (rule "mul_literals" (formula "1") (term "1,1,0")) - (rule "polySimp_elimSub" (formula "1") (term "3,1")) - (rule "mul_literals" (formula "1") (term "1,3,1")) - (rule "polySimp_homoEq" (formula "14")) - (rule "polySimp_mulComm0" (formula "14") (term "1,0")) - (rule "polySimp_addComm0" (formula "1") (term "1,0")) - (rule "polySimp_addComm0" (formula "1") (term "3,1")) - (rule "polySimp_addComm0" (formula "14") (term "1,0,0,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,1,0,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,1,1,0")) - (rule "polySimp_addComm0" (formula "14") (term "1,1,1,1,0")) - (rule "polySimp_addComm0" (formula "14") (term "0,0")) - (rule "polySimp_rightDist" (formula "14") (term "1,0")) - (rule "polySimp_mulComm0" (formula "14") (term "0,1,0")) - (rule "inEqSimp_ltToLeq" (formula "3")) - (rule "add_zero_right" (formula "3") (term "0")) - (rule "polySimp_mulComm0" (formula "3") (term "1,0")) - (rule "polySimp_addAssoc" (formula "14") (term "0")) - (rule "polySimp_addComm1" (formula "14") (term "0,0")) - (rule "polySimp_pullOutFactor1b" (formula "14") (term "0")) - (rule "add_literals" (formula "14") (term "1,1,0")) - (rule "times_zero_1" (formula "14") (term "1,0")) - (rule "add_zero_right" (formula "14") (term "0")) - (rule "polySimp_pullOutFactor1" (formula "14") (term "0")) - (rule "add_literals" (formula "14") (term "1,0")) - (rule "times_zero_1" (formula "14") (term "0")) - (builtin "One Step Simplification" (formula "14")) - (rule "closeTrue" (formula "14")) - ) + (rule "inEqSimp_commuteLeq" (formula "9")) + (rule "inEqSimp_ltToLeq" (formula "1") (term "0,1,0,0")) + (rule "add_zero_right" (formula "1") (term "0,0,1,0,0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1,0,0")) + (rule "polySimp_sepPosMonomial" (formula "13")) + (rule "polySimp_mulLiterals" (formula "13") (term "1")) + (rule "polySimp_elimOne" (formula "13") (term "1")) + (rule "polySimp_sepNegMonomial" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "applyEq" (formula "13") (term "0") (ifseqformula "1")) + (rule "polySimp_homoEq" (formula "13")) + (rule "polySimp_mulComm0" (formula "13") (term "1,0")) + (rule "polySimp_rightDist" (formula "13") (term "1,0")) + (rule "polySimp_mulComm0" (formula "13") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "13") (term "0")) + (rule "polySimp_addComm0" (formula "13") (term "0,0")) + (rule "polySimp_sepNegMonomial" (formula "13")) + (rule "polySimp_mulLiterals" (formula "13") (term "0")) + (rule "polySimp_elimOne" (formula "13") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "1") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0,0,1,1")) + (rule "polySimp_elimOne" (formula "1") (term "0,0,1,1")) + (rule "inEqSimp_sepNegMonomial0" (formula "13") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "13") (term "0,0,0")) + (rule "polySimp_elimOne" (formula "13") (term "0,0,0")) + (rule "inEqSimp_strengthen1" (formula "8") (ifseqformula "12")) + (rule "add_zero_right" (formula "8") (term "1")) + (rule "replace_known_left" (formula "13") (term "0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "13")) + (rule "replace_known_left" (formula "1") (term "0,1,1") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "1")) + (rule "polySimp_homoEq" (formula "13")) + (rule "polySimp_addComm1" (formula "13") (term "0")) + (rule "polySimp_sepPosMonomial" (formula "13")) + (rule "polySimp_mulComm0" (formula "13") (term "1")) + (rule "polySimp_rightDist" (formula "13") (term "1")) + (rule "polySimp_mulLiterals" (formula "13") (term "1,1")) + (rule "polySimp_elimOne" (formula "13") (term "1,1")) + (rule "polySimp_mulAssoc" (formula "13") (term "0,1")) + (rule "polySimp_mulComm0" (formula "13") (term "0,0,1")) + (rule "polySimp_mulLiterals" (formula "13") (term "0,1")) + (rule "polySimp_elimOne" (formula "13") (term "0,1")) + (rule "inEqSimp_contradEq7" (formula "12") (ifseqformula "8")) + (rule "times_zero_1" (formula "12") (term "1,0,0")) + (rule "add_zero_right" (formula "12") (term "0,0")) + (rule "leq_literals" (formula "12") (term "0")) + (builtin "One Step Simplification" (formula "12")) + (rule "false_right" (formula "12")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "1") (term "0,1")) + (rule "ifthenelse_split" (formula "2") (term "1,1")) + (branch "a[-1 + k] = v TRUE" + (rule "replace_known_left" (formula "14") (term "0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "2"))) + (rule "polySimp_homoEq" (formula "14")) + (rule "polySimp_mulComm0" (formula "14") (term "1,0")) + (rule "polySimp_addComm0" (formula "3") (term "1")) + (rule "polySimp_addComm0" (formula "14") (term "0,0")) + (rule "polySimp_rightDist" (formula "14") (term "1,0")) + (rule "mul_literals" (formula "14") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "14") (term "0")) + (rule "polySimp_addComm1" (formula "14") (term "0,0")) + (rule "add_literals" (formula "14") (term "0,0,0")) + (rule "add_zero_left" (formula "14") (term "0,0")) + (rule "polySimp_pullOutFactor1" (formula "14") (term "0")) + (rule "add_literals" (formula "14") (term "1,0")) + (rule "times_zero_1" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "closeTrue" (formula "14")) ) - (branch "0 < k FALSE" - (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 "notLeft" (formula "8")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "notLeft" (formula "2")) - (rule "replace_known_right" (formula "4") (term "0") (ifseqformula "10")) - (builtin "One Step Simplification" (formula "4")) - (rule "polySimp_elimSub" (formula "13") (term "0,2,0,0,0,0")) - (rule "mul_literals" (formula "13") (term "1,0,2,0,0,0,0")) - (rule "polySimp_elimSub" (formula "13") (term "3,1,0")) - (rule "mul_literals" (formula "13") (term "1,3,1,0")) - (rule "polySimp_addComm0" (formula "13") (term "0,2,0,0,0,0")) - (rule "polySimp_addComm0" (formula "13") (term "3,1,0")) - (rule "polySimp_addComm0" (formula "13") (term "0")) - (rule "inEqSimp_ltRight" (formula "12")) - (rule "add_zero_right" (formula "1") (term "0")) - (rule "polySimp_mulComm0" (formula "1") (term "0")) - (rule "inEqSimp_commuteLeq" (formula "7")) - (rule "inEqSimp_commuteLeq" (formula "8")) - (rule "polySimp_sepPosMonomial" (formula "13")) - (rule "inEqSimp_invertInEq1" (formula "1")) - (rule "times_zero_2" (formula "1") (term "1")) - (rule "polySimp_mulLiterals" (formula "1") (term "0")) - (rule "polySimp_elimOne" (formula "1") (term "0")) - (rule "inEqSimp_strengthen0" (formula "1") (ifseqformula "12")) - (rule "add_zero_right" (formula "1") (term "1")) - (rule "inEqSimp_contradEq3" (formula "12") (ifseqformula "1")) - (rule "times_zero_1" (formula "12") (term "1,0,0")) - (rule "add_zero_right" (formula "12") (term "0,0")) - (rule "qeq_literals" (formula "12") (term "0")) - (builtin "One Step Simplification" (formula "12")) - (rule "false_right" (formula "12")) - (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "7")) - (rule "qeq_literals" (formula "1") (term "0")) - (builtin "One Step Simplification" (formula "1")) - (rule "closeFalse" (formula "1")) + (branch "a[-1 + k] = v FALSE" + (rule "add_zero_right" (formula "2") (term "1")) + (rule "replace_known_right" (formula "14") (term "0,1,1") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "11"))) + (rule "add_zero_right" (formula "14") (term "1")) + (builtin "One Step Simplification" (formula "14")) + (rule "closeTrue" (formula "14")) ) ) ) -(branch "Case 2" - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "3")) - (rule "andLeft" (formula "1")) - (rule "andLeft" (formula "4")) - (rule "andLeft" (formula "6")) - (rule "close" (formula "8") (ifseqformula "6")) -) ) } diff --git a/key.ui/examples/heap/BoyerMoore/BM(BM__monoLemma((I,int,int)).JML normal_behavior operation contract.0.proof b/key.ui/examples/heap/BoyerMoore/BM(BM__monoLemma((I,int,int)).JML normal_behavior operation contract.0.proof index eca87d44276..437af3df926 100644 --- a/key.ui/examples/heap/BoyerMoore/BM(BM__monoLemma((I,int,int)).JML normal_behavior operation contract.0.proof +++ b/key.ui/examples/heap/BoyerMoore/BM(BM__monoLemma((I,int,int)).JML normal_behavior operation contract.0.proof @@ -7,6 +7,7 @@ "Strings" : "Strings:on", "assertions" : "assertions:on", "bigint" : "bigint:on", + "finalFields" : "finalFields:immutable", "floatRules" : "floatRules:strictfpOnly", "initialisation" : "initialisation:disableStaticInitialisation", "intRules" : "intRules:arithmeticSemanticsIgnoringOF", @@ -21,6 +22,7 @@ "reach" : "reach:on", "runtimeExceptions" : "runtimeExceptions:ban", "sequences" : "sequences:on", + "soundDefaultContracts" : "soundDefaultContracts:on", "wdChecks" : "wdChecks:off", "wdOperator" : "wdOperator:L" }, @@ -72,21 +74,21 @@ "VBT_PHASE" : "VBT_SYM_EX" } } - } + } -\javaSource "src"; -\proofObligation "#Proof Obligation Settings -#Thu Apr 11 18:42:30 CEST 2024 -contract=BoyerMoore[BoyerMoore\\:\\:monoLemma([I,int,int)].JML normal_behavior operation contract.0 -name=BoyerMoore[BoyerMoore\\:\\:monoLemma([I,int,int)].JML normal_behavior operation contract.0 -class=de.uka.ilkd.key.proof.init.FunctionalOperationContractPO -"; +\javaSource "src";\proofObligation +// +{ + "class" : "de.uka.ilkd.key.proof.init.FunctionalOperationContractPO", + "contract" : "BoyerMoore[BoyerMoore::monoLemma([I,int,int)].JML normal_behavior operation contract.0", + "name" : "BoyerMoore[BoyerMoore::monoLemma([I,int,int)].JML normal_behavior operation contract.0" + } \proof { -(keyLog "0" (keyUser "mattias" ) (keyVersion "9cc569ccced37e242b3a85779f2afdc42b0031ca")) +(keyLog "0" (keyUser "ulbrich" ) (keyVersion "947da2060bf662ceb5ca270943291196724c7fa3")) -(autoModeTime "5099") +(autoModeTime "1173") (branch "dummy ID" (builtin "One Step Simplification" (formula "1") (newnames "heapAtPre,o,f")) @@ -108,8 +110,8 @@ class=de.uka.ilkd.key.proof.init.FunctionalOperationContractPO (rule "polySimp_elimSub" (formula "5") (term "0")) (rule "polySimp_addComm0" (formula "5") (term "0")) (rule "inEqSimp_commuteLeq" (formula "11") (term "0,0,0,0,1")) -(rule "inEqSimp_commuteLeq" (formula "7")) (rule "inEqSimp_commuteLeq" (formula "6")) +(rule "inEqSimp_commuteLeq" (formula "7")) (rule "assignment" (formula "11") (term "1")) (builtin "One Step Simplification" (formula "11")) (rule "methodBodyExpand" (formula "11") (term "1") (newnames "heapBefore_monoLemma,savedHeapBefore_monoLemma")) @@ -133,11 +135,11 @@ class=de.uka.ilkd.key.proof.init.FunctionalOperationContractPO (branch "if _k == _a.length true" (builtin "One Step Simplification" (formula "12")) (builtin "One Step Simplification" (formula "1")) + (rule "applyEq" (formula "8") (term "0") (ifseqformula "1")) (rule "applyEq" (formula "6") (term "1,0") (ifseqformula "1")) (rule "polySimp_pullOutFactor2" (formula "6") (term "0")) (rule "add_literals" (formula "6") (term "1,0")) (rule "times_zero_1" (formula "6") (term "0")) - (rule "applyEq" (formula "8") (term "0") (ifseqformula "1")) (rule "methodCallEmptyReturn" (formula "12") (term "1")) (builtin "One Step Simplification" (formula "12")) (rule "tryEmpty" (formula "12") (term "1")) @@ -217,21 +219,23 @@ class=de.uka.ilkd.key.proof.init.FunctionalOperationContractPO (branch "Case 1" (rule "andRight" (formula "16")) (branch "Case 1" - (builtin "One Step Simplification" (formula "16") (userinteraction)) - (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "12") (term "1") (ifseqformula "3") (userinteraction)) - (rule "unlimit_BoyerMoore_count[I\bigint\bigint" (formula "12") (term "1,2,0,1") (userinteraction)) - (rule "castDel" (formula "12") (term "1")) - (rule "polySimp_elimSub" (formula "12") (term "3,1,2,1")) - (rule "mul_literals" (formula "12") (term "1,3,1,2,1")) - (rule "polySimp_elimSub" (formula "12") (term "0,2,0,0,0,2,1")) - (rule "mul_literals" (formula "12") (term "1,0,2,0,0,0,2,1")) - (rule "polySimp_addComm1" (formula "12") (term "3,1,2,1")) - (rule "add_literals" (formula "12") (term "0,3,1,2,1")) - (rule "add_zero_left" (formula "12") (term "3,1,2,1")) - (rule "polySimp_addComm1" (formula "12") (term "0,2,0,0,0,2,1")) - (rule "add_literals" (formula "12") (term "0,0,2,0,0,0,2,1")) - (rule "add_zero_left" (formula "12") (term "0,2,0,0,0,2,1")) - (rule "polySimp_addComm0" (formula "12") (term "2,1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "12") (term "1") (inst "last=last") (ifseqformula "3") (userinteraction)) + (builtin "One Step Simplification" (formula "16")) + (rule "polySimp_elimSub" (formula "12") (term "0,2,0,0,2,1")) + (rule "mul_literals" (formula "12") (term "1,0,2,0,0,2,1")) + (rule "polySimp_elimSub" (formula "12") (term "3,1,1,2,1")) + (rule "mul_literals" (formula "12") (term "1,3,1,1,2,1")) + (rule "polySimp_elimSub" (formula "12") (term "3,2,2,1")) + (rule "mul_literals" (formula "12") (term "1,3,2,2,1")) + (rule "polySimp_addComm1" (formula "12") (term "0,2,0,0,2,1")) + (rule "add_literals" (formula "12") (term "0,0,2,0,0,2,1")) + (rule "add_zero_left" (formula "12") (term "0,2,0,0,2,1")) + (rule "polySimp_addComm1" (formula "12") (term "3,1,1,2,1")) + (rule "add_literals" (formula "12") (term "0,3,1,1,2,1")) + (rule "add_zero_left" (formula "12") (term "3,1,1,2,1")) + (rule "polySimp_addComm1" (formula "12") (term "3,2,2,1")) + (rule "add_literals" (formula "12") (term "0,3,2,2,1")) + (rule "add_zero_left" (formula "12") (term "3,2,2,1")) (rule "inEqSimp_geqRight" (formula "16")) (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) (rule "inEqSimp_commuteGeq" (formula "13")) @@ -248,15 +252,6 @@ class=de.uka.ilkd.key.proof.init.FunctionalOperationContractPO (rule "mul_literals" (formula "13") (term "0,0,0,0")) (rule "leq_literals" (formula "13") (term "0,0,0")) (builtin "One Step Simplification" (formula "13")) - (rule "inEqSimp_homoInEq0" (formula "13")) - (rule "polySimp_mulComm0" (formula "13") (term "1,0")) - (rule "polySimp_rightDist" (formula "13") (term "1,0")) - (rule "polySimp_mulComm0" (formula "13") (term "0,1,0")) - (rule "polySimp_addAssoc" (formula "13") (term "0")) - (rule "polySimp_addComm0" (formula "13") (term "0,0")) - (rule "inEqSimp_sepNegMonomial1" (formula "13")) - (rule "polySimp_mulLiterals" (formula "13") (term "0")) - (rule "polySimp_elimOne" (formula "13") (term "0")) (rule "inEqSimp_strengthen1" (formula "8") (ifseqformula "14")) (rule "inEqSimp_contradEq7" (formula "14") (ifseqformula "8")) (rule "polySimp_mulComm0" (formula "14") (term "1,0,0")) @@ -268,18 +263,11 @@ class=de.uka.ilkd.key.proof.init.FunctionalOperationContractPO (builtin "One Step Simplification" (formula "14")) (rule "false_right" (formula "14")) (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "1") (term "1,1")) + (rule "applyEq" (formula "14") (term "1,1,0") (ifseqformula "1")) + (rule "applyEq" (formula "14") (term "2,0") (ifseqformula "1")) (rule "ifthenelse_split" (formula "14") (term "0")) (branch "a[k] = v TRUE" - (rule "inEqSimp_homoInEq0" (formula "15")) - (rule "mul_literals" (formula "15") (term "1,0")) - (rule "polySimp_addComm1" (formula "15") (term "0")) - (rule "polySimp_addComm0" (formula "15") (term "0,0")) - (rule "inEqSimp_sepPosMonomial1" (formula "15")) - (rule "polySimp_mulComm0" (formula "15") (term "1")) - (rule "polySimp_rightDist" (formula "15") (term "1")) - (rule "mul_literals" (formula "15") (term "0,1")) - (rule "polySimp_mulLiterals" (formula "15") (term "1,1")) - (rule "polySimp_elimOne" (formula "15") (term "1,1")) + (rule "inEqSimp_commuteLeq" (formula "15")) (rule "inEqSimp_contradInEq1" (formula "2") (ifseqformula "15")) (rule "andLeft" (formula "2")) (rule "inEqSimp_homoInEq1" (formula "2")) @@ -297,12 +285,7 @@ class=de.uka.ilkd.key.proof.init.FunctionalOperationContractPO (rule "closeFalse" (formula "2")) ) (branch "a[k] = v FALSE" - (rule "inEqSimp_homoInEq0" (formula "14")) - (rule "times_zero_2" (formula "14") (term "1,0")) - (rule "add_zero_right" (formula "14") (term "0")) - (rule "inEqSimp_sepPosMonomial1" (formula "14")) - (rule "polySimp_mulLiterals" (formula "14") (term "1")) - (rule "polySimp_elimOne" (formula "14") (term "1")) + (rule "inEqSimp_commuteLeq" (formula "14")) (rule "inEqSimp_contradInEq1" (formula "2") (ifseqformula "14")) (rule "andLeft" (formula "2")) (rule "inEqSimp_homoInEq1" (formula "2")) diff --git a/key.ui/examples/heap/BoyerMoore/src/BoyerMoore.java b/key.ui/examples/heap/BoyerMoore/src/BoyerMoore.java index 9f3c244199b..dc8a350ff1a 100644 --- a/key.ui/examples/heap/BoyerMoore/src/BoyerMoore.java +++ b/key.ui/examples/heap/BoyerMoore/src/BoyerMoore.java @@ -23,8 +23,15 @@ class BoyerMoore { @ measured_by k; @ accessible a[*]; @ model int count(int[] a, \bigint k, \bigint v) { - @ return k == 0 ? 0 : - @ ((a[k-1] == v ? 1 : 0) + count(a, k-1, v)); + @ if (k == 0) + @ return 0; + @ else { + @ var last = a[k-1]; + @ if (a[k-1] == v) + @ return 1 + count(a, k-1, v); + @ else + @ return count(a, k-1, v); + @ } @ } @*/