/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Quasi decreasingness of the given CTRS could not be shown: (0) CTRS (1) CTRSToQTRSProof [SOUND, 0 ms] (2) QTRS (3) QTRSRRRProof [EQUIVALENT, 57 ms] (4) QTRS (5) DependencyPairsProof [EQUIVALENT, 0 ms] (6) QDP (7) DependencyGraphProof [EQUIVALENT, 0 ms] (8) AND (9) QDP (10) UsableRulesProof [EQUIVALENT, 0 ms] (11) QDP (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] (13) YES (14) QDP (15) UsableRulesProof [EQUIVALENT, 0 ms] (16) QDP (17) TransformationProof [EQUIVALENT, 0 ms] (18) QDP (19) TransformationProof [EQUIVALENT, 0 ms] (20) QDP (21) MRRProof [EQUIVALENT, 11 ms] (22) QDP (23) TransformationProof [EQUIVALENT, 0 ms] (24) QDP (25) NonTerminationLoopProof [COMPLETE, 0 ms] (26) NO ---------------------------------------- (0) Obligation: Conditional term rewrite system: The TRS R consists of the following rules: gcd(x, 0) -> x gcd(0, x) -> x iadd(y) -> tp2(0, y) iadd(s(z)) -> u1(iadd(z)) u1(tp2(x, y)) -> tp2(s(x), y) iadd(add(x, y)) -> tp2(x, y) The conditional TRS C consists of the following conditional rules: gcd(z, y) -> gcd(x, y) <= iadd(z) -> tp2(x, y) gcd(y, z) -> gcd(x, y) <= iadd(z) -> tp2(x, y) ---------------------------------------- (1) CTRSToQTRSProof (SOUND) The conditional rules have been transormed into unconditional rules according to [CTRS,AAECCNOC]. ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: gcd(z, y) -> U1(iadd(z), y) U1(tp2(x, y), y) -> gcd(x, y) gcd(y, z) -> U2(iadd(z), y) U2(tp2(x, y), y) -> gcd(x, y) gcd(x, 0) -> x gcd(0, x) -> x iadd(y) -> tp2(0, y) iadd(s(z)) -> u1(iadd(z)) u1(tp2(x, y)) -> tp2(s(x), y) iadd(add(x, y)) -> tp2(x, y) Q is empty. ---------------------------------------- (3) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(0) = 0 POL(U1(x_1, x_2)) = x_1 + x_2 POL(U2(x_1, x_2)) = x_1 + 2*x_2 POL(add(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 POL(gcd(x_1, x_2)) = 1 + 2*x_1 + x_2 POL(iadd(x_1)) = 1 + x_1 POL(s(x_1)) = x_1 POL(tp2(x_1, x_2)) = 1 + 2*x_1 + x_2 POL(u1(x_1)) = x_1 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: gcd(x, 0) -> x gcd(0, x) -> x iadd(add(x, y)) -> tp2(x, y) ---------------------------------------- (4) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: gcd(z, y) -> U1(iadd(z), y) U1(tp2(x, y), y) -> gcd(x, y) gcd(y, z) -> U2(iadd(z), y) U2(tp2(x, y), y) -> gcd(x, y) iadd(y) -> tp2(0, y) iadd(s(z)) -> u1(iadd(z)) u1(tp2(x, y)) -> tp2(s(x), y) Q is empty. ---------------------------------------- (5) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (6) Obligation: Q DP problem: The TRS P consists of the following rules: GCD(z, y) -> U1^1(iadd(z), y) GCD(z, y) -> IADD(z) U1^1(tp2(x, y), y) -> GCD(x, y) GCD(y, z) -> U2^1(iadd(z), y) GCD(y, z) -> IADD(z) U2^1(tp2(x, y), y) -> GCD(x, y) IADD(s(z)) -> U1(iadd(z)) IADD(s(z)) -> IADD(z) The TRS R consists of the following rules: gcd(z, y) -> U1(iadd(z), y) U1(tp2(x, y), y) -> gcd(x, y) gcd(y, z) -> U2(iadd(z), y) U2(tp2(x, y), y) -> gcd(x, y) iadd(y) -> tp2(0, y) iadd(s(z)) -> u1(iadd(z)) u1(tp2(x, y)) -> tp2(s(x), y) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (7) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 3 less nodes. ---------------------------------------- (8) Complex Obligation (AND) ---------------------------------------- (9) Obligation: Q DP problem: The TRS P consists of the following rules: IADD(s(z)) -> IADD(z) The TRS R consists of the following rules: gcd(z, y) -> U1(iadd(z), y) U1(tp2(x, y), y) -> gcd(x, y) gcd(y, z) -> U2(iadd(z), y) U2(tp2(x, y), y) -> gcd(x, y) iadd(y) -> tp2(0, y) iadd(s(z)) -> u1(iadd(z)) u1(tp2(x, y)) -> tp2(s(x), y) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: IADD(s(z)) -> IADD(z) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *IADD(s(z)) -> IADD(z) The graph contains the following edges 1 > 1 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: Q DP problem: The TRS P consists of the following rules: U1^1(tp2(x, y), y) -> GCD(x, y) GCD(z, y) -> U1^1(iadd(z), y) GCD(y, z) -> U2^1(iadd(z), y) U2^1(tp2(x, y), y) -> GCD(x, y) The TRS R consists of the following rules: gcd(z, y) -> U1(iadd(z), y) U1(tp2(x, y), y) -> gcd(x, y) gcd(y, z) -> U2(iadd(z), y) U2(tp2(x, y), y) -> gcd(x, y) iadd(y) -> tp2(0, y) iadd(s(z)) -> u1(iadd(z)) u1(tp2(x, y)) -> tp2(s(x), y) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (15) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: U1^1(tp2(x, y), y) -> GCD(x, y) GCD(z, y) -> U1^1(iadd(z), y) GCD(y, z) -> U2^1(iadd(z), y) U2^1(tp2(x, y), y) -> GCD(x, y) The TRS R consists of the following rules: iadd(y) -> tp2(0, y) iadd(s(z)) -> u1(iadd(z)) u1(tp2(x, y)) -> tp2(s(x), y) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule GCD(z, y) -> U1^1(iadd(z), y) at position [0] we obtained the following new rules [LPAR04]: (GCD(x0, y1) -> U1^1(tp2(0, x0), y1),GCD(x0, y1) -> U1^1(tp2(0, x0), y1)) (GCD(s(x0), y1) -> U1^1(u1(iadd(x0)), y1),GCD(s(x0), y1) -> U1^1(u1(iadd(x0)), y1)) ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: U1^1(tp2(x, y), y) -> GCD(x, y) GCD(y, z) -> U2^1(iadd(z), y) U2^1(tp2(x, y), y) -> GCD(x, y) GCD(x0, y1) -> U1^1(tp2(0, x0), y1) GCD(s(x0), y1) -> U1^1(u1(iadd(x0)), y1) The TRS R consists of the following rules: iadd(y) -> tp2(0, y) iadd(s(z)) -> u1(iadd(z)) u1(tp2(x, y)) -> tp2(s(x), y) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule GCD(y, z) -> U2^1(iadd(z), y) at position [0] we obtained the following new rules [LPAR04]: (GCD(y0, x0) -> U2^1(tp2(0, x0), y0),GCD(y0, x0) -> U2^1(tp2(0, x0), y0)) (GCD(y0, s(x0)) -> U2^1(u1(iadd(x0)), y0),GCD(y0, s(x0)) -> U2^1(u1(iadd(x0)), y0)) ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: U1^1(tp2(x, y), y) -> GCD(x, y) U2^1(tp2(x, y), y) -> GCD(x, y) GCD(x0, y1) -> U1^1(tp2(0, x0), y1) GCD(s(x0), y1) -> U1^1(u1(iadd(x0)), y1) GCD(y0, x0) -> U2^1(tp2(0, x0), y0) GCD(y0, s(x0)) -> U2^1(u1(iadd(x0)), y0) The TRS R consists of the following rules: iadd(y) -> tp2(0, y) iadd(s(z)) -> u1(iadd(z)) u1(tp2(x, y)) -> tp2(s(x), y) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (21) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: GCD(y0, s(x0)) -> U2^1(u1(iadd(x0)), y0) Used ordering: Polynomial interpretation [POLO]: POL(0) = 0 POL(GCD(x_1, x_2)) = x_1 + 2*x_2 POL(U1^1(x_1, x_2)) = x_1 + x_2 POL(U2^1(x_1, x_2)) = x_1 + x_2 POL(iadd(x_1)) = x_1 POL(s(x_1)) = 1 + 2*x_1 POL(tp2(x_1, x_2)) = x_1 + x_2 POL(u1(x_1)) = 1 + 2*x_1 ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: U1^1(tp2(x, y), y) -> GCD(x, y) U2^1(tp2(x, y), y) -> GCD(x, y) GCD(x0, y1) -> U1^1(tp2(0, x0), y1) GCD(s(x0), y1) -> U1^1(u1(iadd(x0)), y1) GCD(y0, x0) -> U2^1(tp2(0, x0), y0) The TRS R consists of the following rules: iadd(y) -> tp2(0, y) iadd(s(z)) -> u1(iadd(z)) u1(tp2(x, y)) -> tp2(s(x), y) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (23) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule U2^1(tp2(x, y), y) -> GCD(x, y) we obtained the following new rules [LPAR04]: (U2^1(tp2(0, y_0), y_0) -> GCD(0, y_0),U2^1(tp2(0, y_0), y_0) -> GCD(0, y_0)) ---------------------------------------- (24) Obligation: Q DP problem: The TRS P consists of the following rules: U1^1(tp2(x, y), y) -> GCD(x, y) GCD(x0, y1) -> U1^1(tp2(0, x0), y1) GCD(s(x0), y1) -> U1^1(u1(iadd(x0)), y1) GCD(y0, x0) -> U2^1(tp2(0, x0), y0) U2^1(tp2(0, y_0), y_0) -> GCD(0, y_0) The TRS R consists of the following rules: iadd(y) -> tp2(0, y) iadd(s(z)) -> u1(iadd(z)) u1(tp2(x, y)) -> tp2(s(x), y) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (25) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by narrowing to the right: s = U1^1(tp2(x0, y1), y1) evaluates to t =U1^1(tp2(0, x0), y1) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [ ] * Semiunifier: [x0 / 0, y1 / 0] -------------------------------------------------------------------------------- Rewriting sequence U1^1(tp2(0, 0), 0) -> GCD(0, 0) with rule U1^1(tp2(x, y), y) -> GCD(x, y) and matcher [x / 0, y / 0]. GCD(0, 0) -> U1^1(tp2(0, 0), 0) with rule GCD(x0, y1) -> U1^1(tp2(0, x0), y1) at position [] and matcher [x0 / 0, y1 / 0] Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence All these steps are and every following step will be a correct step w.r.t to Q. ---------------------------------------- (26) NO