diff --git a/key.core/src/test/java/de/uka/ilkd/key/proof/runallproofs/ProofCollections.java b/key.core/src/test/java/de/uka/ilkd/key/proof/runallproofs/ProofCollections.java index 9fff4dd58d4..c97e7ac2437 100644 --- a/key.core/src/test/java/de/uka/ilkd/key/proof/runallproofs/ProofCollections.java +++ b/key.core/src/test/java/de/uka/ilkd/key/proof/runallproofs/ProofCollections.java @@ -16,6 +16,13 @@ import org.junit.jupiter.api.Assertions; /** + * This class configuress the "runAllProofs" test runs. + * + * The ProofCollection objects are created and configured in the two methods + * #automaticJavaDL() and #automaticInfFlow(). You can add new files + * to existing groups to be run by CI or you can add new groups. Follow the + * example set by the other test cases. + * * @author Alexander Weigl * @version 1 (08.02.23) */ @@ -343,13 +350,20 @@ public static ProofCollection automaticJavaDL() throws IOException { g.provable("heap/observer/ExampleSubject_value.key"); - g = c.group("removeDups"); + g = c.group("example-algos"); g.provable("heap/removeDups/arrayPart.key"); g.provable("heap/removeDups/contains.key"); g.provable("heap/removeDups/removeDup.key"); - - g.provable("heap/saddleback_search/Saddleback_search.key"); + // TODO: Make BoyerMoore run automatically, not only loading proofs. Need proofs scripts for + // that. + g.loadable("heap/BoyerMoore/BM(BM__bm((I)).JML normal_behavior operation contract.0.proof"); + g.loadable( + "heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML accessible clause.0.proof"); + g.loadable( + "heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML model_behavior operation contract.0.proof"); + g.loadable( + "heap/BoyerMoore/BM(BM__monoLemma((I,int,int)).JML normal_behavior operation contract.0.proof"); g = c.group("quicksort"); g.setLocalSettings("[Choice]DefaultChoices=moreSeqRules-moreSeqRules:on"); 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 new file mode 100644 index 00000000000..bbe096cf120 --- /dev/null +++ b/key.ui/examples/heap/BoyerMoore/BM(BM__bm((I)).JML normal_behavior operation contract.0.proof @@ -0,0 +1,8496 @@ +\profile "Java Profile"; + +\settings // Proof-Settings-Config-File +{ + "Choice" : { + "JavaCard" : "JavaCard:on", + "Strings" : "Strings:on", + "assertions" : "assertions:on", + "bigint" : "bigint:on", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:off", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "JavaCardDLStrategy", + "MaximumNumberOfAutomaticApplications" : 10000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_OFF", + "DEP_OPTIONS_KEY" : "DEP_ON", + "INF_FLOW_CHECK_PROPERTY" : "INF_FLOW_CHECK_FALSE", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_DEF_OPS", + "OSS_OPTIONS_KEY" : "OSS_ON", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } + } + +\javaSource "src"; + +\proofObligation "#Proof Obligation Settings +#Fri Apr 12 16:53:51 CEST 2024 +contract=BoyerMoore[BoyerMoore\\:\\:bm([I)].JML normal_behavior operation contract.0 +name=BoyerMoore[BoyerMoore\\:\\:bm([I)].JML normal_behavior operation contract.0 +class=de.uka.ilkd.key.proof.init.FunctionalOperationContractPO +"; + +\proof { +(keyLog "0" (keyUser "mattias" ) (keyVersion "9cc569ccced37e242b3a85779f2afdc42b0031ca")) + +(autoModeTime "2904") + +(branch "dummy ID" + (builtin "One Step Simplification" (formula "1") (newnames "heapAtPre,o,f")) +(rule "impRight" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "andLeft" (formula "3")) +(rule "andLeft" (formula "1")) +(rule "andLeft" (formula "5")) +(rule "andLeft" (formula "1")) +(rule "notLeft" (formula "7")) +(rule "andLeft" (formula "1")) +(rule "andLeft" (formula "1")) +(rule "notLeft" (formula "2")) +(rule "eqSymm" (formula "10") (term "1,0,0,1,0,1")) +(rule "replace_known_right" (formula "4") (term "0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "4")) +(rule "assignment" (formula "10") (term "1")) + (builtin "One Step Simplification" (formula "10")) +(rule "methodBodyExpand" (formula "10") (term "1") (newnames "heapBefore_bm,savedHeapBefore_bm,_aBefore_bm")) + (builtin "One Step Simplification" (formula "10")) +(rule "variableDeclarationAssign" (formula "10") (term "1")) +(rule "variableDeclaration" (formula "10") (term "1") (newnames "mc")) +(rule "assignment" (formula "10") (term "1")) + (builtin "One Step Simplification" (formula "10")) +(rule "variableDeclarationAssign" (formula "10") (term "1")) +(rule "variableDeclaration" (formula "10") (term "1") (newnames "mx")) +(rule "assignment" (formula "10") (term "1")) + (builtin "One Step Simplification" (formula "10")) +(rule "for_to_while" (formula "10") (term "1") (inst "#outerLabel=_label1") (inst "#innerLabel=_label0")) +(rule "variableDeclarationAssign" (formula "10") (term "1")) +(rule "variableDeclaration" (formula "10") (term "1") (newnames "k")) +(rule "assignment" (formula "10") (term "1")) + (builtin "One Step Simplification" (formula "10")) +(rule "elim_double_block_3" (formula "10") (term "1")) + (builtin "Loop Invariant" (formula "10") (newnames "variant,b,heapBefore_LOOP,kBefore_LOOP,mxBefore_LOOP,mcBefore_LOOP,k_0,mx_0,mc_0,heap_After_LOOP,anon_heap_LOOP,o,f")) +(branch "Invariant Initially Valid" + (rule "andRight" (formula "10")) + (branch "Case 1" + (rule "andRight" (formula "10")) + (branch "Case 1" + (rule "andRight" (formula "10")) + (branch "Case 1" + (opengoal " wellFormed(heap)<>, ( boolean::select(heap, self, java.lang.Object::) = TRUE)<>, (BoyerMoore::exactInstance(self) = TRUE)<>, ( boolean::select(heap, a, java.lang.Object::) = TRUE)<>, measuredByEmpty<>, IntOpt::<$inv>(heap), java.lang.Object::(heap, self)<> ==> (self<> = null)<>, (a = null)<>, {(heapAtPre:=heap || _a:=a || exc:=null || mc:=Z(0(#)) || mx:=Z(0(#)) || k:=Z(0(#))< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit)]\")>>)< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit)]\")>>} (( (leq(Z(0(#)), k) & leq(k, length(_a)))<> & geq(mc, Z(0(#)))<>)<>)") + ) + (branch "Case 2" + (builtin "One Step Simplification" (formula "10")) + (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 "Static_class_invariant_axiom_for_IntOpt" (formula "7")) + (rule "andLeft" (formula "7")) + (rule "notLeft" (formula "7")) + (rule "notLeft" (formula "7")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "7") (ifseqformula "4")) + (rule "true_left" (formula "7")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "0") (inst "l=l")) + (rule "bsum_lower_equals_upper" (formula "1") (term "1,0,1")) + (rule "leq_literals" (formula "1") (term "0,0,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "11")) (ifInst "" (formula "3")) (ifInst "" (formula "4")) (ifInst "" (formula "10"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) + (rule "inEqSimp_contradEq7" (formula "1") (term "0,1") (ifseqformula "2")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0,1")) + (rule "add_zero_right" (formula "1") (term "0,0,0,1")) + (rule "leq_literals" (formula "1") (term "0,0,1")) + (builtin "One Step Simplification" (formula "1")) + (rule "notLeft" (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")) + ) + ) + (branch "Case 2" + (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 "notLeft" (formula "1")) + (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 "Static_class_invariant_axiom_for_IntOpt" (formula "7")) + (rule "andLeft" (formula "7")) + (rule "notLeft" (formula "7")) + (rule "notLeft" (formula "7")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "7") (ifseqformula "4")) + (rule "true_left" (formula "7")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "0") (inst "l=l")) + (rule "bsum_lower_equals_upper" (formula "1") (term "1,0,1")) + (rule "leq_literals" (formula "1") (term "0,0,0,0,0,0,0")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "12")) (ifInst "" (formula "3")) (ifInst "" (formula "4")) (ifInst "" (formula "11"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) + (rule "inEqSimp_contradEq7" (formula "1") (term "0,1") (ifseqformula "2")) + (rule "times_zero_1" (formula "1") (term "1,0,0,0,1")) + (rule "add_zero_right" (formula "1") (term "0,0,0,1")) + (rule "leq_literals" (formula "1") (term "0,0,1")) + (builtin "One Step Simplification" (formula "1")) + (rule "notLeft" (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")) + ) + ) + (branch "Case 2" + (opengoal " wellFormed(heap)<>, ( boolean::select(heap, self, java.lang.Object::) = TRUE)<>, (BoyerMoore::exactInstance(self) = TRUE)<>, ( boolean::select(heap, a, java.lang.Object::) = TRUE)<>, measuredByEmpty<>, IntOpt::<$inv>(heap), java.lang.Object::(heap, self)<> ==> (self<> = null)<>, (a = null)<>, {(heapAtPre:=heap || _a:=a || exc:=null || mc:=Z(0(#)) || mx:=Z(0(#)) || k:=Z(0(#))< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit)]\")>>)< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit)]\")>>} wellFormed(heap)") + ) +) +(branch "Body Preserves Invariant" + (builtin "One Step Simplification" (formula "9")) + (builtin "One Step Simplification" (formula "12")) + (rule "andLeft" (formula "9")) + (rule "impRight" (formula "13")) + (rule "andLeft" (formula "10")) + (rule "andLeft" (formula "10")) + (rule "andLeft" (formula "10")) + (rule "eqSymm" (formula "17") (term "0,0,1,0,1,1,0,1")) + (rule "polySimp_elimSub" (formula "14") (term "1,1,0")) + (rule "polySimp_elimSub" (formula "17") (term "0,1,1,1,0")) + (rule "polySimp_elimSub" (formula "17") (term "1,1,0,1,0,0,1,1,0,1")) + (rule "polySimp_elimSub" (formula "17") (term "0,1,1,1,0,1")) + (rule "polySimp_mulComm0" (formula "14") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "17") (term "0,1,0,0,0,1,1,0,1")) + (rule "polySimp_mulComm0" (formula "17") (term "0,1,0,1,0,0,1,1,0,1")) + (rule "polySimp_mulComm0" (formula "13") (term "0")) + (rule "polySimp_addComm0" (formula "17") (term "0,1,1,1,0")) + (rule "polySimp_addComm0" (formula "17") (term "0,1,1,1,0,1")) + (rule "inEqSimp_commuteLeq" (formula "17") (term "1,0,0,0,0,0,1,1,0,1")) + (rule "inEqSimp_commuteLeq" (formula "17") (term "0,0,0,0,0,0,1,1,0,1")) + (rule "inEqSimp_commuteLeq" (formula "10")) + (rule "inEqSimp_commuteLeq" (formula "11")) + (rule "variableDeclarationAssign" (formula "1") (term "1")) + (rule "variableDeclarationAssign" (formula "17") (term "1")) + (rule "variableDeclaration" (formula "1") (term "1") (newnames "b_1")) + (rule "variableDeclaration" (formula "17") (term "1") (newnames "exc_1")) + (rule "assignment" (formula "17") (term "1")) + (builtin "One Step Simplification" (formula "17")) + (rule "variableDeclaration" (formula "17") (term "1") (newnames "thrownExc")) + (rule "blockThrow" (formula "17") (term "1,0,0,1")) + (rule "boxToDiamond" (formula "1") (term "1")) + (builtin "One Step Simplification" (formula "1")) + (rule "notLeft" (formula "1")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "12") (term "0,0")) + (rule "compound_less_than_comparison_2" (formula "15") (term "1") (inst "#v1=i_1") (inst "#v0=i")) + (rule "variableDeclarationAssign" (formula "15") (term "1")) + (rule "variableDeclaration" (formula "15") (term "1") (newnames "i")) + (rule "assignment" (formula "15") (term "1")) + (builtin "One Step Simplification" (formula "15")) + (rule "variableDeclarationAssign" (formula "15") (term "1")) + (rule "variableDeclaration" (formula "15") (term "1") (newnames "i_1")) + (rule "assignment_read_length" (formula "15")) + (branch "Normal Execution (mc == 0 != null)" + (builtin "One Step Simplification" (formula "15")) + (rule "less_than_comparison_simple" (formula "15") (term "1")) + (builtin "One Step Simplification" (formula "15")) + (rule "methodCallEmpty" (formula "15") (term "1")) + (rule "emptyModality" (formula "15") (term "1")) + (builtin "One Step Simplification" (formula "15")) + (rule "notRight" (formula "15")) + (rule "ifUnfold" (formula "18") (term "1") (inst "#boolv=b_2")) + (rule "variableDeclaration" (formula "18") (term "1") (newnames "b_2")) + (rule "compound_less_than_comparison_2" (formula "18") (term "1") (inst "#v1=i_3") (inst "#v0=i_2")) + (rule "variableDeclarationAssign" (formula "18") (term "1")) + (rule "variableDeclaration" (formula "18") (term "1") (newnames "i_2")) + (rule "assignment" (formula "18") (term "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "variableDeclarationAssign" (formula "18") (term "1")) + (rule "variableDeclaration" (formula "18") (term "1") (newnames "i_3")) + (rule "assignment_read_length" (formula "18")) + (branch "Normal Execution (mc == 0 != null)" + (builtin "One Step Simplification" (formula "18")) + (rule "less_than_comparison_simple" (formula "18") (term "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "replace_known_left" (formula "18") (term "0,0,1,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "ifSplit" (formula "18")) + (branch "if k < _a.length true" + (builtin "One Step Simplification" (formula "19")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "ifElseUnfold" (formula "18") (term "1") (inst "#boolv=b_3")) + (rule "variableDeclaration" (formula "18") (term "1") (newnames "b_3")) + (rule "equality_comparison_simple" (formula "18") (term "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "arrayLengthIsAShort" (formula "11") (term "0")) + (builtin "One Step Simplification" (formula "11")) + (rule "true_left" (formula "11")) + (rule "arrayLengthNotNegative" (formula "11") (term "0")) + (rule "ifElseSplit" (formula "19")) + (branch "if mc == 0 true" + (builtin "One Step Simplification" (formula "1")) + (builtin "One Step Simplification" (formula "20")) + (rule "assignment" (formula "20") (term "1")) + (builtin "One Step Simplification" (formula "20")) + (rule "assignment_array2" (formula "20")) + (branch "Normal Execution (mc == 0 != null)" + (builtin "One Step Simplification" (formula "20")) + (rule "blockEmpty" (formula "20") (term "1")) + (rule "applyEq" (formula "16") (term "1,1") (ifseqformula "1")) + (rule "add_zero_right" (formula "16") (term "1")) + (rule "applyEqRigid" (formula "17") (term "0,1,1,1,0") (ifseqformula "1")) + (rule "times_zero_2" (formula "17") (term "1,1,1,0")) + (rule "add_zero_right" (formula "17") (term "1,1,0")) + (rule "applyEq" (formula "14") (term "0") (ifseqformula "1")) + (rule "qeq_literals" (formula "14")) + (rule "true_left" (formula "14")) + (rule "postincrement" (formula "19") (term "1")) + (rule "compound_int_cast_expression" (formula "19") (term "1") (inst "#v=i_4")) + (rule "variableDeclarationAssign" (formula "19") (term "1")) + (rule "variableDeclaration" (formula "19") (term "1") (newnames "i_4")) + (rule "remove_parentheses_right" (formula "19") (term "1")) + (rule "assignmentAdditionInt" (formula "19") (term "1")) + (builtin "One Step Simplification" (formula "19")) + (rule "translateJavaAddInt" (formula "19") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "19") (term "0,1,0")) + (rule "widening_identity_cast_5" (formula "19") (term "1")) + (rule "assignment" (formula "19") (term "1")) + (builtin "One Step Simplification" (formula "19")) + (rule "tryEmpty" (formula "19") (term "1")) + (rule "methodCallEmpty" (formula "19") (term "1")) + (rule "emptyModality" (formula "19") (term "1")) + (builtin "One Step Simplification" (formula "19")) + (rule "andRight" (formula "19")) + (branch + (rule "andRight" (formula "19")) + (branch "Case 1" + (rule "andRight" (formula "19")) + (branch "Case 1" + (opengoal " (mc_0 = Z(0(#)))< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit), decreases @ file BoyerMoore.java @ line 50, loop_invariant @ file BoyerMoore.java @ line 45, loop_invariant @ file BoyerMoore.java @ line 46, loop_invariant @ file BoyerMoore.java @ line 47, loop_invariant @ file BoyerMoore.java @ line 48]\")>>, lt(k_0, length(a<>))<>, wellFormed(heap)<>, ( boolean::select(heap, self, java.lang.Object::) = TRUE)<>, (BoyerMoore::exactInstance(self) = TRUE)<>, ( boolean::select(heap, a, java.lang.Object::) = TRUE)<>, measuredByEmpty<>, IntOpt::<$inv>(heap), java.lang.Object::(heap, self)<>, wellFormed(anon_heap_LOOP<>), geq(k_0, Z(0(#)))<>, geq(length(a), Z(0(#))), geq(length(a), k_0)<>, BoyerMoore::count$lmtd(heap, self, a, k_0, mx_0) = BoyerMoore::count(heap, self, a, k_0, mx_0), leq(mul(BoyerMoore::count(heap, self, a, k_0, mx_0), Z(2(#))), k_0)<>, (\\forall int x; ( !x = mx_0 -> leq(mul(BoyerMoore::count(heap, self, a, k_0, x), Z(2(#))), k_0)))<> ==> (self<> = null)<>, (a = null)<>, ( (geq(add(Z(1(#)), k_0), Z(0(#))) & geq(length(a), add(Z(1(#)), k_0)))<> & geq(Z(1(#)), Z(0(#)))<>)< (implicit)\",\"[loop_invariant @ file BoyerMoore.java @ line 45, loop_invariant @ file BoyerMoore.java @ line 46]\")>>") + ) + (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")) + (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 "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 "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 "17") (term "1") (ifseqformula "2")) + (rule "applyEq" (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_elimSub" (formula "1") (term "0,2,0")) + (rule "mul_literals" (formula "1") (term "1,0,2,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 "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")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "polySimp_addComm1" (formula "20") (term "3,1,1,0")) + (rule "add_literals" (formula "20") (term "0,3,1,1,0")) + (rule "add_zero_left" (formula "20") (term "3,1,1,0")) + (rule "polySimp_rightDist" (formula "20") (term "0")) + (rule "mul_literals" (formula "20") (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_leqRight" (formula "20")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "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 "20")) + (rule "mul_literals" (formula "20") (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_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 "20") (ifseqformula "12")) + (rule "add_zero_left" (formula "20") (term "0,0")) + (rule "mul_literals" (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 "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "15") (term "0,0") (inst "l=l")) + (rule "eqSymm" (formula "15") (term "0,1")) + (rule "replace_known_left" (formula "15") (term "1,0,0,0,0") (ifseqformula "4")) + (builtin "One Step Simplification" (formula "15") (ifInst "" (formula "10")) (ifInst "" (formula "19")) (ifInst "" (formula "5")) (ifInst "" (formula "18")) (ifInst "" (formula "10"))) + (rule "measuredByCheckEmpty" (formula "15") (term "1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "15")) + (rule "inEqSimp_commuteLeq" (formula "15") (term "0,0")) + (rule "replace_known_left" (formula "15") (term "0,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "15")) + (rule "inEqSimp_commuteLeq" (formula "15") (term "0")) + (rule "inEqSimp_subsumption1" (formula "15") (term "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq0" (formula "15") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "15") (term "0,0,0")) + (rule "add_literals" (formula "15") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "15") (term "1,0,0,0")) + (rule "add_zero_right" (formula "15") (term "0,0,0")) + (rule "qeq_literals" (formula "15") (term "0,0")) + (builtin "One Step Simplification" (formula "15")) + (rule "Static_class_invariant_axiom_for_IntOpt" (formula "9")) + (rule "andLeft" (formula "9")) + (rule "notLeft" (formula "9")) + (rule "notLeft" (formula "9")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "13") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "13") (term "0,1")) + (rule "replace_known_left" (formula "13") (term "1,0,0,0") (ifseqformula "5")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "9")) (ifInst "" (formula "21")) (ifInst "" (formula "4")) (ifInst "" (formula "20")) (ifInst "" (formula "15")) (ifInst "" (formula "9"))) + (rule "true_left" (formula "13")) + (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 "21")) (ifInst "" (formula "5")) (ifInst "" (formula "6")) (ifInst "" (formula "20")) (ifInst "" (formula "10"))) + (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 "12")) + (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 "Class_invariant_axiom_for_BoyerMoore" (formula "10") (ifseqformula "7")) + (rule "true_left" (formula "10")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "13") (term "1") (ifseqformula "7")) + (rule "castDel" (formula "13") (term "1")) + (rule "eqSymm" (formula "13")) + (rule "polySimp_elimSub" (formula "13") (term "0,2,0,0,0,2,0")) + (rule "mul_literals" (formula "13") (term "1,0,2,0,0,0,2,0")) + (rule "polySimp_elimSub" (formula "13") (term "3,1,2,0")) + (rule "mul_literals" (formula "13") (term "1,3,1,2,0")) + (rule "polySimp_addComm0" (formula "13") (term "0,2,0,0,0,2,0")) + (rule "polySimp_addComm0" (formula "13") (term "3,1,2,0")) + (rule "polySimp_addComm0" (formula "13") (term "2,0")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "15") (term "0,0") (ifseqformula "7")) + (rule "castDel" (formula "15") (term "0,0")) + (rule "polySimp_elimSub" (formula "15") (term "0,2,0,0,0,2,0,0")) + (rule "mul_literals" (formula "15") (term "1,0,2,0,0,0,2,0,0")) + (rule "polySimp_elimSub" (formula "15") (term "3,1,2,0,0")) + (rule "mul_literals" (formula "15") (term "1,3,1,2,0,0")) + (rule "polySimp_addComm0" (formula "15") (term "0,2,0,0,0,2,0,0")) + (rule "polySimp_addComm0" (formula "15") (term "3,1,2,0,0")) + (rule "polySimp_addComm0" (formula "15") (term "2,0,0")) + (rule "applyEq" (formula "15") (term "0,0") (ifseqformula "13")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "14") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "14") (term "0,1")) + (rule "replace_known_left" (formula "14") (term "1,0,0,0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "21")) (ifInst "" (formula "5")) (ifInst "" (formula "20")) (ifInst "" (formula "15"))) + (rule "measuredByCheckEmpty" (formula "14") (term "1,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "0,0,0")) + (rule "replace_known_left" (formula "14") (term "0,0,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "0,0")) + (rule "inEqSimp_subsumption1" (formula "14") (term "0,0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq0" (formula "14") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "14") (term "0,0,0,0")) + (rule "add_literals" (formula "14") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "14") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "14") (term "0,0,0,0")) + (rule "qeq_literals" (formula "14") (term "0,0,0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) + (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 "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 "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,0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "21")) (ifInst "" (formula "7")) (ifInst "" (formula "20")) (ifInst "" (formula "2"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0,0")) + (rule "replace_known_left" (formula "1") (term "0,0,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "5")) + (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 "true_left" (formula "1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "16") (term "0,0,1,0") (ifseqformula "7")) + (rule "castDel" (formula "16") (term "0,0,1,0")) + (rule "eqSymm" (formula "16") (term "0,0,2,0,0,1,0")) + (rule "polySimp_elimSub" (formula "16") (term "3,1,2,0,0,1,0")) + (rule "mul_literals" (formula "16") (term "1,3,1,2,0,0,1,0")) + (rule "polySimp_elimSub" (formula "16") (term "0,2,1,0,0,2,0,0,1,0")) + (rule "mul_literals" (formula "16") (term "1,0,2,1,0,0,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "16") (term "3,1,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "16") (term "0,2,1,0,0,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "16") (term "2,0,0,1,0")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "14") (term "1") (ifseqformula "7")) + (rule "castDel" (formula "14") (term "1")) + (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "14") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "14") (term "3,1,2,1")) + (rule "mul_literals" (formula "14") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "14") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "14") (term "2,1")) + (rule "applyEq" (formula "14") (term "1") (ifseqformula "13")) + (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 "13") (term "0")) + (branch "k_0 = 0 TRUE" + (rule "eqSymm" (formula "14")) + (rule "replace_known_left" (formula "2") (term "0,0,0") (ifseqformula "13")) + (builtin "One Step Simplification" (formula "2")) + (rule "mul_literals" (formula "2") (term "0")) + (rule "replace_known_left" (formula "17") (term "0,0,0,1,0") (ifseqformula "13")) + (builtin "One Step Simplification" (formula "17")) + (rule "times_zero_2" (formula "17") (term "0,1,0")) + (rule "replace_known_left" (formula "1") (term "0,1") (ifseqformula "13")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "17") (term "1,0")) + (rule "replace_known_left" (formula "17") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "17")) + (rule "true_left" (formula "17")) + (rule "inEqSimp_homoInEq1" (formula "2")) + (rule "times_zero_2" (formula "2") (term "1,0")) + (rule "add_zero_right" (formula "2") (term "0")) + (rule "applyEqRigid" (formula "1") (term "1,0") (ifseqformula "13")) + (rule "bsum_lower_equals_upper" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "applyEqRigid" (formula "15") (term "1") (ifseqformula "12")) + (rule "applyEq" (formula "15") (term "3,0,0") (ifseqformula "12")) + (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "12")) + (rule "add_zero_right" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch "k_0 = 0 FALSE" + (rule "replace_known_right" (formula "16") (term "0,0,0,1,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "16")) + (rule "replace_known_right" (formula "1") (term "0,1") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "1")) + (rule "replace_known_right" (formula "2") (term "0,0,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "2")) + (rule "polySimp_homoEq" (formula "13")) + (rule "polySimp_mulComm0" (formula "16") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "2") (term "0")) + (rule "polySimp_mulComm0" (formula "13") (term "1,0")) + (rule "polySimp_rightDist" (formula "16") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "16") (term "0,0,1,0")) + (rule "polySimp_rightDist" (formula "2") (term "0")) + (rule "polySimp_mulComm0" (formula "2") (term "0,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 "inEqSimp_homoInEq0" (formula "16") (term "1,0")) + (rule "polySimp_mulComm0" (formula "16") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "16") (term "1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "1,1,0,1,0")) + (rule "polySimp_mulAssoc" (formula "16") (term "0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "16") (term "0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "16") (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 "13")) + (rule "polySimp_mulLiterals" (formula "13") (term "0")) + (rule "polySimp_elimOne" (formula "13") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "16") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "0,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "inEqSimp_strengthen1" (formula "11") (ifseqformula "17")) + (rule "add_zero_right" (formula "11") (term "1")) + (rule "inEqSimp_contradEq7" (formula "17") (ifseqformula "11")) + (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 "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 "polySimp_addComm0" (formula "2") (term "1")) + (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 "14") (term "0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "17") (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 "14") (term "0")) + (branch "a[k_0] = mx_0 TRUE" + (rule "polySimp_homoEq" (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 "applyEq" (formula "3") (term "4,0,0") (ifseqformula "14")) + (rule "applyEq" (formula "1") (term "1") (ifseqformula "14")) + (rule "applyEq" (formula "18") (term "1,0,0,0,1,0") (ifseqformula "14")) + (rule "applyEq" (formula "2") (term "4,1,1") (ifseqformula "14")) + (rule "applyEq" (formula "2") (term "1,0,2,0") (ifseqformula "14")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "16")) + (rule "polySimp_homoEq" (formula "2")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "15")) + (rule "polySimp_mulLiterals" (formula "15") (term "0")) + (rule "polySimp_elimOne" (formula "15") (term "0")) + (rule "applyEq" (formula "3") (term "0,0") (ifseqformula "15")) + (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 "applyEq" (formula "2") (term "1,0") (ifseqformula "15")) + (rule "polySimp_addAssoc" (formula "2") (term "0")) + (rule "polySimp_addComm1" (formula "2") (term "0,0")) + (rule "add_literals" (formula "2") (term "0,0,0")) + (rule "add_zero_left" (formula "2") (term "0,0")) + (rule "polySimp_pullOutFactor2" (formula "2") (term "0")) + (rule "add_literals" (formula "2") (term "1,0")) + (rule "times_zero_1" (formula "2") (term "0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "inEqSimp_contradInEq4" (formula "16") (ifseqformula "2")) + (rule "greater_literals" (formula "16") (term "0,0")) + (builtin "One Step Simplification" (formula "16")) + (rule "greater_literals" (formula "16") (term "0,0")) + (builtin "One Step Simplification" (formula "16")) + (rule "andLeft" (formula "16")) + (rule "polySimp_mulComm0" (formula "16") (term "0")) + (rule "polySimp_rightDist" (formula "16") (term "1")) + (rule "mul_literals" (formula "16") (term "0,1")) + (rule "inEqSimp_homoInEq1" (formula "16")) + (rule "polySimp_mulLiterals" (formula "16") (term "1,0")) + (rule "polySimp_pullOutFactor0b" (formula "16") (term "0")) + (rule "add_literals" (formula "16") (term "1,1,0")) + (rule "times_zero_1" (formula "16") (term "1,0")) + (rule "add_zero_right" (formula "16") (term "0")) + (rule "leq_literals" (formula "16")) + (rule "closeFalse" (formula "16")) + ) + (branch "a[k_0] = mx_0 FALSE" + (rule "polySimp_homoEq" (formula "14")) + (rule "times_zero_2" (formula "14") (term "1,0")) + (rule "add_zero_right" (formula "14") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "14")) + (rule "polySimp_mulLiterals" (formula "14") (term "0")) + (rule "polySimp_elimOne" (formula "14") (term "0")) + (rule "allLeft" (formula "17") (inst "t=int::select(heap, a, arr(k_0))")) + (builtin "One Step Simplification" (formula "17") (ifInst "" (formula "19"))) + (rule "mul_literals" (formula "17") (term "0")) + (rule "inEqSimp_homoInEq0" (formula "17")) + (rule "mul_literals" (formula "17") (term "1,0")) + (rule "polySimp_addComm1" (formula "17") (term "0")) + (rule "polySimp_addComm0" (formula "17") (term "0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "17")) + (rule "polySimp_mulLiterals" (formula "17") (term "0")) + (rule "inEqSimp_contradInEq0" (formula "3") (ifseqformula "17")) + (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 "add_zero_right" (formula "1") (term "1")) + (rule "replace_known_right" (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 "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "ifthenelse_split" (formula "13") (term "0")) + (branch "a[-1 + k_0] = mx_0 TRUE" + (rule "polySimp_homoEq" (formula "14")) + (rule "mul_literals" (formula "14") (term "1,0")) + (rule "polySimp_addComm1" (formula "14") (term "0")) + (rule "polySimp_addComm0" (formula "14") (term "0,0")) + (rule "applyEq" (formula "18") (term "0") (ifseqformula "13")) + (rule "eqSymm" (formula "18")) + (rule "applyEq" (formula "17") (term "1,0,0,0,1,0") (ifseqformula "13")) + (rule "polySimp_sepNegMonomial" (formula "14")) + (rule "polySimp_mulLiterals" (formula "14") (term "0")) + (rule "polySimp_elimOne" (formula "14") (term "0")) + (rule "allLeft" (formula "17") (inst "t=int::select(heap, a, arr(k_0))")) + (rule "replace_known_right" (formula "17") (term "0") (ifseqformula "19")) + (builtin "One Step Simplification" (formula "17") (ifInst "" (formula "19"))) + (rule "mul_literals" (formula "17") (term "0")) + (rule "inEqSimp_homoInEq0" (formula "17")) + (rule "times_zero_2" (formula "17") (term "1,0")) + (rule "add_zero_right" (formula "17") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "17")) + (rule "polySimp_mulLiterals" (formula "17") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "17") (ifseqformula "2")) + (rule "andLeft" (formula "17")) + (rule "inEqSimp_homoInEq1" (formula "17")) + (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_literals" (formula "17") (term "0")) + (rule "leq_literals" (formula "17")) + (rule "closeFalse" (formula "17")) + ) + (branch "a[-1 + k_0] = mx_0 FALSE" + (rule "polySimp_homoEq" (formula "13")) + (rule "times_zero_2" (formula "13") (term "1,0")) + (rule "add_zero_right" (formula "13") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "13")) + (rule "polySimp_mulLiterals" (formula "13") (term "0")) + (rule "polySimp_elimOne" (formula "13") (term "0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "19") (term "1,0") (ifseqformula "5")) + (rule "replace_known_right" (formula "1") (term "0") (ifseqformula "21")) + (builtin "One Step Simplification" (formula "1")) + (rule "allLeft" (formula "17") (inst "t=int::select(heap, a, arr(k_0))")) + (rule "eqSymm" (formula "17") (term "0,0,0,1")) + (rule "replace_known_right" (formula "17") (term "0,0,0,1") (ifseqformula "20")) + (builtin "One Step Simplification" (formula "17")) + (rule "times_zero_2" (formula "17") (term "0,1")) + (rule "inEqSimp_homoInEq0" (formula "17") (term "1")) + (rule "times_zero_2" (formula "17") (term "1,0,1")) + (rule "add_zero_right" (formula "17") (term "0,1")) + (rule "inEqSimp_sepNegMonomial1" (formula "17") (term "1")) + (rule "polySimp_mulLiterals" (formula "17") (term "0,1")) + (rule "inEqSimp_contradInEq4" (formula "17") (term "1") (ifseqformula "3")) + (rule "greater_literals" (formula "17") (term "0,1,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 "3") (term "4,0,0") (ifseqformula "17")) + (rule "applyEq" (formula "3") (term "0,0") (ifseqformula "14")) + (rule "applyEq" (formula "2") (term "1,0,2,0") (ifseqformula "17")) + (rule "applyEq" (formula "15") (term "0") (ifseqformula "2")) + (rule "applyEq" (formula "15") (term "4,0") (ifseqformula "17")) + (rule "applyEq" (formula "19") (term "1") (ifseqformula "16")) + (rule "applyEq" (formula "2") (term "4,1") (ifseqformula "16")) + (rule "applyEq" (formula "2") (term "1") (ifseqformula "14")) + (rule "inEqSimp_contradInEq4" (formula "15") (ifseqformula "3")) + (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_mulComm0" (formula "15") (term "0")) + (rule "polySimp_rightDist" (formula "15") (term "1")) + (rule "mul_literals" (formula "15") (term "0,1")) + (rule "inEqSimp_homoInEq1" (formula "15")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,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_literals" (formula "15") (term "0")) + (rule "leq_literals" (formula "15")) + (rule "closeFalse" (formula "15")) + ) + ) + ) + ) + (branch "a[1 + k_0 - 1] = a[k_0] FALSE" + (rule "castDel" (formula "21") (term "0,0")) + (rule "add_zero_left" (formula "21") (term "0,0")) + (rule "polySimp_elimSub" (formula "20") (term "0,2,0")) + (rule "mul_literals" (formula "20") (term "1,0,2,0")) + (rule "polySimp_elimSub" (formula "21") (term "3,0,0")) + (rule "mul_literals" (formula "21") (term "1,3,0,0")) + (rule "polySimp_addComm1" (formula "21") (term "1")) + (rule "add_literals" (formula "21") (term "0,1")) + (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")) + ) + ) + ) + ) + (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 "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 "Contract_axiom_for_count_in_BoyerMoore" (formula "14") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "14") (term "0,1")) + (rule "replace_known_left" (formula "14") (term "1,1") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "10")) (ifInst "" (formula "20")) (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "19"))) + (rule "measuredByCheckEmpty" (formula "14") (term "1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "1,0")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "0,0")) + (rule "replace_known_left" (formula "14") (term "0,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_subsumption1" (formula "14") (term "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq0" (formula "14") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "14") (term "0,0,0")) + (rule "add_literals" (formula "14") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "14") (term "1,0,0,0")) + (rule "add_zero_right" (formula "14") (term "0,0,0")) + (rule "qeq_literals" (formula "14") (term "0,0")) + (builtin "One Step Simplification" (formula "14")) + (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 "4")) + (builtin "One Step Simplification" (formula "16") (ifInst "" (formula "10")) (ifInst "" (formula "21")) (ifInst "" (formula "5")) (ifInst "" (formula "20")) (ifInst "" (formula "14")) (ifInst "" (formula "10"))) + (rule "true_left" (formula "16")) + (rule "Static_class_invariant_axiom_for_IntOpt" (formula "9")) + (rule "andLeft" (formula "9")) + (rule "notLeft" (formula "9")) + (rule "notLeft" (formula "9")) + (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 "10")) (ifInst "" (formula "22")) (ifInst "" (formula "6")) (ifInst "" (formula "21")) (ifInst "" (formula "10"))) + (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 "12")) + (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 "Class_invariant_axiom_for_BoyerMoore" (formula "10") (ifseqformula "7")) + (rule "true_left" (formula "10")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "14") (term "1") (ifseqformula "7")) + (rule "castDel" (formula "14") (term "1")) + (rule "eqSymm" (formula "14")) + (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,0,2,0")) + (rule "mul_literals" (formula "14") (term "1,0,2,0,0,0,2,0")) + (rule "polySimp_elimSub" (formula "14") (term "3,1,2,0")) + (rule "mul_literals" (formula "14") (term "1,3,1,2,0")) + (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,2,0")) + (rule "polySimp_addComm0" (formula "14") (term "3,1,2,0")) + (rule "polySimp_addComm0" (formula "14") (term "2,0")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "15") (term "0,0") (ifseqformula "7")) + (rule "castDel" (formula "15") (term "0,0")) + (rule "polySimp_elimSub" (formula "15") (term "3,1,2,0,0")) + (rule "mul_literals" (formula "15") (term "1,3,1,2,0,0")) + (rule "polySimp_elimSub" (formula "15") (term "0,2,0,0,0,2,0,0")) + (rule "mul_literals" (formula "15") (term "1,0,2,0,0,0,2,0,0")) + (rule "polySimp_addComm0" (formula "15") (term "3,1,2,0,0")) + (rule "polySimp_addComm0" (formula "15") (term "0,2,0,0,0,2,0,0")) + (rule "polySimp_addComm0" (formula "15") (term "2,0,0")) + (rule "applyEq" (formula "15") (term "0,0") (ifseqformula "14")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "13") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "13") (term "0,1")) + (rule "replace_known_left" (formula "13") (term "1,0,0,0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "22")) (ifInst "" (formula "5")) (ifInst "" (formula "21")) (ifInst "" (formula "14"))) + (rule "measuredByCheckEmpty" (formula "13") (term "1,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "13")) + (rule "inEqSimp_commuteLeq" (formula "13") (term "0,0,0")) + (rule "replace_known_left" (formula "13") (term "0,0,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "13")) + (rule "inEqSimp_commuteLeq" (formula "13") (term "0,0")) + (rule "inEqSimp_subsumption1" (formula "13") (term "0,0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq0" (formula "13") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "13") (term "0,0,0,0")) + (rule "add_literals" (formula "13") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "13") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "13") (term "0,0,0,0")) + (rule "qeq_literals" (formula "13") (term "0,0,0")) + (builtin "One Step Simplification" (formula "13")) + (rule "true_left" (formula "13")) + (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 "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,0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "22")) (ifInst "" (formula "7")) (ifInst "" (formula "21")) (ifInst "" (formula "2"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "10")) + (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 "12")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "5")) + (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 "true_left" (formula "1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "16") (term "0,0,1,0") (ifseqformula "7")) + (rule "castDel" (formula "16") (term "0,0,1,0")) + (rule "eqSymm" (formula "16") (term "0,0,2,0,0,1,0")) + (rule "polySimp_elimSub" (formula "16") (term "3,1,2,0,0,1,0")) + (rule "mul_literals" (formula "16") (term "1,3,1,2,0,0,1,0")) + (rule "polySimp_elimSub" (formula "16") (term "0,2,1,0,0,2,0,0,1,0")) + (rule "mul_literals" (formula "16") (term "1,0,2,1,0,0,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "16") (term "3,1,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "16") (term "0,2,1,0,0,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "16") (term "2,0,0,1,0")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "13") (term "1") (ifseqformula "7")) + (rule "castDel" (formula "13") (term "1")) + (rule "polySimp_elimSub" (formula "13") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "13") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "13") (term "3,1,2,1")) + (rule "mul_literals" (formula "13") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "13") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "13") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "13") (term "2,1")) + (rule "applyEq" (formula "13") (term "1") (ifseqformula "14")) + (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 "14") (term "0")) + (branch "k_0 = 0 TRUE" + (rule "eqSymm" (formula "15")) + (rule "replace_known_left" (formula "2") (term "0,0,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "2")) + (rule "times_zero_2" (formula "2") (term "0")) + (rule "replace_known_left" (formula "17") (term "0,0,0,1,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "17")) + (rule "mul_literals" (formula "17") (term "0,1,0")) + (rule "replace_known_left" (formula "1") (term "0,1") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "17") (term "1,0")) + (rule "replace_known_left" (formula "17") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "17")) + (rule "true_left" (formula "17")) + (rule "inEqSimp_homoInEq1" (formula "2")) + (rule "times_zero_2" (formula "2") (term "1,0")) + (rule "add_zero_right" (formula "2") (term "0")) + (rule "applyEqRigid" (formula "4") (term "1,1") (ifseqformula "14")) + (rule "add_zero_right" (formula "4") (term "1")) + (rule "applyEqRigid" (formula "19") (term "0,2,0") (ifseqformula "14")) + (rule "applyEq" (formula "2") (term "1,0") (ifseqformula "14")) + (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 "16") (term "0,0,0,1,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "16")) + (rule "replace_known_right" (formula "1") (term "0,1") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "1")) + (rule "replace_known_right" (formula "2") (term "0,0,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "2")) + (rule "polySimp_homoEq" (formula "14")) + (rule "polySimp_mulComm0" (formula "16") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "2") (term "0")) + (rule "polySimp_mulComm0" (formula "14") (term "1,0")) + (rule "polySimp_rightDist" (formula "16") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "16") (term "0,0,1,0")) + (rule "polySimp_rightDist" (formula "2") (term "0")) + (rule "polySimp_mulComm0" (formula "2") (term "0,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 "inEqSimp_homoInEq0" (formula "16") (term "1,0")) + (rule "polySimp_mulComm0" (formula "16") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "16") (term "1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "1,1,0,1,0")) + (rule "polySimp_mulAssoc" (formula "16") (term "0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "16") (term "0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "16") (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 "14")) + (rule "polySimp_mulLiterals" (formula "14") (term "0")) + (rule "polySimp_elimOne" (formula "14") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "16") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "0,1,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "inEqSimp_strengthen1" (formula "11") (ifseqformula "17")) + (rule "add_zero_right" (formula "11") (term "1")) + (rule "inEqSimp_contradEq7" (formula "17") (ifseqformula "11")) + (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 "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 "polySimp_addComm0" (formula "2") (term "1")) + (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 "15") (term "0,0,0") (ifseqformula "1")) + (rule "applyEq" (formula "17") (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 "15") (term "0")) + (branch "x_0 = mx_0 TRUE" + (rule "polySimp_homoEq" (formula "16")) + (rule "mul_literals" (formula "16") (term "1,0")) + (rule "polySimp_addComm1" (formula "16") (term "0")) + (rule "polySimp_addComm0" (formula "16") (term "0,0")) + (rule "applyEqRigid" (formula "3") (term "4,0,0") (ifseqformula "15")) + (rule "applyEq" (formula "2") (term "1,0,2,0") (ifseqformula "15")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "14")) + (rule "polySimp_homoEq" (formula "2")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "applyEqRigid" (formula "21") (term "1") (ifseqformula "15")) + (rule "applyEqRigid" (formula "18") (term "1,0,0,0,1,0") (ifseqformula "15")) + (rule "applyEq" (formula "1") (term "1") (ifseqformula "15")) + (rule "applyEq" (formula "2") (term "4,1,0") (ifseqformula "15")) + (rule "polySimp_sepNegMonomial" (formula "16")) + (rule "polySimp_mulLiterals" (formula "16") (term "0")) + (rule "polySimp_elimOne" (formula "16") (term "0")) + (rule "applyEq" (formula "3") (term "0,0") (ifseqformula "16")) + (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 "applyEq" (formula "2") (term "1,0") (ifseqformula "16")) + (rule "polySimp_addAssoc" (formula "2") (term "0")) + (rule "polySimp_addComm1" (formula "2") (term "0,0")) + (rule "add_literals" (formula "2") (term "0,0,0")) + (rule "add_zero_left" (formula "2") (term "0,0")) + (rule "polySimp_pullOutFactor2" (formula "2") (term "0")) + (rule "add_literals" (formula "2") (term "1,0")) + (rule "times_zero_1" (formula "2") (term "0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "inEqSimp_contradInEq2" (formula "2") (ifseqformula "16")) + (rule "greater_literals" (formula "2") (term "0,1,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_literals" (formula "2") (term "0")) + (rule "leq_literals" (formula "2")) + (rule "closeFalse" (formula "2")) + ) + (branch "x_0 = mx_0 FALSE" + (rule "polySimp_homoEq" (formula "15")) + (rule "times_zero_2" (formula "15") (term "1,0")) + (rule "add_zero_right" (formula "15") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "15")) + (rule "polySimp_mulLiterals" (formula "15") (term "0")) + (rule "polySimp_elimOne" (formula "15") (term "0")) + (rule "allLeft" (formula "17") (inst "t=x_0")) + (builtin "One Step Simplification" (formula "17") (ifInst "" (formula "19"))) + (rule "mul_literals" (formula "17") (term "0")) + (rule "inEqSimp_homoInEq0" (formula "17")) + (rule "mul_literals" (formula "17") (term "1,0")) + (rule "polySimp_addComm1" (formula "17") (term "0")) + (rule "polySimp_addComm0" (formula "17") (term "0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "17")) + (rule "polySimp_mulLiterals" (formula "17") (term "0")) + (rule "inEqSimp_contradInEq4" (formula "17") (ifseqformula "3")) + (rule "greater_literals" (formula "17") (term "0,1,0")) + (builtin "One Step Simplification" (formula "17")) + (rule "greater_literals" (formula "17") (term "0,0")) + (builtin "One Step Simplification" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "polySimp_rightDist" (formula "17") (term "1")) + (rule "mul_literals" (formula "17") (term "0,1")) + (rule "polySimp_rightDist" (formula "17") (term "0")) + (rule "mul_literals" (formula "17") (term "0,0")) + (rule "inEqSimp_homoInEq1" (formula "17")) + (rule "polySimp_mulComm0" (formula "17") (term "1,0")) + (rule "polySimp_rightDist" (formula "17") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "17") (term "1,1,0")) + (rule "mul_literals" (formula "17") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "17") (term "0")) + (rule "polySimp_addComm1" (formula "17") (term "0,0")) + (rule "add_literals" (formula "17") (term "0,0,0")) + (rule "polySimp_pullOutFactor0b" (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 "a[-1 + k_0] = x_0 FALSE" + (rule "add_zero_right" (formula "1") (term "1")) + (rule "replace_known_right" (formula "2") (term "0,0,0") (ifseqformula "17")) + (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 "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "ifthenelse_split" (formula "14") (term "0")) + (branch "a[-1 + k_0] = mx_0 TRUE" + (rule "polySimp_homoEq" (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 "applyEq" (formula "18") (term "0") (ifseqformula "14")) + (rule "eqSymm" (formula "18")) + (rule "applyEq" (formula "17") (term "1,0,0,0,1,0") (ifseqformula "14")) + (rule "polySimp_sepNegMonomial" (formula "15")) + (rule "polySimp_mulLiterals" (formula "15") (term "0")) + (rule "polySimp_elimOne" (formula "15") (term "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") (ifInst "" (formula "19"))) + (rule "times_zero_2" (formula "17") (term "0")) + (rule "inEqSimp_homoInEq0" (formula "17")) + (rule "times_zero_2" (formula "17") (term "1,0")) + (rule "add_zero_right" (formula "17") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "17")) + (rule "polySimp_mulLiterals" (formula "17") (term "0")) + (rule "inEqSimp_contradInEq0" (formula "2") (ifseqformula "17")) + (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 "14")) + (rule "times_zero_2" (formula "14") (term "1,0")) + (rule "add_zero_right" (formula "14") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "14")) + (rule "polySimp_mulLiterals" (formula "14") (term "0")) + (rule "polySimp_elimOne" (formula "14") (term "0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "19") (term "1,0") (ifseqformula "5")) + (rule "replace_known_right" (formula "1") (term "0") (ifseqformula "21")) + (builtin "One Step Simplification" (formula "1")) + (rule "allLeft" (formula "17") (inst "t=x_0")) + (rule "eqSymm" (formula "17") (term "0,0,0,1")) + (rule "replace_known_right" (formula "17") (term "0,0,0,1") (ifseqformula "20")) + (builtin "One Step Simplification" (formula "17")) + (rule "mul_literals" (formula "17") (term "0,1")) + (rule "inEqSimp_homoInEq0" (formula "17") (term "1")) + (rule "times_zero_2" (formula "17") (term "1,0,1")) + (rule "add_zero_right" (formula "17") (term "0,1")) + (rule "inEqSimp_sepNegMonomial1" (formula "17") (term "1")) + (rule "polySimp_mulLiterals" (formula "17") (term "0,1")) + (rule "inEqSimp_contradInEq4" (formula "17") (term "1") (ifseqformula "3")) + (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 "3") (term "4,0,0") (ifseqformula "17")) + (rule "applyEq" (formula "3") (term "0,0") (ifseqformula "15")) + (rule "applyEqRigid" (formula "2") (term "4,1") (ifseqformula "17")) + (rule "applyEq" (formula "20") (term "1") (ifseqformula "17")) + (rule "applyEq" (formula "2") (term "1,0,2,0") (ifseqformula "17")) + (rule "applyEqRigid" (formula "22") (term "1") (ifseqformula "17")) + (rule "applyEq" (formula "14") (term "0") (ifseqformula "2")) + (rule "applyEq" (formula "2") (term "1") (ifseqformula "14")) + (rule "inEqSimp_contradInEq1" (formula "15") (ifseqformula "3")) + (rule "andLeft" (formula "15")) + (rule "inEqSimp_homoInEq1" (formula "15")) + (rule "polySimp_pullOutFactor1b" (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 + (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")) + (rule "precOfInt" (formula "19")) + (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 "19") (term "1")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,0,1")) + (rule "polySimp_mulAssoc" (formula "19") (term "0,1,0,0,1")) + (rule "polySimp_mulComm0" (formula "19") (term "0,0,1,0,0,1")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1,0,0,1")) + (rule "polySimp_elimOne" (formula "19") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1")) + (rule "polySimp_addComm1" (formula "19") (term "0,0,1")) + (rule "polySimp_pullOutFactor2b" (formula "19") (term "0,1")) + (rule "add_literals" (formula "19") (term "1,1,0,1")) + (rule "times_zero_1" (formula "19") (term "1,0,1")) + (rule "add_zero_right" (formula "19") (term "0,1")) + (rule "polySimp_addAssoc" (formula "19") (term "0,1")) + (rule "polySimp_addComm1" (formula "19") (term "0,0,1")) + (rule "add_literals" (formula "19") (term "0,0,0,1")) + (rule "add_zero_left" (formula "19") (term "0,0,1")) + (rule "polySimp_pullOutFactor1" (formula "19") (term "0,1")) + (rule "add_literals" (formula "19") (term "1,0,1")) + (rule "times_zero_1" (formula "19") (term "0,1")) + (rule "leq_literals" (formula "19") (term "1")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_leqRight" (formula "19")) + (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_elimOne" (formula "1") (term "1,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 "add_zero_left" (formula "1") (term "0,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_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")) + (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 "Null Reference (mc == 0 = null)" + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) + (rule "closeFalse" (formula "1")) + ) + (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 "applyEq" (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")) + ) + ) + (branch "if mc == 0 false" + (builtin "One Step Simplification" (formula "1")) + (builtin "One Step Simplification" (formula "20")) + (rule "notLeft" (formula "1")) + (rule "elim_double_block_2" (formula "20") (term "1")) + (rule "ifElseUnfold" (formula "20") (term "1") (inst "#boolv=b_4")) + (rule "variableDeclaration" (formula "20") (term "1") (newnames "b_4")) + (rule "compound_equality_comparison_2" (formula "20") (term "1") (inst "#v1=i_5") (inst "#v0=i_4")) + (rule "variableDeclarationAssign" (formula "20") (term "1")) + (rule "variableDeclaration" (formula "20") (term "1") (newnames "i_4")) + (rule "assignment" (formula "20") (term "1")) + (builtin "One Step Simplification" (formula "20")) + (rule "variableDeclarationAssign" (formula "20") (term "1")) + (rule "variableDeclaration" (formula "20") (term "1") (newnames "i_5")) + (rule "assignment_array2" (formula "20")) + (branch "Normal Execution (mc == 0 != null)" + (builtin "One Step Simplification" (formula "20")) + (rule "equality_comparison_simple" (formula "20") (term "1")) + (builtin "One Step Simplification" (formula "20")) + (rule "eqSymm" (formula "20") (term "0,0,1,0")) + (rule "ifElseSplit" (formula "20")) + (branch "if mx == _a[k] true" + (builtin "One Step Simplification" (formula "21")) + (builtin "One Step Simplification" (formula "1")) + (rule "postincrement" (formula "21") (term "1")) + (rule "compound_reference_cast_expression_primitive" (formula "21") (term "1") (inst "#v=i_6")) + (rule "variableDeclarationAssign" (formula "21") (term "1")) + (rule "variableDeclaration" (formula "21") (term "1") (newnames "i_6")) + (rule "remove_parentheses_right" (formula "21") (term "1")) + (rule "assignmentAdditionInt" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "translateJavaAddInt" (formula "21") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "21") (term "0,1,0")) + (rule "widening_identity_cast_5" (formula "21") (term "1")) + (rule "assignment" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "blockEmpty" (formula "21") (term "1")) + (rule "postincrement" (formula "21") (term "1")) + (rule "compound_int_cast_expression" (formula "21") (term "1") (inst "#v=i_7")) + (rule "variableDeclarationAssign" (formula "21") (term "1")) + (rule "variableDeclaration" (formula "21") (term "1") (newnames "i_7")) + (rule "remove_parentheses_right" (formula "21") (term "1")) + (rule "assignmentAdditionInt" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "translateJavaAddInt" (formula "21") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "21") (term "0,1,0")) + (rule "widening_identity_cast_5" (formula "21") (term "1")) + (rule "assignment" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "tryEmpty" (formula "21") (term "1")) + (rule "methodCallEmpty" (formula "21") (term "1")) + (rule "emptyModality" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "andRight" (formula "21")) + (branch + (rule "andRight" (formula "21")) + (branch "Case 1" + (rule "andRight" (formula "21")) + (branch "Case 1" + (rule "andRight" (formula "21")) + (branch "Case 1" + (rule "andRight" (formula "21")) + (branch "Case 1" + (rule "inEqSimp_geqRight" (formula "21")) + (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 "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_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 "12")) + (rule "qeq_literals" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch "Case 2" + (rule "inEqSimp_geqRight" (formula "21")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (formula "1") (term "0,0")) + (rule "inEqSimp_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_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")) + (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 "inEqSimp_geqRight" (formula "21")) + (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 "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")) + (rule "closeFalse" (formula "15")) + ) + ) + (branch "Case 2" + (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_leqRight" (formula "21")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) + (rule "polySimp_rightDist" (formula "1") (term "0,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,0,1,0,0")) + (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 "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 "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 "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 "nnf_imp2or" (formula "17") (term "0")) + (builtin "One Step Simplification" (formula "17")) + (rule "Static_class_invariant_axiom_for_IntOpt" (formula "9")) + (rule "andLeft" (formula "9")) + (rule "notLeft" (formula "9")) + (rule "notLeft" (formula "9")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "15") (term "0,0") (inst "l=l")) + (rule "eqSymm" (formula "15") (term "0,1")) + (rule "replace_known_right" (formula "15") (term "0,1,0,0") (ifseqformula "20")) + (builtin "One Step Simplification" (formula "15") (ifInst "" (formula "9")) (ifInst "" (formula "21")) (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "9"))) + (rule "measuredByCheckEmpty" (formula "15") (term "1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "15")) + (rule "inEqSimp_commuteLeq" (formula "15") (term "0,0")) + (rule "replace_known_left" (formula "15") (term "0,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "15")) + (rule "inEqSimp_commuteLeq" (formula "15") (term "0")) + (rule "inEqSimp_subsumption1" (formula "15") (term "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq0" (formula "15") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "15") (term "0,0,0")) + (rule "add_literals" (formula "15") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "15") (term "1,0,0,0")) + (rule "add_zero_right" (formula "15") (term "0,0,0")) + (rule "qeq_literals" (formula "15") (term "0,0")) + (builtin "One Step Simplification" (formula "15")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "14") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "14") (term "0,1")) + (rule "replace_known_left" (formula "14") (term "1,0,0,0") (ifseqformula "5")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "9")) (ifInst "" (formula "22")) (ifInst "" (formula "4")) (ifInst "" (formula "21")) (ifInst "" (formula "16")) (ifInst "" (formula "9"))) + (rule "true_left" (formula "14")) + (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 "10")) (ifInst "" (formula "22")) (ifInst "" (formula "5")) (ifInst "" (formula "21")) (ifInst "" (formula "10"))) + (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 "12")) + (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 "16")) + (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 "12")) + (rule "leq_literals" (formula "1") (term "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 "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_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")) + ) + ) + (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 "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 "Contract_axiom_for_count_in_BoyerMoore" (formula "15") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "15") (term "0,1")) + (rule "replace_known_left" (formula "15") (term "1,1") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "15") (ifInst "" (formula "10")) (ifInst "" (formula "21")) (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "20"))) + (rule "measuredByCheckEmpty" (formula "15") (term "1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "15")) + (rule "inEqSimp_commuteLeq" (formula "15") (term "1,0")) + (rule "inEqSimp_commuteLeq" (formula "15") (term "0,0")) + (rule "replace_known_left" (formula "15") (term "0,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "15")) + (rule "inEqSimp_subsumption1" (formula "15") (term "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq0" (formula "15") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "15") (term "0,0,0")) + (rule "add_literals" (formula "15") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "15") (term "1,0,0,0")) + (rule "add_zero_right" (formula "15") (term "0,0,0")) + (rule "qeq_literals" (formula "15") (term "0,0")) + (builtin "One Step Simplification" (formula "15")) + (rule "Static_class_invariant_axiom_for_IntOpt" (formula "9")) + (rule "andLeft" (formula "9")) + (rule "notLeft" (formula "9")) + (rule "notLeft" (formula "9")) + (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_right" (formula "16") (term "0,1,0,0") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "16") (ifInst "" (formula "9")) (ifInst "" (formula "23")) (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "14")) (ifInst "" (formula "9"))) + (rule "true_left" (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_right" (formula "1") (term "0,1,1,0,0,0,0,0") (ifseqformula "23")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "10")) (ifInst "" (formula "5")) (ifInst "" (formula "6")) (ifInst "" (formula "22")) (ifInst "" (formula "10"))) + (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 "12")) + (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 "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 "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 "applyEq" (formula "17") (term "0,0") (ifseqformula "16")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "10") (ifseqformula "7")) + (rule "true_left" (formula "10")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "14") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "14") (term "0,1")) + (rule "replace_known_left" (formula "14") (term "1,0,0,0,0") (ifseqformula "5")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "23")) (ifInst "" (formula "6")) (ifInst "" (formula "22")) (ifInst "" (formula "15"))) + (rule "measuredByCheckEmpty" (formula "14") (term "1,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "0,0,0")) + (rule "replace_known_left" (formula "14") (term "0,0,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_subsumption1" (formula "14") (term "0,0") (ifseqformula "4")) + (rule "inEqSimp_homoInEq0" (formula "14") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "14") (term "0,0,0,0")) + (rule "add_literals" (formula "14") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "14") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "14") (term "0,0,0,0")) + (rule "qeq_literals" (formula "14") (term "0,0,0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) + (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 "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (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 "6")) (ifInst "" (formula "7")) (ifInst "" (formula "22")) (ifInst "" (formula "2"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "10")) + (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 "12")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "5")) + (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 "true_left" (formula "1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "17") (term "0,0,1,0") (ifseqformula "7")) + (rule "castDel" (formula "17") (term "0,0,1,0")) + (rule "eqSymm" (formula "17") (term "0,0,2,0,0,1,0")) + (rule "polySimp_elimSub" (formula "17") (term "3,1,2,0,0,1,0")) + (rule "mul_literals" (formula "17") (term "1,3,1,2,0,0,1,0")) + (rule "polySimp_elimSub" (formula "17") (term "0,2,1,0,0,2,0,0,1,0")) + (rule "mul_literals" (formula "17") (term "1,0,2,1,0,0,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "17") (term "3,1,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "17") (term "0,2,1,0,0,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "17") (term "2,0,0,1,0")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "14") (term "1") (ifseqformula "7")) + (rule "castDel" (formula "14") (term "1")) + (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "14") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "14") (term "3,1,2,1")) + (rule "mul_literals" (formula "14") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "14") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "14") (term "2,1")) + (rule "applyEq" (formula "14") (term "1") (ifseqformula "15")) + (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 "24")) (ifInst "" (formula "7")) (ifInst "" (formula "23"))) + (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 "13")) + (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 "applyEq" (formula "3") (term "1") (ifseqformula "2")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1,0,1") (inst "l=l")) + (rule "eqSymm" (formula "1") (term "0,1")) + (rule "replace_known_left" (formula "1") (term "1,0,0,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "25")) (ifInst "" (formula "8")) (ifInst "" (formula "24"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "12")) + (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 "14")) + (builtin "One Step Simplification" (formula "1")) + (rule "applyEq" (formula "1") (term "0,0,1") (ifseqformula "4")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "7")) + (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") (ifInst "" (formula "2"))) + (rule "true_left" (formula "1")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "1") (term "1,1") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "1")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1,1") (inst "l=l")) + (rule "eqSymm" (formula "1") (term "0,1")) + (rule "replace_known_left" (formula "1") (term "1,0,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "25")) (ifInst "" (formula "9")) (ifInst "" (formula "24"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0,0")) + (rule "replace_known_left" (formula "1") (term "0,0,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) + (rule "applyEq" (formula "1") (term "0,0,1") (ifseqformula "4")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "7")) + (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 "Class_invariant_axiom_for_BoyerMoore" (formula "2") (term "0") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "2")) + (rule "replace_known_left" (formula "1") (term "0,1") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "applyEq" (formula "4") (term "0,0") (ifseqformula "1")) + (rule "applyEq" (formula "2") (term "1") (ifseqformula "1")) + (rule "applyEq" (formula "3") (term "1") (ifseqformula "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 "9")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "25")) (ifInst "" (formula "8")) (ifInst "" (formula "24")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0,0")) + (rule "replace_known_left" (formula "1") (term "0,0,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "7")) + (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 "true_left" (formula "1")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,0") (inst "l=l")) + (rule "eqSymm" (formula "4") (term "0,1")) + (rule "replace_known_right" (formula "4") (term "0,1,1,0,0,0,0,0") (ifseqformula "25")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "24")) (ifInst "" (formula "3"))) + (rule "measuredByCheckEmpty" (formula "4") (term "1,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "0,0,0")) + (rule "replace_known_left" (formula "4") (term "0,0,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_subsumption1" (formula "4") (term "0,0") (ifseqformula "7")) + (rule "inEqSimp_homoInEq0" (formula "4") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "0,0,0,0")) + (rule "add_literals" (formula "4") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "4") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "4") (term "0,0,0,0")) + (rule "qeq_literals" (formula "4") (term "0,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "2") (term "0,1")) + (rule "replace_known_right" (formula "2") (term "0,1,1,0,0,0,0,0") (ifseqformula "25")) + (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "24")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "2") (term "1,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "0,0,0")) + (rule "replace_known_left" (formula "2") (term "0,0,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_subsumption1" (formula "2") (term "0,0") (ifseqformula "7")) + (rule "inEqSimp_homoInEq0" (formula "2") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,0,0")) + (rule "add_literals" (formula "2") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,0,0")) + (rule "qeq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (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 "Contract_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "3") (term "0,1")) + (rule "replace_known_right" (formula "3") (term "0,1,1,0,0,0,0,0") (ifseqformula "25")) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "24")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "3") (term "1,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "0,0,0")) + (rule "replace_known_left" (formula "3") (term "0,0,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_subsumption1" (formula "3") (term "0,0") (ifseqformula "7")) + (rule "inEqSimp_homoInEq0" (formula "3") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "0,0,0,0")) + (rule "add_literals" (formula "3") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "3") (term "0,0,0,0")) + (rule "qeq_literals" (formula "3") (term "0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "true_left" (formula "3")) + (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 "Definition_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (ifseqformula "9")) + (rule "castDel" (formula "3") (term "1")) + (rule "polySimp_elimSub" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "3") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "3") (term "3,1,2,1")) + (rule "mul_literals" (formula "3") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "2,1")) + (rule "applyEq" (formula "3") (term "1") (ifseqformula "2")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (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 "25")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "24")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "12")) + (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 "14")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "7")) + (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 "true_left" (formula "1")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "2") (term "0,1")) + (rule "replace_known_right" (formula "2") (term "0,1,1,0,0,0,0,0") (ifseqformula "25")) + (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "24")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "2") (term "1,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "0,0,0")) + (rule "replace_known_left" (formula "2") (term "0,0,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_subsumption1" (formula "2") (term "0,0") (ifseqformula "7")) + (rule "inEqSimp_homoInEq0" (formula "2") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,0,0")) + (rule "add_literals" (formula "2") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,0,0")) + (rule "qeq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "ifthenelse_split" (formula "17") (term "0")) + (branch "k_0 = 0 TRUE" + (rule "eqSymm" (formula "18")) + (rule "replace_known_left" (formula "2") (term "0,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "20") (term "0,0,0,1,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "20")) + (rule "times_zero_2" (formula "20") (term "0,1,0")) + (rule "inEqSimp_homoInEq0" (formula "20") (term "1,0")) + (rule "times_zero_2" (formula "20") (term "1,0,1,0")) + (rule "add_zero_right" (formula "20") (term "0,1,0")) + (rule "applyEq" (formula "2") (term "3,0") (ifseqformula "17")) + (rule "applyEq" (formula "19") (term "0,0") (ifseqformula "18")) + (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 "applyEq" (formula "4") (term "3,0,0") (ifseqformula "17")) + (rule "applyEqRigid" (formula "1") (term "3,0") (ifseqformula "17")) + (rule "applyEq" (formula "6") (term "1,1") (ifseqformula "17")) + (rule "add_zero_right" (formula "6") (term "1")) + (rule "applyEq" (formula "3") (term "1,0") (ifseqformula "17")) + (rule "bsum_lower_equals_upper" (formula "3") (term "0")) + (rule "eqSymm" (formula "3")) + (rule "applyEqRigid" (formula "13") (term "0") (ifseqformula "17")) + (rule "qeq_literals" (formula "13")) + (rule "true_left" (formula "13")) + (rule "applyEq" (formula "15") (term "1,0") (ifseqformula "16")) + (rule "bsum_lower_equals_upper" (formula "15") (term "0")) + (rule "eqSymm" (formula "15")) + (rule "applyEqRigid" (formula "5") (term "0,2,0") (ifseqformula "15")) + (rule "applyEqRigid" (formula "16") (term "3,0") (ifseqformula "15")) + (rule "applyEq" (formula "1") (term "3,1") (ifseqformula "15")) + (rule "applyEq" (formula "4") (term "1,0,1") (ifseqformula "15")) + (rule "add_zero_right" (formula "4") (term "0,1")) + (rule "applyEqRigid" (formula "3") (term "3,0") (ifseqformula "15")) + (rule "applyEq" (formula "3") (term "0,0") (ifseqformula "2")) + (rule "times_zero_2" (formula "3") (term "0")) + (rule "inEqSimp_homoInEq1" (formula "3")) + (rule "times_zero_2" (formula "3") (term "1,0")) + (rule "add_zero_right" (formula "3") (term "0")) + (rule "applyEqRigid" (formula "17") (term "0,0,1,0") (ifseqformula "14")) + (rule "add_zero_left" (formula "17") (term "0,1,0")) + (rule "applyEqRigid" (formula "16") (term "0,0") (ifseqformula "14")) + (rule "add_zero_left" (formula "16") (term "0")) + (rule "applyEq" (formula "1") (term "1") (ifseqformula "2")) + (rule "inEqSimp_sepNegMonomial0" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "inEqSimp_invertInEq1" (formula "16") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "0,1,0")) + (rule "times_zero_2" (formula "16") (term "1,1,0")) + (rule "polySimp_elimOne" (formula "16") (term "0,1,0")) + (rule "inEqSimp_subsumption1" (formula "15") (ifseqformula "12")) + (rule "leq_literals" (formula "15") (term "0")) + (builtin "One Step Simplification" (formula "15")) + (rule "true_left" (formula "15")) + (rule "inEqSimp_subsumption1" (formula "11") (ifseqformula "4")) + (rule "leq_literals" (formula "11") (term "0")) + (builtin "One Step Simplification" (formula "11")) + (rule "true_left" (formula "11")) + (rule "inEqSimp_contradInEq1" (formula "14") (term "1,0") (ifseqformula "11")) + (rule "qeq_literals" (formula "14") (term "0,1,0")) + (builtin "One Step Simplification" (formula "14")) + (rule "closeFalse" (formula "14")) + ) + (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 "2") (term "0,0") (ifseqformula "20")) + (builtin "One Step Simplification" (formula "2")) + (rule "polySimp_homoEq" (formula "17")) + (rule "polySimp_homoEq" (formula "2")) + (rule "polySimp_mulComm0" (formula "19") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "17") (term "1,0")) + (rule "polySimp_mulComm0" (formula "2") (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 "17") (term "1,0")) + (rule "polySimp_mulComm0" (formula "17") (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 "17") (term "0")) + (rule "polySimp_addAssoc" (formula "2") (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 "polySimp_sepNegMonomial" (formula "17")) + (rule "polySimp_mulLiterals" (formula "17") (term "0")) + (rule "polySimp_elimOne" (formula "17") (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 "19") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1,0")) + (rule "inEqSimp_strengthen1" (formula "13") (ifseqformula "20")) + (rule "add_zero_right" (formula "13") (term "1")) + (rule "inEqSimp_contradEq7" (formula "20") (ifseqformula "13")) + (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 "Contract_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,0") (inst "l=l")) + (rule "eqSymm" (formula "4") (term "0,1")) + (rule "replace_known_right" (formula "4") (term "0,1,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "25")) (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "3"))) + (rule "measuredByCheckEmpty" (formula "4") (term "1,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0")) + (rule "inEqSimp_subsumption1" (formula "4") (term "0,0,0") (ifseqformula "14")) + (rule "leq_literals" (formula "4") (term "0,0,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_subsumption1" (formula "4") (term "0,0") (ifseqformula "7")) + (rule "inEqSimp_homoInEq0" (formula "4") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "0,0,0,0")) + (rule "add_literals" (formula "4") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "4") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "4") (term "0,0,0,0")) + (rule "qeq_literals" (formula "4") (term "0,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "3") (term "0,1")) + (rule "replace_known_right" (formula "3") (term "0,1,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "25")) (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "3") (term "1,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0")) + (rule "inEqSimp_subsumption1" (formula "3") (term "0,0,0") (ifseqformula "14")) + (rule "leq_literals" (formula "3") (term "0,0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_subsumption1" (formula "3") (term "0,0") (ifseqformula "7")) + (rule "inEqSimp_homoInEq0" (formula "3") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "0,0,0,0")) + (rule "add_literals" (formula "3") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "3") (term "0,0,0,0")) + (rule "qeq_literals" (formula "3") (term "0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "true_left" (formula "3")) + (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 "13")) + (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 "Contract_axiom_for_count_in_BoyerMoore" (formula "2") (term "0,1") (inst "l=l")) + (rule "eqSymm" (formula "2") (term "0,1")) + (rule "replace_known_right" (formula "2") (term "0,1,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "25")) (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "2") (term "1,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "1,0,0")) + (rule "inEqSimp_subsumption1" (formula "2") (term "0,0,0") (ifseqformula "14")) + (rule "leq_literals" (formula "2") (term "0,0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_subsumption1" (formula "2") (term "0,0") (ifseqformula "7")) + (rule "inEqSimp_homoInEq0" (formula "2") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,0,0")) + (rule "add_literals" (formula "2") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,0,0")) + (rule "qeq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (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 "13")) + (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 "3") (term "1") (ifseqformula "9")) + (rule "castDel" (formula "3") (term "1")) + (rule "polySimp_elimSub" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "3") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "3") (term "3,1,2,1")) + (rule "mul_literals" (formula "3") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "2,1")) + (rule "applyEq" (formula "3") (term "1,2,1") (ifseqformula "2")) + (rule "polySimp_addAssoc" (formula "3") (term "2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,1")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "2,1")) + (rule "add_literals" (formula "3") (term "1,1,2,1")) + (rule "times_zero_1" (formula "3") (term "1,2,1")) + (rule "add_zero_right" (formula "3") (term "2,1")) + (rule "inEqSimp_contradEq7" (formula "3") (term "0,1") (ifseqformula "13")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,1")) + (rule "add_zero_right" (formula "3") (term "0,0,0,1")) + (rule "leq_literals" (formula "3") (term "0,0,1")) + (builtin "One Step Simplification" (formula "3")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "1") (term "0,1")) + (rule "replace_known_right" (formula "1") (term "0,1,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "25")) (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "1,0,0")) + (rule "inEqSimp_subsumption1" (formula "1") (term "1,0,0") (ifseqformula "7")) + (rule "inEqSimp_homoInEq0" (formula "1") (term "0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,1,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,1,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,1,0,0")) + (rule "add_zero_right" (formula "1") (term "0,0,1,0,0")) + (rule "qeq_literals" (formula "1") (term "0,1,0,0")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "14")) + (rule "leq_literals" (formula "1") (term "0,0,0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "0,1") (ifseqformula "9")) + (rule "castDel" (formula "2") (term "0,1")) + (rule "polySimp_homoEq" (formula "2")) + (rule "polySimp_elimSub" (formula "2") (term "0,2,0,0,0,2,0,0,0")) + (rule "mul_literals" (formula "2") (term "1,0,2,0,0,0,2,0,0,0")) + (rule "polySimp_elimSub" (formula "2") (term "3,1,2,0,0,0")) + (rule "mul_literals" (formula "2") (term "1,3,1,2,0,0,0")) + (rule "polySimp_addComm0" (formula "2") (term "0,2,0,0,0,2,0,0,0")) + (rule "polySimp_addComm0" (formula "2") (term "3,1,2,0,0,0")) + (rule "polySimp_addComm0" (formula "2") (term "0,0")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "polySimp_addComm0" (formula "2") (term "2,1,0")) + (rule "polySimp_sepPosMonomial" (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 "polySimp_elimOne" (formula "2") (term "1,1")) + (rule "polySimp_mulAssoc" (formula "2") (term "0,1")) + (rule "polySimp_mulComm0" (formula "2") (term "0,0,1")) + (rule "polySimp_mulLiterals" (formula "2") (term "0,1")) + (rule "polySimp_elimOne" (formula "2") (term "0,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "polySimp_homoEq" (formula "2") (term "1")) + (rule "times_zero_2" (formula "2") (term "1,0,1")) + (rule "add_zero_right" (formula "2") (term "0,1")) + (rule "polySimp_sepPosMonomial" (formula "2") (term "1")) + (rule "inEqSimp_contradEq7" (formula "2") (term "0,0") (ifseqformula "13")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,0,0")) + (rule "leq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "3") (term "0,0") (inst "l=l")) + (rule "eqSymm" (formula "3") (term "0,1")) + (rule "replace_known_right" (formula "3") (term "0,1,1,0,0,0,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "7")) (ifInst "" (formula "8")) (ifInst "" (formula "23")) (ifInst "" (formula "2"))) + (rule "measuredByCheckEmpty" (formula "3") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0")) + (rule "inEqSimp_subsumption1" (formula "3") (term "1,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "3") (term "0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "0,0,1,0,0")) + (rule "add_literals" (formula "3") (term "1,1,0,0,1,0,0")) + (rule "times_zero_1" (formula "3") (term "1,0,0,1,0,0")) + (rule "add_zero_right" (formula "3") (term "0,0,1,0,0")) + (rule "qeq_literals" (formula "3") (term "0,1,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_subsumption1" (formula "3") (term "0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "3") (term "0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "true_left" (formula "3")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (ifseqformula "8")) + (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 "12")) + (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 "Contract_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "2") (term "0,1")) + (rule "replace_known_left" (formula "2") (term "1,0,0,0,0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "24")) (ifInst "" (formula "8")) (ifInst "" (formula "23")) (ifInst "" (formula "3"))) + (rule "measuredByCheckEmpty" (formula "2") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "0,0,0")) + (rule "inEqSimp_subsumption1" (formula "2") (term "1,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "2") (term "0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,1,0,0")) + (rule "add_literals" (formula "2") (term "1,1,0,0,1,0,0")) + (rule "times_zero_1" (formula "2") (term "1,0,0,1,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,1,0,0")) + (rule "qeq_literals" (formula "2") (term "0,1,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_subsumption1" (formula "2") (term "0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "3") (term "0,0") (ifseqformula "8")) + (rule "castDel" (formula "3") (term "0,0")) + (rule "polySimp_elimSub" (formula "3") (term "3,1,2,0,0")) + (rule "mul_literals" (formula "3") (term "1,3,1,2,0,0")) + (rule "polySimp_elimSub" (formula "3") (term "0,2,0,0,0,2,0,0")) + (rule "mul_literals" (formula "3") (term "1,0,2,0,0,0,2,0,0")) + (rule "polySimp_addComm0" (formula "3") (term "3,1,2,0,0")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,0,0,0,2,0,0")) + (rule "polySimp_addComm0" (formula "3") (term "2,0,0")) + (rule "applyEq" (formula "3") (term "1,2,0,0") (ifseqformula "1")) + (rule "polySimp_addAssoc" (formula "3") (term "2,0,0")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "2,0,0")) + (rule "add_literals" (formula "3") (term "1,1,2,0,0")) + (rule "times_zero_1" (formula "3") (term "1,2,0,0")) + (rule "add_zero_right" (formula "3") (term "2,0,0")) + (rule "inEqSimp_contradEq7" (formula "3") (term "0,0,0") (ifseqformula "12")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,0,0")) + (rule "add_literals" (formula "3") (term "0,0,0,0,0")) + (rule "leq_literals" (formula "3") (term "0,0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (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 "applyEq" (formula "2") (term "1,2,1") (ifseqformula "1")) + (rule "polySimp_addAssoc" (formula "2") (term "2,1")) + (rule "polySimp_addComm0" (formula "2") (term "0,2,1")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "2,1")) + (rule "add_literals" (formula "2") (term "1,1,2,1")) + (rule "times_zero_1" (formula "2") (term "1,2,1")) + (rule "add_zero_right" (formula "2") (term "2,1")) + (rule "inEqSimp_contradEq7" (formula "2") (term "0,1") (ifseqformula "12")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,1")) + (rule "add_zero_right" (formula "2") (term "0,0,0,1")) + (rule "leq_literals" (formula "2") (term "0,0,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "ifthenelse_split" (formula "16") (term "0")) + (branch "a[-1 + k_0] = mx_0 TRUE" + (rule "polySimp_homoEq" (formula "17")) + (rule "mul_literals" (formula "17") (term "1,0")) + (rule "polySimp_addComm1" (formula "17") (term "0")) + (rule "polySimp_addComm0" (formula "17") (term "0,0")) + (rule "applyEq" (formula "1") (term "0,0,0") (ifseqformula "16")) + (rule "eqSymm" (formula "1") (term "0,0")) + (rule "replace_known_right" (formula "1") (term "0,0") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "1")) + (rule "polySimp_homoEq" (formula "1")) + (rule "times_zero_2" (formula "1") (term "1,0")) + (rule "add_zero_right" (formula "1") (term "0")) + (rule "applyEq" (formula "19") (term "1,0,0,0,1,0") (ifseqformula "16")) + (rule "polySimp_sepNegMonomial" (formula "17")) + (rule "polySimp_mulLiterals" (formula "17") (term "0")) + (rule "polySimp_elimOne" (formula "17") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (term "0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "20") (term "1,0") (ifseqformula "6")) + (rule "replace_known_right" (formula "1") (term "0") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "1")) + (rule "allLeft" (formula "20") (inst "t=x_0")) + (rule "replace_known_right" (formula "20") (term "0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "20") (ifInst "" (formula "24"))) + (rule "times_zero_2" (formula "20") (term "0")) + (rule "inEqSimp_homoInEq0" (formula "20")) + (rule "mul_literals" (formula "20") (term "1,0")) + (rule "add_zero_right" (formula "20") (term "0")) + (rule "applyEq" (formula "20") (term "0,1,0") (ifseqformula "2")) + (rule "inEqSimp_sepNegMonomial1" (formula "20")) + (rule "polySimp_mulLiterals" (formula "20") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "20") (ifseqformula "4")) + (rule "andLeft" (formula "20")) + (rule "inEqSimp_homoInEq1" (formula "20")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0")) + (rule "polySimp_rightDist" (formula "20") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "20") (term "1,1,0")) + (rule "polySimp_elimOne" (formula "20") (term "1,1,0")) + (rule "polySimp_mulComm0" (formula "20") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "20") (term "0")) + (rule "polySimp_addComm1" (formula "20") (term "0,0")) + (rule "polySimp_pullOutFactor2b" (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 "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 "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 "onlyCreatedObjectsAreReferenced" (formula "20") (term "1,0") (ifseqformula "6")) + (rule "replace_known_right" (formula "1") (term "0") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "1")) + (rule "ifthenelse_split" (formula "2") (term "0")) + (branch "a[-1 + k_0] = x_0 TRUE" + (rule "polySimp_homoEq" (formula "3")) + (rule "mul_literals" (formula "3") (term "1,0")) + (rule "polySimp_addComm1" (formula "3") (term "0")) + (rule "polySimp_addComm0" (formula "3") (term "0,0")) + (rule "applyEq" (formula "21") (term "0") (ifseqformula "2")) + (rule "applyEq" (formula "20") (term "1,0,0,0,1,0") (ifseqformula "2")) + (rule "polySimp_sepNegMonomial" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "allLeft" (formula "20") (inst "t=x_0")) + (builtin "One Step Simplification" (formula "20") (ifInst "" (formula "24"))) + (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_addComm1" (formula "20") (term "0,0")) + (rule "polySimp_addComm0" (formula "20") (term "0,0,0")) + (rule "applyEq" (formula "20") (term "0,1,0") (ifseqformula "3")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0")) + (rule "polySimp_rightDist" (formula "20") (term "1,0")) + (rule "mul_literals" (formula "20") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "20") (term "0")) + (rule "polySimp_addComm1" (formula "20") (term "0,0")) + (rule "polySimp_addComm1" (formula "20") (term "0,0,0")) + (rule "add_literals" (formula "20") (term "0,0,0,0")) + (rule "add_zero_left" (formula "20") (term "0,0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "20")) + (rule "polySimp_mulLiterals" (formula "20") (term "0")) + (rule "inEqSimp_contradInEq0" (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 "polySimp_elimOne" (formula "5") (term "1,1,0")) + (rule "polySimp_mulComm0" (formula "5") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "5") (term "0")) + (rule "polySimp_addComm1" (formula "5") (term "0,0")) + (rule "polySimp_pullOutFactor2b" (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 "polySimp_pullOutFactor1b" (formula "5") (term "0")) + (rule "add_literals" (formula "5") (term "1,1,0")) + (rule "times_zero_1" (formula "5") (term "1,0")) + (rule "add_literals" (formula "5") (term "0")) + (rule "leq_literals" (formula "5")) + (rule "closeFalse" (formula "5")) + ) + (branch "a[-1 + k_0] = x_0 FALSE" + (rule "polySimp_homoEq" (formula "2")) + (rule "times_zero_2" (formula "2") (term "1,0")) + (rule "add_zero_right" (formula "2") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "allLeft" (formula "19") (inst "t=x_0")) + (rule "eqSymm" (formula "19") (term "0,0,0,1")) + (rule "replace_known_right" (formula "19") (term "0,0,0,1") (ifseqformula "21")) + (builtin "One Step Simplification" (formula "19") (ifInst "" (formula "25"))) + (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 "applyEq" (formula "19") (term "0,1,0") (ifseqformula "2")) + (rule "inEqSimp_sepNegMonomial1" (formula "19")) + (rule "polySimp_mulLiterals" (formula "19") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "19") (ifseqformula "4")) + (rule "andLeft" (formula "19")) + (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 "polySimp_elimOne" (formula "19") (term "1,1,0")) + (rule "polySimp_mulComm0" (formula "19") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "19") (term "0")) + (rule "polySimp_addComm1" (formula "19") (term "0,0")) + (rule "polySimp_pullOutFactor2b" (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 "polySimp_pullOutFactor1b" (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 + (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")) + (rule "precOfInt" (formula "21")) + (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 "21") (term "1")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1")) + (rule "polySimp_mulAssoc" (formula "21") (term "0,1,0,0,1")) + (rule "polySimp_mulComm0" (formula "21") (term "0,0,1,0,0,1")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0,0,1")) + (rule "polySimp_elimOne" (formula "21") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1")) + (rule "polySimp_addComm1" (formula "21") (term "0,0,1")) + (rule "polySimp_pullOutFactor2b" (formula "21") (term "0,1")) + (rule "add_literals" (formula "21") (term "1,1,0,1")) + (rule "times_zero_1" (formula "21") (term "1,0,1")) + (rule "add_zero_right" (formula "21") (term "0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1")) + (rule "polySimp_addComm1" (formula "21") (term "0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,0,1")) + (rule "add_zero_left" (formula "21") (term "0,0,1")) + (rule "polySimp_pullOutFactor1" (formula "21") (term "0,1")) + (rule "add_literals" (formula "21") (term "1,0,1")) + (rule "times_zero_1" (formula "21") (term "0,1")) + (rule "leq_literals" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_leqRight" (formula "21")) + (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 "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")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (formula "1") (term "0,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_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")) + (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 mx == _a[k] false" + (builtin "One Step Simplification" (formula "21")) + (builtin "One Step Simplification" (formula "1")) + (rule "notLeft" (formula "1")) + (rule "postdecrement" (formula "21") (term "1")) + (rule "compound_subtraction_1" (formula "21") (term "1") (inst "#v=i_6")) + (rule "variableDeclarationAssign" (formula "21") (term "1")) + (rule "variableDeclaration" (formula "21") (term "1") (newnames "i_6")) + (rule "widening_identity_cast_5" (formula "21") (term "1")) + (rule "assignment" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "assignmentSubtractionInt" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "translateJavaSubInt" (formula "21") (term "0,1,0")) + (rule "polySimp_elimSub" (formula "21") (term "0,1,0")) + (rule "mul_literals" (formula "21") (term "1,0,1,0")) + (rule "polySimp_addComm0" (formula "21") (term "0,1,0")) + (rule "blockEmpty" (formula "21") (term "1")) + (rule "postincrement" (formula "21") (term "1")) + (rule "compound_int_cast_expression" (formula "21") (term "1") (inst "#v=i_7")) + (rule "variableDeclarationAssign" (formula "21") (term "1")) + (rule "variableDeclaration" (formula "21") (term "1") (newnames "i_7")) + (rule "remove_parentheses_right" (formula "21") (term "1")) + (rule "assignmentAdditionInt" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "translateJavaAddInt" (formula "21") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "21") (term "0,1,0")) + (rule "widening_identity_cast_5" (formula "21") (term "1")) + (rule "assignment" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "tryEmpty" (formula "21") (term "1")) + (rule "methodCallEmpty" (formula "21") (term "1")) + (rule "emptyModality" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "andRight" (formula "21")) + (branch + (rule "andRight" (formula "21")) + (branch "Case 1" + (rule "andRight" (formula "21")) + (branch "Case 1" + (rule "andRight" (formula "21")) + (branch "Case 1" + (rule "andRight" (formula "21")) + (branch "Case 1" + (rule "inEqSimp_geqRight" (formula "21")) + (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 "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_contradInEq0" (formula "11") (ifseqformula "1")) + (rule "qeq_literals" (formula "11") (term "0")) + (builtin "One Step Simplification" (formula "11")) + (rule "closeFalse" (formula "11")) + ) + (branch "Case 2" + (rule "inEqSimp_geqRight" (formula "21")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0")) + (rule "mul_literals" (formula "1") (term "0,1,0,0")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (formula "1") (term "0,0")) + (rule "inEqSimp_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_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 "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")) + ) + ) + (branch "Case 2" + (rule "inEqSimp_geqRight" (formula "21")) + (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 "add_zero_left" (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_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "inEqSimp_strengthen0" (formula "1") (ifseqformula "19")) + (rule "add_zero_right" (formula "1") (term "1")) + (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 "14") (ifseqformula "1")) + (rule "qeq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "closeFalse" (formula "14")) + ) + ) + (branch "Case 2" + (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_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 "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 "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 "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 "nnf_imp2or" (formula "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "Static_class_invariant_axiom_for_IntOpt" (formula "8")) + (rule "andLeft" (formula "8")) + (rule "notLeft" (formula "8")) + (rule "notLeft" (formula "8")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "14") (term "0,0") (inst "l=l")) + (rule "eqSymm" (formula "14") (term "0,1")) + (rule "replace_known_left" (formula "14") (term "1,0,0,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "8")) (ifInst "" (formula "21")) (ifInst "" (formula "4")) (ifInst "" (formula "20")) (ifInst "" (formula "8"))) + (rule "measuredByCheckEmpty" (formula "14") (term "1,0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "1,0")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "0,0")) + (rule "replace_known_left" (formula "14") (term "0,0") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_subsumption1" (formula "14") (term "0") (ifseqformula "2")) + (rule "inEqSimp_homoInEq0" (formula "14") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "14") (term "0,0,0")) + (rule "add_literals" (formula "14") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "14") (term "1,0,0,0")) + (rule "add_zero_right" (formula "14") (term "0,0,0")) + (rule "qeq_literals" (formula "14") (term "0,0")) + (builtin "One Step Simplification" (formula "14")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "13") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "13") (term "0,1")) + (rule "replace_known_left" (formula "13") (term "0,1,0,0,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "22")) (ifInst "" (formula "3")) (ifInst "" (formula "4")) (ifInst "" (formula "21")) (ifInst "" (formula "15")) (ifInst "" (formula "8"))) + (rule "true_left" (formula "13")) + (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 "9")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "22")) (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "21")) (ifInst "" (formula "9"))) + (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 "15")) + (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 "11")) + (rule "leq_literals" (formula "1") (term "0,0")) + (builtin "One Step Simplification" (formula "1")) + (rule "applyEq" (formula "2") (term "0,0") (ifseqformula "1")) + (rule "inEqSimp_contradInEq1" (formula "16") (ifseqformula "2")) + (rule "andLeft" (formula "16")) + (rule "inEqSimp_homoInEq1" (formula "16")) + (rule "polySimp_mulComm0" (formula "16") (term "1,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 "polySimp_addComm1" (formula "16") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "16") (term "0")) + (rule "add_literals" (formula "16") (term "1,1,0")) + (rule "times_zero_1" (formula "16") (term "1,0")) + (rule "add_zero_right" (formula "16") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "16") (term "0")) + (rule "add_literals" (formula "16") (term "1,1,0")) + (rule "times_zero_1" (formula "16") (term "1,0")) + (rule "add_literals" (formula "16") (term "0")) + (rule "leq_literals" (formula "16")) + (rule "closeFalse" (formula "16")) + ) + ) + (branch "Case 2" + (rule "allRight" (formula "21") (inst "sk=x_0")) + (rule "impRight" (formula "21")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "22") (term "0,0") (ifseqformula "5")) + (rule "unlimit_BoyerMoore_count[I\bigint\bigint" (formula "22") (term "1,2,0,0,0")) + (rule "castDel" (formula "22") (term "0,0")) + (rule "notLeft" (formula "1")) + (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_elimSub" (formula "22") (term "3,1,2,0,0")) + (rule "mul_literals" (formula "22") (term "1,3,1,2,0,0")) + (rule "polySimp_mulComm0" (formula "22") (term "1,1")) + (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_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_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 "inEqSimp_ltToLeq" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "1") (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_rightDist" (formula "1") (term "0,1,0,0")) + (rule "mul_literals" (formula "1") (term "0,0,1,0,0")) + (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 "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")) + (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 "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 "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 "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 "Contract_axiom_for_count_in_BoyerMoore" (formula "14") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "14") (term "0,1")) + (rule "replace_known_left" (formula "14") (term "1,1") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "9")) (ifInst "" (formula "21")) (ifInst "" (formula "3")) (ifInst "" (formula "4")) (ifInst "" (formula "20"))) + (rule "measuredByCheckEmpty" (formula "14") (term "1,0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "0,0")) + (rule "replace_known_left" (formula "14") (term "0,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "0")) + (rule "inEqSimp_subsumption1" (formula "14") (term "0") (ifseqformula "2")) + (rule "inEqSimp_homoInEq0" (formula "14") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "14") (term "0,0,0")) + (rule "add_literals" (formula "14") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "14") (term "1,0,0,0")) + (rule "add_zero_right" (formula "14") (term "0,0,0")) + (rule "qeq_literals" (formula "14") (term "0,0")) + (builtin "One Step Simplification" (formula "14")) + (rule "Static_class_invariant_axiom_for_IntOpt" (formula "8")) + (rule "andLeft" (formula "8")) + (rule "notLeft" (formula "9")) + (rule "notLeft" (formula "8")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "15") (term "0,0") (inst "l=l")) + (rule "eqSymm" (formula "15") (term "0,1")) + (rule "replace_known_left" (formula "15") (term "1,0,0,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "15") (ifInst "" (formula "8")) (ifInst "" (formula "23")) (ifInst "" (formula "4")) (ifInst "" (formula "22")) (ifInst "" (formula "13")) (ifInst "" (formula "8"))) + (rule "true_left" (formula "15")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "0,1,1") (inst "l=l")) + (rule "eqSymm" (formula "1") (term "0,1")) + (rule "replace_known_left" (formula "1") (term "1,0,0,0") (ifseqformula "5")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "9")) (ifInst "" (formula "23")) (ifInst "" (formula "4")) (ifInst "" (formula "22")) (ifInst "" (formula "9"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) + (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0") (ifseqformula "3")) + (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 "15") (term "1") (ifseqformula "6")) + (rule "castDel" (formula "15") (term "1")) + (rule "eqSymm" (formula "15")) + (rule "polySimp_elimSub" (formula "15") (term "0,2,0,0,0,2,0")) + (rule "mul_literals" (formula "15") (term "1,0,2,0,0,0,2,0")) + (rule "polySimp_elimSub" (formula "15") (term "3,1,2,0")) + (rule "mul_literals" (formula "15") (term "1,3,1,2,0")) + (rule "polySimp_addComm0" (formula "15") (term "0,2,0,0,0,2,0")) + (rule "polySimp_addComm0" (formula "15") (term "3,1,2,0")) + (rule "polySimp_addComm0" (formula "15") (term "2,0")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "9") (ifseqformula "6")) + (rule "true_left" (formula "9")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "15") (term "0,0") (ifseqformula "6")) + (rule "castDel" (formula "15") (term "0,0")) + (rule "polySimp_elimSub" (formula "15") (term "0,2,0,0,0,2,0,0")) + (rule "mul_literals" (formula "15") (term "1,0,2,0,0,0,2,0,0")) + (rule "polySimp_elimSub" (formula "15") (term "3,1,2,0,0")) + (rule "mul_literals" (formula "15") (term "1,3,1,2,0,0")) + (rule "polySimp_addComm0" (formula "15") (term "0,2,0,0,0,2,0,0")) + (rule "polySimp_addComm0" (formula "15") (term "3,1,2,0,0")) + (rule "polySimp_addComm0" (formula "15") (term "2,0,0")) + (rule "applyEq" (formula "15") (term "0,0") (ifseqformula "14")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "13") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "13") (term "0,1")) + (rule "replace_known_left" (formula "13") (term "1,0,0,0,0") (ifseqformula "4")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "23")) (ifInst "" (formula "5")) (ifInst "" (formula "22")) (ifInst "" (formula "14"))) + (rule "measuredByCheckEmpty" (formula "13") (term "1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "13")) + (rule "inEqSimp_commuteLeq" (formula "13") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "13") (term "0,0,0")) + (rule "replace_known_left" (formula "13") (term "0,0,0") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "13")) + (rule "inEqSimp_subsumption1" (formula "13") (term "0,0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq0" (formula "13") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "13") (term "0,0,0,0")) + (rule "add_literals" (formula "13") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "13") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "13") (term "0,0,0,0")) + (rule "qeq_literals" (formula "13") (term "0,0,0")) + (builtin "One Step Simplification" (formula "13")) + (rule "true_left" (formula "13")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "0,1,1") (ifseqformula "6")) + (rule "castDel" (formula "2") (term "0,1,1")) + (rule "polySimp_elimSub" (formula "2") (term "0,2,0,0,0,2,0,1,1")) + (rule "mul_literals" (formula "2") (term "1,0,2,0,0,0,2,0,1,1")) + (rule "polySimp_elimSub" (formula "2") (term "3,1,2,0,1,1")) + (rule "mul_literals" (formula "2") (term "1,3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "2") (term "0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "2") (term "3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "2") (term "2,0,1,1")) + (rule "inEqSimp_homoInEq1" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "1,0")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "1") (term "0,1")) + (rule "replace_known_right" (formula "1") (term "0,1,0,0") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "23")) (ifInst "" (formula "5")) (ifInst "" (formula "6")) (ifInst "" (formula "2"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0,0")) + (rule "replace_known_left" (formula "1") (term "0,0,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "4")) + (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 "true_left" (formula "1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "16") (term "0,0,1,0") (ifseqformula "6")) + (rule "castDel" (formula "16") (term "0,0,1,0")) + (rule "eqSymm" (formula "16") (term "0,0,2,0,0,1,0")) + (rule "polySimp_elimSub" (formula "16") (term "3,1,2,0,0,1,0")) + (rule "mul_literals" (formula "16") (term "1,3,1,2,0,0,1,0")) + (rule "polySimp_elimSub" (formula "16") (term "0,2,1,0,0,2,0,0,1,0")) + (rule "mul_literals" (formula "16") (term "1,0,2,1,0,0,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "16") (term "3,1,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "16") (term "0,2,1,0,0,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "16") (term "2,0,0,1,0")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "13") (term "1") (ifseqformula "6")) + (rule "castDel" (formula "13") (term "1")) + (rule "polySimp_elimSub" (formula "13") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "13") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "13") (term "3,1,2,1")) + (rule "mul_literals" (formula "13") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "13") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "13") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "13") (term "2,1")) + (rule "applyEq" (formula "13") (term "1") (ifseqformula "14")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "1") (term "1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "7")) + (rule "castDel" (formula "2") (term "1")) + (rule "polySimp_elimSub" (formula "2") (term "3,1,2,1")) + (rule "mul_literals" (formula "2") (term "1,3,1,2,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_addComm0" (formula "2") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "2") (term "0,2,0,0,0,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_right" (formula "1") (term "0,1,1,0,0,0,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "6")) (ifInst "" (formula "7")) (ifInst "" (formula "23"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "10")) + (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 "12")) + (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 "5")) + (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 "8")) + (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 "inEqSimp_homoInEq1" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "applyEq" (formula "3") (term "1") (ifseqformula "2")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1,0,1") (inst "l=l")) + (rule "eqSymm" (formula "1") (term "0,1")) + (rule "replace_known_right" (formula "1") (term "0,1,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "25")) (ifInst "" (formula "7")) (ifInst "" (formula "8"))) + (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 "13")) + (builtin "One Step Simplification" (formula "1")) + (rule "applyEq" (formula "1") (term "0,0,1") (ifseqformula "4")) + (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") (ifInst "" (formula "2"))) + (rule "true_left" (formula "1")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "1") (term "0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "applyEq" (formula "5") (term "0,1,1") (ifseqformula "1")) + (rule "applyEq" (formula "3") (term "1") (ifseqformula "1")) + (rule "applyEq" (formula "4") (term "1") (ifseqformula "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,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "3")) (ifInst "" (formula "26")) (ifInst "" (formula "9")) (ifInst "" (formula "25")) (ifInst "" (formula "5")) (ifInst "" (formula "3"))) + (rule "true_left" (formula "1")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "5") (term "0,1,1") (inst "l=l")) + (rule "eqSymm" (formula "5") (term "0,1")) + (rule "replace_known_left" (formula "5") (term "1,0,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "5") (ifInst "" (formula "2")) (ifInst "" (formula "26")) (ifInst "" (formula "9")) (ifInst "" (formula "25")) (ifInst "" (formula "4")) (ifInst "" (formula "2"))) + (rule "true_left" (formula "5")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "3") (term "0,1")) + (rule "replace_known_right" (formula "3") (term "0,1,0,0") (ifseqformula "25")) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "2")) (ifInst "" (formula "26")) (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "5")) (ifInst "" (formula "2"))) + (rule "true_left" (formula "3")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "4") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "4") (term "0,1")) + (rule "replace_known_left" (formula "4") (term "1,0,0,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "2")) (ifInst "" (formula "26")) (ifInst "" (formula "8")) (ifInst "" (formula "25")) (ifInst "" (formula "5")) (ifInst "" (formula "2"))) + (rule "true_left" (formula "4")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "2") (ifseqformula "9")) + (rule "true_left" (formula "2")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (ifseqformula "8")) + (rule "castDel" (formula "1") (term "1")) + (rule "eqSymm" (formula "1")) + (rule "polySimp_elimSub" (formula "1") (term "3,1,2,0")) + (rule "mul_literals" (formula "1") (term "1,3,1,2,0")) + (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_addComm0" (formula "1") (term "3,1,2,0")) + (rule "polySimp_addComm0" (formula "1") (term "0,2,0,0,0,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 "4") (term "0,1,1") (ifseqformula "8")) + (rule "castDel" (formula "4") (term "0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,0,2,0,0,0,2,0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "3,1,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "2,0,1,1")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "applyEq" (formula "4") (term "0,1,0") (ifseqformula "1")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "8")) + (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") (ifseqformula "2")) + (rule "applyEq" (formula "2") (term "1") (ifseqformula "1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (ifseqformula "8")) + (rule "castDel" (formula "3") (term "1")) + (rule "polySimp_elimSub" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "3") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "3") (term "3,1,2,1")) + (rule "mul_literals" (formula "3") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "2,1")) + (rule "applyEq" (formula "3") (term "1") (ifseqformula "2")) + (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")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0,0")) + (rule "replace_known_left" (formula "1") (term "0,0,0") (ifseqformula "13")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) + (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 "true_left" (formula "1")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,1,1") (inst "l=l")) + (rule "eqSymm" (formula "4") (term "0,1")) + (rule "replace_known_left" (formula "4") (term "1,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "25")) (ifInst "" (formula "7")) (ifInst "" (formula "24")) (ifInst "" (formula "3"))) + (rule "measuredByCheckEmpty" (formula "4") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "0,0,0")) + (rule "replace_known_left" (formula "4") (term "0,0,0") (ifseqformula "13")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "0,0")) + (rule "inEqSimp_subsumption1" (formula "4") (term "0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "4") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "0,0,0,0")) + (rule "add_literals" (formula "4") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "4") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "4") (term "0,0,0,0")) + (rule "qeq_literals" (formula "4") (term "0,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "2") (term "0,1")) + (rule "replace_known_left" (formula "2") (term "1,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "25")) (ifInst "" (formula "7")) (ifInst "" (formula "24")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "2") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "0,0,0")) + (rule "replace_known_left" (formula "2") (term "0,0,0") (ifseqformula "13")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "0,0")) + (rule "inEqSimp_subsumption1" (formula "2") (term "0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "2") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,0,0")) + (rule "add_literals" (formula "2") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,0,0")) + (rule "qeq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (ifseqformula "8")) + (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 "Contract_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "3") (term "0,1")) + (rule "replace_known_left" (formula "3") (term "1,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "25")) (ifInst "" (formula "7")) (ifInst "" (formula "24")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "3") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "0,0,0")) + (rule "replace_known_left" (formula "3") (term "0,0,0") (ifseqformula "13")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "0,0")) + (rule "inEqSimp_subsumption1" (formula "3") (term "0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "3") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "0,0,0,0")) + (rule "add_literals" (formula "3") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "3") (term "0,0,0,0")) + (rule "qeq_literals" (formula "3") (term "0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "true_left" (formula "3")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,1,1") (ifseqformula "8")) + (rule "castDel" (formula "4") (term "0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,0,2,0,0,0,2,0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "3,1,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "2,0,1,1")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "applyEq" (formula "4") (term "0,1,0") (ifseqformula "1")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "8")) + (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 "ifthenelse_split" (formula "16") (term "0")) + (branch "k_0 = 0 TRUE" + (rule "eqSymm" (formula "17")) + (rule "replace_known_left" (formula "19") (term "0,0,0,1,0") (ifseqformula "16")) + (builtin "One Step Simplification" (formula "19")) + (rule "times_zero_2" (formula "19") (term "0,1,0")) + (rule "replace_known_left" (formula "2") (term "0,0") (ifseqformula "16")) + (builtin "One Step Simplification" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "1,0")) + (rule "times_zero_2" (formula "19") (term "1,0,1,0")) + (rule "add_zero_right" (formula "19") (term "0,1,0")) + (rule "applyEqRigid" (formula "17") (term "3,0") (ifseqformula "16")) + (rule "applyEqRigid" (formula "12") (term "0") (ifseqformula "16")) + (rule "qeq_literals" (formula "12")) + (rule "true_left" (formula "12")) + (rule "applyEq" (formula "1") (term "3,0") (ifseqformula "15")) + (rule "applyEqRigid" (formula "4") (term "3,0,1,1") (ifseqformula "15")) + (rule "applyEq" (formula "14") (term "1,0") (ifseqformula "15")) + (rule "bsum_lower_equals_upper" (formula "14") (term "0")) + (rule "eqSymm" (formula "14")) + (rule "applyEq" (formula "17") (term "3,0,0") (ifseqformula "15")) + (rule "applyEqRigid" (formula "5") (term "1,1") (ifseqformula "15")) + (rule "add_zero_right" (formula "5") (term "1")) + (rule "applyEqRigid" (formula "2") (term "3,0") (ifseqformula "15")) + (rule "applyEqRigid" (formula "3") (term "1,0") (ifseqformula "15")) + (rule "bsum_lower_equals_upper" (formula "3") (term "0")) + (rule "eqSymm" (formula "3")) + (rule "applyEqRigid" (formula "4") (term "0,2,0,0,0,0") (ifseqformula "15")) + (rule "applyEq" (formula "22") (term "0,2,0") (ifseqformula "15")) + (rule "applyEq" (formula "1") (term "3,1") (ifseqformula "15")) + (rule "applyEq" (formula "17") (term "0,1") (ifseqformula "15")) + (rule "add_zero_left" (formula "17") (term "1")) + (rule "applyEqRigid" (formula "4") (term "1,0,0,1") (ifseqformula "15")) + (rule "add_zero_right" (formula "4") (term "0,0,1")) + (rule "applyEq" (formula "17") (term "0,0") (ifseqformula "16")) + (rule "times_zero_2" (formula "17") (term "0")) + (rule "inEqSimp_commuteLeq" (formula "17")) + (rule "applyEq" (formula "14") (term "3,0") (ifseqformula "15")) + (rule "applyEq" (formula "4") (term "0,1,1") (ifseqformula "2")) + (rule "times_zero_2" (formula "4") (term "1,1")) + (rule "add_zero_right" (formula "4") (term "1")) + (rule "applyEq" (formula "3") (term "3,0") (ifseqformula "14")) + (rule "applyEqRigid" (formula "16") (term "0,0,1,0") (ifseqformula "13")) + (rule "add_zero_left" (formula "16") (term "0,1,0")) + (rule "applyEq" (formula "1") (term "1") (ifseqformula "2")) + (rule "inEqSimp_invertInEq1" (formula "16") (term "1,0")) + (rule "mul_literals" (formula "16") (term "1,1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "0,1,0")) + (rule "polySimp_elimOne" (formula "16") (term "0,1,0")) + (rule "inEqSimp_subsumption1" (formula "11") (ifseqformula "4")) + (rule "leq_literals" (formula "11") (term "0")) + (builtin "One Step Simplification" (formula "11")) + (rule "true_left" (formula "11")) + (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "11")) + (rule "leq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "true_left" (formula "14")) + (rule "inEqSimp_contradInEq1" (formula "14") (term "1,0") (ifseqformula "11")) + (rule "qeq_literals" (formula "14") (term "0,1,0")) + (builtin "One Step Simplification" (formula "14")) + (rule "closeFalse" (formula "14")) + ) + (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 "2") (term "0,0") (ifseqformula "19")) + (builtin "One Step Simplification" (formula "2")) + (rule "polySimp_homoEq" (formula "16")) + (rule "polySimp_homoEq" (formula "2")) + (rule "polySimp_mulComm0" (formula "18") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "16") (term "1,0")) + (rule "polySimp_mulComm0" (formula "2") (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 "16") (term "1,0")) + (rule "polySimp_mulComm0" (formula "16") (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 "16") (term "0")) + (rule "polySimp_addAssoc" (formula "2") (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 "polySimp_sepNegMonomial" (formula "16")) + (rule "polySimp_mulLiterals" (formula "16") (term "0")) + (rule "polySimp_elimOne" (formula "16") (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 "18") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "18") (term "0,1,0")) + (rule "inEqSimp_strengthen1" (formula "12") (ifseqformula "19")) + (rule "add_zero_right" (formula "12") (term "1")) + (rule "inEqSimp_contradEq7" (formula "19") (ifseqformula "12")) + (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 "Definition_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (ifseqformula "8")) + (rule "castDel" (formula "3") (term "1")) + (rule "polySimp_elimSub" (formula "3") (term "3,1,2,1")) + (rule "mul_literals" (formula "3") (term "1,3,1,2,1")) + (rule "polySimp_elimSub" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "3") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "2,1")) + (rule "applyEq" (formula "3") (term "1,2,1") (ifseqformula "2")) + (rule "polySimp_addAssoc" (formula "3") (term "2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,1")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "2,1")) + (rule "add_literals" (formula "3") (term "1,1,2,1")) + (rule "times_zero_1" (formula "3") (term "1,2,1")) + (rule "add_zero_right" (formula "3") (term "2,1")) + (rule "inEqSimp_contradEq7" (formula "3") (term "0,1") (ifseqformula "12")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,1")) + (rule "add_zero_right" (formula "3") (term "0,0,0,1")) + (rule "leq_literals" (formula "3") (term "0,0,1")) + (builtin "One Step Simplification" (formula "3")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "1") (term "0,1")) + (rule "replace_known_right" (formula "1") (term "0,1,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "25")) (ifInst "" (formula "7")) (ifInst "" (formula "8")) (ifInst "" (formula "4"))) + (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 "inEqSimp_subsumption1" (formula "1") (term "1,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "1") (term "0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,1,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,1,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,1,0,0")) + (rule "add_zero_right" (formula "1") (term "0,0,1,0,0")) + (rule "qeq_literals" (formula "1") (term "0,1,0,0")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "1") (term "0,0,0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,1,1") (inst "l=l")) + (rule "eqSymm" (formula "4") (term "0,1")) + (rule "replace_known_right" (formula "4") (term "0,1,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "25")) (ifInst "" (formula "7")) (ifInst "" (formula "8")) (ifInst "" (formula "3"))) + (rule "measuredByCheckEmpty" (formula "4") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0")) + (rule "inEqSimp_subsumption1" (formula "4") (term "0,0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "4") (term "0,0,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_subsumption1" (formula "4") (term "0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "4") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "0,0,0,0")) + (rule "add_literals" (formula "4") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "4") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "4") (term "0,0,0,0")) + (rule "qeq_literals" (formula "4") (term "0,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "2") (term "0,1") (inst "l=l")) + (rule "eqSymm" (formula "2") (term "0,1")) + (rule "replace_known_right" (formula "2") (term "0,1,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "25")) (ifInst "" (formula "7")) (ifInst "" (formula "8")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "2") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "0,0,0")) + (rule "inEqSimp_subsumption1" (formula "2") (term "1,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "2") (term "0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,1,0,0")) + (rule "add_literals" (formula "2") (term "1,1,0,0,1,0,0")) + (rule "times_zero_1" (formula "2") (term "1,0,0,1,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,1,0,0")) + (rule "qeq_literals" (formula "2") (term "0,1,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_subsumption1" (formula "2") (term "0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (ifseqformula "8")) + (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 "12")) + (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 "Contract_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "3") (term "0,1")) + (rule "replace_known_right" (formula "3") (term "0,1,1,0,0,0,0,0") (ifseqformula "25")) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "7")) (ifInst "" (formula "8")) (ifInst "" (formula "24")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "3") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0")) + (rule "inEqSimp_subsumption1" (formula "3") (term "0,0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "3") (term "0,0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_subsumption1" (formula "3") (term "0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "3") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "0,0,0,0")) + (rule "add_literals" (formula "3") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "3") (term "0,0,0,0")) + (rule "qeq_literals" (formula "3") (term "0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "true_left" (formula "3")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,1,1") (ifseqformula "8")) + (rule "castDel" (formula "4") (term "0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,0,2,0,0,0,2,0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "3,1,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "2,0,1,1")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "applyEq" (formula "4") (term "1,2,0,1,0") (ifseqformula "2")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "polySimp_addAssoc" (formula "4") (term "2,0,1,0,0")) + (rule "polySimp_addComm0" (formula "4") (term "0,2,0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "2,0,1,0,0")) + (rule "add_literals" (formula "4") (term "1,1,2,0,1,0,0")) + (rule "times_zero_1" (formula "4") (term "1,2,0,1,0,0")) + (rule "add_zero_right" (formula "4") (term "2,0,1,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "inEqSimp_contradEq7" (formula "4") (term "0,0,1,1") (ifseqformula "12")) + (rule "times_zero_1" (formula "4") (term "1,0,0,0,0,1,1")) + (rule "add_zero_right" (formula "4") (term "0,0,0,0,1,1")) + (rule "leq_literals" (formula "4") (term "0,0,0,1,1")) + (builtin "One Step Simplification" (formula "4")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "0,1") (ifseqformula "8")) + (rule "castDel" (formula "2") (term "0,1")) + (rule "polySimp_elimSub" (formula "2") (term "0,2,0,0,0,2,0,1")) + (rule "mul_literals" (formula "2") (term "1,0,2,0,0,0,2,0,1")) + (rule "polySimp_elimSub" (formula "2") (term "3,1,2,0,1")) + (rule "mul_literals" (formula "2") (term "1,3,1,2,0,1")) + (rule "polySimp_homoEq" (formula "2")) + (rule "polySimp_addComm0" (formula "2") (term "3,1,2,0,0,0")) + (rule "polySimp_addComm0" (formula "2") (term "0,2,0,0,0,2,0,0,0")) + (rule "polySimp_addComm0" (formula "2") (term "0,0")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "polySimp_addComm0" (formula "2") (term "2,1,0")) + (rule "polySimp_sepPosMonomial" (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 "polySimp_elimOne" (formula "2") (term "1,1")) + (rule "polySimp_mulAssoc" (formula "2") (term "0,1")) + (rule "polySimp_mulComm0" (formula "2") (term "0,0,1")) + (rule "polySimp_mulLiterals" (formula "2") (term "0,1")) + (rule "polySimp_elimOne" (formula "2") (term "0,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "polySimp_homoEq" (formula "2") (term "1")) + (rule "times_zero_2" (formula "2") (term "1,0,1")) + (rule "add_zero_right" (formula "2") (term "0,1")) + (rule "polySimp_sepPosMonomial" (formula "2") (term "1")) + (rule "inEqSimp_contradEq7" (formula "2") (term "0,0") (ifseqformula "12")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,0,0")) + (rule "leq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "7")) + (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 "inEqSimp_contradEq7" (formula "2") (term "0,1") (ifseqformula "11")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,1")) + (rule "add_zero_right" (formula "2") (term "0,0,0,1")) + (rule "leq_literals" (formula "2") (term "0,0,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "1") (term "0,1")) + (rule "replace_known_right" (formula "1") (term "0,1,0,0") (ifseqformula "23")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "24")) (ifInst "" (formula "6")) (ifInst "" (formula "7"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "1,0,0")) + (rule "applyEq" (formula "1") (term "0,0,1") (ifseqformula "3")) + (rule "polySimp_homoEq" (formula "1") (term "0,1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,1")) + (rule "polySimp_mulComm0" (formula "1") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,1")) + (rule "polySimp_sepNegMonomial" (formula "1") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0,0,1")) + (rule "polySimp_elimOne" (formula "1") (term "0,0,1")) + (rule "inEqSimp_subsumption1" (formula "1") (term "1,0,0") (ifseqformula "5")) + (rule "inEqSimp_homoInEq0" (formula "1") (term "0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,1,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,1,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,1,0,0")) + (rule "add_zero_right" (formula "1") (term "0,0,1,0,0")) + (rule "qeq_literals" (formula "1") (term "0,1,0,0")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "12")) + (rule "leq_literals" (formula "1") (term "0,0,0")) + (builtin "One Step Simplification" (formula "1")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,1,1") (inst "l=l")) + (rule "eqSymm" (formula "4") (term "0,1")) + (rule "replace_known_right" (formula "4") (term "0,1,0,0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "25")) (ifInst "" (formula "7")) (ifInst "" (formula "8"))) + (rule "measuredByCheckEmpty" (formula "4") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "0,0,0")) + (rule "applyEq" (formula "4") (term "0,0,1") (ifseqformula "3")) + (rule "polySimp_homoEq" (formula "4") (term "0,1")) + (rule "polySimp_mulComm0" (formula "4") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "4") (term "1,0,0,1")) + (rule "polySimp_mulComm0" (formula "4") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "4") (term "0,0,1")) + (rule "polySimp_sepNegMonomial" (formula "4") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "4") (term "0,0,1")) + (rule "polySimp_elimOne" (formula "4") (term "0,0,1")) + (rule "inEqSimp_subsumption1" (formula "4") (term "0,0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "4") (term "0,0,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_subsumption1" (formula "4") (term "0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "4") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "0,0,0,0")) + (rule "add_literals" (formula "4") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "4") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "4") (term "0,0,0,0")) + (rule "qeq_literals" (formula "4") (term "0,0,0")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "1"))) + (rule "true_left" (formula "4")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "8")) + (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 "inEqSimp_contradEq7" (formula "2") (term "0,0") (ifseqformula "12")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,0,0")) + (rule "leq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "polySimp_homoEq" (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_sepNegMonomial" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "applyEq" (formula "1") (term "0,0,1") (ifseqformula "2")) + (rule "polySimp_homoEq" (formula "1") (term "0,1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0,1")) + (rule "polySimp_rightDist" (formula "1") (term "1,0,0,1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1,0,0,1")) + (rule "polySimp_elimOne" (formula "1") (term "1,1,0,0,1")) + (rule "polySimp_mulComm0" (formula "1") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "1") (term "0,0,1")) + (rule "polySimp_addComm1" (formula "1") (term "0,0,0,1")) + (rule "polySimp_pullOutFactor2b" (formula "1") (term "0,0,1")) + (rule "add_literals" (formula "1") (term "1,1,0,0,1")) + (rule "times_zero_1" (formula "1") (term "1,0,0,1")) + (rule "add_zero_right" (formula "1") (term "0,0,1")) + (rule "applyEq" (formula "3") (term "1,1") (ifseqformula "2")) + (rule "polySimp_addAssoc" (formula "3") (term "1")) + (rule "polySimp_addComm0" (formula "3") (term "0,1")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "1")) + (rule "add_literals" (formula "3") (term "1,1,1")) + (rule "times_zero_1" (formula "3") (term "1,1")) + (rule "add_zero_right" (formula "3") (term "1")) + (rule "polySimp_sepNegMonomial" (formula "1") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0,0,1")) + (rule "polySimp_elimOne" (formula "1") (term "0,0,1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,1,1") (ifseqformula "8")) + (rule "castDel" (formula "4") (term "0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,0,2,0,0,0,2,0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "3,1,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "2,0,1,1")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "applyEq" (formula "4") (term "1,2,0,1,0") (ifseqformula "2")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "polySimp_addAssoc" (formula "4") (term "2,0,1,0,0")) + (rule "polySimp_addComm0" (formula "4") (term "0,2,0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "2,0,1,0,0")) + (rule "add_literals" (formula "4") (term "1,1,2,0,1,0,0")) + (rule "times_zero_1" (formula "4") (term "1,2,0,1,0,0")) + (rule "add_zero_right" (formula "4") (term "2,0,1,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "inEqSimp_contradEq7" (formula "4") (term "0,0,1,1") (ifseqformula "12")) + (rule "times_zero_1" (formula "4") (term "1,0,0,0,0,1,1")) + (rule "add_zero_right" (formula "4") (term "0,0,0,0,1,1")) + (rule "leq_literals" (formula "4") (term "0,0,0,1,1")) + (builtin "One Step Simplification" (formula "4")) + (rule "ifthenelse_split" (formula "16") (term "0")) + (branch "a[-1 + k_0] = mx_0 TRUE" + (rule "polySimp_homoEq" (formula "17")) + (rule "mul_literals" (formula "17") (term "1,0")) + (rule "polySimp_addComm1" (formula "17") (term "0")) + (rule "polySimp_addComm0" (formula "17") (term "0,0")) + (rule "applyEq" (formula "2") (term "0,0,0") (ifseqformula "16")) + (rule "eqSymm" (formula "2") (term "0,0")) + (rule "replace_known_right" (formula "2") (term "0,0") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "2")) + (rule "polySimp_homoEq" (formula "2")) + (rule "times_zero_2" (formula "2") (term "1,0")) + (rule "add_zero_right" (formula "2") (term "0")) + (rule "applyEq" (formula "19") (term "1,0,0,0,1,0") (ifseqformula "16")) + (rule "polySimp_sepNegMonomial" (formula "17")) + (rule "polySimp_mulLiterals" (formula "17") (term "0")) + (rule "polySimp_elimOne" (formula "17") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1,0,1") (inst "l=l")) + (rule "eqSymm" (formula "1") (term "0,1")) + (rule "replace_known_left" (formula "1") (term "1,0,0,0,0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "26")) (ifInst "" (formula "8")) (ifInst "" (formula "25"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "1,0,0")) + (rule "applyEq" (formula "1") (term "0,0,1") (ifseqformula "4")) + (rule "inEqSimp_subsumption1" (formula "1") (term "1,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "1") (term "0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,1,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,1,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,1,0,0")) + (rule "add_zero_right" (formula "1") (term "0,0,1,0,0")) + (rule "qeq_literals" (formula "1") (term "0,1,0,0")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "1") (term "0,0,0")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "2"))) + (rule "true_left" (formula "1")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "1") (term "0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "applyEq" (formula "5") (term "0,1,1") (ifseqformula "1")) + (rule "applyEq" (formula "4") (term "1") (ifseqformula "1")) + (rule "applyEq" (formula "3") (term "1") (ifseqformula "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 "0,1,0,0,0,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "27")) (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "26")) (ifInst "" (formula "5")) (ifInst "" (formula "3"))) + (rule "true_left" (formula "1")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "5") (term "0,1,1") (inst "l=l")) + (rule "eqSymm" (formula "5") (term "0,1")) + (rule "replace_known_left" (formula "5") (term "0,1,0,0,0,0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "5") (ifInst "" (formula "27")) (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "26")) (ifInst "" (formula "4")) (ifInst "" (formula "2"))) + (rule "true_left" (formula "5")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "4") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "4") (term "0,1")) + (rule "replace_known_right" (formula "4") (term "0,1,0,0") (ifseqformula "26")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "2")) (ifInst "" (formula "27")) (ifInst "" (formula "8")) (ifInst "" (formula "9")) (ifInst "" (formula "5")) (ifInst "" (formula "2"))) + (rule "true_left" (formula "4")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "3") (term "0,1")) + (rule "replace_known_left" (formula "3") (term "1,0,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "2")) (ifInst "" (formula "27")) (ifInst "" (formula "9")) (ifInst "" (formula "26")) (ifInst "" (formula "5")) (ifInst "" (formula "2"))) + (rule "true_left" (formula "3")) + (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 "0,0,1,2,0") (ifseqformula "17")) + (rule "eqSymm" (formula "1") (term "0,1,2,0")) + (rule "replace_known_right" (formula "1") (term "0,1,2,0") (ifseqformula "23")) + (builtin "One Step Simplification" (formula "1")) + (rule "add_zero_right" (formula "1") (term "2,0")) + (rule "applyEq" (formula "1") (term "2,0") (ifseqformula "3")) + (rule "inEqSimp_contradEq7" (formula "1") (term "0,0") (ifseqformula "13")) + (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 "5") (term "0,1,1") (ifseqformula "9")) + (rule "castDel" (formula "5") (term "0,1,1")) + (rule "polySimp_elimSub" (formula "5") (term "0,2,0,0,0,2,0,1,1")) + (rule "mul_literals" (formula "5") (term "1,0,2,0,0,0,2,0,1,1")) + (rule "polySimp_elimSub" (formula "5") (term "3,1,2,0,1,1")) + (rule "mul_literals" (formula "5") (term "1,3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "5") (term "0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "5") (term "3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "5") (term "2,0,1,1")) + (rule "inEqSimp_homoInEq1" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "1,0")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "applyEq" (formula "5") (term "0,0,1,2,0,1,0") (ifseqformula "17")) + (rule "eqSymm" (formula "5") (term "0,1,2,0,1,0")) + (rule "replace_known_right" (formula "5") (term "0,1,2,0,1,0") (ifseqformula "23")) + (builtin "One Step Simplification" (formula "5")) + (rule "add_zero_right" (formula "5") (term "2,0,1,0")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "applyEq" (formula "5") (term "2,0,1,0,0") (ifseqformula "3")) + (rule "inEqSimp_sepNegMonomial0" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "inEqSimp_contradEq7" (formula "5") (term "0,0,1,1") (ifseqformula "13")) + (rule "times_zero_1" (formula "5") (term "1,0,0,0,0,1,1")) + (rule "add_zero_right" (formula "5") (term "0,0,0,0,1,1")) + (rule "leq_literals" (formula "5") (term "0,0,0,1,1")) + (builtin "One Step Simplification" (formula "5")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "2") (ifseqformula "9")) + (rule "true_left" (formula "2")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (ifseqformula "8")) + (rule "castDel" (formula "3") (term "1")) + (rule "polySimp_elimSub" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "3") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "3") (term "3,1,2,1")) + (rule "mul_literals" (formula "3") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "2,1")) + (rule "applyEq" (formula "3") (term "0,0,1,2,1") (ifseqformula "16")) + (rule "eqSymm" (formula "3") (term "0,1,2,1")) + (rule "replace_known_right" (formula "3") (term "0,1,2,1") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "3")) + (rule "add_zero_right" (formula "3") (term "2,1")) + (rule "applyEq" (formula "3") (term "2,1") (ifseqformula "2")) + (rule "inEqSimp_contradEq7" (formula "3") (term "0,1") (ifseqformula "12")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,1")) + (rule "add_zero_right" (formula "3") (term "0,0,0,1")) + (rule "leq_literals" (formula "3") (term "0,0,1")) + (builtin "One Step Simplification" (formula "3")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "8")) + (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 "2") (term "0,0,1,2,0") (ifseqformula "16")) + (rule "eqSymm" (formula "2") (term "0,1,2,0")) + (rule "replace_known_right" (formula "2") (term "0,1,2,0") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "2")) + (rule "add_zero_right" (formula "2") (term "2,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "eqSymm" (formula "2") (term "1")) + (rule "inEqSimp_contradEq7" (formula "2") (term "0,0") (ifseqformula "12")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,0,0")) + (rule "leq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "onlyCreatedObjectsAreReferenced" (formula "20") (term "1,0") (ifseqformula "5")) + (rule "replace_known_right" (formula "1") (term "0") (ifseqformula "20")) + (builtin "One Step Simplification" (formula "1")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "2") (term "0,1")) + (rule "replace_known_left" (formula "2") (term "1,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "26")) (ifInst "" (formula "7")) (ifInst "" (formula "25")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "2") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "0,0,0")) + (rule "inEqSimp_subsumption1" (formula "2") (term "1,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "2") (term "0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,1,0,0")) + (rule "add_literals" (formula "2") (term "1,1,0,0,1,0,0")) + (rule "times_zero_1" (formula "2") (term "1,0,0,1,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,1,0,0")) + (rule "qeq_literals" (formula "2") (term "0,1,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_subsumption1" (formula "2") (term "0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,1,1") (inst "l=l")) + (rule "eqSymm" (formula "4") (term "0,1")) + (rule "replace_known_left" (formula "4") (term "1,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "26")) (ifInst "" (formula "7")) (ifInst "" (formula "25")) (ifInst "" (formula "3"))) + (rule "measuredByCheckEmpty" (formula "4") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "0,0,0")) + (rule "inEqSimp_subsumption1" (formula "4") (term "1,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "4") (term "0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "0,0,1,0,0")) + (rule "add_literals" (formula "4") (term "1,1,0,0,1,0,0")) + (rule "times_zero_1" (formula "4") (term "1,0,0,1,0,0")) + (rule "add_zero_right" (formula "4") (term "0,0,1,0,0")) + (rule "qeq_literals" (formula "4") (term "0,1,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_subsumption1" (formula "4") (term "0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "4") (term "0,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "3") (term "0,1")) + (rule "replace_known_right" (formula "3") (term "0,1,0,0") (ifseqformula "25")) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "26")) (ifInst "" (formula "7")) (ifInst "" (formula "8")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "3") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "0,0,0")) + (rule "inEqSimp_subsumption1" (formula "3") (term "0,0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "3") (term "0,0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_subsumption1" (formula "3") (term "0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "3") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "0,0,0,0")) + (rule "add_literals" (formula "3") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "3") (term "0,0,0,0")) + (rule "qeq_literals" (formula "3") (term "0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "true_left" (formula "3")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "8")) + (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 "inEqSimp_contradEq7" (formula "2") (term "0,0") (ifseqformula "12")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,0,0")) + (rule "leq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "polySimp_homoEq" (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 "applyEq" (formula "2") (term "0,0,0,1,0") (ifseqformula "16")) + (rule "eqSymm" (formula "2") (term "0,0,1,0")) + (rule "replace_known_right" (formula "2") (term "0,0,1,0") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "2")) + (rule "times_zero_2" (formula "2") (term "1,0")) + (rule "add_zero_right" (formula "2") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,1,1") (ifseqformula "8")) + (rule "castDel" (formula "4") (term "0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "3,1,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,3,1,2,0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "2,0,1,1")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "applyEq" (formula "4") (term "0,2,0,1,0") (ifseqformula "2")) + (rule "applyEq" (formula "4") (term "0,0,1,2,0,1,0") (ifseqformula "16")) + (rule "eqSymm" (formula "4") (term "0,1,2,0,1,0")) + (rule "replace_known_right" (formula "4") (term "0,1,2,0,1,0") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "4")) + (rule "add_zero_right" (formula "4") (term "2,0,1,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "inEqSimp_contradEq7" (formula "4") (term "0,0,1,1") (ifseqformula "12")) + (rule "times_zero_1" (formula "4") (term "1,0,0,0,0,1,1")) + (rule "add_zero_right" (formula "4") (term "0,0,0,0,1,1")) + (rule "leq_literals" (formula "4") (term "0,0,0,1,1")) + (builtin "One Step Simplification" (formula "4")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (ifseqformula "8")) + (rule "castDel" (formula "3") (term "1")) + (rule "polySimp_elimSub" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "3") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "3") (term "3,1,2,1")) + (rule "mul_literals" (formula "3") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "2,1")) + (rule "applyEq" (formula "3") (term "0,2,1") (ifseqformula "2")) + (rule "applyEq" (formula "3") (term "0,0,1,2,1") (ifseqformula "16")) + (rule "eqSymm" (formula "3") (term "0,1,2,1")) + (rule "replace_known_right" (formula "3") (term "0,1,2,1") (ifseqformula "22")) + (builtin "One Step Simplification" (formula "3")) + (rule "add_zero_right" (formula "3") (term "2,1")) + (rule "inEqSimp_contradEq7" (formula "3") (term "0,1") (ifseqformula "12")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,1")) + (rule "add_zero_right" (formula "3") (term "0,0,0,1")) + (rule "leq_literals" (formula "3") (term "0,0,1")) + (builtin "One Step Simplification" (formula "3")) + (rule "ifthenelse_split" (formula "4") (term "0,0")) + (branch "a[k_0] = x_0 TRUE" + (rule "mul_literals" (formula "5") (term "0")) + (rule "inEqSimp_homoInEq1" (formula "5")) + (rule "mul_literals" (formula "5") (term "1,0")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "polySimp_addComm1" (formula "5") (term "0,0")) + (rule "polySimp_addComm1" (formula "5") (term "0,0,0")) + (rule "add_literals" (formula "5") (term "0,0,0,0")) + (rule "applyEq" (formula "24") (term "0") (ifseqformula "4")) + (rule "inEqSimp_sepNegMonomial0" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "allLeft" (formula "20") (inst "t=x_0")) + (rule "replace_known_right" (formula "20") (term "0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "20") (ifInst "" (formula "24"))) + (rule "times_zero_2" (formula "20") (term "0")) + (rule "inEqSimp_homoInEq0" (formula "20")) + (rule "mul_literals" (formula "20") (term "1,0")) + (rule "add_zero_right" (formula "20") (term "0")) + (rule "applyEq" (formula "20") (term "0,1,0") (ifseqformula "2")) + (rule "inEqSimp_sepNegMonomial1" (formula "20")) + (rule "polySimp_mulLiterals" (formula "20") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "20") (ifseqformula "5")) + (rule "andLeft" (formula "20")) + (rule "inEqSimp_homoInEq1" (formula "20")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0")) + (rule "polySimp_rightDist" (formula "20") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "20") (term "1,1,0")) + (rule "polySimp_elimOne" (formula "20") (term "1,1,0")) + (rule "polySimp_mulComm0" (formula "20") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "20") (term "0")) + (rule "polySimp_addComm1" (formula "20") (term "0,0")) + (rule "polySimp_pullOutFactor2b" (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 "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[k_0] = x_0 FALSE" + (rule "times_zero_2" (formula "4") (term "0")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "times_zero_2" (formula "4") (term "1,0")) + (rule "add_zero_right" (formula "4") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "allLeft" (formula "19") (inst "t=x_0")) + (rule "replace_known_right" (formula "19") (term "0,0,0,1") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "19") (ifInst "" (formula "24"))) + (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 "applyEq" (formula "19") (term "0,1,0") (ifseqformula "2")) + (rule "inEqSimp_sepNegMonomial1" (formula "19")) + (rule "polySimp_mulLiterals" (formula "19") (term "0")) + (rule "inEqSimp_contradInEq2" (formula "4") (ifseqformula "19")) + (rule "greater_literals" (formula "4") (term "0,1,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_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")) + ) + ) + (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 "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1,0,1") (inst "l=l")) + (rule "eqSymm" (formula "1") (term "0,1")) + (rule "replace_known_left" (formula "1") (term "1,0,0,0,0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "26")) (ifInst "" (formula "8")) (ifInst "" (formula "25"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "1,0,0")) + (rule "applyEq" (formula "1") (term "0,0,1") (ifseqformula "4")) + (rule "inEqSimp_subsumption1" (formula "1") (term "1,0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "1") (term "0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0,0,1,0,0")) + (rule "add_literals" (formula "1") (term "1,1,0,0,1,0,0")) + (rule "times_zero_1" (formula "1") (term "1,0,0,1,0,0")) + (rule "add_literals" (formula "1") (term "0,0,1,0,0")) + (rule "qeq_literals" (formula "1") (term "0,1,0,0")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_subsumption1" (formula "1") (term "0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "1") (term "0,0,0")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "2"))) + (rule "true_left" (formula "1")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "1") (term "0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "applyEq" (formula "5") (term "0,1,1") (ifseqformula "1")) + (rule "applyEq" (formula "4") (term "1") (ifseqformula "1")) + (rule "applyEq" (formula "3") (term "0,1") (ifseqformula "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 "9")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "3")) (ifInst "" (formula "27")) (ifInst "" (formula "8")) (ifInst "" (formula "26")) (ifInst "" (formula "5")) (ifInst "" (formula "3"))) + (rule "true_left" (formula "1")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "5") (term "0,1,1") (inst "l=l")) + (rule "eqSymm" (formula "5") (term "0,1")) + (rule "replace_known_left" (formula "5") (term "1,0,0,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "5") (ifInst "" (formula "2")) (ifInst "" (formula "27")) (ifInst "" (formula "8")) (ifInst "" (formula "26")) (ifInst "" (formula "4")) (ifInst "" (formula "2"))) + (rule "true_left" (formula "5")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "4") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "4") (term "0,1")) + (rule "replace_known_left" (formula "4") (term "1,0,0,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "2")) (ifInst "" (formula "27")) (ifInst "" (formula "8")) (ifInst "" (formula "26")) (ifInst "" (formula "5")) (ifInst "" (formula "2"))) + (rule "true_left" (formula "4")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "3") (term "0,1") (inst "l=l")) + (rule "eqSymm" (formula "3") (term "0,1")) + (rule "replace_known_left" (formula "3") (term "1,0,0,0") (ifseqformula "9")) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "2")) (ifInst "" (formula "27")) (ifInst "" (formula "8")) (ifInst "" (formula "26")) (ifInst "" (formula "5")) (ifInst "" (formula "2"))) + (rule "true_left" (formula "3")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "5") (term "0,1,1") (ifseqformula "9")) + (rule "castDel" (formula "5") (term "0,1,1")) + (rule "polySimp_elimSub" (formula "5") (term "3,1,2,0,1,1")) + (rule "mul_literals" (formula "5") (term "1,3,1,2,0,1,1")) + (rule "polySimp_elimSub" (formula "5") (term "0,2,0,0,0,2,0,1,1")) + (rule "mul_literals" (formula "5") (term "1,0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "5") (term "3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "5") (term "0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "5") (term "2,0,1,1")) + (rule "inEqSimp_homoInEq1" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "1,0")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "applyEq" (formula "5") (term "1,2,0,1,0") (ifseqformula "3")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "polySimp_addAssoc" (formula "5") (term "2,0,1,0,0")) + (rule "polySimp_addComm0" (formula "5") (term "0,2,0,1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "5") (term "2,0,1,0,0")) + (rule "add_literals" (formula "5") (term "1,1,2,0,1,0,0")) + (rule "times_zero_1" (formula "5") (term "1,2,0,1,0,0")) + (rule "add_zero_right" (formula "5") (term "2,0,1,0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "inEqSimp_contradEq7" (formula "5") (term "0,0,1,1") (ifseqformula "13")) + (rule "times_zero_1" (formula "5") (term "1,0,0,0,0,1,1")) + (rule "add_zero_right" (formula "5") (term "0,0,0,0,1,1")) + (rule "leq_literals" (formula "5") (term "0,0,0,1,1")) + (builtin "One Step Simplification" (formula "5")) + (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 "3")) + (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 "13")) + (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 "Class_invariant_axiom_for_BoyerMoore" (formula "2") (ifseqformula "9")) + (rule "true_left" (formula "2")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (ifseqformula "8")) + (rule "castDel" (formula "3") (term "1")) + (rule "polySimp_elimSub" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "3") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "3") (term "3,1,2,1")) + (rule "mul_literals" (formula "3") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "2,1")) + (rule "applyEq" (formula "3") (term "1,2,1") (ifseqformula "2")) + (rule "polySimp_addAssoc" (formula "3") (term "2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,1")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "2,1")) + (rule "add_literals" (formula "3") (term "1,1,2,1")) + (rule "times_zero_1" (formula "3") (term "1,2,1")) + (rule "add_zero_right" (formula "3") (term "2,1")) + (rule "inEqSimp_contradEq7" (formula "3") (term "0,1") (ifseqformula "12")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,1")) + (rule "add_zero_right" (formula "3") (term "0,0,0,1")) + (rule "leq_literals" (formula "3") (term "0,0,1")) + (builtin "One Step Simplification" (formula "3")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "0,1") (ifseqformula "8")) + (rule "castDel" (formula "2") (term "0,1")) + (rule "polySimp_homoEq" (formula "2")) + (rule "polySimp_elimSub" (formula "2") (term "0,2,0,0,0,2,0,0,0")) + (rule "mul_literals" (formula "2") (term "1,0,2,0,0,0,2,0,0,0")) + (rule "polySimp_elimSub" (formula "2") (term "3,1,2,0,0,0")) + (rule "mul_literals" (formula "2") (term "1,3,1,2,0,0,0")) + (rule "polySimp_addComm0" (formula "2") (term "0,2,0,0,0,2,0,0,0")) + (rule "polySimp_addComm0" (formula "2") (term "3,1,2,0,0,0")) + (rule "polySimp_addComm0" (formula "2") (term "0,0")) + (rule "polySimp_addComm1" (formula "2") (term "0")) + (rule "polySimp_addComm0" (formula "2") (term "2,1,0")) + (rule "polySimp_sepPosMonomial" (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 "polySimp_elimOne" (formula "2") (term "1,1")) + (rule "polySimp_mulAssoc" (formula "2") (term "0,1")) + (rule "polySimp_mulComm0" (formula "2") (term "0,0,1")) + (rule "polySimp_mulLiterals" (formula "2") (term "0,1")) + (rule "polySimp_elimOne" (formula "2") (term "0,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "polySimp_homoEq" (formula "2") (term "1")) + (rule "times_zero_2" (formula "2") (term "1,0,1")) + (rule "add_zero_right" (formula "2") (term "0,1")) + (rule "polySimp_sepPosMonomial" (formula "2") (term "1")) + (rule "inEqSimp_contradEq7" (formula "2") (term "0,0") (ifseqformula "12")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_literals" (formula "2") (term "0,0,0,0")) + (rule "leq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "onlyCreatedObjectsAreReferenced" (formula "19") (term "0") (ifseqformula "5")) + (rule "replace_known_right" (formula "1") (term "0") (ifseqformula "20")) + (builtin "One Step Simplification" (formula "1")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,1,1") (inst "l=l")) + (rule "eqSymm" (formula "4") (term "0,1")) + (rule "replace_known_left" (formula "4") (term "1,0,0,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "4") (ifInst "" (formula "26")) (ifInst "" (formula "7")) (ifInst "" (formula "25")) (ifInst "" (formula "3"))) + (rule "measuredByCheckEmpty" (formula "4") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "0,0,0")) + (rule "inEqSimp_commuteLeq" (formula "4") (term "1,0,0")) + (rule "inEqSimp_subsumption1" (formula "4") (term "0,0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "4") (term "0,0,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "inEqSimp_subsumption1" (formula "4") (term "0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "4") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "4") (term "0,0,0,0")) + (rule "add_literals" (formula "4") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "4") (term "1,0,0,0,0")) + (rule "add_literals" (formula "4") (term "0,0,0,0")) + (rule "qeq_literals" (formula "4") (term "0,0,0")) + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "2") (term "0,1")) + (rule "replace_known_right" (formula "2") (term "0,1,1,0,0,0,0,0") (ifseqformula "26")) + (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "7")) (ifInst "" (formula "8")) (ifInst "" (formula "25")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "2") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "2") (term "0,0,0")) + (rule "inEqSimp_subsumption1" (formula "2") (term "0,0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "2") (term "0,0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "inEqSimp_subsumption1" (formula "2") (term "0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "2") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0,0,0,0")) + (rule "add_literals" (formula "2") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_literals" (formula "2") (term "0,0,0,0")) + (rule "qeq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "3") (term "0,1")) + (rule "replace_known_right" (formula "3") (term "0,1,1,0,0,0,0,0") (ifseqformula "26")) + (builtin "One Step Simplification" (formula "3") (ifInst "" (formula "7")) (ifInst "" (formula "8")) (ifInst "" (formula "25")) (ifInst "" (formula "4"))) + (rule "measuredByCheckEmpty" (formula "3") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "3") (term "0,0,0")) + (rule "inEqSimp_subsumption1" (formula "3") (term "0,0,0") (ifseqformula "13")) + (rule "leq_literals" (formula "3") (term "0,0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_subsumption1" (formula "3") (term "0,0") (ifseqformula "6")) + (rule "inEqSimp_homoInEq0" (formula "3") (term "0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "0,0,0,0")) + (rule "add_literals" (formula "3") (term "1,1,0,0,0,0")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,0")) + (rule "add_literals" (formula "3") (term "0,0,0,0")) + (rule "qeq_literals" (formula "3") (term "0,0,0")) + (builtin "One Step Simplification" (formula "3")) + (rule "true_left" (formula "3")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "4") (term "0,1,1") (ifseqformula "8")) + (rule "castDel" (formula "4") (term "0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "3,1,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,3,1,2,0,1,1")) + (rule "polySimp_elimSub" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "mul_literals" (formula "4") (term "1,0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "3,1,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "0,2,0,0,0,2,0,1,1")) + (rule "polySimp_addComm0" (formula "4") (term "2,0,1,1")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) + (rule "polySimp_addComm1" (formula "4") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "inEqSimp_contradEq7" (formula "4") (term "0,0,0") (ifseqformula "12")) + (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 "polySimp_mulComm0" (formula "4") (term "0")) + (rule "polySimp_rightDist" (formula "4") (term "0")) + (rule "polySimp_mulComm0" (formula "4") (term "0,0")) + (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 "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "8")) + (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 "inEqSimp_contradEq7" (formula "2") (term "0,0") (ifseqformula "12")) + (rule "times_zero_1" (formula "2") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "2") (term "0,0,0,0")) + (rule "leq_literals" (formula "2") (term "0,0,0")) + (builtin "One Step Simplification" (formula "2")) + (rule "polySimp_homoEq" (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_sepNegMonomial" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "applyEq" (formula "4") (term "0,0") (ifseqformula "2")) + (rule "polySimp_mulComm0" (formula "4") (term "0")) + (rule "polySimp_rightDist" (formula "4") (term "0")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,0")) + (rule "polySimp_mulComm0" (formula "4") (term "0,0")) + (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_addComm1" (formula "4") (term "0")) + (rule "polySimp_addAssoc" (formula "4") (term "0,0")) + (rule "polySimp_addComm1" (formula "4") (term "0,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "4") (term "0,0")) + (rule "add_literals" (formula "4") (term "1,1,0,0")) + (rule "times_zero_1" (formula "4") (term "1,0,0")) + (rule "add_zero_right" (formula "4") (term "0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "3") (term "1") (ifseqformula "8")) + (rule "castDel" (formula "3") (term "1")) + (rule "polySimp_elimSub" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "3") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "3") (term "3,1,2,1")) + (rule "mul_literals" (formula "3") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "3") (term "2,1")) + (rule "applyEq" (formula "3") (term "1,2,1") (ifseqformula "2")) + (rule "polySimp_addAssoc" (formula "3") (term "2,1")) + (rule "polySimp_addComm0" (formula "3") (term "0,2,1")) + (rule "polySimp_pullOutFactor1b" (formula "3") (term "2,1")) + (rule "add_literals" (formula "3") (term "1,1,2,1")) + (rule "times_zero_1" (formula "3") (term "1,2,1")) + (rule "add_zero_right" (formula "3") (term "2,1")) + (rule "inEqSimp_contradEq7" (formula "3") (term "0,1") (ifseqformula "12")) + (rule "times_zero_1" (formula "3") (term "1,0,0,0,1")) + (rule "add_zero_right" (formula "3") (term "0,0,0,1")) + (rule "leq_literals" (formula "3") (term "0,0,1")) + (builtin "One Step Simplification" (formula "3")) + (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") (ifseqformula "23")) + (builtin "One Step Simplification" (formula "18")) + (rule "applyEq" (formula "18") (term "0,0") (ifseqformula "2")) + (rule "polySimp_mulComm0" (formula "18") (term "0")) + (rule "polySimp_rightDist" (formula "18") (term "0")) + (rule "polySimp_mulLiterals" (formula "18") (term "1,0")) + (rule "polySimp_mulComm0" (formula "18") (term "0,0")) + (rule "inEqSimp_homoInEq0" (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")) + (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 "inEqSimp_sepNegMonomial1" (formula "18")) + (rule "polySimp_mulLiterals" (formula "18") (term "0")) + (rule "ifthenelse_split" (formula "2") (term "0")) + (branch "a[-1 + k_0] = x_0 TRUE" + (rule "polySimp_homoEq" (formula "3")) + (rule "mul_literals" (formula "3") (term "1,0")) + (rule "polySimp_addComm1" (formula "3") (term "0")) + (rule "polySimp_addComm0" (formula "3") (term "0,0")) + (rule "applyEq" (formula "21") (term "0") (ifseqformula "2")) + (rule "applyEq" (formula "20") (term "1,0,0,0,1,0") (ifseqformula "2")) + (rule "polySimp_sepNegMonomial" (formula "3")) + (rule "polySimp_mulLiterals" (formula "3") (term "0")) + (rule "polySimp_elimOne" (formula "3") (term "0")) + (rule "ifthenelse_split" (formula "5") (term "0,0")) + (branch "a[k_0] = x_0 TRUE" + (rule "mul_literals" (formula "6") (term "0")) + (rule "inEqSimp_homoInEq1" (formula "6")) + (rule "mul_literals" (formula "6") (term "1,0")) + (rule "polySimp_addComm1" (formula "6") (term "0")) + (rule "polySimp_addComm1" (formula "6") (term "0,0")) + (rule "polySimp_addComm1" (formula "6") (term "0,0,0")) + (rule "add_literals" (formula "6") (term "0,0,0,0")) + (rule "applyEq" (formula "25") (term "0") (ifseqformula "5")) + (rule "inEqSimp_sepNegMonomial0" (formula "6")) + (rule "polySimp_mulLiterals" (formula "6") (term "0")) + (rule "inEqSimp_contradInEq4" (formula "20") (ifseqformula "6")) + (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_rightDist" (formula "20") (term "1")) + (rule "polySimp_mulLiterals" (formula "20") (term "1,1")) + (rule "polySimp_rightDist" (formula "20") (term "0")) + (rule "polySimp_mulLiterals" (formula "20") (term "1,0")) + (rule "polySimp_mulComm0" (formula "20") (term "0,0")) + (rule "polySimp_rightDist" (formula "20") (term "0,1")) + (rule "mul_literals" (formula "20") (term "0,0,1")) + (rule "inEqSimp_homoInEq1" (formula "20")) + (rule "polySimp_mulComm0" (formula "20") (term "1,0")) + (rule "polySimp_rightDist" (formula "20") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "20") (term "1,1,0")) + (rule "polySimp_mulAssoc" (formula "20") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "20") (term "0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "20") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "20") (term "0")) + (rule "polySimp_addComm1" (formula "20") (term "0,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 "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_literals" (formula "20") (term "0")) + (rule "leq_literals" (formula "20")) + (rule "closeFalse" (formula "20")) + ) + (branch "a[k_0] = x_0 FALSE" + (rule "mul_literals" (formula "5") (term "0")) + (rule "inEqSimp_homoInEq1" (formula "5")) + (rule "times_zero_2" (formula "5") (term "1,0")) + (rule "add_zero_right" (formula "5") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "19") (ifseqformula "5")) + (rule "andLeft" (formula "19")) + (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 "polySimp_elimOne" (formula "19") (term "1,1,0")) + (rule "polySimp_mulComm0" (formula "19") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "19") (term "0")) + (rule "polySimp_addComm1" (formula "19") (term "0,0")) + (rule "polySimp_pullOutFactor2b" (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 "polySimp_pullOutFactor1b" (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 "polySimp_homoEq" (formula "2")) + (rule "times_zero_2" (formula "2") (term "1,0")) + (rule "add_zero_right" (formula "2") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "ifthenelse_split" (formula "4") (term "0,0")) + (branch "a[k_0] = x_0 TRUE" + (rule "mul_literals" (formula "5") (term "0")) + (rule "inEqSimp_homoInEq1" (formula "5")) + (rule "mul_literals" (formula "5") (term "1,0")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "polySimp_addComm1" (formula "5") (term "0,0")) + (rule "polySimp_addComm1" (formula "5") (term "0,0,0")) + (rule "add_literals" (formula "5") (term "0,0,0,0")) + (rule "applyEq" (formula "26") (term "0") (ifseqformula "4")) + (rule "inEqSimp_sepNegMonomial0" (formula "5")) + (rule "polySimp_mulLiterals" (formula "5") (term "0")) + (rule "inEqSimp_contradInEq4" (formula "19") (ifseqformula "5")) + (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 "0")) + (rule "polySimp_mulLiterals" (formula "19") (term "1,0")) + (rule "polySimp_mulComm0" (formula "19") (term "0,0")) + (rule "polySimp_rightDist" (formula "19") (term "1")) + (rule "polySimp_mulLiterals" (formula "19") (term "1,1")) + (rule "polySimp_rightDist" (formula "19") (term "0,1")) + (rule "mul_literals" (formula "19") (term "0,0,1")) + (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 "polySimp_mulAssoc" (formula "19") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "19") (term "0,0,1,0")) + (rule "polySimp_mulLiterals" (formula "19") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "19") (term "0")) + (rule "polySimp_addComm1" (formula "19") (term "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 "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[k_0] = x_0 FALSE" + (rule "times_zero_2" (formula "4") (term "0")) + (rule "inEqSimp_homoInEq1" (formula "4")) + (rule "times_zero_2" (formula "4") (term "1,0")) + (rule "add_zero_right" (formula "4") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "inEqSimp_contradInEq1" (formula "18") (ifseqformula "4")) + (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_mulLiterals" (formula "18") (term "1,1,0")) + (rule "polySimp_elimOne" (formula "18") (term "1,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_pullOutFactor2b" (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_zero_right" (formula "18") (term "0")) + (rule "leq_literals" (formula "18")) + (rule "closeFalse" (formula "18")) + ) + ) + ) + ) + ) + ) + (branch + (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")) + (rule "precOfInt" (formula "21")) + (rule "inEqSimp_ltToLeq" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "inEqSimp_ltToLeq" (formula "21") (term "1")) + (rule "polySimp_rightDist" (formula "21") (term "1,0,0,1")) + (rule "polySimp_mulAssoc" (formula "21") (term "0,1,0,0,1")) + (rule "polySimp_mulComm0" (formula "21") (term "0,0,1,0,0,1")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,1,0,0,1")) + (rule "polySimp_elimOne" (formula "21") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1")) + (rule "polySimp_addComm1" (formula "21") (term "0,0,1")) + (rule "polySimp_pullOutFactor2b" (formula "21") (term "0,1")) + (rule "add_literals" (formula "21") (term "1,1,0,1")) + (rule "times_zero_1" (formula "21") (term "1,0,1")) + (rule "add_zero_right" (formula "21") (term "0,1")) + (rule "polySimp_addAssoc" (formula "21") (term "0,1")) + (rule "polySimp_addComm1" (formula "21") (term "0,0,1")) + (rule "add_literals" (formula "21") (term "0,0,0,1")) + (rule "add_zero_left" (formula "21") (term "0,0,1")) + (rule "polySimp_pullOutFactor1" (formula "21") (term "0,1")) + (rule "add_literals" (formula "21") (term "1,0,1")) + (rule "times_zero_1" (formula "21") (term "0,1")) + (rule "leq_literals" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_leqRight" (formula "21")) + (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 "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")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (formula "1") (term "0,0")) + (rule "inEqSimp_sepNegMonomial0" (formula "2")) + (rule "polySimp_mulLiterals" (formula "2") (term "0")) + (rule "polySimp_elimOne" (formula "2") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "1")) + (rule "polySimp_mulLiterals" (formula "1") (term "0")) + (rule "polySimp_elimOne" (formula "1") (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 "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")) + ) + ) + ) + (branch "Null Reference (mc == 0 = null)" + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "20"))) + (rule "closeFalse" (formula "1")) + ) + (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")) + (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_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_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_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")) + (rule "closeFalse" (formula "11")) + ) + ) + ) + (branch "if k < _a.length false" + (builtin "One Step Simplification" (formula "19")) + (builtin "One Step Simplification" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + ) + (branch "Null Reference (mc == 0 = null)" + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "18"))) + (rule "closeFalse" (formula "1")) + ) + ) + (branch "Null Reference (mc == 0 = null)" + (rule "false_right" (formula "16")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "17"))) + (rule "closeFalse" (formula "1")) + ) +) +(branch "Use Case" + (builtin "One Step Simplification" (formula "12")) + (builtin "One Step Simplification" (formula "9")) + (rule "andLeft" (formula "9")) + (rule "andLeft" (formula "9")) + (rule "andLeft" (formula "9")) + (rule "andLeft" (formula "9")) + (rule "polySimp_elimSub" (formula "13") (term "1,1,0")) + (rule "polySimp_mulComm0" (formula "13") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "12") (term "0")) + (rule "inEqSimp_commuteLeq" (formula "10")) + (rule "inEqSimp_commuteLeq" (formula "9")) + (rule "variableDeclarationAssign" (formula "16") (term "1")) + (rule "variableDeclaration" (formula "16") (term "1") (newnames "b_1")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "12") (term "0,0")) + (rule "compound_less_than_comparison_2" (formula "17") (term "1") (inst "#v1=i_1") (inst "#v0=i")) + (rule "variableDeclarationAssign" (formula "17") (term "1")) + (rule "variableDeclaration" (formula "17") (term "1") (newnames "i")) + (rule "assignment" (formula "17") (term "1")) + (builtin "One Step Simplification" (formula "17")) + (rule "variableDeclarationAssign" (formula "17") (term "1")) + (rule "variableDeclaration" (formula "17") (term "1") (newnames "i_1")) + (rule "assignment_read_length" (formula "17")) + (branch "Normal Execution (_a != null)" + (builtin "One Step Simplification" (formula "17")) + (rule "less_than_comparison_simple" (formula "17") (term "1")) + (builtin "One Step Simplification" (formula "17")) + (rule "methodCallEmpty" (formula "17") (term "1")) + (rule "emptyModality" (formula "17") (term "1")) + (builtin "One Step Simplification" (formula "17")) + (rule "impRight" (formula "17")) + (rule "notLeft" (formula "1")) + (rule "ifUnfold" (formula "18") (term "1") (inst "#boolv=b_2")) + (rule "variableDeclaration" (formula "18") (term "1") (newnames "b_2")) + (rule "equality_comparison_simple" (formula "18") (term "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "ifSplit" (formula "18")) + (branch "if mc == 0 true" + (builtin "One Step Simplification" (formula "19")) + (builtin "One Step Simplification" (formula "1")) + (rule "applyEqRigid" (formula "14") (term "1,1") (ifseqformula "1")) + (rule "add_zero_right" (formula "14") (term "1")) + (rule "applyEqRigid" (formula "15") (term "0,1,1,1,0") (ifseqformula "1")) + (rule "times_zero_2" (formula "15") (term "1,1,1,0")) + (rule "add_zero_right" (formula "15") (term "1,1,0")) + (rule "applyEq" (formula "12") (term "0") (ifseqformula "1")) + (rule "qeq_literals" (formula "12")) + (rule "true_left" (formula "12")) + (rule "returnUnfold" (formula "18") (term "1") (inst "#v0=i_2")) + (rule "variableDeclarationAssign" (formula "18") (term "1")) + (rule "variableDeclaration" (formula "18") (term "1") (newnames "i_2")) + (rule "activeUseStaticFieldReadAccess" (formula "18") (term "1")) + (rule "assignment_read_static_attribute" (formula "18") (term "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "methodCallReturn" (formula "18") (term "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "assignment" (formula "18") (term "1")) + (builtin "One Step Simplification" (formula "18")) + (rule "methodCallEmpty" (formula "18") (term "1")) + (rule "tryEmpty" (formula "18") (term "1")) + (rule "emptyModality" (formula "18") (term "1")) + (rule "andRight" (formula "18")) + (branch + (rule "andRight" (formula "18")) + (branch "Case 1" + (rule "andRight" (formula "18")) + (branch "Case 1" + (rule "impRight" (formula "18")) + (builtin "One Step Simplification" (formula "1")) + (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 "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 "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 "nnf_imp2or" (formula "16") (term "0")) + (builtin "One Step Simplification" (formula "16")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "14") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "14") (term "0,1")) + (rule "replace_known_left" (formula "14") (term "1,0,0,0") (ifseqformula "5")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "10")) (ifInst "" (formula "19")) (ifInst "" (formula "4")) (ifInst "" (formula "18")) (ifInst "" (formula "10"))) + (rule "measuredByCheckEmpty" (formula "14") (term "1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "0,0")) + (rule "replace_known_left" (formula "14") (term "0,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "14")) + (rule "inEqSimp_commuteLeq" (formula "14") (term "0")) + (rule "applyEq" (formula "14") (term "0,0") (ifseqformula "13")) + (rule "inEqSimp_homoInEq1" (formula "14") (term "0")) + (rule "polySimp_pullOutFactor1" (formula "14") (term "0,0")) + (rule "add_literals" (formula "14") (term "1,0,0")) + (rule "times_zero_1" (formula "14") (term "0,0")) + (rule "leq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (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 "0,1,0,0,0,0,0") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "16") (ifInst "" (formula "20")) (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "19")) (ifInst "" (formula "14")) (ifInst "" (formula "10"))) + (rule "true_left" (formula "16")) + (rule "Static_class_invariant_axiom_for_IntOpt" (formula "9")) + (rule "andLeft" (formula "9")) + (rule "notLeft" (formula "9")) + (rule "notLeft" (formula "9")) + (rule "close" (formula "17") (ifseqformula "2")) + ) + (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")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (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_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_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 "applyEq" (formula "1") (term "3,0") (ifseqformula "12")) + (rule "applyEq" (formula "1") (term "0,1,1") (ifseqformula "12")) + (rule "nnf_imp2or" (formula "15") (term "0")) + (builtin "One Step Simplification" (formula "15")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "13") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "13") (term "0,1")) + (rule "replace_known_left" (formula "13") (term "1,0,0,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "9")) (ifInst "" (formula "19")) (ifInst "" (formula "4")) (ifInst "" (formula "18")) (ifInst "" (formula "9"))) + (rule "measuredByCheckEmpty" (formula "13") (term "1,0") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "13")) + (rule "inEqSimp_commuteLeq" (formula "13") (term "1,0")) + (rule "inEqSimp_commuteLeq" (formula "13") (term "0,0")) + (rule "replace_known_left" (formula "13") (term "0,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "13")) + (rule "applyEq" (formula "13") (term "0,0") (ifseqformula "12")) + (rule "inEqSimp_homoInEq1" (formula "13") (term "0")) + (rule "polySimp_pullOutFactor1" (formula "13") (term "0,0")) + (rule "add_literals" (formula "13") (term "1,0,0")) + (rule "times_zero_1" (formula "13") (term "0,0")) + (rule "leq_literals" (formula "13") (term "0")) + (builtin "One Step Simplification" (formula "13")) + (rule "Static_class_invariant_axiom_for_IntOpt" (formula "8")) + (rule "andLeft" (formula "8")) + (rule "notLeft" (formula "8")) + (rule "notLeft" (formula "8")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "14") (term "0,0") (inst "l=l")) + (rule "eqSymm" (formula "14") (term "0,1")) + (rule "replace_known_left" (formula "14") (term "1,0,0,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "14") (ifInst "" (formula "8")) (ifInst "" (formula "20")) (ifInst "" (formula "4")) (ifInst "" (formula "19")) (ifInst "" (formula "12")) (ifInst "" (formula "8"))) + (rule "true_left" (formula "14")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "0") (inst "l=l")) + (rule "eqSymm" (formula "1") (term "0,1")) + (rule "replace_known_left" (formula "1") (term "1,0,0,0,0") (ifseqformula "4")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "9")) (ifInst "" (formula "20")) (ifInst "" (formula "5")) (ifInst "" (formula "19")) (ifInst "" (formula "9"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0,0")) + (rule "replace_known_left" (formula "1") (term "0,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "1")) + (rule "inEqSimp_commuteLeq" (formula "1") (term "0")) + (rule "applyEq" (formula "1") (term "0,0") (ifseqformula "12")) + (rule "inEqSimp_homoInEq1" (formula "1") (term "0")) + (rule "polySimp_pullOutFactor1" (formula "1") (term "0,0")) + (rule "add_literals" (formula "1") (term "1,0,0")) + (rule "times_zero_1" (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 "14") (term "1") (ifseqformula "6")) + (rule "castDel" (formula "14") (term "1")) + (rule "eqSymm" (formula "14")) + (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,0,2,0")) + (rule "mul_literals" (formula "14") (term "1,0,2,0,0,0,2,0")) + (rule "polySimp_elimSub" (formula "14") (term "3,1,2,0")) + (rule "mul_literals" (formula "14") (term "1,3,1,2,0")) + (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,2,0")) + (rule "polySimp_addComm0" (formula "14") (term "3,1,2,0")) + (rule "polySimp_addComm0" (formula "14") (term "2,0")) + (rule "Class_invariant_axiom_for_BoyerMoore" (formula "9") (ifseqformula "6")) + (rule "true_left" (formula "9")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "14") (term "0,0") (ifseqformula "6")) + (rule "castDel" (formula "14") (term "0,0")) + (rule "polySimp_elimSub" (formula "14") (term "3,1,2,0,0")) + (rule "mul_literals" (formula "14") (term "1,3,1,2,0,0")) + (rule "polySimp_elimSub" (formula "14") (term "0,2,0,0,0,2,0,0")) + (rule "mul_literals" (formula "14") (term "1,0,2,0,0,0,2,0,0")) + (rule "polySimp_addComm0" (formula "14") (term "3,1,2,0,0")) + (rule "polySimp_addComm0" (formula "14") (term "0,2,0,0,0,2,0,0")) + (rule "polySimp_addComm0" (formula "14") (term "2,0,0")) + (rule "applyEq" (formula "14") (term "0,0") (ifseqformula "13")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "12") (term "1") (inst "l=l")) + (rule "eqSymm" (formula "12") (term "0,1")) + (rule "replace_known_right" (formula "12") (term "0,1,1,0,0,0,0,0") (ifseqformula "20")) + (builtin "One Step Simplification" (formula "12") (ifInst "" (formula "4")) (ifInst "" (formula "5")) (ifInst "" (formula "19")) (ifInst "" (formula "13"))) + (rule "measuredByCheckEmpty" (formula "12") (term "1,0") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "12")) + (rule "inEqSimp_commuteLeq" (formula "12") (term "1,0,0")) + (rule "inEqSimp_commuteLeq" (formula "12") (term "0,0,0")) + (rule "replace_known_left" (formula "12") (term "0,0,0") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "12")) + (rule "applyEq" (formula "12") (term "0,0,0") (ifseqformula "11")) + (rule "inEqSimp_homoInEq1" (formula "12") (term "0,0")) + (rule "polySimp_pullOutFactor1" (formula "12") (term "0,0,0")) + (rule "add_literals" (formula "12") (term "1,0,0,0")) + (rule "times_zero_1" (formula "12") (term "0,0,0")) + (rule "leq_literals" (formula "12") (term "0,0")) + (builtin "One Step Simplification" (formula "12")) + (rule "true_left" (formula "12")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "0") (ifseqformula "6")) + (rule "castDel" (formula "2") (term "0")) + (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 "Definition_axiom_for_count_in_BoyerMoore" (formula "15") (term "0,0,1,0") (ifseqformula "6")) + (rule "castDel" (formula "15") (term "0,0,1,0")) + (rule "eqSymm" (formula "15") (term "0,0,2,0,0,1,0")) + (rule "polySimp_elimSub" (formula "15") (term "3,1,2,0,0,1,0")) + (rule "mul_literals" (formula "15") (term "1,3,1,2,0,0,1,0")) + (rule "polySimp_elimSub" (formula "15") (term "0,2,1,0,0,2,0,0,1,0")) + (rule "mul_literals" (formula "15") (term "1,0,2,1,0,0,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "15") (term "3,1,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "15") (term "0,2,1,0,0,2,0,0,1,0")) + (rule "polySimp_addComm0" (formula "15") (term "2,0,0,1,0")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "1") (term "1") (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 "20")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "5")) (ifInst "" (formula "6")) (ifInst "" (formula "19")) (ifInst "" (formula "2"))) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "9")) + (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 "11")) + (builtin "One Step Simplification" (formula "1")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "13") (term "1") (ifseqformula "7")) + (rule "castDel" (formula "13") (term "1")) + (rule "polySimp_elimSub" (formula "13") (term "0,2,0,0,0,2,1")) + (rule "mul_literals" (formula "13") (term "1,0,2,0,0,0,2,1")) + (rule "polySimp_elimSub" (formula "13") (term "3,1,2,1")) + (rule "mul_literals" (formula "13") (term "1,3,1,2,1")) + (rule "polySimp_addComm0" (formula "13") (term "0,2,0,0,0,2,1")) + (rule "polySimp_addComm0" (formula "13") (term "3,1,2,1")) + (rule "polySimp_addComm0" (formula "13") (term "2,1")) + (rule "applyEq" (formula "13") (term "1") (ifseqformula "14")) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "2") (term "1") (ifseqformula "7")) + (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 "Class_invariant_axiom_for_BoyerMoore" (formula "1") (term "1") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "jdiv_axiom" (formula "2") (term "1,1")) + (rule "eqSymm" (formula "2")) + (rule "replace_known_left" (formula "2") (term "0,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "applyEq" (formula "3") (term "1,1") (ifseqformula "2")) + (rule "ifthenelse_split" (formula "14") (term "0")) + (branch "k_0 = 0 TRUE" + (rule "eqSymm" (formula "15")) + (rule "replace_known_left" (formula "17") (term "0,0,0,1,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "17")) + (rule "times_zero_2" (formula "17") (term "0,1,0")) + (rule "replace_known_left" (formula "1") (term "0,1") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "1")) + (rule "replace_known_left" (formula "3") (term "0,0") (ifseqformula "14")) + (builtin "One Step Simplification" (formula "3")) + (rule "inEqSimp_commuteLeq" (formula "17") (term "1,0")) + (rule "replace_known_left" (formula "17") (term "1,0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "17")) + (rule "true_left" (formula "17")) + (rule "inEqSimp_homoInEq1" (formula "3")) + (rule "times_zero_2" (formula "3") (term "1,0")) + (rule "add_zero_right" (formula "3") (term "0")) + (rule "applyEqRigid" (formula "2") (term "0,0") (ifseqformula "14")) + (rule "eqSymm" (formula "2")) + (rule "jdiv_axiom_inline" (formula "2") (term "1")) + (rule "div_literals" (formula "2") (term "1,1")) + (rule "times_zero_2" (formula "2") (term "0,0,2,1")) + (rule "qeq_literals" (formula "2") (term "0,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "applyEqRigid" (formula "16") (term "3,0,0") (ifseqformula "14")) + (rule "applyEq" (formula "13") (term "1,0") (ifseqformula "14")) + (rule "bsum_lower_equals_upper" (formula "13") (term "0")) + (rule "eqSymm" (formula "13")) + (rule "applyEq" (formula "14") (term "3,0") (ifseqformula "13")) + (rule "applyEq" (formula "11") (term "0") (ifseqformula "13")) + (rule "qeq_literals" (formula "11")) + (rule "true_left" (formula "11")) + (rule "applyEqRigid" (formula "14") (term "1") (ifseqformula "12")) + (rule "applyEqRigid" (formula "1") (term "1,0") (ifseqformula "12")) + (rule "bsum_lower_equals_upper" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "applyEqRigid" (formula "2") (term "0,1,0") (ifseqformula "11")) + (rule "div_literals" (formula "2") (term "1,0")) + (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 "1") (term "0,1") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "1")) + (rule "replace_known_right" (formula "16") (term "0,0,0,1,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "16")) + (rule "replace_known_right" (formula "3") (term "0,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "3")) + (rule "polySimp_homoEq" (formula "14")) + (rule "polySimp_mulComm0" (formula "16") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "14") (term "1,0")) + (rule "polySimp_rightDist" (formula "16") (term "0,1,0")) + (rule "polySimp_mulComm0" (formula "16") (term "0,0,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 "inEqSimp_homoInEq1" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0")) + (rule "polySimp_rightDist" (formula "3") (term "1,0")) + (rule "polySimp_mulComm0" (formula "3") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "3") (term "0")) + (rule "inEqSimp_homoInEq0" (formula "16") (term "1,0")) + (rule "polySimp_mulComm0" (formula "16") (term "1,0,1,0")) + (rule "polySimp_rightDist" (formula "16") (term "1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "1,1,0,1,0")) + (rule "polySimp_mulAssoc" (formula "16") (term "0,1,0,1,0")) + (rule "polySimp_mulComm0" (formula "16") (term "0,0,1,0,1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "0,1,0,1,0")) + (rule "polySimp_addAssoc" (formula "16") (term "0,1,0")) + (rule "polySimp_sepNegMonomial" (formula "14")) + (rule "polySimp_mulLiterals" (formula "14") (term "0")) + (rule "polySimp_elimOne" (formula "14") (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 "16") (term "1,0")) + (rule "polySimp_mulLiterals" (formula "16") (term "0,1,0")) + (rule "inEqSimp_strengthen1" (formula "11") (ifseqformula "17")) + (rule "add_zero_right" (formula "11") (term "1")) + (rule "inEqSimp_contradEq7" (formula "17") (ifseqformula "11")) + (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 "arrayLengthNotNegative" (formula "12") (term "0")) + (rule "applyEq" (formula "12") (term "0") (ifseqformula "13")) + (rule "inEqSimp_subsumption1" (formula "12") (ifseqformula "11")) + (rule "leq_literals" (formula "12") (term "0")) + (builtin "One Step Simplification" (formula "12")) + (rule "true_left" (formula "12")) + (rule "arrayLengthIsAShort" (formula "12") (term "0")) + (builtin "One Step Simplification" (formula "12")) + (rule "true_left" (formula "12")) + (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 "5") (term "1") (ifseqformula "2")) + (rule "applyEqRigid" (formula "6") (term "1,0,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 "14") (ifseqformula "4")) + (rule "mul_literals" (formula "14") (term "0,0")) + (rule "polySimp_addAssoc" (formula "14") (term "0")) + (rule "add_literals" (formula "14") (term "0,0")) + (rule "add_zero_left" (formula "14") (term "0")) + (rule "elimGcdGeq_antec" (formula "14") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=quotient_0") (inst "elimGcdRightDiv=Z(0(#))")) + (rule "polySimp_mulLiterals" (formula "14") (term "1,0,1,0")) + (rule "leq_literals" (formula "14") (term "0,0")) + (builtin "One Step Simplification" (formula "14")) + (rule "add_zero_right" (formula "14") (term "0,0,0,0")) + (rule "times_zero_1" (formula "14") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "14") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor0b" (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 "leq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "ifthenelse_split" (formula "1") (term "1,1")) + (branch "a[-1 + k_0] = m_0 TRUE" + (rule "replace_known_left" (formula "7") (term "0,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "7")) + (rule "polySimp_addComm0" (formula "2") (term "1")) + (rule "inEqSimp_homoInEq1" (formula "7")) + (rule "mul_literals" (formula "7") (term "1,0")) + (rule "polySimp_addComm1" (formula "7") (term "0")) + (rule "polySimp_addComm1" (formula "7") (term "0,0")) + (rule "add_literals" (formula "7") (term "0,0,0")) + (rule "add_zero_left" (formula "7") (term "0,0")) + (rule "applyEq" (formula "19") (term "0,0,0") (ifseqformula "1")) + (rule "eqSymm" (formula "19") (term "0,0")) + (rule "applyEq" (formula "21") (term "1,0,0,0,1,0") (ifseqformula "1")) + (rule "inEqSimp_sepNegMonomial0" (formula "7")) + (rule "polySimp_mulLiterals" (formula "7") (term "0")) + (rule "polySimp_elimOne" (formula "7") (term "0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "23") (term "1,0") (ifseqformula "9")) + (rule "replace_known_right" (formula "1") (term "0") (ifseqformula "23")) + (builtin "One Step Simplification" (formula "1")) + (rule "ifthenelse_split" (formula "20") (term "0")) + (branch "mx_0 = m_0 TRUE" + (rule "polySimp_homoEq" (formula "21")) + (rule "mul_literals" (formula "21") (term "1,0")) + (rule "polySimp_addComm1" (formula "21") (term "0")) + (rule "polySimp_addComm0" (formula "21") (term "0,0")) + (rule "applyEq" (formula "21") (term "4,0,1,0") (ifseqformula "20")) + (rule "applyEq" (formula "22") (term "4,0,0") (ifseqformula "20")) + (rule "applyEqRigid" (formula "19") (term "4,1") (ifseqformula "20")) + (rule "applyEq" (formula "23") (term "1,0,0") (ifseqformula "20")) + (rule "applyEq" (formula "19") (term "1,0,2,0") (ifseqformula "20")) + (rule "applyEq" (formula "19") (term "0") (ifseqformula "3")) + (rule "polySimp_homoEq" (formula "19")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0")) + (rule "polySimp_rightDist" (formula "19") (term "1,0")) + (rule "mul_literals" (formula "19") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "19") (term "0")) + (rule "polySimp_addComm0" (formula "19") (term "0,0")) + (rule "applyEqRigid" (formula "21") (term "4,1,0,0") (ifseqformula "20")) + (rule "polySimp_sepNegMonomial" (formula "19")) + (rule "polySimp_mulLiterals" (formula "19") (term "0")) + (rule "polySimp_elimOne" (formula "19") (term "0")) + (rule "applyEq" (formula "8") (term "0") (ifseqformula "19")) + (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 "applyEq" (formula "3") (term "1,1") (ifseqformula "19")) + (rule "polySimp_addAssoc" (formula "3") (term "1")) + (rule "add_literals" (formula "3") (term "0,1")) + (rule "add_zero_left" (formula "3") (term "1")) + (rule "inEqSimp_sepNegMonomial0" (formula "8")) + (rule "polySimp_mulLiterals" (formula "8") (term "0")) + (rule "polySimp_elimOne" (formula "8") (term "0")) + (rule "inEqSimp_exactShadow2" (formula "8") (ifseqformula "21")) + (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 "inEqSimp_sepPosMonomial1" (formula "8")) + (rule "polySimp_mulComm0" (formula "8") (term "1")) + (rule "polySimp_rightDist" (formula "8") (term "1")) + (rule "mul_literals" (formula "8") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "8") (term "1,1")) + (rule "inEqSimp_contradInEq1" (formula "6") (ifseqformula "8")) + (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 "mul_literals" (formula "6") (term "0,1,0")) + (rule "polySimp_mulLiterals" (formula "6") (term "1,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")) + ) + (branch "mx_0 = m_0 FALSE" + (rule "polySimp_homoEq" (formula "20")) + (rule "times_zero_2" (formula "20") (term "1,0")) + (rule "add_zero_right" (formula "20") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "20")) + (rule "polySimp_mulLiterals" (formula "20") (term "0")) + (rule "polySimp_elimOne" (formula "20") (term "0")) + (rule "allLeft" (formula "22") (inst "t=m_0")) + (builtin "One Step Simplification" (formula "22")) + (rule "mul_literals" (formula "22") (term "0,1")) + (rule "eqSymm" (formula "22") (term "0")) + (rule "replace_known_right" (formula "22") (term "0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "22")) + (rule "inEqSimp_homoInEq0" (formula "22")) + (rule "mul_literals" (formula "22") (term "1,0")) + (rule "polySimp_addComm1" (formula "22") (term "0")) + (rule "polySimp_addComm0" (formula "22") (term "0,0")) + (rule "inEqSimp_sepNegMonomial1" (formula "22")) + (rule "polySimp_mulLiterals" (formula "22") (term "0")) + (rule "inEqSimp_exactShadow2" (formula "8") (ifseqformula "22")) + (rule "greater_literals" (formula "8") (term "0")) + (builtin "One Step Simplification" (formula "8")) + (rule "polySimp_mulComm0" (formula "8") (term "1,0,0")) + (rule "polySimp_mulAssoc" (formula "8") (term "0,0")) + (rule "polySimp_mulComm0" (formula "8") (term "0,0,0")) + (rule "polySimp_mulLiterals" (formula "8") (term "0,0")) + (rule "polySimp_addAssoc" (formula "8") (term "0")) + (rule "polySimp_addComm0" (formula "8") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "8")) + (rule "polySimp_mulComm0" (formula "8") (term "1")) + (rule "polySimp_rightDist" (formula "8") (term "1")) + (rule "mul_literals" (formula "8") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "8") (term "1,1")) + (rule "inEqSimp_subsumption1" (formula "5") (ifseqformula "8")) + (rule "inEqSimp_homoInEq0" (formula "5") (term "0")) + (rule "polySimp_mulLiterals" (formula "5") (term "1,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "5") (term "0,0")) + (rule "add_literals" (formula "5") (term "1,1,0,0")) + (rule "times_zero_1" (formula "5") (term "1,0,0")) + (rule "add_zero_right" (formula "5") (term "0,0")) + (rule "qeq_literals" (formula "5") (term "0")) + (builtin "One Step Simplification" (formula "5")) + (rule "true_left" (formula "5")) + (rule "inEqSimp_contradInEq1" (formula "5") (ifseqformula "7")) + (rule "andLeft" (formula "5")) + (rule "inEqSimp_homoInEq1" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1,0")) + (rule "polySimp_rightDist" (formula "5") (term "1,0")) + (rule "mul_literals" (formula "5") (term "0,1,0")) + (rule "polySimp_mulLiterals" (formula "5") (term "1,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_literals" (formula "5") (term "0")) + (rule "leq_literals" (formula "5")) + (rule "closeFalse" (formula "5")) + ) + ) + (branch "a[-1 + k_0] = m_0 FALSE" + (rule "add_zero_right" (formula "1") (term "1")) + (rule "replace_known_right" (formula "6") (term "0,0") (ifseqformula "21")) + (builtin "One Step Simplification" (formula "6")) + (rule "inEqSimp_homoInEq1" (formula "6")) + (rule "times_zero_2" (formula "6") (term "1,0")) + (rule "add_zero_right" (formula "6") (term "0")) + (rule "inEqSimp_sepNegMonomial0" (formula "6")) + (rule "polySimp_mulLiterals" (formula "6") (term "0")) + (rule "polySimp_elimOne" (formula "6") (term "0")) + (rule "ifthenelse_split" (formula "18") (term "0")) + (branch "a[-1 + 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 "22") (term "0") (ifseqformula "18")) + (rule "applyEq" (formula "21") (term "1,0,0,0,1,0") (ifseqformula "18")) + (rule "polySimp_sepNegMonomial" (formula "19")) + (rule "polySimp_mulLiterals" (formula "19") (term "0")) + (rule "polySimp_elimOne" (formula "19") (term "0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "24") (term "1,0") (ifseqformula "8")) + (rule "replace_known_right" (formula "1") (term "0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "1")) + (rule "allLeft" (formula "22") (inst "t=m_0")) + (rule "eqSymm" (formula "22") (term "0,0,0,1")) + (rule "eqSymm" (formula "22") (term "0")) + (rule "replace_known_right" (formula "22") (term "0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "22") (ifInst "" (formula "24"))) + (rule "times_zero_2" (formula "22") (term "0")) + (rule "inEqSimp_homoInEq0" (formula "22")) + (rule "mul_literals" (formula "22") (term "1,0")) + (rule "add_zero_right" (formula "22") (term "0")) + (rule "inEqSimp_sepNegMonomial1" (formula "22")) + (rule "polySimp_mulLiterals" (formula "22") (term "0")) + (rule "inEqSimp_exactShadow2" (formula "7") (ifseqformula "22")) + (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 "inEqSimp_sepPosMonomial1" (formula "7")) + (rule "polySimp_mulComm0" (formula "7") (term "1")) + (rule "polySimp_rightDist" (formula "7") (term "1")) + (rule "mul_literals" (formula "7") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "7") (term "1,1")) + (rule "inEqSimp_subsumption1" (formula "4") (ifseqformula "7")) + (rule "inEqSimp_homoInEq0" (formula "4") (term "0")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "4") (term "0,0")) + (rule "add_literals" (formula "4") (term "1,1,0,0")) + (rule "times_zero_1" (formula "4") (term "1,0,0")) + (rule "add_zero_right" (formula "4") (term "0,0")) + (rule "qeq_literals" (formula "4") (term "0")) + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) + (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 "mul_literals" (formula "4") (term "0,1,0")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,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_literals" (formula "4") (term "0")) + (rule "leq_literals" (formula "4")) + (rule "closeFalse" (formula "4")) + ) + (branch "a[-1 + k_0] = mx_0 FALSE" + (rule "polySimp_homoEq" (formula "18")) + (rule "times_zero_2" (formula "18") (term "1,0")) + (rule "add_zero_right" (formula "18") (term "0")) + (rule "polySimp_sepNegMonomial" (formula "18")) + (rule "polySimp_mulLiterals" (formula "18") (term "0")) + (rule "polySimp_elimOne" (formula "18") (term "0")) + (rule "onlyCreatedObjectsAreReferenced" (formula "24") (term "1,0") (ifseqformula "8")) + (rule "replace_known_right" (formula "1") (term "0") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "1")) + (rule "allLeft" (formula "21") (inst "t=m_0")) + (rule "eqSymm" (formula "21") (term "0,0,0,1")) + (rule "eqSymm" (formula "21") (term "0")) + (rule "replace_known_right" (formula "21") (term "0,0,0,1") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "21")) + (rule "times_zero_2" (formula "21") (term "0,1")) + (rule "inEqSimp_homoInEq0" (formula "21") (term "1")) + (rule "times_zero_2" (formula "21") (term "1,0,1")) + (rule "add_zero_right" (formula "21") (term "0,1")) + (rule "inEqSimp_sepNegMonomial1" (formula "21") (term "1")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,1")) + (rule "cut_direct" (formula "21") (term "1")) + (branch "CUT: self.(BoyerMoore::count$lmtd)(a, -1 + k_0, m_0) * 2 <= k_0 TRUE" + (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 "mul_literals" (formula "7") (term "0,0,0")) + (rule "polySimp_mulLiterals" (formula "7") (term "1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "7")) + (rule "polySimp_mulComm0" (formula "7") (term "1")) + (rule "polySimp_rightDist" (formula "7") (term "1")) + (rule "polySimp_mulLiterals" (formula "7") (term "1,1")) + (rule "mul_literals" (formula "7") (term "0,1")) + (rule "inEqSimp_contradInEq1" (formula "5") (ifseqformula "7")) + (rule "andLeft" (formula "5")) + (rule "inEqSimp_homoInEq1" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1,0")) + (rule "polySimp_rightDist" (formula "5") (term "1,0")) + (rule "mul_literals" (formula "5") (term "0,1,0")) + (rule "polySimp_mulLiterals" (formula "5") (term "1,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.(BoyerMoore::count$lmtd)(a, -1 + k_0, m_0) * 2 <= k_0 FALSE" + (builtin "One Step Simplification" (formula "21")) + (rule "inEqSimp_leqRight" (formula "23")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "applyEq" (formula "20") (term "4,0") (ifseqformula "22")) + (rule "applyEq" (formula "21") (term "4,0,0") (ifseqformula "22")) + (rule "applyEq" (formula "8") (term "0") (ifseqformula "20")) + (rule "applyEq" (formula "1") (term "0,1,0") (ifseqformula "20")) + (rule "applyEqRigid" (formula "8") (term "4,0") (ifseqformula "22")) + (rule "applyEq" (formula "1") (term "4,0,1,0") (ifseqformula "22")) + (rule "applyEq" (formula "19") (term "1,0,2,0") (ifseqformula "22")) + (rule "applyEqRigid" (formula "24") (term "1") (ifseqformula "22")) + (rule "applyEq" (formula "19") (term "4,1") (ifseqformula "22")) + (rule "applyEq" (formula "23") (term "1,0,0") (ifseqformula "22")) + (rule "applyEqRigid" (formula "20") (term "4,1") (ifseqformula "22")) + (rule "applyEq" (formula "3") (term "0") (ifseqformula "19")) + (rule "eqSymm" (formula "3")) + (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_contradInEq2" (formula "1") (ifseqformula "20")) + (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_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + ) + ) + ) + ) + (branch "Case 2" + (rule "andRight" (formula "18")) + (branch "Case 1" + (builtin "One Step Simplification" (formula "18") (ifInst "" (formula "8"))) + (rule "closeTrue" (formula "18")) + ) + (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 "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 "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 "Static_class_invariant_axiom_for_IntOpt" (formula "8")) + (rule "andLeft" (formula "8")) + (rule "notLeft" (formula "8")) + (rule "close" (formula "16") (ifseqformula "1")) + ) + ) + ) + ) + (branch "Case 2" + (builtin "One Step Simplification" (formula "18")) + (rule "closeTrue" (formula "18")) + ) + ) + (branch + (builtin "One Step Simplification" (formula "18")) + (rule "closeTrue" (formula "18")) + ) + ) + (branch "if mc == 0 false" + (builtin "One Step Simplification" (formula "1")) + (builtin "One Step Simplification" (formula "19")) + (rule "notLeft" (formula "1")) + (rule "variableDeclarationAssign" (formula "19") (term "1")) + (rule "variableDeclaration" (formula "19") (term "1") (newnames "cnt")) + (rule "assignment" (formula "19") (term "1")) + (builtin "One Step Simplification" (formula "19")) + (rule "for_to_while" (formula "19") (term "1") (inst "#outerLabel=_label3") (inst "#innerLabel=_label2")) + (rule "variableDeclarationAssign" (formula "19") (term "1")) + (rule "variableDeclaration" (formula "19") (term "1") (newnames "r")) + (rule "assignment" (formula "19") (term "1")) + (builtin "One Step Simplification" (formula "19")) + (rule "elim_double_block_3" (formula "19") (term "1")) + (builtin "Loop Invariant" (formula "19") (newnames "variant_0,b_0,heapBefore_LOOP_0,rBefore_LOOP,cntBefore_LOOP,r_0,cnt_0,heap_After_LOOP_0,anon_heap_LOOP_0,o,f")) + (branch "Invariant Initially Valid" + (rule "andRight" (formula "19")) + (branch "Case 1" + (rule "andRight" (formula "19")) + (branch "Case 1" + (opengoal " wellFormed(heap)<>, ( boolean::select(heap, self, java.lang.Object::) = TRUE)<>, (BoyerMoore::exactInstance(self) = TRUE)<>, ( boolean::select(heap, a, java.lang.Object::) = TRUE)<>, measuredByEmpty<>, IntOpt::<$inv>(heap), java.lang.Object::(heap, self)<>, wellFormed(anon_heap_LOOP<>), geq(k_0, Z(0(#)))<>, geq(length(a), k_0)<>, geq(mc_0, Z(0(#)))<>, BoyerMoore::count$lmtd(heap, self, a, k_0, mx_0) = BoyerMoore::count(heap, self, a, k_0, mx_0), leq(mul(BoyerMoore::count(heap, self, a, k_0, mx_0), Z(2(#))), add(k_0, mc_0))<>, (\\forall int x; ( !x = mx_0 -> leq(mul(BoyerMoore::count(heap, self, a, k_0, x), Z(2(#))), add(k_0, mul(mc_0, Z(neglit(1(#))))))))<> ==> (mc_0 = Z(0(#)))< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit)]\")>>, lt(k_0, length(a)), (self<> = null)<>, (a = null)<>, {(heapAtPre:=heap || _a:=a || exc:=null || mx:=mx_0 || cnt:=Z(0(#)) || r:=Z(0(#))< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit)]\")>>)< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit)]\")>>} (( (leq(Z(0(#)), r) & leq(r, length(_a)))<> & (cnt = BoyerMoore::count(heap, self, _a, r, mx))<>)<>)") + ) + (branch "Case 2" + (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_leqRight" (formula "19")) + (rule "add_zero_right" (formula "1") (term "0")) + (rule "polySimp_mulComm0" (formula "1") (term "1,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 "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 "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 "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 "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 "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 "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 "applyEq" (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 "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 "Case 2" + (opengoal " wellFormed(heap)<>, ( boolean::select(heap, self, java.lang.Object::) = TRUE)<>, (BoyerMoore::exactInstance(self) = TRUE)<>, ( boolean::select(heap, a, java.lang.Object::) = TRUE)<>, measuredByEmpty<>, IntOpt::<$inv>(heap), java.lang.Object::(heap, self)<>, wellFormed(anon_heap_LOOP<>), geq(k_0, Z(0(#)))<>, geq(length(a), k_0)<>, geq(mc_0, Z(0(#)))<>, BoyerMoore::count$lmtd(heap, self, a, k_0, mx_0) = BoyerMoore::count(heap, self, a, k_0, mx_0), leq(mul(BoyerMoore::count(heap, self, a, k_0, mx_0), Z(2(#))), add(k_0, mc_0))<>, (\\forall int x; ( !x = mx_0 -> leq(mul(BoyerMoore::count(heap, self, a, k_0, x), Z(2(#))), add(k_0, mul(mc_0, Z(neglit(1(#))))))))<> ==> (mc_0 = Z(0(#)))< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit)]\")>>, lt(k_0, length(a)), (self<> = null)<>, (a = null)<>, {(heapAtPre:=heap || _a:=a || exc:=null || mx:=mx_0 || cnt:=Z(0(#)) || r:=Z(0(#))< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit)]\")>>)< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit)]\")>>} wellFormed(heap)") + ) + ) + (branch "Body Preserves Invariant" + (builtin "One Step Simplification" (formula "21")) + (builtin "One Step Simplification" (formula "16")) + (rule "impRight" (formula "21")) + (rule "andLeft" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "andLeft" (formula "17")) + (rule "eqSymm" (formula "25") (term "1,0,0,0,1,1,1,0,1")) + (rule "eqSymm" (formula "25") (term "0,0,1,0,1,1,1,0,1")) + (rule "eqSymm" (formula "19")) + (rule "polySimp_elimSub" (formula "25") (term "0,1,1,1,1,0,1")) + (rule "polySimp_elimSub" (formula "25") (term "0,1,1,1,0")) + (rule "polySimp_addComm0" (formula "25") (term "0,1,1,1,1,0,1")) + (rule "polySimp_addComm0" (formula "25") (term "0,1,1,1,0")) + (rule "inEqSimp_commuteLeq" (formula "25") (term "1,0,0,1,1,1,0,1")) + (rule "inEqSimp_commuteLeq" (formula "25") (term "0,0,0,0,0,1,1,1,0,1")) + (rule "inEqSimp_commuteLeq" (formula "25") (term "1,0,0,0,0,1,1,1,0,1")) + (rule "inEqSimp_commuteLeq" (formula "20")) + (rule "inEqSimp_commuteLeq" (formula "17")) + (rule "inEqSimp_commuteLeq" (formula "18")) + (rule "variableDeclarationAssign" (formula "1") (term "1")) + (rule "variableDeclarationAssign" (formula "25") (term "1")) + (rule "variableDeclaration" (formula "1") (term "1") (newnames "b_0_1")) + (rule "variableDeclaration" (formula "25") (term "1") (newnames "rtrn")) + (rule "assignment" (formula "25") (term "1")) + (builtin "One Step Simplification" (formula "25")) + (rule "variableDeclaration" (formula "25") (term "1") (newnames "returnExpr")) + (rule "variableDeclarationAssign" (formula "25") (term "1")) + (rule "variableDeclaration" (formula "25") (term "1") (newnames "exc_1")) + (rule "assignment" (formula "25") (term "1")) + (builtin "One Step Simplification" (formula "25")) + (rule "variableDeclaration" (formula "25") (term "1") (newnames "thrownExc")) + (rule "blockReturn" (formula "25") (term "1,0,1,0,1")) + (rule "blockThrow" (formula "25") (term "1,0,0,1")) + (rule "boxToDiamond" (formula "1") (term "1")) + (builtin "One Step Simplification" (formula "1")) + (rule "notLeft" (formula "1")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "18") (term "0")) + (rule "applyEq" (formula "18") (term "1") (ifseqformula "19")) + (rule "compound_less_than_comparison_2" (formula "21") (term "1") (inst "#v1=i_3") (inst "#v0=i_2")) + (rule "variableDeclarationAssign" (formula "21") (term "1")) + (rule "variableDeclaration" (formula "21") (term "1") (newnames "i_2")) + (rule "assignment" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "variableDeclarationAssign" (formula "21") (term "1")) + (rule "variableDeclaration" (formula "21") (term "1") (newnames "i_3")) + (rule "assignment_read_length" (formula "21")) + (branch "Normal Execution (mc == 0 != null)" + (builtin "One Step Simplification" (formula "21")) + (rule "less_than_comparison_simple" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "methodCallEmpty" (formula "21") (term "1")) + (rule "emptyModality" (formula "21") (term "1")) + (builtin "One Step Simplification" (formula "21")) + (rule "notRight" (formula "21")) + (rule "ifUnfold" (formula "26") (term "1") (inst "#boolv=b_3")) + (rule "variableDeclaration" (formula "26") (term "1") (newnames "b_3")) + (rule "compound_less_than_comparison_2" (formula "26") (term "1") (inst "#v1=i_5") (inst "#v0=i_4")) + (rule "variableDeclarationAssign" (formula "26") (term "1")) + (rule "variableDeclaration" (formula "26") (term "1") (newnames "i_4")) + (rule "assignment" (formula "26") (term "1")) + (builtin "One Step Simplification" (formula "26")) + (rule "variableDeclarationAssign" (formula "26") (term "1")) + (rule "variableDeclaration" (formula "26") (term "1") (newnames "i_5")) + (rule "assignment_read_length" (formula "26")) + (branch "Normal Execution (mc == 0 != null)" + (builtin "One Step Simplification" (formula "26")) + (rule "less_than_comparison_simple" (formula "26") (term "1")) + (builtin "One Step Simplification" (formula "26")) + (rule "replace_known_left" (formula "26") (term "0,0,1,0") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "26")) + (rule "arrayLengthNotNegative" (formula "11") (term "0")) + (rule "arrayLengthIsAShort" (formula "12") (term "0")) + (builtin "One Step Simplification" (formula "12")) + (rule "true_left" (formula "12")) + (rule "ifSplit" (formula "27")) + (branch "if r < _a.length true" + (builtin "One Step Simplification" (formula "28")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "ifUnfold" (formula "27") (term "1") (inst "#boolv=b_4")) + (rule "variableDeclaration" (formula "27") (term "1") (newnames "b_4")) + (rule "compound_equality_comparison_2" (formula "27") (term "1") (inst "#v1=i_7") (inst "#v0=i_6")) + (rule "variableDeclarationAssign" (formula "27") (term "1")) + (rule "variableDeclaration" (formula "27") (term "1") (newnames "i_6")) + (rule "assignment" (formula "27") (term "1")) + (builtin "One Step Simplification" (formula "27")) + (rule "variableDeclarationAssign" (formula "27") (term "1")) + (rule "variableDeclaration" (formula "27") (term "1") (newnames "i_7")) + (rule "assignment_array2" (formula "27")) + (branch "Normal Execution (mc == 0 != null)" + (builtin "One Step Simplification" (formula "27")) + (rule "equality_comparison_simple" (formula "27") (term "1")) + (builtin "One Step Simplification" (formula "27")) + (rule "eqSymm" (formula "27") (term "0,0,1,0")) + (rule "ifSplit" (formula "27")) + (branch "if mx == _a[r] true" + (builtin "One Step Simplification" (formula "28")) + (builtin "One Step Simplification" (formula "1")) + (rule "elim_double_block_2" (formula "28") (term "1")) + (rule "ifUnfold" (formula "28") (term "1") (inst "#boolv=b_5")) + (rule "variableDeclaration" (formula "28") (term "1") (newnames "b_5")) + (rule "compound_greater_than_comparison_2" (formula "28") (term "1") (inst "#v1=i_9") (inst "#v0=i_8")) + (rule "variableDeclarationAssign" (formula "28") (term "1")) + (rule "variableDeclaration" (formula "28") (term "1") (newnames "i_8")) + (rule "preincrement_assignment" (formula "28") (term "1")) + (rule "compound_reference_cast_expression_primitive" (formula "28") (term "1") (inst "#v=i_10")) + (rule "variableDeclarationAssign" (formula "28") (term "1")) + (rule "variableDeclaration" (formula "28") (term "1") (newnames "i_10")) + (rule "remove_parentheses_right" (formula "28") (term "1")) + (rule "assignmentAdditionInt" (formula "28") (term "1")) + (builtin "One Step Simplification" (formula "28")) + (rule "translateJavaAddInt" (formula "28") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "28") (term "0,1,0")) + (rule "widening_identity_cast_5" (formula "28") (term "1")) + (rule "assignment" (formula "28") (term "1")) + (builtin "One Step Simplification" (formula "28")) + (rule "assignment" (formula "28") (term "1")) + (builtin "One Step Simplification" (formula "28")) + (rule "variableDeclarationAssign" (formula "28") (term "1")) + (rule "variableDeclaration" (formula "28") (term "1") (newnames "i_9")) + (rule "compound_division_1" (formula "28") (term "1") (inst "#v=i_11")) + (rule "variableDeclarationAssign" (formula "28") (term "1")) + (rule "variableDeclaration" (formula "28") (term "1") (newnames "i_11")) + (rule "assignment_read_length" (formula "28")) + (branch "Normal Execution (mc == 0 != null)" + (builtin "One Step Simplification" (formula "28")) + (rule "assignmentDivisionInt" (formula "28")) + (branch "Case 1" + (builtin "One Step Simplification" (formula "28")) + (rule "translateJavaDivInt" (formula "28") (term "0,1,0")) + (rule "greater_than_comparison_simple" (formula "28") (term "1")) + (builtin "One Step Simplification" (formula "28")) + (rule "ifSplit" (formula "28")) + (branch "if ++cnt > _a.length / 2 true" + (builtin "One Step Simplification" (formula "1")) + (builtin "One Step Simplification" (formula "29")) + (rule "elim_double_block_2" (formula "29") (term "1")) + (rule "methodCallUnfoldArguments" (formula "29") (term "1")) + (rule "variableDeclarationAssign" (formula "29") (term "1")) + (rule "variableDeclaration" (formula "29") (term "1") (newnames "var")) + (rule "assignment" (formula "29") (term "1")) + (builtin "One Step Simplification" (formula "29")) + (rule "variableDeclarationAssign" (formula "29") (term "1")) + (rule "variableDeclaration" (formula "29") (term "1") (newnames "var_1")) + (rule "elim_double_block_9" (formula "29") (term "1")) + (rule "assignmentAdditionInt" (formula "29") (term "1")) + (builtin "One Step Simplification" (formula "29")) + (rule "translateJavaAddInt" (formula "29") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "29") (term "0,1,0")) + (rule "variableDeclarationAssign" (formula "29") (term "1")) + (rule "variableDeclaration" (formula "29") (term "1") (newnames "var_2")) + (rule "assignment" (formula "29") (term "1")) + (builtin "One Step Simplification" (formula "29")) + (builtin "Use Operation Contract" (formula "29") (newnames "heapBefore_monoLemma,exc_0") (contract "BoyerMoore[BoyerMoore::monoLemma([I,int,int)].JML normal_behavior operation contract.0") (modality "diamond")) + (branch "Post (monoLemma)" + (builtin "One Step Simplification" (formula "25") (ifInst "" (formula "10"))) + (builtin "One Step Simplification" (formula "30")) + (rule "andLeft" (formula "25")) + (rule "andLeft" (formula "26")) + (rule "inEqSimp_commuteLeq" (formula "26")) + (rule "blockEmpty" (formula "31") (term "1")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "26") (term "1")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "27") (term "0")) + (rule "methodCallParamThrow" (formula "33") (term "1,0,0,1")) + (rule "methodCallReturn" (formula "33") (term "1,0,1,0,1")) + (rule "assignment" (formula "33") (term "1,0,1,0,1")) + (rule "tryCatchThrow" (formula "33") (term "1,0,0,1")) + (rule "ifElseUnfold" (formula "33") (term "1,0,0,1") (inst "#boolv=b_6")) + (rule "variableDeclaration" (formula "33") (term "1,0,0,1") (newnames "b_6")) + (rule "methodCallEmpty" (formula "33") (term "1,1,0,1,0,1")) + (rule "equality_comparison_simple" (formula "33") (term "1,0,0,1")) + (rule "tryEmpty" (formula "33") (term "1,1,0,1,0,1")) + (rule "emptyModality" (formula "33") (term "1,1,0,1,0,1")) + (builtin "One Step Simplification" (formula "33")) + (rule "instanceCreationAssignment" (formula "33") (term "1") (inst "#v0=i_12")) + (rule "variableDeclarationAssign" (formula "33") (term "1")) + (rule "variableDeclaration" (formula "33") (term "1") (newnames "i_12")) + (rule "staticMethodCallStaticWithAssignmentViaTypereference" (formula "33") (term "1") (inst "#v0=i_13")) + (rule "variableDeclaration" (formula "33") (term "1") (newnames "i_13")) + (rule "methodBodyExpand" (formula "33") (term "1") (newnames "heapBefore_,savedHeapBefore_")) + (builtin "One Step Simplification" (formula "33")) + (rule "variableDeclaration" (formula "33") (term "1") (newnames "__NEW__")) + (rule "staticMethodCallStaticWithAssignmentViaTypereference" (formula "33") (term "1") (inst "#v0=i_14")) + (rule "variableDeclaration" (formula "33") (term "1") (newnames "i_14")) + (rule "allocateInstance" (formula "33")) + (builtin "One Step Simplification" (formula "34")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "5"))) + (rule "andLeft" (formula "1")) + (rule "andLeft" (formula "1")) + (rule "notLeft" (formula "2")) + (rule "notLeft" (formula "1")) + (rule "blockEmpty" (formula "36") (term "1")) + (rule "assignment" (formula "36") (term "1")) + (builtin "One Step Simplification" (formula "36")) + (rule "methodBodyExpand" (formula "36") (term "1") (newnames "heapBefore_,savedHeapBefore_")) + (builtin "One Step Simplification" (formula "36")) + (rule "assignment_write_attribute_this" (formula "36")) + (builtin "One Step Simplification" (formula "36")) + (rule "methodCallWithinClass" (formula "36") (term "1")) + (rule "methodBodyExpand" (formula "36") (term "1") (newnames "heapBefore_,savedHeapBefore_")) + (builtin "One Step Simplification" (formula "36")) + (rule "methodCallSuper" (formula "36") (term "1")) + (rule "methodBodyExpand" (formula "36") (term "1") (newnames "heapBefore_,savedHeapBefore_")) + (builtin "One Step Simplification" (formula "36")) + (rule "methodCallEmpty" (formula "36") (term "1")) + (rule "blockEmpty" (formula "36") (term "1")) + (rule "assignment_write_attribute_this" (formula "36")) + (builtin "One Step Simplification" (formula "36")) + (rule "assignment_write_attribute_this" (formula "36")) + (builtin "One Step Simplification" (formula "36")) + (rule "methodCallEmpty" (formula "36") (term "1")) + (rule "blockEmpty" (formula "36") (term "1")) + (rule "methodCallReturnIgnoreResult" (formula "36") (term "1")) + (rule "methodCallReturn" (formula "36") (term "1")) + (rule "assignment" (formula "36") (term "1")) + (builtin "One Step Simplification" (formula "36")) + (rule "methodCallEmpty" (formula "36") (term "1")) + (rule "blockEmpty" (formula "36") (term "1")) + (rule "assignment" (formula "36") (term "1")) + (builtin "One Step Simplification" (formula "36")) + (rule "variableDeclarationAssign" (formula "36") (term "1")) + (rule "variableDeclaration" (formula "36") (term "1") (newnames "var_3")) + (rule "assignment" (formula "36") (term "1")) + (builtin "One Step Simplification" (formula "36")) + (rule "methodBodyExpand" (formula "36") (term "1") (newnames "heapBefore_,savedHeapBefore_")) + (builtin "One Step Simplification" (formula "36")) + (rule "methodCallSuper" (formula "36") (term "1")) + (rule "methodBodyExpand" (formula "36") (term "1") (newnames "heapBefore__0,savedHeapBefore__0")) + (builtin "One Step Simplification" (formula "36")) + (rule "methodCallEmpty" (formula "36") (term "1")) + (rule "blockEmpty" (formula "36") (term "1")) + (rule "assignment_write_attribute_this" (formula "36")) + (builtin "One Step Simplification" (formula "36")) + (rule "assignment_write_attribute_this" (formula "36")) + (builtin "One Step Simplification" (formula "36")) + (rule "methodCallEmpty" (formula "36") (term "1")) + (rule "blockEmpty" (formula "36") (term "1")) + (rule "assignment_write_attribute" (formula "36")) + (branch "Normal Execution (i_12 != null)" + (builtin "One Step Simplification" (formula "36")) + (rule "assignment" (formula "36") (term "1")) + (builtin "One Step Simplification" (formula "36")) + (rule "assignment" (formula "36") (term "1")) + (builtin "One Step Simplification" (formula "36")) + (rule "blockBreakNoLabel" (formula "36") (term "1")) + (rule "blockBreakLabel" (formula "36") (term "1")) + (rule "blockEmpty" (formula "36") (term "1")) + (rule "tryEmpty" (formula "36") (term "1")) + (rule "methodCallEmpty" (formula "36") (term "1")) + (rule "emptyModality" (formula "36") (term "1")) + (builtin "One Step Simplification" (formula "36") (ifInst "" (formula "30"))) + (rule "andRight" (formula "36")) + (branch "Case 1" + (rule "andRight" (formula "36")) + (branch "Case 1" + (rule "impRight" (formula "36")) + (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") (userinteraction)) + (rule "applyEq" (formula "38") (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" + (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_ltRight" (formula "35")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_gtRight" (formula "38")) + (rule "polySimp_mulComm0" (formula "1") (term "0,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 "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_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_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 "distributeIntersection_2" (formula "32") (term "0")) + (rule "distributeIntersection_2" (formula "32") (term "1,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 "36"))) + (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 "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 "37") (ifseqformula "2")) + ) + (branch "Case 2" + (rule "applyEq" (formula "39") (term "0") (ifseqformula "32") (userinteraction)) + (rule "applyEqReverse" (formula "4") (term "1,0") (ifseqformula "25") (userinteraction)) + (rule "Definition_axiom_for_count_in_BoyerMoore" (formula "31") (term "1") (ifseqformula "9") (userinteraction)) + (rule "castDel" (formula "31") (term "1") (userinteraction)) + (rule "ifthenelse_split" (formula "31") (term "1") (userinteraction)) + (branch "1 + r_0 = 0 TRUE" + (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_addAssoc" (formula "5") (term "0")) + (rule "polySimp_addComm1" (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 "5") (term "1,0") (ifseqformula "26")) + (rule "polySimp_addComm0" (formula "5") (term "0")) + (rule "polySimp_sepPosMonomial" (formula "32")) + (rule "mul_literals" (formula "32") (term "1")) + (rule "applyEq" (formula "24") (term "0") (ifseqformula "32")) + (rule "qeq_literals" (formula "24")) + (rule "closeFalse" (formula "24")) + ) + (branch "1 + r_0 = 0 FALSE" + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "polySimp_elimSub" (formula "30") (term "0,2,0,0,0,1")) + (rule "mul_literals" (formula "30") (term "1,0,2,0,0,0,1")) + (rule "polySimp_elimSub" (formula "30") (term "3,1,1")) + (rule "mul_literals" (formula "30") (term "1,3,1,1")) + (rule "polySimp_addComm1" (formula "30") (term "0,2,0,0,0,1")) + (rule "add_literals" (formula "30") (term "0,0,2,0,0,0,1")) + (rule "add_zero_left" (formula "30") (term "0,2,0,0,0,1")) + (rule "replace_known_left" (formula "30") (term "0,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_gtRight" (formula "39")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "inEqSimp_ltRight" (formula "37")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "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_addAssoc" (formula "5") (term "0")) + (rule "polySimp_addComm1" (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_homoInEq1" (formula "32")) + (rule "polySimp_addComm1" (formula "32") (term "0")) + (rule "applyEq" (formula "5") (term "1,0") (ifseqformula "26")) + (rule "polySimp_addComm0" (formula "5") (term "0")) + (rule "applyEq" (formula "32") (term "1,0") (ifseqformula "26")) + (rule "polySimp_addComm1" (formula "32") (term "0")) + (rule "polySimp_sepPosMonomial" (formula "34")) + (rule "mul_literals" (formula "34") (term "1")) + (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 "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_sepNegMonomial0" (formula "32")) + (rule "polySimp_mulLiterals" (formula "32") (term "0")) + (rule "polySimp_elimOne" (formula "32") (term "0")) + (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_literals" (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 "17") (ifseqformula "1")) + (rule "applyEq" (formula "2") (term "0,1") (ifseqformula "17")) + (rule "applyEq" (formula "27") (term "0,0") (ifseqformula "17")) + (rule "applyEq" (formula "1") (term "0") (ifseqformula "17")) + (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 "29") (term "3,0") (ifseqformula "16")) + (rule "applyEq" (formula "30") (term "3,0") (ifseqformula "16")) + (rule "applyEq" (formula "3") (term "0,0") (ifseqformula "16")) + (rule "applyEq" (formula "31") (term "3,0") (ifseqformula "16")) + (rule "applyEq" (formula "17") (term "0") (ifseqformula "16")) + (rule "inEqSimp_homoInEq1" (formula "17")) + (rule "polySimp_pullOutFactor1" (formula "17") (term "0")) + (rule "add_literals" (formula "17") (term "1,0")) + (rule "times_zero_1" (formula "17") (term "0")) + (rule "leq_literals" (formula "17")) + (rule "true_left" (formula "17")) + (rule "applyEq" (formula "15") (term "0") (ifseqformula "16")) + (rule "applyEq" (formula "1") (term "3,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 "27") (term "0") (ifseqformula "17")) + (rule "eqSymm" (formula "27")) + (rule "applyEq" (formula "27") (term "3,0") (ifseqformula "15")) + (builtin "One Step Simplification" (formula "27")) + (rule "true_left" (formula "27")) + (rule "applyEq" (formula "28") (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 "inEqSimp_antiSymm" (formula "24") (ifseqformula "3")) + (rule "applyEq" (formula "1") (term "1") (ifseqformula "24")) + (rule "applyEq" (formula "3") (term "0") (ifseqformula "24")) + (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 "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_contradInEq1" (formula "1") (ifseqformula "26")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_literals" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + ) + ) + (branch " i_14 = i_14 & IntOpt::$value = IntOpt::$value & !IntOpt::$value = java.lang.Object:: FALSE" + (builtin "One Step Simplification" (formula "37")) + (rule "closeTrue" (formula "37")) + ) + ) + (branch + (rule "andRight" (formula "36")) + (branch "Case 1" + (rule "impRight" (formula "36")) + (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 "polySimp_mulLiterals" (formula "2") (term "1,1")) + (rule "mul_literals" (formula "2") (term "0,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_zero_right" (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 "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 "closeTrue" (formula "36")) + ) + ) + ) + (branch + (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 "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_literals" (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 "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 "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 "3") (term "0,0") (ifseqformula "16")) + (rule "applyEq" (formula "15") (term "0") (ifseqformula "16")) + (rule "applyEq" (formula "25") (term "0,0") (ifseqformula "15")) + (rule "applyEq" (formula "28") (term "3,0") (ifseqformula "15")) + (rule "applyEq" (formula "16") (term "0") (ifseqformula "15")) + (rule "inEqSimp_homoInEq1" (formula "16")) + (rule "polySimp_pullOutFactor1" (formula "16") (term "0")) + (rule "add_literals" (formula "16") (term "1,0")) + (rule "times_zero_1" (formula "16") (term "0")) + (rule "leq_literals" (formula "16")) + (rule "true_left" (formula "16")) + (rule "applyEq" (formula "5") (term "0") (ifseqformula "15")) + (rule "inEqSimp_homoInEq1" (formula "5")) + (rule "polySimp_addComm1" (formula "5") (term "0")) + (rule "applyEq" (formula "28") (term "3,0") (ifseqformula "15")) + (rule "inEqSimp_commuteGeq" (formula "28")) + (rule "applyEq" (formula "27") (term "0") (ifseqformula "17")) + (rule "eqSymm" (formula "27")) + (rule "applyEq" (formula "27") (term "3,0") (ifseqformula "15")) + (builtin "One Step Simplification" (formula "27")) + (rule "true_left" (formula "27")) + (rule "inEqSimp_sepPosMonomial0" (formula "5")) + (rule "polySimp_mulComm0" (formula "5") (term "1")) + (rule "polySimp_rightDist" (formula "5") (term "1")) + (rule "mul_literals" (formula "5") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "5") (term "1,1")) + (rule "polySimp_elimOne" (formula "5") (term "1,1")) + (rule "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 "inEqSimp_antiSymm" (formula "25") (ifseqformula "4")) + (rule "applyEq" (formula "4") (term "0") (ifseqformula "25")) + (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 "25") (term "0") (ifseqformula "24")) + (rule "inEqSimp_homoInEq1" (formula "25")) + (rule "polySimp_pullOutFactor1" (formula "25") (term "0")) + (rule "add_literals" (formula "25") (term "1,0")) + (rule "times_zero_1" (formula "25") (term "0")) + (rule "leq_literals" (formula "25")) + (rule "true_left" (formula "25")) + (rule "inEqSimp_exactShadow3" (formula "21") (ifseqformula "5")) + (rule "times_zero_1" (formula "21") (term "0,0")) + (rule "add_zero_left" (formula "21") (term "0")) + (rule "inEqSimp_sepPosMonomial1" (formula "21")) + (rule "mul_literals" (formula "21") (term "1")) + (rule "inEqSimp_subsumption1" (formula "14") (ifseqformula "21")) + (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")) + (rule "castDel" (formula "1") (term "1,0")) + (rule "eqSymm" (formula "1") (term "0,0,0")) + (rule "eqSymm" (formula "1") (term "1,0,0")) + (rule "pullOutSelect" (formula "1") (term "2,0") (inst "selectSK=f_0_3")) + (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 "30")) + (builtin "One Step Simplification" (formula "1")) + (rule "nnf_imp2or" (formula "20") (term "0")) + (builtin "One Step Simplification" (formula "20")) + (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 "jdiv_axiom" (formula "26") (term "0")) + (rule "eqSymm" (formula "26")) + (rule "applyEq" (formula "26") (term "1") (ifseqformula "27")) + (rule "inEqSimp_subsumption1" (formula "26") (term "0,0") (ifseqformula "22")) + (rule "leq_literals" (formula "26") (term "0,0,0")) + (builtin "One Step Simplification" (formula "26")) + (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 "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 "32")) + (builtin "One Step Simplification" (formula "3")) + (rule "applyEqReverse" (formula "4") (term "2,0") (ifseqformula "3")) + (rule "hideAuxiliaryEq" (formula "3")) + (rule "applyEqRigid" (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 "31")) + (builtin "One Step Simplification" (formula "3")) + (rule "applyEqReverse" (formula "4") (term "2,0") (ifseqformula "3")) + (rule "hideAuxiliaryEq" (formula "3")) + (rule "applyEqRigid" (formula "2") (term "1,2,0") (ifseqformula "1")) + (rule "applyEq" (formula "34") (term "1,0") (ifseqformula "1")) + (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 "30")) + (builtin "One Step Simplification" (formula "2")) + (rule "applyEqReverse" (formula "3") (term "2,0") (ifseqformula "2")) + (rule "hideAuxiliaryEq" (formula "2")) + (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 "29")) + (builtin "One Step Simplification" (formula "2") (ifInst "" (formula "33"))) + (rule "closeFalse" (formula "2")) + ) + (branch "CUT: o_0 = null FALSE" + (builtin "One Step Simplification" (formula "36")) + (rule "notRight" (formula "36")) + (rule "div_axiom" (formula "27") (term "0") (inst "quotient=quotient_0")) + (rule "equal_literals" (formula "27") (term "0")) + (builtin "One Step Simplification" (formula "27")) + (rule "mul_literals" (formula "27") (term "1,1,1,1")) + (rule "qeq_literals" (formula "27") (term "0,1")) + (builtin "One Step Simplification" (formula "27")) + (rule "andLeft" (formula "27")) + (rule "andLeft" (formula "27")) + (rule "polySimp_addComm1" (formula "29") (term "1")) + (rule "add_literals" (formula "29") (term "0,1")) + (rule "inEqSimp_commuteLeq" (formula "28")) + (rule "inEqSimp_homoInEq1" (formula "29")) + (rule "polySimp_mulLiterals" (formula "29") (term "1,0")) + (rule "polySimp_addComm1" (formula "29") (term "0")) + (rule "applyEq" (formula "27") (term "0") (ifseqformula "30")) + (rule "applyEq" (formula "31") (term "1") (ifseqformula "27")) + (rule "applyEqRigid" (formula "30") (term "1") (ifseqformula "27")) + (rule "applyEqRigid" (formula "25") (term "1") (ifseqformula "27")) + (rule "applyEq" (formula "26") (term "1") (ifseqformula "27")) + (rule "inEqSimp_sepPosMonomial0" (formula "29")) + (rule "polySimp_mulComm0" (formula "29") (term "1")) + (rule "polySimp_rightDist" (formula "29") (term "1")) + (rule "polySimp_mulLiterals" (formula "29") (term "1,1")) + (rule "mul_literals" (formula "29") (term "0,1")) + (rule "inEqSimp_exactShadow3" (formula "23") (ifseqformula "29")) + (rule "mul_literals" (formula "23") (term "0,0")) + (rule "polySimp_addAssoc" (formula "23") (term "0")) + (rule "add_literals" (formula "23") (term "0,0")) + (rule "add_zero_left" (formula "23") (term "0")) + (rule "elimGcdGeq_antec" (formula "23") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=quotient_0") (inst "elimGcdRightDiv=Z(0(#))")) + (rule "polySimp_mulLiterals" (formula "23") (term "1,0,1,0")) + (rule "add_zero_right" (formula "23") (term "0,0,0,1,0")) + (rule "leq_literals" (formula "23") (term "0,0")) + (builtin "One Step Simplification" (formula "23")) + (rule "times_zero_1" (formula "23") (term "1,0,0,0,0")) + (rule "add_zero_right" (formula "23") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor0b" (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_literals" (formula "23") (term "0,0")) + (rule "leq_literals" (formula "23") (term "0")) + (builtin "One Step Simplification" (formula "23")) + (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 "5") (term "1,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "5")) + (rule "replace_known_left" (formula "4") (term "1,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "4")) + (rule "applyEq" (formula "41") (term "2,0") (ifseqformula "2")) + (rule "narrowSelectType" (formula "41") (term "0") (ifseqformula "9")) + (rule "eqSymm" (formula "41")) + (rule "applyEq" (formula "40") (term "0") (ifseqformula "3")) + (rule "applyEqRigid" (formula "5") (term "0,0,0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "5")) + (rule "applyEqReverse" (formula "40") (term "0") (ifseqformula "5")) + (rule "hideAuxiliaryEq" (formula "5")) + (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "3")) + (rule "close" (formula "36") (ifseqformula "1")) + ) + (branch "f_0 = java.lang.Object:: & o_0 = i_14 FALSE" + (rule "applyEqReverse" (formula "3") (term "2,0") (ifseqformula "2")) + (rule "hideAuxiliaryEq" (formula "2")) + (rule "ifthenelse_split" (formula "2") (term "0")) + (branch "f_0 = IntOpt::$present & o_0 = i_14 TRUE" + (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 "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 "42") (term "1") (ifseqformula "5")) + (rule "hideAuxiliaryEq" (formula "4")) + (rule "hideAuxiliaryEq" (formula "4")) + (rule "applyEq" (formula "39") (term "0") (ifseqformula "3")) + (rule "applyEq" (formula "34") (term "0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "applyEq" (formula "38") (term "2,0") (ifseqformula "2")) + (rule "narrowSelectType" (formula "38") (term "0") (ifseqformula "7")) + (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 "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 "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 "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 "applyEq" (formula "36") (term "0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "36")) + (rule "false_right" (formula "36")) + (rule "applyEqRigid" (formula "35") (term "0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEq" (formula "39") (term "0") (ifseqformula "3")) + (rule "applyEq" (formula "39") (term "2,0") (ifseqformula "2")) + (rule "narrowSelectType" (formula "39") (term "0") (ifseqformula "8")) + (rule "eqSymm" (formula "39")) + (rule "applyEq" (formula "1") (term "1,0") (ifseqformula "3")) + (rule "close" (formula "36") (ifseqformula "1")) + ) + (branch "f_0 = IntOpt::$value & o_0 = i_14 FALSE" + (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 "2")) + (rule "applyEqReverse" (formula "43") (term "1") (ifseqformula "4")) + (rule "hideAuxiliaryEq" (formula "4")) + (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 "replace_known_left" (formula "36") (term "1") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "36")) + (rule "applyEq" (formula "42") (term "1,0") (ifseqformula "3")) + (rule "applyEq" (formula "35") (term "0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "35")) + (rule "false_right" (formula "35")) + (rule "applyEqRigid" (formula "34") (term "0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (rule "applyEq" (formula "34") (term "0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "34")) + (rule "false_right" (formula "34")) + (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 "42") (ifseqformula "2")) + ) + ) + ) + ) + ) + ) + ) + (branch "Null Reference (i_12 = null)" + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "31"))) + (rule "closeFalse" (formula "1")) + ) + ) + (branch "Exceptional Post (monoLemma)" + (builtin "One Step Simplification" (formula "30")) + (builtin "One Step Simplification" (formula "25") (ifInst "" (formula "10"))) + (rule "andLeft" (formula "25")) + (rule "andLeft" (formula "26")) + (rule "andLeft" (formula "25")) + (rule "notLeft" (formula "25")) + (rule "close" (formula "28") (ifseqformula "27")) + ) + (branch "Pre (monoLemma)" + (builtin "One Step Simplification" (formula "29") (ifInst "" (formula "10")) (ifInst "" (formula "28")) (ifInst "" (formula "4")) (ifInst "" (formula "28")) (ifInst "" (formula "7"))) + (rule "polySimp_elimSub" (formula "29") (term "0,1")) + (rule "polySimp_mulComm0" (formula "29") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "29") (term "1,0,1")) + (rule "mul_literals" (formula "29") (term "0,1,0,1")) + (rule "polySimp_addComm0" (formula "29") (term "0,1")) + (rule "measuredByCheckEmpty" (formula "29") (term "1") (ifseqformula "8")) + (builtin "One Step Simplification" (formula "29")) + (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_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_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_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" + (builtin "One Step Simplification" (formula "29")) + (builtin "One Step Simplification" (formula "1")) + (rule "notLeft" (formula "1")) + (rule "blockEmpty" (formula "29") (term "1")) + (rule "unusedLabel" (formula "29") (term "1")) + (rule "postincrement" (formula "29") (term "1")) + (rule "compound_int_cast_expression" (formula "29") (term "1") (inst "#v=i_12")) + (rule "variableDeclarationAssign" (formula "29") (term "1")) + (rule "variableDeclaration" (formula "29") (term "1") (newnames "i_12")) + (rule "remove_parentheses_right" (formula "29") (term "1")) + (rule "assignmentAdditionInt" (formula "29") (term "1")) + (builtin "One Step Simplification" (formula "29")) + (rule "translateJavaAddInt" (formula "29") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "29") (term "0,1,0")) + (rule "widening_identity_cast_5" (formula "29") (term "1")) + (rule "assignment" (formula "29") (term "1")) + (builtin "One Step Simplification" (formula "29")) + (rule "tryEmpty" (formula "29") (term "1")) + (rule "methodCallEmpty" (formula "29") (term "1")) + (rule "emptyModality" (formula "29") (term "1")) + (builtin "One Step Simplification" (formula "29")) + (rule "andRight" (formula "29")) + (branch + (rule "andRight" (formula "29")) + (branch "Case 1" + (opengoal " (int::select(heap, a, arr(r_0)) = mx_0)< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit), decreases @ file BoyerMoore.java @ line 70, loop_invariant @ file BoyerMoore.java @ line 66, loop_invariant @ file BoyerMoore.java @ line 67, loop_invariant @ file BoyerMoore.java @ line 68]\")>>, lt(r_0, length(a<>))<>, wellFormed(heap)<>, ( boolean::select(heap, self, java.lang.Object::) = TRUE)<>, (BoyerMoore::exactInstance(self) = TRUE)<>, ( boolean::select(heap, a, java.lang.Object::) = TRUE)<>, measuredByEmpty<>, IntOpt::<$inv>(heap), java.lang.Object::(heap, self)<>, wellFormed(anon_heap_LOOP<>), geq(k_0, Z(0(#)))<>, geq(length(a), Z(0(#))), geq(length(a), k_0)<>, geq(mc_0, Z(0(#)))<>, BoyerMoore::count$lmtd(heap, self, a, k_0, mx_0) = BoyerMoore::count(heap, self, a, k_0, mx_0), leq(mul(BoyerMoore::count(heap, self, a, k_0, mx_0), Z(2(#))), add(k_0, mc_0))<>, (\\forall int x; ( !x = mx_0 -> leq(mul(BoyerMoore::count(heap, self, a, k_0, x), Z(2(#))), add(k_0, mul(mc_0, Z(neglit(1(#))))))))<>, wellFormed(anon_heap_LOOP_0<>), geq(r_0, Z(0(#)))<>, geq(length(a), r_0)<>, BoyerMoore::count$lmtd(heap, self, a, r_0, mx_0) = cnt_0, (BoyerMoore::count(heap, self, a, r_0, mx_0) = cnt_0)<>, geq(jdiv(length(a), Z(2(#))), cnt_0)<> ==> gt(add(Z(1(#)), cnt_0), jdiv(length(a), Z(2(#))))< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit), decreases @ file BoyerMoore.java @ line 70, loop_invariant @ file BoyerMoore.java @ line 66, loop_invariant @ file BoyerMoore.java @ line 67, loop_invariant @ file BoyerMoore.java @ line 68]\")>>, (mc_0 = Z(0(#)))< (implicit)\",\"[ensures @ file BoyerMoore.java @ line 34, ensures @ file BoyerMoore.java @ line 36, ensures (implicit), assignable (implicit)]\")>>, lt(k_0, length(a)), (self<> = null)<>, (a = null)<>, ( (geq(add(Z(1(#)), r_0), Z(0(#))) & geq(length(a), add(Z(1(#)), r_0)))<> & ( BoyerMoore::count(heap, self, a, add(Z(1(#)), r_0), mx_0) = add(Z(1(#)), cnt_0))<>)< (implicit)\",\"[loop_invariant @ file BoyerMoore.java @ line 66, loop_invariant @ file BoyerMoore.java @ line 67]\")>>") + ) + (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_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 "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 + (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_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_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")) + (rule "polySimp_mulComm0" (formula "29") (term "0,0,1,0,0,1")) + (rule "polySimp_mulLiterals" (formula "29") (term "0,1,0,0,1")) + (rule "polySimp_elimOne" (formula "29") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "29") (term "0,0,1")) + (rule "polySimp_addAssoc" (formula "29") (term "0,1")) + (rule "polySimp_addComm1" (formula "29") (term "0,0,1")) + (rule "polySimp_pullOutFactor2b" (formula "29") (term "0,1")) + (rule "add_literals" (formula "29") (term "1,1,0,1")) + (rule "times_zero_1" (formula "29") (term "1,0,1")) + (rule "add_zero_right" (formula "29") (term "0,1")) + (rule "polySimp_addAssoc" (formula "29") (term "0,1")) + (rule "polySimp_addComm1" (formula "29") (term "0,0,1")) + (rule "add_literals" (formula "29") (term "0,0,0,1")) + (rule "add_zero_left" (formula "29") (term "0,0,1")) + (rule "polySimp_pullOutFactor1" (formula "29") (term "0,1")) + (rule "add_literals" (formula "29") (term "1,0,1")) + (rule "times_zero_1" (formula "29") (term "0,1")) + (rule "leq_literals" (formula "29") (term "1")) + (builtin "One Step Simplification" (formula "29")) + (rule "inEqSimp_leqRight" (formula "29")) + (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_elimOne" (formula "1") (term "1,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 "add_zero_left" (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_sepNegMonomial0" (formula "4")) + (rule "polySimp_mulLiterals" (formula "4") (term "0")) + (rule "polySimp_elimOne" (formula "4") (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 "16") (ifseqformula "27")) + (rule "add_zero_right" (formula "16") (term "1")) + (rule "inEqSimp_contradEq7" (formula "27") (ifseqformula "16")) + (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 "22") (ifseqformula "4")) + (rule "inEqSimp_homoInEq0" (formula "22") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "22") (term "0,0")) + (rule "add_literals" (formula "22") (term "1,1,0,0")) + (rule "times_zero_1" (formula "22") (term "1,0,0")) + (rule "add_zero_right" (formula "22") (term "0,0")) + (rule "qeq_literals" (formula "22") (term "0")) + (builtin "One Step Simplification" (formula "22")) + (rule "true_left" (formula "22")) + (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "4")) + (rule "andLeft" (formula "1")) + (rule "inEqSimp_homoInEq1" (formula "1")) + (rule "polySimp_pullOutFactor1b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_zero_right" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + ) + ) + (branch "Case 2" + (builtin "One Step Simplification" (formula "28")) + (rule "equal_literals" (formula "28") (term "0")) + (builtin "One Step Simplification" (formula "28")) + (rule "closeTrue" (formula "28")) + ) + ) + (branch "Null Reference (mc == 0 = null)" + (rule "false_right" (formula "29")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "28"))) + (rule "closeFalse" (formula "1")) + ) + ) + (branch "if mx == _a[r] false" + (builtin "One Step Simplification" (formula "28")) + (builtin "One Step Simplification" (formula "1")) + (rule "notLeft" (formula "1")) + (rule "blockEmpty" (formula "28") (term "1")) + (rule "postincrement" (formula "28") (term "1")) + (rule "unusedLabel" (formula "28") (term "1")) + (rule "compound_reference_cast_expression_primitive" (formula "28") (term "1") (inst "#v=i_8")) + (rule "variableDeclarationAssign" (formula "28") (term "1")) + (rule "variableDeclaration" (formula "28") (term "1") (newnames "i_8")) + (rule "remove_parentheses_right" (formula "28") (term "1")) + (rule "assignmentAdditionInt" (formula "28") (term "1")) + (builtin "One Step Simplification" (formula "28")) + (rule "translateJavaAddInt" (formula "28") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "28") (term "0,1,0")) + (rule "widening_identity_cast_5" (formula "28") (term "1")) + (rule "assignment" (formula "28") (term "1")) + (builtin "One Step Simplification" (formula "28")) + (rule "tryEmpty" (formula "28") (term "1")) + (rule "methodCallEmpty" (formula "28") (term "1")) + (rule "emptyModality" (formula "28") (term "1")) + (builtin "One Step Simplification" (formula "28") (ifInst "" (formula "22"))) + (rule "andRight" (formula "28")) + (branch + (rule "andRight" (formula "28")) + (branch "Case 1" + (rule "andRight" (formula "28")) + (branch "Case 1" + (rule "inEqSimp_ltRight" (formula "25")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_geqRight" (formula "28")) + (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 "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) + (rule "polySimp_addComm1" (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 "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_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_contradInEq1" (formula "1") (ifseqformula "20")) + (rule "qeq_literals" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch "Case 2" + (rule "inEqSimp_ltRight" (formula "25")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (formula "1") (term "0")) + (rule "inEqSimp_geqRight" (formula "28")) + (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_ltToLeq" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,0")) + (rule "polySimp_addComm1" (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_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_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 "Case 2" + (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_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_subsumption1" (formula "20") (ifseqformula "2")) + (rule "inEqSimp_homoInEq0" (formula "20") (term "0")) + (rule "polySimp_pullOutFactor1b" (formula "20") (term "0,0")) + (rule "add_literals" (formula "20") (term "1,1,0,0")) + (rule "times_zero_1" (formula "20") (term "1,0,0")) + (rule "add_zero_right" (formula "20") (term "0,0")) + (rule "qeq_literals" (formula "20") (term "0")) + (builtin "One Step Simplification" (formula "20")) + (rule "true_left" (formula "20")) + (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 "applyEq" (formula "12") (term "0") (ifseqformula "13")) + (rule "applyEq" (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 "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_exactShadow3" (formula "17") (ifseqformula "1")) + (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 "inEqSimp_subsumption1" (formula "10") (ifseqformula "17")) + (rule "leq_literals" (formula "10") (term "0")) + (builtin "One Step Simplification" (formula "10")) + (rule "true_left" (formula "10")) + (rule "nnf_imp2or" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "19") (term "0") (inst "l=l")) + (rule "eqSymm" (formula "19") (term "0,1")) + (rule "replace_known_left" (formula "19") (term "1,0,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "19") (ifInst "" (formula "8")) (ifInst "" (formula "24")) (ifInst "" (formula "2")) (ifInst "" (formula "23")) (ifInst "" (formula "8"))) + (rule "measuredByCheckEmpty" (formula "19") (term "1,0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "19")) + (rule "inEqSimp_commuteLeq" (formula "19") (term "1,0")) + (rule "inEqSimp_commuteLeq" (formula "19") (term "0,0")) + (rule "replace_known_left" (formula "19") (term "0,0") (ifseqformula "17")) + (builtin "One Step Simplification" (formula "19")) + (rule "applyEq" (formula "19") (term "0,0") (ifseqformula "10")) + (rule "inEqSimp_commuteGeq" (formula "19") (term "0")) + (rule "applyEq" (formula "19") (term "1,1") (ifseqformula "20")) + (rule "inEqSimp_subsumption0" (formula "19") (term "0") (ifseqformula "1")) + (rule "inEqSimp_homoInEq0" (formula "19") (term "0,0")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "19") (term "1,0,0,0")) + (rule "mul_literals" (formula "19") (term "0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "19") (term "0,0,0")) + (rule "polySimp_addComm0" (formula "19") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "19") (term "0,0,0")) + (rule "add_literals" (formula "19") (term "1,1,0,0,0")) + (rule "times_zero_1" (formula "19") (term "1,0,0,0")) + (rule "add_zero_right" (formula "19") (term "0,0,0")) + (rule "qeq_literals" (formula "19") (term "0,0")) + (builtin "One Step Simplification" (formula "19")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "13") (term "0,0") (inst "l=l")) + (rule "eqSymm" (formula "13") (term "0,1")) + (rule "replace_known_left" (formula "13") (term "1,0,0,0") (ifseqformula "3")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "8")) (ifInst "" (formula "25")) (ifInst "" (formula "2")) (ifInst "" (formula "24")) (ifInst "" (formula "8"))) + (rule "measuredByCheckEmpty" (formula "13") (term "1,0") (ifseqformula "6")) + (builtin "One Step Simplification" (formula "13")) + (rule "inEqSimp_commuteLeq" (formula "13") (term "1,0")) + (rule "inEqSimp_commuteLeq" (formula "13") (term "0,0")) + (rule "applyEq" (formula "13") (term "0,1,0") (ifseqformula "10")) + (rule "inEqSimp_homoInEq1" (formula "13") (term "1,0")) + (rule "polySimp_pullOutFactor1" (formula "13") (term "0,1,0")) + (rule "add_literals" (formula "13") (term "1,0,1,0")) + (rule "times_zero_1" (formula "13") (term "0,1,0")) + (rule "leq_literals" (formula "13") (term "1,0")) + (builtin "One Step Simplification" (formula "13")) + (rule "inEqSimp_subsumption1" (formula "13") (term "0") (ifseqformula "17")) + (rule "leq_literals" (formula "13") (term "0,0")) + (builtin "One Step Simplification" (formula "13")) + (rule "Contract_axiom_for_count_in_BoyerMoore" (formula "26") (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 "9")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "26")) (ifInst "" (formula "3")) (ifInst "" (formula "4")) (ifInst "" (formula "25")) (ifInst "" (formula "9"))) + (rule "bsum_induction_upper_concrete" (formula "1") (term "0,1")) + (rule "replace_known_right" (formula "1") (term "0,1,1,0,1") (ifseqformula "24")) + (builtin "One Step Simplification" (formula "1")) + (rule "add_zero_right" (formula "1") (term "0,1")) + (rule "measuredByCheckEmpty" (formula "1") (term "1,0") (ifseqformula "7")) + (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 "11")) + (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 "21")) + (rule "eqSymm" (formula "1") (term "1")) + (rule "replace_known_right" (formula "1") (term "1") (ifseqformula "27")) + (builtin "One Step Simplification" (formula "1")) + (rule "notLeft" (formula "1")) + (rule "inEqSimp_sepPosMonomial1" (formula "23") (term "0")) + (rule "mul_literals" (formula "23") (term "1,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "23") (term "1")) + (rule "polySimp_mulComm0" (formula "23") (term "1,1")) + (rule "polySimp_rightDist" (formula "23") (term "1,1")) + (rule "mul_literals" (formula "23") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "23") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "23") (term "1,1,1")) + (rule "replace_known_left" (formula "23") (term "1") (ifseqformula "1")) + (builtin "One Step Simplification" (formula "23")) + (rule "inEqSimp_geqRight" (formula "23")) + (rule "mul_literals" (formula "1") (term "1,0,0")) + (rule "add_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "mul_literals" (formula "1") (term "1")) + (rule "inEqSimp_contradInEq1" (formula "1") (ifseqformula "19")) + (rule "qeq_literals" (formula "1") (term "0")) + (builtin "One Step Simplification" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + ) + (branch + (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_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")) + (rule "polySimp_mulComm0" (formula "28") (term "0,0,1,0,0,1")) + (rule "polySimp_mulLiterals" (formula "28") (term "0,1,0,0,1")) + (rule "polySimp_elimOne" (formula "28") (term "0,1,0,0,1")) + (rule "polySimp_addAssoc" (formula "28") (term "0,0,1")) + (rule "polySimp_addAssoc" (formula "28") (term "0,1")) + (rule "polySimp_addComm1" (formula "28") (term "0,0,1")) + (rule "polySimp_pullOutFactor2b" (formula "28") (term "0,1")) + (rule "add_literals" (formula "28") (term "1,1,0,1")) + (rule "times_zero_1" (formula "28") (term "1,0,1")) + (rule "add_zero_right" (formula "28") (term "0,1")) + (rule "polySimp_addAssoc" (formula "28") (term "0,1")) + (rule "polySimp_addComm1" (formula "28") (term "0,0,1")) + (rule "add_literals" (formula "28") (term "0,0,0,1")) + (rule "add_zero_left" (formula "28") (term "0,0,1")) + (rule "polySimp_pullOutFactor1" (formula "28") (term "0,1")) + (rule "add_literals" (formula "28") (term "1,0,1")) + (rule "times_zero_1" (formula "28") (term "0,1")) + (rule "leq_literals" (formula "28") (term "1")) + (builtin "One Step Simplification" (formula "28")) + (rule "inEqSimp_leqRight" (formula "28")) + (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 "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")) + (rule "add_literals" (formula "1") (term "0,0,0")) + (rule "add_zero_left" (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_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_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_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 "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_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 "0") (ifseqformula "3")) + (rule "inEqSimp_homoInEq1" (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 "leq_literals" (formula "2") (term "0,0")) + (builtin "One Step Simplification" (formula "2")) + (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 "if r < _a.length false" + (builtin "One Step Simplification" (formula "28")) + (builtin "One Step Simplification" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + ) + (branch "Null Reference (mc == 0 = null)" + (rule "false_right" (formula "27")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "26"))) + (rule "closeFalse" (formula "1")) + ) + ) + (branch "Null Reference (mc == 0 = null)" + (rule "false_right" (formula "22")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "25"))) + (rule "closeFalse" (formula "1")) + ) + ) + (branch "Use Case" + (builtin "One Step Simplification" (formula "21")) + (builtin "One Step Simplification" (formula "16")) + (rule "andLeft" (formula "16")) + (rule "andLeft" (formula "16")) + (rule "andLeft" (formula "16")) + (rule "eqSymm" (formula "18")) + (rule "inEqSimp_commuteLeq" (formula "19")) + (rule "inEqSimp_commuteLeq" (formula "17")) + (rule "inEqSimp_commuteLeq" (formula "16")) + (rule "variableDeclarationAssign" (formula "24") (term "1")) + (rule "variableDeclaration" (formula "24") (term "1") (newnames "b_0_1")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "18") (term "0")) + (rule "applyEq" (formula "18") (term "1") (ifseqformula "19")) + (rule "compound_less_than_comparison_2" (formula "25") (term "1") (inst "#v1=i_3") (inst "#v0=i_2")) + (rule "variableDeclarationAssign" (formula "25") (term "1")) + (rule "variableDeclaration" (formula "25") (term "1") (newnames "i_2")) + (rule "assignment" (formula "25") (term "1")) + (builtin "One Step Simplification" (formula "25")) + (rule "variableDeclarationAssign" (formula "25") (term "1")) + (rule "variableDeclaration" (formula "25") (term "1") (newnames "i_3")) + (rule "assignment_read_length" (formula "25")) + (branch "Normal Execution (mc == 0 != null)" + (builtin "One Step Simplification" (formula "25")) + (rule "less_than_comparison_simple" (formula "25") (term "1")) + (builtin "One Step Simplification" (formula "25")) + (rule "methodCallEmpty" (formula "25") (term "1")) + (rule "emptyModality" (formula "25") (term "1")) + (builtin "One Step Simplification" (formula "25")) + (rule "impRight" (formula "25")) + (rule "notLeft" (formula "1")) + (rule "returnUnfold" (formula "26") (term "1") (inst "#v0=i_4")) + (rule "variableDeclarationAssign" (formula "26") (term "1")) + (rule "variableDeclaration" (formula "26") (term "1") (newnames "i_4")) + (rule "activeUseStaticFieldReadAccess" (formula "26") (term "1")) + (rule "assignment_read_static_attribute" (formula "26") (term "1")) + (builtin "One Step Simplification" (formula "26")) + (rule "methodCallReturn" (formula "26") (term "1")) + (rule "assignment" (formula "26") (term "1")) + (builtin "One Step Simplification" (formula "26")) + (rule "methodCallEmpty" (formula "26") (term "1")) + (rule "tryEmpty" (formula "26") (term "1")) + (rule "emptyModality" (formula "26") (term "1")) + (rule "andRight" (formula "26")) + (branch + (rule "andRight" (formula "26")) + (branch "Case 1" + (rule "andRight" (formula "26")) + (branch "Case 1" + (rule "impRight" (formula "26")) + (builtin "One Step Simplification" (formula "1")) + (builtin "One Step Simplification" (formula "27")) + (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_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 "21") (ifseqformula "3")) + (rule "applyEq" (formula "25") (term "0,0") (ifseqformula "21")) + (rule "applyEq" (formula "14") (term "0") (ifseqformula "21")) + (rule "applyEq" (formula "2") (term "0") (ifseqformula "21")) + (rule "applyEq" (formula "3") (term "0") (ifseqformula "21")) + (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 "1") (term "0,1") (ifseqformula "20")) + (rule "applyEq" (formula "21") (term "0") (ifseqformula "20")) + (rule "inEqSimp_homoInEq1" (formula "21")) + (rule "polySimp_pullOutFactor1" (formula "21") (term "0")) + (rule "add_literals" (formula "21") (term "1,0")) + (rule "times_zero_1" (formula "21") (term "0")) + (rule "leq_literals" (formula "21")) + (rule "true_left" (formula "21")) + (rule "applyEq" (formula "1") (term "3,0") (ifseqformula "20")) + (rule "inEqSimp_antiSymm" (formula "13") (ifseqformula "2")) + (rule "applyEqRigid" (formula "24") (term "0,0") (ifseqformula "13")) + (rule "applyEqRigid" (formula "1") (term "3,0") (ifseqformula "13")) + (rule "applyEqRigid" (formula "2") (term "0") (ifseqformula "13")) + (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 "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 "applyEqRigid" (formula "1") (term "0,1") (ifseqformula "12")) + (rule "applyEqRigid" (formula "18") (term "0") (ifseqformula "12")) + (rule "applyEq" (formula "19") (term "3,0") (ifseqformula "12")) + (rule "applyEqRigid" (formula "20") (term "3,0") (ifseqformula "12")) + (rule "applyEq" (formula "15") (term "0,0") (ifseqformula "20")) + (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 "19")) + (rule "eqSymm" (formula "14")) + (rule "applyEq" (formula "17") (term "1") (ifseqformula "12")) + (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 "1") (term "0")) + (rule "jdiv_axiom" (formula "21") (term "0")) + (rule "eqSymm" (formula "21")) + (rule "replace_known_left" (formula "21") (term "0,0") (ifseqformula "12")) + (builtin "One Step Simplification" (formula "21")) + (rule "eqSymm" (formula "21")) + (rule "applyEq" (formula "2") (term "1") (ifseqformula "21")) + (rule "applyEq" (formula "22") (term "0") (ifseqformula "21")) + (rule "div_axiom" (formula "21") (term "1") (inst "quotient=quotient_0")) + (rule "qeq_literals" (formula "21") (term "0,1,1")) + (builtin "One Step Simplification" (formula "21")) + (rule "mul_literals" (formula "21") (term "1,1,1,1")) + (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 "applyEqRigid" (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 "12") (ifseqformula "23")) + (rule "times_zero_1" (formula "12") (term "0,0")) + (rule "add_zero_left" (formula "12") (term "0")) + (rule "inEqSimp_sepPosMonomial1" (formula "12")) + (rule "mul_literals" (formula "12") (term "1")) + (rule "elimGcdGeq_antec" (formula "12") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=quotient_0") (inst "elimGcdRightDiv=Z(0(#))")) + (rule "polySimp_mulLiterals" (formula "12") (term "1,0,1,0")) + (rule "times_zero_1" (formula "12") (term "1,0,0,0,0,1,0")) + (rule "leq_literals" (formula "12") (term "0,0")) + (builtin "One Step Simplification" (formula "12")) + (rule "polySimp_addLiterals" (formula "12") (term "0,0,0,0")) + (rule "add_literals" (formula "12") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "12") (term "0,0")) + (rule "add_literals" (formula "12") (term "1,1,0,0")) + (rule "times_zero_1" (formula "12") (term "1,0,0")) + (rule "add_zero_right" (formula "12") (term "0,0")) + (rule "leq_literals" (formula "12") (term "0")) + (builtin "One Step Simplification" (formula "12")) + (rule "arrayLengthIsAShort" (formula "19") (term "0")) + (builtin "One Step Simplification" (formula "19")) + (rule "true_left" (formula "19")) + (rule "arrayLengthNotNegative" (formula "19") (term "0")) + (rule "applyEq" (formula "19") (term "0") (ifseqformula "20")) + (rule "onlyCreatedObjectsAreReferenced" (formula "3") (term "1,0") (ifseqformula "4")) + (rule "cut_direct" (formula "3") (term "0")) + (branch "CUT: IntOpt.NONE = null TRUE" + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) + (rule "applyEq" (formula "2") (term "1,4,0") (ifseqformula "3")) + (rule "applyEq" (formula "1") (term "1,4,1") (ifseqformula "3")) + (rule "applyEq" (formula "4") (term "1,0") (ifseqformula "3")) + (rule "applyEq" (formula "1") (term "1,4,0") (ifseqformula "3")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "2") (term "0")) + (rule "allLeft" (formula "18") (inst "t=int::select(heap, null, IntOpt::$value)")) + (rule "cut_direct" (formula "18") (term "1")) + (branch "CUT: self.count(a, k_0, IntOpt.value) * 2 <= k_0 + mc_0 * -1 TRUE" + (builtin "One Step Simplification" (formula "19")) + (rule "true_left" (formula "19")) + (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_1" (formula "10")) + (rule "notLeft" (formula "10")) + (rule "close" (formula "29") (ifseqformula "3")) + ) + (branch "CUT: self.count(a, k_0, IntOpt.value) * 2 <= k_0 + mc_0 * -1 FALSE" + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_leqRight" (formula "29")) + (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 "4,0,1,0") (ifseqformula "19")) + (rule "applyEq" (formula "2") (term "4,0") (ifseqformula "19")) + (rule "eqSymm" (formula "2")) + (rule "applyEq" (formula "3") (term "4,0") (ifseqformula "19")) + (rule "applyEq" (formula "1") (term "0,1,0") (ifseqformula "24")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "polySimp_addComm1" (formula "1") (term "0,0")) + (rule "applyEq" (formula "3") (term "0") (ifseqformula "24")) + (rule "applyEq" (formula "2") (term "4,0") (ifseqformula "18")) + (rule "eqSymm" (formula "2")) + (rule "applyEq" (formula "22") (term "0") (ifseqformula "2")) + (rule "applyEq" (formula "2") (term "1") (ifseqformula "22")) + (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 "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_1" (formula "10")) + (rule "notLeft" (formula "10")) + (rule "close" (formula "28") (ifseqformula "3")) + ) + ) + (branch "CUT: IntOpt.NONE = null FALSE" + (builtin "One Step Simplification" (formula "3")) + (rule "allLeft" (formula "18") (inst "t=int::select(heap, + IntOpt::select(heap, null, IntOpt::$NONE), + IntOpt::$value)")) + (rule "cut_direct" (formula "18") (term "1")) + (branch "CUT: self.count(a, k_0, IntOpt.NONE.value) * 2 <= k_0 + mc_0 * -1 TRUE" + (builtin "One Step Simplification" (formula "19")) + (rule "true_left" (formula "19")) + (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_2" (formula "10")) + (rule "notLeft" (formula "10")) + (rule "close" (formula "29") (ifseqformula "4")) + ) + (branch "CUT: self.count(a, k_0, IntOpt.NONE.value) * 2 <= k_0 + mc_0 * -1 FALSE" + (builtin "One Step Simplification" (formula "18")) + (rule "inEqSimp_leqRight" (formula "29")) + (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 "19")) + (rule "applyEq" (formula "1") (term "4,0,1,0") (ifseqformula "19")) + (rule "applyEq" (formula "2") (term "4,0") (ifseqformula "19")) + (rule "eqSymm" (formula "2")) + (rule "applyEq" (formula "3") (term "0") (ifseqformula "24")) + (rule "applyEq" (formula "1") (term "0,1,0") (ifseqformula "23")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "polySimp_addComm1" (formula "1") (term "0,0")) + (rule "applyEq" (formula "2") (term "4,0") (ifseqformula "18")) + (rule "eqSymm" (formula "2")) + (rule "applyEq" (formula "22") (term "0") (ifseqformula "2")) + (rule "applyEq" (formula "2") (term "1") (ifseqformula "22")) + (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 "28") (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 "23")) + (rule "polySimp_mulComm0" (formula "1") (term "0,0")) + (rule "polySimp_addComm0" (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_gtToGeq" (formula "3")) + (rule "polySimp_mulComm0" (formula "3") (term "1,0,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_sepPosMonomial1" (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 "polySimp_elimOne" (formula "3") (term "1,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 "20") (ifseqformula "2")) + (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 "12") (term "0") (ifseqformula "19")) + (rule "applyEq" (formula "2") (term "0,1,1") (ifseqformula "19")) + (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 "applyEq" (formula "22") (term "0,0") (ifseqformula "19")) + (rule "applyEq" (formula "2") (term "3,0") (ifseqformula "19")) + (rule "applyEq" (formula "1") (term "0") (ifseqformula "19")) + (rule "inEqSimp_antiSymm" (formula "12") (ifseqformula "1")) + (rule "applyEq" (formula "2") (term "0,1,1") (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 "applyEqRigid" (formula "20") (term "3,0") (ifseqformula "11")) + (rule "applyEq" (formula "22") (term "0,0") (ifseqformula "11")) + (rule "applyEqRigid" (formula "1") (term "3,0") (ifseqformula "11")) + (rule "applyEqRigid" (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 "applyEqRigid" (formula "17") (term "0") (ifseqformula "11")) + (rule "applyEq" (formula "19") (term "3,0") (ifseqformula "11")) + (rule "applyEq" (formula "13") (term "0") (ifseqformula "18")) + (rule "eqSymm" (formula "13")) + (rule "applyEq" (formula "13") (term "0,0") (ifseqformula "18")) + (rule "inEqSimp_homoInEq0" (formula "13")) + (rule "polySimp_mulLiterals" (formula "13") (term "1,0")) + (rule "polySimp_addComm1" (formula "13") (term "0")) + (rule "polySimp_addComm0" (formula "13") (term "0,0")) + (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 "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 "12")) + (builtin "One Step Simplification" (formula "2")) + (rule "eqSymm" (formula "2")) + (rule "applyEqRigid" (formula "3") (term "1,1") (ifseqformula "2")) + (rule "applyEq" (formula "21") (term "0") (ifseqformula "2")) + (rule "div_axiom" (formula "2") (term "1") (inst "quotient=quotient_0")) + (rule "equal_literals" (formula "2") (term "0")) + (builtin "One Step Simplification" (formula "2")) + (rule "qeq_literals" (formula "2") (term "0,1")) + (builtin "One Step Simplification" (formula "2")) + (rule "mul_literals" (formula "2") (term "1,1,1")) + (rule "andLeft" (formula "2")) + (rule "andLeft" (formula "2")) + (rule "polySimp_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,1") (ifseqformula "2")) + (rule "applyEqRigid" (formula "24") (term "0") (ifseqformula "2")) + (rule "inEqSimp_commuteGeq" (formula "24")) + (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 "15") (ifseqformula "4")) + (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 "elimGcdGeq_antec" (formula "15") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=quotient_0") (inst "elimGcdRightDiv=Z(0(#))")) + (rule "polySimp_mulLiterals" (formula "15") (term "1,0,1,0")) + (rule "times_zero_1" (formula "15") (term "1,0,0,0,0,1,0")) + (rule "leq_literals" (formula "15") (term "0,0")) + (builtin "One Step Simplification" (formula "15")) + (rule "polySimp_addLiterals" (formula "15") (term "0,0,0,0")) + (rule "add_literals" (formula "15") (term "0,0,0,0")) + (rule "polySimp_pullOutFactor0b" (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 "leq_literals" (formula "15") (term "0")) + (builtin "One Step Simplification" (formula "15")) + (rule "arrayLengthNotNegative" (formula "22") (term "0")) + (rule "applyEq" (formula "22") (term "0") (ifseqformula "23")) + (rule "arrayLengthIsAShort" (formula "22") (term "0")) + (builtin "One Step Simplification" (formula "22")) + (rule "true_left" (formula "22")) + (rule "onlyCreatedObjectsAreReferenced" (formula "26") (term "1,0") (ifseqformula "7")) + (rule "cut_direct" (formula "1") (term "0")) + (branch "CUT: IntOpt.NONE = null TRUE" + (builtin "One Step Simplification" (formula "2")) + (rule "true_left" (formula "2")) + (rule "applyEq" (formula "27") (term "1,0") (ifseqformula "1")) + (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" + (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 "mul_literals" (formula "7") (term "0,0,0")) + (rule "polySimp_mulLiterals" (formula "7") (term "1,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 "21") (ifseqformula "7")) + (rule "polySimp_rightDist" (formula "21") (term "0,0")) + (rule "polySimp_mulLiterals" (formula "21") (term "1,0,0")) + (rule "polySimp_elimOne" (formula "21") (term "1,0,0")) + (rule "polySimp_mulAssoc" (formula "21") (term "0,0,0")) + (rule "polySimp_mulComm0" (formula "21") (term "0,0,0,0")) + (rule "polySimp_mulLiterals" (formula "21") (term "0,0,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0")) + (rule "polySimp_addComm1" (formula "21") (term "0,0")) + (rule "polySimp_pullOutFactor3b" (formula "21") (term "0")) + (rule "polySimp_addComm0" (formula "21") (term "0,0")) + (rule "inEqSimp_sepPosMonomial1" (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 "polySimp_rightDist" (formula "21") (term "0,1")) + (rule "mul_literals" (formula "21") (term "0,0,1")) + (rule "polySimp_mulLiterals" (formula "21") (term "1,0,1")) + (rule "elimGcdGeq_antec" (formula "21") (inst "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=k_0") (inst "elimGcdRightDiv=add(add(Z(1(#)), quotient_0), cnt_0)")) + (rule "polySimp_mulLiterals" (formula "21") (term "1,0,1,0")) + (rule "mul_literals" (formula "21") (term "0,1,0,0,0,0,1,0")) + (rule "leq_literals" (formula "21") (term "0,0")) + (builtin "One Step Simplification" (formula "21")) + (rule "polySimp_pullOutFactor0b" (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 "polySimp_rightDist" (formula "21") (term "1,0,0,0")) + (rule "polySimp_rightDist" (formula "21") (term "0,1,0,0,0")) + (rule "mul_literals" (formula "21") (term "0,0,1,0,0,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0,0,0")) + (rule "add_literals" (formula "21") (term "0,0,0,0,0")) + (rule "add_zero_left" (formula "21") (term "0,0,0,0")) + (rule "polySimp_addAssoc" (formula "21") (term "0,0")) + (rule "polySimp_addComm1" (formula "21") (term "0,0,0")) + (rule "polySimp_pullOutFactor0b" (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 "polySimp_addAssoc" (formula "21") (term "0,0")) + (rule "polySimp_addComm0" (formula "21") (term "0,0,0")) + (rule "polySimp_pullOutFactor0b" (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 "leq_literals" (formula "21") (term "0")) + (builtin "One Step Simplification" (formula "21")) + (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_subsumption1" (formula "4") (ifseqformula "20")) + (rule "inEqSimp_homoInEq0" (formula "4") (term "0")) + (rule "polySimp_mulLiterals" (formula "4") (term "1,0,0")) + (rule "polySimp_pullOutFactor0b" (formula "4") (term "0,0")) + (rule "add_literals" (formula "4") (term "1,1,0,0")) + (rule "times_zero_1" (formula "4") (term "1,0,0")) + (rule "add_zero_right" (formula "4") (term "0,0")) + (rule "qeq_literals" (formula "4") (term "0")) + (builtin "One Step Simplification" (formula "4")) + (rule "true_left" (formula "4")) + (rule "inEqSimp_contradInEq0" (formula "19") (ifseqformula "4")) + (rule "andLeft" (formula "19")) + (rule "inEqSimp_homoInEq1" (formula "19")) + (rule "polySimp_mulComm0" (formula "19") (term "1,0")) + (rule "polySimp_rightDist" (formula "19") (term "1,0")) + (rule "mul_literals" (formula "19") (term "0,1,0")) + (rule "polySimp_mulLiterals" (formula "19") (term "1,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 "CUT: self.count(a, k_0, m_0) * 2 <= k_0 + mc_0 * -1 FALSE" + (builtin "One Step Simplification" (formula "21")) + (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 "applyEqRigid" (formula "27") (term "4,0") (ifseqformula "22")) + (rule "applyEqRigid" (formula "26") (term "4,0") (ifseqformula "22")) + (rule "applyEq" (formula "8") (term "0") (ifseqformula "27")) + (rule "applyEq" (formula "1") (term "0,1,0") (ifseqformula "27")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "polySimp_addComm1" (formula "1") (term "0,0")) + (rule "applyEq" (formula "3") (term "0") (ifseqformula "26")) + (rule "eqSymm" (formula "3")) + (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 "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 "inEqSimp_contradInEq1" (formula "27") (ifseqformula "7")) + (rule "andLeft" (formula "27")) + (rule "inEqSimp_homoInEq1" (formula "27")) + (rule "polySimp_pullOutFactor1b" (formula "27") (term "0")) + (rule "add_literals" (formula "27") (term "1,1,0")) + (rule "times_zero_1" (formula "27") (term "1,0")) + (rule "add_zero_right" (formula "27") (term "0")) + (rule "leq_literals" (formula "27")) + (rule "closeFalse" (formula "27")) + ) + ) + (branch "CUT: IntOpt.NONE = null FALSE" + (builtin "One Step Simplification" (formula "1")) + (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" + (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 "mul_literals" (formula "5") (term "0,1,0")) + (rule "polySimp_mulLiterals" (formula "5") (term "1,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 "21")) + (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 "applyEqRigid" (formula "27") (term "4,0") (ifseqformula "22")) + (rule "applyEq" (formula "26") (term "4,0") (ifseqformula "22")) + (rule "applyEq" (formula "8") (term "0") (ifseqformula "27")) + (rule "applyEq" (formula "1") (term "0,1,0") (ifseqformula "27")) + (rule "polySimp_addComm1" (formula "1") (term "0")) + (rule "polySimp_addComm1" (formula "1") (term "0,0")) + (rule "applyEq" (formula "26") (term "0") (ifseqformula "3")) + (rule "applyEq" (formula "23") (term "1,0,0") (ifseqformula "22")) + (rule "applyEq" (formula "3") (term "1") (ifseqformula "26")) + (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 "27") (ifseqformula "8")) + (rule "andLeft" (formula "27")) + (rule "inEqSimp_homoInEq1" (formula "27")) + (rule "polySimp_pullOutFactor1b" (formula "27") (term "0")) + (rule "add_literals" (formula "27") (term "1,1,0")) + (rule "times_zero_1" (formula "27") (term "1,0")) + (rule "add_zero_right" (formula "27") (term "0")) + (rule "leq_literals" (formula "27")) + (rule "closeFalse" (formula "27")) + ) + ) + ) + (branch "Case 2" + (rule "andRight" (formula "26")) + (branch "Case 1" + (builtin "One Step Simplification" (formula "26") (ifInst "" (formula "7"))) + (rule "closeTrue" (formula "26")) + ) + (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 "1") (term "0") (ifseqformula "20")) + (rule "applyEq" (formula "13") (term "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 "applyEq" (formula "22") (term "0,0") (ifseqformula "19")) + (rule "inEqSimp_antiSymm" (formula "12") (ifseqformula "1")) + (rule "applyEqRigid" (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 "applyEq" (formula "21") (term "3,0") (ifseqformula "12")) + (rule "applyEqRigid" (formula "18") (term "0") (ifseqformula "12")) + (rule "applyEq" (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 "20") (term "0,0") (ifseqformula "11")) + (rule "applyEq" (formula "18") (term "3,0") (ifseqformula "11")) + (rule "applyEq" (formula "18") (term "0") (ifseqformula "13")) + (rule "applyEq" (formula "14") (term "0,0") (ifseqformula "18")) + (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 "17") (term "1") (ifseqformula "11")) + (rule "applyEq" (formula "13") (term "1") (ifseqformula "18")) + (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 "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 "applyEq" (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 "applyEqRigid" (formula "23") (term "0") (ifseqformula "19")) + (rule "inEqSimp_commuteGeq" (formula "23")) + (rule "applyEq" (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 "elimGcd=Z(2(#))") (inst "elimGcdLeftDiv=quotient_0") (inst "elimGcdRightDiv=Z(0(#))")) + (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 "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 "onlyCreatedObjectsAreReferenced" (formula "1") (term "0") (ifseqformula "2")) + (rule "replace_known_left" (formula "1") (term "0") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "1")) + (rule "true_left" (formula "1")) + (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_2" (formula "7")) + (rule "notLeft" (formula "7")) + (rule "applyEq" (formula "25") (term "1,0") (ifseqformula "1")) + (rule "Partial_inv_axiom_for_static_JML_class_invariant_in_IntOpt_no_1" (formula "7")) + (rule "notLeft" (formula "7")) + (rule "close" (formula "25") (ifseqformula "1")) + ) + ) + ) + ) + (branch "Case 2" + (builtin "One Step Simplification" (formula "26")) + (rule "closeTrue" (formula "26")) + ) + ) + (branch + (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")) + ) + ) + ) + ) + (branch "Null Reference (_a = null)" + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "17"))) + (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 new file mode 100644 index 00000000000..113aa3a4f97 --- /dev/null +++ b/key.ui/examples/heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML accessible clause.0.proof @@ -0,0 +1,319 @@ +\profile "Java Profile"; + +\settings // Proof-Settings-Config-File +{ + "Choice" : { + "JavaCard" : "JavaCard:on", + "Strings" : "Strings:on", + "assertions" : "assertions:on", + "bigint" : "bigint:on", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:off", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "JavaCardDLStrategy", + "MaximumNumberOfAutomaticApplications" : 10000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_OFF", + "DEP_OPTIONS_KEY" : "DEP_ON", + "INF_FLOW_CHECK_PROPERTY" : "INF_FLOW_CHECK_FALSE", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_DEF_OPS", + "OSS_OPTIONS_KEY" : "OSS_ON", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } + } + +\javaSource "src"; + +\proofObligation "#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 +"; + +\proof { +(keyLog "0" (keyUser "mattias" ) (keyVersion "9cc569ccced37e242b3a85779f2afdc42b0031ca")) + +(autoModeTime "1607") + +(branch "dummy ID" +(rule "impRight" (formula "1") (newnames "self,a,k,v,anon_heap")) +(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 "andLeft" (formula "1")) +(rule "notLeft" (formula "3")) +(rule "orLeft" (formula "5")) +(branch "a = null" + (rule "close" (formula "11") (ifseqformula "5")) +) +(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 TRUE" + (rule "castDel" (formula "13") (term "0")) + (builtin "One Step Simplification" (formula "13") (ifInst "" (formula "1"))) + (rule "closeTrue" (formula "13")) + ) + (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)) + (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 "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 "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 "simplifySelectOfAnon" (formula "1")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "13")) (ifInst "" (formula "7"))) + (rule "eqSymm" (formula "2")) + (rule "applyEqReverse" (formula "1") (term "1") (ifseqformula "2")) + (builtin "One Step Simplification" (formula "1")) + (rule "hideAuxiliaryEq" (formula "2")) + (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")) + ) + (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 "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")) + (rule "elementOfSetMinus" (formula "1") (term "0,0")) + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "11"))) + (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 new file mode 100644 index 00000000000..70385527c98 --- /dev/null +++ b/key.ui/examples/heap/BoyerMoore/BM(BM__count((I,_bigint,_bigint)).JML model_behavior operation contract.0.proof @@ -0,0 +1,381 @@ +\profile "Java Profile"; + +\settings // Proof-Settings-Config-File +{ + "Choice" : { + "JavaCard" : "JavaCard:on", + "Strings" : "Strings:on", + "assertions" : "assertions:on", + "bigint" : "bigint:on", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:off", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "JavaCardDLStrategy", + "MaximumNumberOfAutomaticApplications" : 10000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_OFF", + "DEP_OPTIONS_KEY" : "DEP_ON", + "INF_FLOW_CHECK_PROPERTY" : "INF_FLOW_CHECK_FALSE", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_DEF_OPS", + "OSS_OPTIONS_KEY" : "OSS_ON", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } + } + +\javaSource "src"; + +\proofObligation "#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 +"; + +\proof { +(keyLog "0" (keyUser "mattias" ) (keyVersion "9cc569ccced37e242b3a85779f2afdc42b0031ca")) + +(autoModeTime "2648") + +(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")) + (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")) + (rule "replace_known_right" (formula "5") (term "0") (ifseqformula "11")) + (builtin "One Step Simplification" (formula "5")) + (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")) + ) + ) + (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 "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 new file mode 100644 index 00000000000..eca87d44276 --- /dev/null +++ b/key.ui/examples/heap/BoyerMoore/BM(BM__monoLemma((I,int,int)).JML normal_behavior operation contract.0.proof @@ -0,0 +1,422 @@ +\profile "Java Profile"; + +\settings // Proof-Settings-Config-File +{ + "Choice" : { + "JavaCard" : "JavaCard:on", + "Strings" : "Strings:on", + "assertions" : "assertions:on", + "bigint" : "bigint:on", + "floatRules" : "floatRules:strictfpOnly", + "initialisation" : "initialisation:disableStaticInitialisation", + "intRules" : "intRules:arithmeticSemanticsIgnoringOF", + "integerSimplificationRules" : "integerSimplificationRules:full", + "javaLoopTreatment" : "javaLoopTreatment:efficient", + "mergeGenerateIsWeakeningGoal" : "mergeGenerateIsWeakeningGoal:off", + "methodExpansion" : "methodExpansion:modularOnly", + "modelFields" : "modelFields:treatAsAxiom", + "moreSeqRules" : "moreSeqRules:off", + "permissions" : "permissions:off", + "programRules" : "programRules:Java", + "reach" : "reach:on", + "runtimeExceptions" : "runtimeExceptions:ban", + "sequences" : "sequences:on", + "wdChecks" : "wdChecks:off", + "wdOperator" : "wdOperator:L" + }, + "Labels" : { + "UseOriginLabels" : true + }, + "NewSMT" : { + + }, + "SMTSettings" : { + "SelectedTaclets" : [ + + ], + "UseBuiltUniqueness" : false, + "explicitTypeHierarchy" : false, + "instantiateHierarchyAssumptions" : true, + "integersMaximum" : 2147483645, + "integersMinimum" : -2147483645, + "invariantForall" : false, + "maxGenericSorts" : 2, + "useConstantsForBigOrSmallIntegers" : true, + "useUninterpretedMultiplication" : true + }, + "Strategy" : { + "ActiveStrategy" : "JavaCardDLStrategy", + "MaximumNumberOfAutomaticApplications" : 10000, + "Timeout" : -1, + "options" : { + "AUTO_INDUCTION_OPTIONS_KEY" : "AUTO_INDUCTION_OFF", + "BLOCK_OPTIONS_KEY" : "BLOCK_CONTRACT_INTERNAL", + "CLASS_AXIOM_OPTIONS_KEY" : "CLASS_AXIOM_OFF", + "DEP_OPTIONS_KEY" : "DEP_ON", + "INF_FLOW_CHECK_PROPERTY" : "INF_FLOW_CHECK_FALSE", + "LOOP_OPTIONS_KEY" : "LOOP_INVARIANT", + "METHOD_OPTIONS_KEY" : "METHOD_CONTRACT", + "MPS_OPTIONS_KEY" : "MPS_MERGE", + "NON_LIN_ARITH_OPTIONS_KEY" : "NON_LIN_ARITH_DEF_OPS", + "OSS_OPTIONS_KEY" : "OSS_ON", + "QUANTIFIERS_OPTIONS_KEY" : "QUANTIFIERS_NON_SPLITTING_WITH_PROGS", + "QUERYAXIOM_OPTIONS_KEY" : "QUERYAXIOM_ON", + "QUERY_NEW_OPTIONS_KEY" : "QUERY_OFF", + "SPLITTING_OPTIONS_KEY" : "SPLITTING_DELAYED", + "STOPMODE_OPTIONS_KEY" : "STOPMODE_DEFAULT", + "SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER", + "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY" : "SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF", + "USER_TACLETS_OPTIONS_KEY1" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY2" : "USER_TACLETS_OFF", + "USER_TACLETS_OPTIONS_KEY3" : "USER_TACLETS_OFF", + "VBT_PHASE" : "VBT_SYM_EX" + } + } + } + +\javaSource "src"; + +\proofObligation "#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 +"; + +\proof { +(keyLog "0" (keyUser "mattias" ) (keyVersion "9cc569ccced37e242b3a85779f2afdc42b0031ca")) + +(autoModeTime "5099") + +(branch "dummy ID" + (builtin "One Step Simplification" (formula "1") (newnames "heapAtPre,o,f")) +(rule "impRight" (formula "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 "11") (term "0,0,1,0,1")) +(rule "replace_known_right" (formula "4") (term "0") (ifseqformula "10")) + (builtin "One Step Simplification" (formula "4")) +(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 "assignment" (formula "11") (term "1")) + (builtin "One Step Simplification" (formula "11")) +(rule "methodBodyExpand" (formula "11") (term "1") (newnames "heapBefore_monoLemma,savedHeapBefore_monoLemma")) + (builtin "One Step Simplification" (formula "11")) +(rule "ifUnfold" (formula "11") (term "1") (inst "#boolv=b")) +(rule "variableDeclaration" (formula "11") (term "1") (newnames "b")) +(rule "compound_equality_comparison_2" (formula "11") (term "1") (inst "#v1=i_1") (inst "#v0=i")) +(rule "variableDeclarationAssign" (formula "11") (term "1")) +(rule "variableDeclaration" (formula "11") (term "1") (newnames "i")) +(rule "assignment" (formula "11") (term "1")) + (builtin "One Step Simplification" (formula "11")) +(rule "variableDeclarationAssign" (formula "11") (term "1")) +(rule "variableDeclaration" (formula "11") (term "1") (newnames "i_1")) +(rule "assignment_read_length" (formula "11")) +(branch "Normal Execution (_k == _a.length != null)" + (builtin "One Step Simplification" (formula "11")) + (rule "equality_comparison_simple" (formula "11") (term "1")) + (builtin "One Step Simplification" (formula "11")) + (rule "eqSymm" (formula "11") (term "0,0,1,0")) + (rule "ifSplit" (formula "11")) + (branch "if _k == _a.length true" + (builtin "One Step Simplification" (formula "12")) + (builtin "One Step Simplification" (formula "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")) + (rule "emptyModality" (formula "12") (term "1")) + (rule "andRight" (formula "12")) + (branch + (rule "andRight" (formula "12")) + (branch + (rule "andRight" (formula "12")) + (branch + (builtin "One Step Simplification" (formula "12")) + (rule "inEqSimp_geqRight" (formula "12")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "inEqSimp_homoInEq1" (formula "9")) + (rule "polySimp_pullOutFactor1" (formula "9") (term "0")) + (rule "add_literals" (formula "9") (term "1,0")) + (rule "times_zero_1" (formula "9") (term "0")) + (rule "leq_literals" (formula "9")) + (rule "true_left" (formula "9")) + (rule "applyEq" (formula "1") (term "3,1,0") (ifseqformula "2")) + (rule "polySimp_pullOutFactor2b" (formula "1") (term "0")) + (rule "add_literals" (formula "1") (term "1,1,0")) + (rule "times_zero_1" (formula "1") (term "1,0")) + (rule "add_zero_right" (formula "1") (term "0")) + (rule "leq_literals" (formula "1")) + (rule "closeFalse" (formula "1")) + ) + (branch + (builtin "One Step Simplification" (formula "12") (ifInst "" (formula "9"))) + (rule "closeTrue" (formula "12")) + ) + ) + (branch + (builtin "One Step Simplification" (formula "12")) + (rule "closeTrue" (formula "12")) + ) + ) + (branch + (builtin "One Step Simplification" (formula "12")) + (rule "closeTrue" (formula "12")) + ) + ) + (branch "if _k == _a.length false" + (builtin "One Step Simplification" (formula "12")) + (builtin "One Step Simplification" (formula "1")) + (rule "notLeft" (formula "1")) + (rule "methodCallUnfoldArguments" (formula "12") (term "1")) + (rule "variableDeclarationAssign" (formula "12") (term "1")) + (rule "variableDeclaration" (formula "12") (term "1") (newnames "var")) + (rule "assignment" (formula "12") (term "1")) + (builtin "One Step Simplification" (formula "12")) + (rule "variableDeclarationAssign" (formula "12") (term "1")) + (rule "variableDeclaration" (formula "12") (term "1") (newnames "var_1")) + (rule "assignmentAdditionInt" (formula "12") (term "1")) + (builtin "One Step Simplification" (formula "12")) + (rule "translateJavaAddInt" (formula "12") (term "0,1,0")) + (rule "polySimp_addComm0" (formula "12") (term "0,1,0")) + (rule "variableDeclarationAssign" (formula "12") (term "1")) + (rule "variableDeclaration" (formula "12") (term "1") (newnames "var_2")) + (rule "assignment" (formula "12") (term "1")) + (builtin "One Step Simplification" (formula "12")) + (builtin "Use Operation Contract" (formula "12") (newnames "heapBefore_monoLemma_0,exc_0") (contract "BoyerMoore[BoyerMoore::monoLemma([I,int,int)].JML normal_behavior operation contract.0") (modality "diamond")) + (branch "Post (monoLemma)" + (builtin "One Step Simplification" (formula "13")) + (builtin "One Step Simplification" (formula "9") (ifInst "" (formula "8"))) + (rule "andLeft" (formula "9")) + (rule "andLeft" (formula "10")) + (rule "inEqSimp_commuteLeq" (formula "10")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "10") (term "1")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "11") (term "0")) + (rule "methodCallEmpty" (formula "16") (term "1")) + (rule "tryEmpty" (formula "16") (term "1")) + (rule "emptyModality" (formula "16") (term "1")) + (rule "andRight" (formula "16")) + (branch "Case 1" + (rule "andRight" (formula "16")) + (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 "inEqSimp_geqRight" (formula "16")) + (rule "polySimp_mulComm0" (formula "1") (term "1,0,0")) + (rule "inEqSimp_commuteGeq" (formula "13")) + (rule "polySimp_sepPosMonomial" (formula "13") (term "0,0")) + (rule "mul_literals" (formula "13") (term "1,0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "polySimp_mulComm0" (formula "1") (term "1")) + (rule "polySimp_rightDist" (formula "1") (term "1")) + (rule "mul_literals" (formula "1") (term "0,1")) + (rule "polySimp_mulLiterals" (formula "1") (term "1,1")) + (rule "polySimp_elimOne" (formula "1") (term "1,1")) + (rule "inEqSimp_contradEq7" (formula "13") (term "0,0") (ifseqformula "7")) + (rule "add_zero_left" (formula "13") (term "0,0,0,0")) + (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")) + (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 "leq_literals" (formula "14") (term "0")) + (builtin "One Step Simplification" (formula "14")) + (rule "false_right" (formula "14")) + (rule "limit_BoyerMoore_count[I\bigint\bigint" (formula "1") (term "1,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_contradInEq1" (formula "2") (ifseqformula "15")) + (rule "andLeft" (formula "2")) + (rule "inEqSimp_homoInEq1" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,0")) + (rule "mul_literals" (formula "2") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "2") (term "0")) + (rule "polySimp_addComm1" (formula "2") (term "0,0")) + (rule "add_literals" (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")) + ) + (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_contradInEq1" (formula "2") (ifseqformula "14")) + (rule "andLeft" (formula "2")) + (rule "inEqSimp_homoInEq1" (formula "2")) + (rule "polySimp_mulComm0" (formula "2") (term "1,0")) + (rule "polySimp_rightDist" (formula "2") (term "1,0")) + (rule "mul_literals" (formula "2") (term "0,1,0")) + (rule "polySimp_addAssoc" (formula "2") (term "0")) + (rule "polySimp_addComm0" (formula "2") (term "0,0")) + (rule "polySimp_pullOutFactor1b" (formula "2") (term "0")) + (rule "add_literals" (formula "2") (term "1,1,0")) + (rule "times_zero_1" (formula "2") (term "1,0")) + (rule "add_zero_right" (formula "2") (term "0")) + (rule "leq_literals" (formula "2")) + (rule "closeFalse" (formula "2")) + ) + ) + (branch + (builtin "One Step Simplification" (formula "16") (ifInst "" (formula "8"))) + (rule "closeTrue" (formula "16")) + ) + ) + (branch + (builtin "One Step Simplification" (formula "16")) + (rule "closeTrue" (formula "16")) + ) + ) + (branch + (builtin "One Step Simplification" (formula "16")) + (rule "closeTrue" (formula "16")) + ) + ) + (branch "Exceptional Post (monoLemma)" + (builtin "One Step Simplification" (formula "9") (ifInst "" (formula "8"))) + (builtin "One Step Simplification" (formula "13")) + (rule "andLeft" (formula "9")) + (rule "andLeft" (formula "10")) + (rule "andLeft" (formula "9")) + (rule "notLeft" (formula "9")) + (rule "close" (formula "12") (ifseqformula "11")) + ) + (branch "Pre (monoLemma)" + (builtin "One Step Simplification" (formula "12") (ifInst "" (formula "8")) (ifInst "" (formula "11")) (ifInst "" (formula "1")) (ifInst "" (formula "11")) (ifInst "" (formula "4"))) + (rule "polySimp_elimSub" (formula "12") (term "0,1")) + (rule "polySimp_mulComm0" (formula "12") (term "1,0,1")) + (rule "polySimp_rightDist" (formula "12") (term "1,0,1")) + (rule "mul_literals" (formula "12") (term "0,1,0,1")) + (rule "polySimp_addComm0" (formula "12") (term "0,1")) + (rule "measuredByCheck" (formula "12") (term "1") (ifseqformula "5")) + (rule "precOfInt" (formula "12") (term "1")) + (rule "inEqSimp_ltToLeq" (formula "12") (term "1,1")) + (rule "polySimp_rightDist" (formula "12") (term "1,0,0,1,1")) + (rule "polySimp_mulAssoc" (formula "12") (term "0,1,0,0,1,1")) + (rule "polySimp_mulComm0" (formula "12") (term "0,0,1,0,0,1,1")) + (rule "polySimp_mulLiterals" (formula "12") (term "0,1,0,0,1,1")) + (rule "polySimp_elimOne" (formula "12") (term "0,1,0,0,1,1")) + (rule "polySimp_addAssoc" (formula "12") (term "0,0,1,1")) + (rule "polySimp_addAssoc" (formula "12") (term "0,1,1")) + (rule "polySimp_addComm1" (formula "12") (term "0,0,1,1")) + (rule "polySimp_pullOutFactor2b" (formula "12") (term "0,1,1")) + (rule "add_literals" (formula "12") (term "1,1,0,1,1")) + (rule "times_zero_1" (formula "12") (term "1,0,1,1")) + (rule "add_zero_right" (formula "12") (term "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_pullOutFactor1" (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 "inEqSimp_sepPosMonomial1" (formula "12") (term "0,0")) + (rule "mul_literals" (formula "12") (term "1,0,0")) + (rule "inEqSimp_sepPosMonomial1" (formula "12") (term "1")) + (rule "polySimp_mulComm0" (formula "12") (term "1,1")) + (rule "polySimp_rightDist" (formula "12") (term "1,1")) + (rule "mul_literals" (formula "12") (term "0,1,1")) + (rule "polySimp_mulLiterals" (formula "12") (term "1,1,1")) + (rule "polySimp_elimOne" (formula "12") (term "1,1,1")) + (builtin "One Step Simplification" (formula "12")) + (rule "inEqSimp_strengthen1" (formula "7") (ifseqformula "9")) + (rule "replace_known_left" (formula "12") (term "1") (ifseqformula "7")) + (builtin "One Step Simplification" (formula "12")) + (rule "inEqSimp_geqRight" (formula "12")) + (rule "mul_literals" (formula "1") (term "1,0,0")) + (rule "add_literals" (formula "1") (term "0,0")) + (rule "inEqSimp_sepPosMonomial0" (formula "1")) + (rule "mul_literals" (formula "1") (term "1")) + (rule "inEqSimp_contradEq7" (formula "10") (ifseqformula "8")) + (rule "polySimp_mulComm0" (formula "10") (term "1,0,0")) + (rule "polySimp_pullOutFactor1b" (formula "10") (term "0,0")) + (rule "add_literals" (formula "10") (term "1,1,0,0")) + (rule "times_zero_1" (formula "10") (term "1,0,0")) + (rule "add_zero_right" (formula "10") (term "0,0")) + (rule "leq_literals" (formula "10") (term "0")) + (builtin "One Step Simplification" (formula "10")) + (rule "false_right" (formula "10")) + (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 "Null Reference (_k == _a.length = null)" + (builtin "One Step Simplification" (formula "1") (ifInst "" (formula "11"))) + (rule "closeFalse" (formula "1")) +) +) +} diff --git a/key.ui/examples/heap/BoyerMoore/README.txt b/key.ui/examples/heap/BoyerMoore/README.txt new file mode 100644 index 00000000000..f56ae2a608a --- /dev/null +++ b/key.ui/examples/heap/BoyerMoore/README.txt @@ -0,0 +1,22 @@ +example.name = Boyer Moore Majority +example.file = BoyerMoore.key +example.additionalFile.1 = src/BoyerMoore.java +example.path = Algorithms + +This is a KeY verification example for the Boyer Moore +majority vote algorithm. + +The challenge is as followed: + Compute in linear time the majority + of an array of integers if it + exists, report its absence otherwise, . +An element m is the majority element if more than half of the +entries in the array hold m. + +Suggested by J.C. FilliĆ¢tre as an example during VerifyThis 24. + +Currently the proofs do not go through automatically, the proof +files are checked in with the example. + +@see https://en.wikipedia.org/wiki/Boyer-Moore_majority_vote_algorithm +@author Mattias Ulbrich diff --git a/key.ui/examples/heap/BoyerMoore/src/BoyerMoore.java b/key.ui/examples/heap/BoyerMoore/src/BoyerMoore.java new file mode 100644 index 00000000000..9f3c244199b --- /dev/null +++ b/key.ui/examples/heap/BoyerMoore/src/BoyerMoore.java @@ -0,0 +1,121 @@ + +/** + * This is a KeY verification example for the Boyer Moore + * majority vote algorithm. + * + * The challenge is as followed: + * Compute in linear time the majority + * of an array of integers if it + * exists, report its absence otherwise, . + * An element m is the majority element if more than half of the + * entries in the array hold m. + * + * Suggested by J.C. FilliĆ¢tre as an example during VerifyThis 24. + * + * @see https://en.wikipedia.org/wiki/Boyer-Moore_majority_vote_algorithm + * @author Mattias Ulbrich + */ +class BoyerMoore { + + /*@ private normal_behaviour + @ requires 0 <= k <= a.length; + @ ensures \result == (\num_of int l; 0<=l count(a, a.length, \result.value) > a.length/2; + @ + @ ensures !\result.present ==> !(\exists int m; count(a, a.length, m) > a.length/2); + @ + @ assignable \nothing; + @*/ + public IntOpt bm(int[] a) { + + int mc = 0; + int mx = 0; + + /*@ loop_invariant 0 <= k <= a.length; + @ loop_invariant mc >= 0; + @ loop_invariant 2 * count(a, k, mx) <= k + mc; + @ loop_invariant (\forall int x; x != mx; 2 * count(a, k, x) <= k - mc); + @ assignable \strictly_nothing; + @ decreases a.length - k; + @*/ + for(int k=0; k < a.length; k++) { + if(mc == 0) { + mc = 1; + mx = a[k]; + } else if(mx == a[k]) { + mc++; + } else { + mc--; + } + } + + if(mc == 0) return IntOpt.NONE; + + int cnt = 0; + /*@ loop_invariant 0 <= r <= a.length; + @ loop_invariant cnt == count(a, r, mx); + @ loop_invariant cnt <= a.length / 2; + @ assignable \strictly_nothing; + @ decreases a.length - r; + @*/ + for(int r=0; r < a.length; r++) { + if(mx == a[r]) { + if(++cnt > a.length / 2) { + // This should be a ghost call which + // is currently unsupported. + monoLemma(a, r + 1, mx); + return new IntOpt(mx); + } + } + } + + return IntOpt.NONE; + } + + // This should be ghost which is currently unsupported. + /*@ private normal_behaviour + @ requires 0 <= k <= a.length; + @ ensures count(a, k, v) <= count(a, a.length, v); + @ assignable \strictly_nothing; + @ measured_by a.length - k; + @*/ + private void monoLemma(int[] a, int k, int v) { + if(k == a.length) return; + monoLemma(a, k+1, v); + } + +} + +/** + * This class is used to represent an optional integer value. + * The field present indicates the presence of a result, + * value contains that value. + */ +final class IntOpt { + public static final IntOpt NONE; + static { + NONE = new IntOpt(0); + NONE.present = false; + } + + //@ public static invariant !NONE.present; + + /*@ spec_public */ private boolean present; + /*@ spec_public */ private int value; + + // No contract for this construtor, the code will be inlined. + IntOpt(int value) { + this.present = true; + this.value = value; + } +} diff --git a/key.ui/examples/index/samplesIndex.txt b/key.ui/examples/index/samplesIndex.txt index c2036e62fe5..673e17f3d38 100644 --- a/key.ui/examples/index/samplesIndex.txt +++ b/key.ui/examples/index/samplesIndex.txt @@ -46,6 +46,7 @@ firstTouch/05-ReverseArray/README.txt heap/saddleback_search/README.txt heap/permutedSum/README.txt heap/quicksort/README.txt +heap/BoyerMoore/README.txt # Dynamic Frames ## Block & Loop Contracts