44.18/14.96 YES 44.18/14.97 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 44.18/14.97 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 44.18/14.97 44.18/14.97 44.18/14.97 Termination of the given C Problem could be proven: 44.18/14.97 44.18/14.97 (0) C Problem 44.18/14.97 (1) CToLLVMProof [EQUIVALENT, 167 ms] 44.18/14.97 (2) LLVM problem 44.18/14.97 (3) LLVMToTerminationGraphProof [EQUIVALENT, 11.1 s] 44.18/14.97 (4) LLVM Symbolic Execution Graph 44.18/14.97 (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] 44.18/14.97 (6) LLVM Symbolic Execution SCC 44.18/14.97 (7) SCC2IRS [SOUND, 193 ms] 44.18/14.97 (8) IntTRS 44.18/14.97 (9) IntTRSCompressionProof [EQUIVALENT, 0 ms] 44.18/14.97 (10) IntTRS 44.18/14.97 (11) RankingReductionPairProof [EQUIVALENT, 45 ms] 44.18/14.97 (12) YES 44.18/14.97 44.18/14.97 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (0) 44.18/14.97 Obligation: 44.18/14.97 c file /export/starexec/sandbox/benchmark/theBenchmark.c 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (1) CToLLVMProof (EQUIVALENT) 44.18/14.97 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (2) 44.18/14.97 Obligation: 44.18/14.97 LLVM Problem 44.18/14.97 44.18/14.97 Aliases: 44.18/14.97 44.18/14.97 Data layout: 44.18/14.97 44.18/14.97 "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" 44.18/14.97 44.18/14.97 Machine: 44.18/14.97 44.18/14.97 "x86_64-pc-linux-gnu" 44.18/14.97 44.18/14.97 Type definitions: 44.18/14.97 44.18/14.97 Global variables: 44.18/14.97 44.18/14.97 Function declarations and definitions: 44.18/14.97 44.18/14.97 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 44.18/14.97 *BasicFunctionTypename: "cstrncmp" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (s1 *i8, s2 *i8, n i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 44.18/14.97 0: 44.18/14.97 %1 = alloca i32, align 4 44.18/14.97 %2 = alloca *i8, align 8 44.18/14.97 %3 = alloca *i8, align 8 44.18/14.97 %4 = alloca i32, align 4 44.18/14.97 %uc1 = alloca i8, align 1 44.18/14.97 %uc2 = alloca i8, align 1 44.18/14.97 store %s1, %2 44.18/14.97 store %s2, %3 44.18/14.97 store %n, %4 44.18/14.97 %5 = load %4 44.18/14.97 %6 = icmp eq %5 0 44.18/14.97 br %6, %7, %8 44.18/14.97 7: 44.18/14.97 store 0, %1 44.18/14.97 br %57 44.18/14.97 8: 44.18/14.97 br %9 44.18/14.97 9: 44.18/14.97 %10 = load %4 44.18/14.97 %11 = add %10 -1 44.18/14.97 store %11, %4 44.18/14.97 %12 = icmp sgt %10 0 44.18/14.97 br %12, %13, %21 44.18/14.97 13: 44.18/14.97 %14 = load %2 44.18/14.97 %15 = load %14 44.18/14.97 %16 = sext i8 %15 to i32 44.18/14.97 %17 = load %3 44.18/14.97 %18 = load %17 44.18/14.97 %19 = sext i8 %18 to i32 44.18/14.97 %20 = icmp eq %16 %19 44.18/14.97 br %21 44.18/14.97 21: 44.18/14.97 %22 = phi [0, %9], [%20, %13] 44.18/14.97 br %22, %23, %37 44.18/14.97 23: 44.18/14.97 %24 = load %4 44.18/14.97 %25 = icmp eq %24 0 44.18/14.97 br %25, %31, %26 44.18/14.97 26: 44.18/14.97 %27 = load %2 44.18/14.97 %28 = load %27 44.18/14.97 %29 = sext i8 %28 to i32 44.18/14.97 %30 = icmp eq %29 0 44.18/14.97 br %30, %31, %32 44.18/14.97 31: 44.18/14.97 store 0, %1 44.18/14.97 br %57 44.18/14.97 32: 44.18/14.97 %33 = load %2 44.18/14.97 %34 = getelementptr %33, 1 44.18/14.97 store %34, %2 44.18/14.97 %35 = load %3 44.18/14.97 %36 = getelementptr %35, 1 44.18/14.97 store %36, %3 44.18/14.97 br %9 44.18/14.97 37: 44.18/14.97 %38 = load %2 44.18/14.97 %39 = load %38 44.18/14.97 store %39, %uc1 44.18/14.97 %40 = load %3 44.18/14.97 %41 = load %40 44.18/14.97 store %41, %uc2 44.18/14.97 %42 = load %uc1 44.18/14.97 %43 = zext i8 %42 to i32 44.18/14.97 %44 = load %uc2 44.18/14.97 %45 = zext i8 %44 to i32 44.18/14.97 %46 = icmp slt %43 %45 44.18/14.97 br %46, %47, %48 44.18/14.97 47: 44.18/14.97 br %55 44.18/14.97 48: 44.18/14.97 %49 = load %uc1 44.18/14.97 %50 = zext i8 %49 to i32 44.18/14.97 %51 = load %uc2 44.18/14.97 %52 = zext i8 %51 to i32 44.18/14.97 %53 = icmp sgt %50 %52 44.18/14.97 %54 = zext i1 %53 to i32 44.18/14.97 br %55 44.18/14.97 55: 44.18/14.97 %56 = phi [-1, %47], [%54, %48] 44.18/14.97 store %56, %1 44.18/14.97 br %57 44.18/14.97 57: 44.18/14.97 %58 = load %1 44.18/14.97 ret %58 44.18/14.97 44.18/14.97 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 44.18/14.97 0: 44.18/14.97 %1 = alloca i32, align 4 44.18/14.97 %length1 = alloca i32, align 4 44.18/14.97 %length2 = alloca i32, align 4 44.18/14.97 %nondetString1 = alloca *i8, align 8 44.18/14.97 %nondetString2 = alloca *i8, align 8 44.18/14.97 store 0, %1 44.18/14.97 %2 = call i32 @__VERIFIER_nondet_int() 44.18/14.97 store %2, %length1 44.18/14.97 %3 = call i32 @__VERIFIER_nondet_int() 44.18/14.97 store %3, %length2 44.18/14.97 %4 = load %length1 44.18/14.97 %5 = icmp slt %4 1 44.18/14.97 br %5, %6, %7 44.18/14.97 6: 44.18/14.97 store 1, %length1 44.18/14.97 br %7 44.18/14.97 7: 44.18/14.97 %8 = load %length2 44.18/14.97 %9 = icmp slt %8 1 44.18/14.97 br %9, %10, %11 44.18/14.97 10: 44.18/14.97 store 1, %length2 44.18/14.97 br %11 44.18/14.97 11: 44.18/14.97 %12 = load %length1 44.18/14.97 %13 = sext i32 %12 to i64 44.18/14.97 %14 = mul %13 1 44.18/14.97 %15 = alloca i8, numElementsLit: %14 44.18/14.97 store %15, %nondetString1 44.18/14.97 %16 = load %length2 44.18/14.97 %17 = sext i32 %16 to i64 44.18/14.97 %18 = mul %17 1 44.18/14.97 %19 = alloca i8, numElementsLit: %18 44.18/14.97 store %19, %nondetString2 44.18/14.97 %20 = load %length1 44.18/14.97 %21 = sub %20 1 44.18/14.97 %22 = sext i32 %21 to i64 44.18/14.97 %23 = load %nondetString1 44.18/14.97 %24 = getelementptr %23, %22 44.18/14.97 store 0, %24 44.18/14.97 %25 = load %length2 44.18/14.97 %26 = sub %25 1 44.18/14.97 %27 = sext i32 %26 to i64 44.18/14.97 %28 = load %nondetString2 44.18/14.97 %29 = getelementptr %28, %27 44.18/14.97 store 0, %29 44.18/14.97 %30 = load %nondetString1 44.18/14.97 %31 = load %nondetString2 44.18/14.97 %32 = call i32 @__VERIFIER_nondet_int() 44.18/14.97 %33 = call i32 @cstrncmp(*i8 %30, *i8 %31, i32 %32) 44.18/14.97 ret %33 44.18/14.97 44.18/14.97 44.18/14.97 Analyze Termination of all function calls matching the pattern: 44.18/14.97 main() 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (3) LLVMToTerminationGraphProof (EQUIVALENT) 44.18/14.97 Constructed symbolic execution graph for LLVM program and proved memory safety. 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (4) 44.18/14.97 Obligation: 44.18/14.97 SE Graph 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (5) SymbolicExecutionGraphToSCCProof (SOUND) 44.18/14.97 Splitted symbolic execution graph to 1 SCC. 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (6) 44.18/14.97 Obligation: 44.18/14.97 SCC 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (7) SCC2IRS (SOUND) 44.18/14.97 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 44.18/14.97 Generated rules. Obtained 33 rulesP rules: 44.18/14.97 f_1197(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7664, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1198(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7664, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1198(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7664, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1200(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7664, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: v7658 != 0 && 2 <= v7657 44.18/14.97 f_1200(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7664, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1202(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7664, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1202(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7664, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1204(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7664, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: TRUE 44.18/14.97 f_1204(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7664, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1206(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7664, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1206(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7664, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1208(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7664, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1208(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7664, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1210(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1210(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1213(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: v7661 != 0 && v7660 < v7674 && v7662 < v7676 && 3 <= v7674 && 3 <= v7676 44.18/14.97 f_1213(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1215(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1215(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1217(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: TRUE 44.18/14.97 f_1217(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1219(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1219(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1221(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: v8321 = 1 + v7660 && 3 <= v8321 44.18/14.97 f_1221(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1223(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: TRUE 44.18/14.97 f_1223(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1225(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1225(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1226(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: v8323 = 1 + v7662 && 3 <= v8323 44.18/14.97 f_1226(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1227(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: TRUE 44.18/14.97 f_1227(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1228(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: TRUE 44.18/14.97 f_1228(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1229(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1229(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1230(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 1 + v8366 = v7658 && 0 <= v8366 44.18/14.97 f_1230(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1231(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: TRUE 44.18/14.97 f_1231(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1232(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1232(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1233(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: TRUE 44.18/14.97 f_1233(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v7660, v7661, v7662, v8321, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1234(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v7661, v7662, v7660, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1234(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v7661, v7662, v7660, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1235(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8415, v7661, v7662, v7660, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: TRUE 44.18/14.97 f_1235(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8415, v7661, v7662, v7660, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1236(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8415, v7662, v7661, v7660, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1236(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8415, v7662, v7661, v7660, v8323, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1237(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8415, v8323, v7661, v7660, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1237(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8415, v8323, v7661, v7660, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1238(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8415, v8323, v8417, v7661, v7660, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: TRUE 44.18/14.97 f_1238(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8415, v8323, v8417, v7661, v7660, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1239(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8415, v8323, v8417, v7660, v7661, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1239(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8415, v8323, v8417, v7660, v7661, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1240(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8417, v8323, v7660, v7661, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: v8415 = v8417 44.18/14.97 f_1240(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8417, v8323, v7660, v7661, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1242(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8417, v8323, v7660, v7661, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1242(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8417, v8323, v7660, v7661, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1244(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8417, v8323, v7660, v7661, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: 0 = 0 44.18/14.97 f_1244(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8417, v8323, v7660, v7661, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7663, v7664, v7665, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1196(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7658, v8366, 1, v8321, v8417, v8323, v7660, v7661, v7662, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: TRUE 44.18/14.97 f_1196(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7664, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) -> f_1197(v7647, v7648, v7649, v7650, v7651, v7652, v7653, v7654, v7655, 0, v7657, v7658, 1, v7660, v7661, v7662, v7663, v7664, v7665, v7666, v7677, v7667, v7678, v7668, v7679, v7669, v7680, v7670, v7681, v7674, v7676, v7682, v7683, v7684, v7685, v7686, v7671, v7672, v7673, v7675, 3, 7, 2, 4, 8) :|: TRUE 44.18/14.97 Combined rules. Obtained 2 rulesP rules: 44.18/14.97 f_1197(v7647:0, v7648:0, v7649:0, v7650:0, v7651:0, v7652:0, v7653:0, v7654:0, v7655:0, 0, v7657:0, 1 + v8366:0, 1, v7660:0, v7661:0, v7662:0, v7663:0, v7664:0, v7665:0, v7666:0, v7677:0, v7667:0, v7678:0, v7668:0, v7679:0, v7669:0, v7680:0, v7670:0, v7681:0, v7674:0, v7676:0, v7682:0, v7683:0, v7684:0, v7685:0, v7686:0, v7671:0, v7672:0, v7673:0, v7675:0, 3, 7, 2, 4, 8) -> f_1197(v7647:0, v7648:0, v7649:0, v7650:0, v7651:0, v7652:0, v7653:0, v7654:0, v7655:0, 0, 1 + v8366:0, v8366:0, 1, 1 + v7660:0, v8415:0, 1 + v7662:0, v7660:0, v7661:0, v7662:0, v7666:0, v7677:0, v7667:0, v7678:0, v7668:0, v7679:0, v7669:0, v7680:0, v7670:0, v7681:0, v7674:0, v7676:0, v7682:0, v7683:0, v7684:0, v7685:0, v7686:0, v7671:0, v7672:0, v7673:0, v7675:0, 3, 7, 2, 4, 8) :|: v7657:0 > 1 && v8366:0 > -1 && v7674:0 > v7660:0 && v7661:0 < 0 && v7676:0 > v7662:0 && v7674:0 > 2 && v7676:0 > 2 && v7660:0 > 1 && v7662:0 > 1 44.18/14.97 f_1197(v7647:0, v7648:0, v7649:0, v7650:0, v7651:0, v7652:0, v7653:0, v7654:0, v7655:0, 0, v7657:0, 1 + v8366:0, 1, v7660:0, v7661:0, v7662:0, v7663:0, v7664:0, v7665:0, v7666:0, v7677:0, v7667:0, v7678:0, v7668:0, v7679:0, v7669:0, v7680:0, v7670:0, v7681:0, v7674:0, v7676:0, v7682:0, v7683:0, v7684:0, v7685:0, v7686:0, v7671:0, v7672:0, v7673:0, v7675:0, 3, 7, 2, 4, 8) -> f_1197(v7647:0, v7648:0, v7649:0, v7650:0, v7651:0, v7652:0, v7653:0, v7654:0, v7655:0, 0, 1 + v8366:0, v8366:0, 1, 1 + v7660:0, v8415:0, 1 + v7662:0, v7660:0, v7661:0, v7662:0, v7666:0, v7677:0, v7667:0, v7678:0, v7668:0, v7679:0, v7669:0, v7680:0, v7670:0, v7681:0, v7674:0, v7676:0, v7682:0, v7683:0, v7684:0, v7685:0, v7686:0, v7671:0, v7672:0, v7673:0, v7675:0, 3, 7, 2, 4, 8) :|: v7657:0 > 1 && v8366:0 > -1 && v7674:0 > v7660:0 && v7661:0 > 0 && v7676:0 > v7662:0 && v7674:0 > 2 && v7676:0 > 2 && v7660:0 > 1 && v7662:0 > 1 44.18/14.97 Filtered unneeded arguments: 44.18/14.97 f_1197(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45) -> f_1197(x11, x12, x14, x15, x16, x30, x31) 44.18/14.97 Removed division, modulo operations, cleaned up constraints. Obtained 2 rules.P rules: 44.18/14.97 f_1197(v7657:0, sum~cons_1~v8366:0, v7660:0, v7661:0, v7662:0, v7674:0, v7676:0) -> f_1197(1 + v8366:0, v8366:0, 1 + v7660:0, v8415:0, 1 + v7662:0, v7674:0, v7676:0) :|: v8366:0 > -1 && v7657:0 > 1 && v7674:0 > v7660:0 && v7661:0 < 0 && v7676:0 > v7662:0 && v7674:0 > 2 && v7676:0 > 2 && v7662:0 > 1 && v7660:0 > 1 && sum~cons_1~v8366:0 = 1 + v8366:0 44.18/14.97 f_1197(v7657:0, sum~cons_1~v8366:0, v7660:0, v7661:0, v7662:0, v7674:0, v7676:0) -> f_1197(1 + v8366:0, v8366:0, 1 + v7660:0, v8415:0, 1 + v7662:0, v7674:0, v7676:0) :|: v8366:0 > -1 && v7657:0 > 1 && v7674:0 > v7660:0 && v7661:0 > 0 && v7676:0 > v7662:0 && v7674:0 > 2 && v7676:0 > 2 && v7662:0 > 1 && v7660:0 > 1 && sum~cons_1~v8366:0 = 1 + v8366:0 44.18/14.97 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (8) 44.18/14.97 Obligation: 44.18/14.97 Rules: 44.18/14.97 f_1197(v7657:0, sum~cons_1~v8366:0, v7660:0, v7661:0, v7662:0, v7674:0, v7676:0) -> f_1197(1 + v8366:0, v8366:0, 1 + v7660:0, v8415:0, 1 + v7662:0, v7674:0, v7676:0) :|: v8366:0 > -1 && v7657:0 > 1 && v7674:0 > v7660:0 && v7661:0 < 0 && v7676:0 > v7662:0 && v7674:0 > 2 && v7676:0 > 2 && v7662:0 > 1 && v7660:0 > 1 && sum~cons_1~v8366:0 = 1 + v8366:0 44.18/14.97 f_1197(x, x1, x2, x3, x4, x5, x6) -> f_1197(1 + x7, x7, 1 + x2, x8, 1 + x4, x5, x6) :|: x7 > -1 && x > 1 && x5 > x2 && x3 > 0 && x6 > x4 && x5 > 2 && x6 > 2 && x4 > 1 && x2 > 1 && x1 = 1 + x7 44.18/14.97 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (9) IntTRSCompressionProof (EQUIVALENT) 44.18/14.97 Compressed rules. 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (10) 44.18/14.97 Obligation: 44.18/14.97 Rules: 44.18/14.97 f_1197(x:0, sum~cons_1~x7:0, x2:0, x3:0, x4:0, x5:0, x6:0) -> f_1197(1 + x7:0, x7:0, 1 + x2:0, x8:0, 1 + x4:0, x5:0, x6:0) :|: x4:0 > 1 && x2:0 > 1 && x6:0 > 2 && x5:0 > 2 && x6:0 > x4:0 && x3:0 > 0 && x5:0 > x2:0 && x:0 > 1 && x7:0 > -1 && sum~cons_1~x7:0 = 1 + x7:0 44.18/14.97 f_1197(v7657:0:0, sum~cons_1~v8366:0:0, v7660:0:0, v7661:0:0, v7662:0:0, v7674:0:0, v7676:0:0) -> f_1197(1 + v8366:0:0, v8366:0:0, 1 + v7660:0:0, v8415:0:0, 1 + v7662:0:0, v7674:0:0, v7676:0:0) :|: v7662:0:0 > 1 && v7660:0:0 > 1 && v7676:0:0 > 2 && v7674:0:0 > 2 && v7676:0:0 > v7662:0:0 && v7661:0:0 < 0 && v7674:0:0 > v7660:0:0 && v7657:0:0 > 1 && v8366:0:0 > -1 && sum~cons_1~v8366:0:0 = 1 + v8366:0:0 44.18/14.97 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (11) RankingReductionPairProof (EQUIVALENT) 44.18/14.97 Interpretation: 44.18/14.97 [ f_1197 ] = -1*f_1197_3 + f_1197_6 44.18/14.97 44.18/14.97 The following rules are decreasing: 44.18/14.97 f_1197(x:0, sum~cons_1~x7:0, x2:0, x3:0, x4:0, x5:0, x6:0) -> f_1197(1 + x7:0, x7:0, 1 + x2:0, x8:0, 1 + x4:0, x5:0, x6:0) :|: x4:0 > 1 && x2:0 > 1 && x6:0 > 2 && x5:0 > 2 && x6:0 > x4:0 && x3:0 > 0 && x5:0 > x2:0 && x:0 > 1 && x7:0 > -1 && sum~cons_1~x7:0 = 1 + x7:0 44.18/14.97 f_1197(v7657:0:0, sum~cons_1~v8366:0:0, v7660:0:0, v7661:0:0, v7662:0:0, v7674:0:0, v7676:0:0) -> f_1197(1 + v8366:0:0, v8366:0:0, 1 + v7660:0:0, v8415:0:0, 1 + v7662:0:0, v7674:0:0, v7676:0:0) :|: v7662:0:0 > 1 && v7660:0:0 > 1 && v7676:0:0 > 2 && v7674:0:0 > 2 && v7676:0:0 > v7662:0:0 && v7661:0:0 < 0 && v7674:0:0 > v7660:0:0 && v7657:0:0 > 1 && v8366:0:0 > -1 && sum~cons_1~v8366:0:0 = 1 + v8366:0:0 44.18/14.97 44.18/14.97 The following rules are bounded: 44.18/14.97 f_1197(x:0, sum~cons_1~x7:0, x2:0, x3:0, x4:0, x5:0, x6:0) -> f_1197(1 + x7:0, x7:0, 1 + x2:0, x8:0, 1 + x4:0, x5:0, x6:0) :|: x4:0 > 1 && x2:0 > 1 && x6:0 > 2 && x5:0 > 2 && x6:0 > x4:0 && x3:0 > 0 && x5:0 > x2:0 && x:0 > 1 && x7:0 > -1 && sum~cons_1~x7:0 = 1 + x7:0 44.18/14.97 f_1197(v7657:0:0, sum~cons_1~v8366:0:0, v7660:0:0, v7661:0:0, v7662:0:0, v7674:0:0, v7676:0:0) -> f_1197(1 + v8366:0:0, v8366:0:0, 1 + v7660:0:0, v8415:0:0, 1 + v7662:0:0, v7674:0:0, v7676:0:0) :|: v7662:0:0 > 1 && v7660:0:0 > 1 && v7676:0:0 > 2 && v7674:0:0 > 2 && v7676:0:0 > v7662:0:0 && v7661:0:0 < 0 && v7674:0:0 > v7660:0:0 && v7657:0:0 > 1 && v8366:0:0 > -1 && sum~cons_1~v8366:0:0 = 1 + v8366:0:0 44.18/14.97 44.18/14.97 44.18/14.97 ---------------------------------------- 44.18/14.97 44.18/14.97 (12) 44.18/14.97 YES 44.45/15.02 EOF