/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Outermost Termination of the given OTRS could be proven: (0) OTRS (1) Raffelsieper-Zantema-Transformation [SOUND, 0 ms] (2) QTRS (3) QTRSRRRProof [EQUIVALENT, 40 ms] (4) QTRS (5) QTRSRRRProof [EQUIVALENT, 26 ms] (6) QTRS (7) AAECC Innermost [EQUIVALENT, 0 ms] (8) QTRS (9) DependencyPairsProof [EQUIVALENT, 0 ms] (10) QDP (11) DependencyGraphProof [EQUIVALENT, 0 ms] (12) QDP (13) UsableRulesProof [EQUIVALENT, 0 ms] (14) QDP (15) QReductionProof [EQUIVALENT, 0 ms] (16) QDP (17) RFCMatchBoundsDPProof [EQUIVALENT, 0 ms] (18) YES ---------------------------------------- (0) Obligation: Term rewrite system R: The TRS R consists of the following rules: f(g(a)) -> a f(f(x)) -> b g(x) -> f(g(x)) Outermost Strategy. ---------------------------------------- (1) Raffelsieper-Zantema-Transformation (SOUND) We applied the Raffelsieper-Zantema transformation to transform the outermost TRS to a standard TRS. ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: down(f(g(a))) -> up(a) down(f(f(x))) -> up(b) down(g(x)) -> up(f(g(x))) top(up(x)) -> top(down(x)) down(f(a)) -> f_flat(down(a)) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(g(f(y6)))) -> f_flat(down(g(f(y6)))) down(f(g(g(y7)))) -> f_flat(down(g(g(y7)))) down(f(g(b))) -> f_flat(down(g(b))) down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) f_flat(up(x_1)) -> up(f(x_1)) g_flat(up(x_1)) -> up(g(x_1)) Q is empty. ---------------------------------------- (3) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(a) = 0 POL(b) = 0 POL(down(x_1)) = 2 + 2*x_1 POL(f(x_1)) = x_1 POL(f_flat(x_1)) = x_1 POL(fresh_constant) = 0 POL(g(x_1)) = x_1 POL(g_flat(x_1)) = 1 + 2*x_1 POL(top(x_1)) = 2*x_1 POL(up(x_1)) = 2 + 2*x_1 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: g_flat(up(x_1)) -> up(g(x_1)) ---------------------------------------- (4) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: down(f(g(a))) -> up(a) down(f(f(x))) -> up(b) down(g(x)) -> up(f(g(x))) top(up(x)) -> top(down(x)) down(f(a)) -> f_flat(down(a)) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(g(f(y6)))) -> f_flat(down(g(f(y6)))) down(f(g(g(y7)))) -> f_flat(down(g(g(y7)))) down(f(g(b))) -> f_flat(down(g(b))) down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) f_flat(up(x_1)) -> up(f(x_1)) Q is empty. ---------------------------------------- (5) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(a) = 1 POL(b) = 0 POL(down(x_1)) = 2*x_1 POL(f(x_1)) = x_1 POL(f_flat(x_1)) = x_1 POL(fresh_constant) = 0 POL(g(x_1)) = 2*x_1 POL(top(x_1)) = 2*x_1 POL(up(x_1)) = 2*x_1 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: down(f(g(a))) -> up(a) ---------------------------------------- (6) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: down(f(f(x))) -> up(b) down(g(x)) -> up(f(g(x))) top(up(x)) -> top(down(x)) down(f(a)) -> f_flat(down(a)) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(g(f(y6)))) -> f_flat(down(g(f(y6)))) down(f(g(g(y7)))) -> f_flat(down(g(g(y7)))) down(f(g(b))) -> f_flat(down(g(b))) down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) f_flat(up(x_1)) -> up(f(x_1)) Q is empty. ---------------------------------------- (7) AAECC Innermost (EQUIVALENT) We have applied [NOC,AAECCNOC] to switch to innermost. The TRS R 1 is down(f(a)) -> f_flat(down(a)) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(g(f(y6)))) -> f_flat(down(g(f(y6)))) down(f(g(g(y7)))) -> f_flat(down(g(g(y7)))) down(f(g(b))) -> f_flat(down(g(b))) down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(x))) -> up(b) down(g(x)) -> up(f(g(x))) The TRS R 2 is top(up(x)) -> top(down(x)) The signature Sigma is {top_1} ---------------------------------------- (8) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: down(f(f(x))) -> up(b) down(g(x)) -> up(f(g(x))) top(up(x)) -> top(down(x)) down(f(a)) -> f_flat(down(a)) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(g(f(y6)))) -> f_flat(down(g(f(y6)))) down(f(g(g(y7)))) -> f_flat(down(g(g(y7)))) down(f(g(b))) -> f_flat(down(g(b))) down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) f_flat(up(x_1)) -> up(f(x_1)) The set Q consists of the following terms: down(f(f(x0))) down(g(x0)) top(up(x0)) down(f(a)) down(f(b)) down(f(fresh_constant)) down(f(g(f(x0)))) down(f(g(g(x0)))) down(f(g(b))) down(f(g(fresh_constant))) f_flat(up(x0)) ---------------------------------------- (9) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(x)) -> TOP(down(x)) TOP(up(x)) -> DOWN(x) DOWN(f(a)) -> F_FLAT(down(a)) DOWN(f(a)) -> DOWN(a) DOWN(f(b)) -> F_FLAT(down(b)) DOWN(f(b)) -> DOWN(b) DOWN(f(fresh_constant)) -> F_FLAT(down(fresh_constant)) DOWN(f(fresh_constant)) -> DOWN(fresh_constant) DOWN(f(g(f(y6)))) -> F_FLAT(down(g(f(y6)))) DOWN(f(g(f(y6)))) -> DOWN(g(f(y6))) DOWN(f(g(g(y7)))) -> F_FLAT(down(g(g(y7)))) DOWN(f(g(g(y7)))) -> DOWN(g(g(y7))) DOWN(f(g(b))) -> F_FLAT(down(g(b))) DOWN(f(g(b))) -> DOWN(g(b)) DOWN(f(g(fresh_constant))) -> F_FLAT(down(g(fresh_constant))) DOWN(f(g(fresh_constant))) -> DOWN(g(fresh_constant)) The TRS R consists of the following rules: down(f(f(x))) -> up(b) down(g(x)) -> up(f(g(x))) top(up(x)) -> top(down(x)) down(f(a)) -> f_flat(down(a)) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(g(f(y6)))) -> f_flat(down(g(f(y6)))) down(f(g(g(y7)))) -> f_flat(down(g(g(y7)))) down(f(g(b))) -> f_flat(down(g(b))) down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) f_flat(up(x_1)) -> up(f(x_1)) The set Q consists of the following terms: down(f(f(x0))) down(g(x0)) top(up(x0)) down(f(a)) down(f(b)) down(f(fresh_constant)) down(f(g(f(x0)))) down(f(g(g(x0)))) down(f(g(b))) down(f(g(fresh_constant))) f_flat(up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 15 less nodes. ---------------------------------------- (12) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(x)) -> TOP(down(x)) The TRS R consists of the following rules: down(f(f(x))) -> up(b) down(g(x)) -> up(f(g(x))) top(up(x)) -> top(down(x)) down(f(a)) -> f_flat(down(a)) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(g(f(y6)))) -> f_flat(down(g(f(y6)))) down(f(g(g(y7)))) -> f_flat(down(g(g(y7)))) down(f(g(b))) -> f_flat(down(g(b))) down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) f_flat(up(x_1)) -> up(f(x_1)) The set Q consists of the following terms: down(f(f(x0))) down(g(x0)) top(up(x0)) down(f(a)) down(f(b)) down(f(fresh_constant)) down(f(g(f(x0)))) down(f(g(g(x0)))) down(f(g(b))) down(f(g(fresh_constant))) f_flat(up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (13) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (14) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(x)) -> TOP(down(x)) The TRS R consists of the following rules: down(f(f(x))) -> up(b) down(g(x)) -> up(f(g(x))) down(f(a)) -> f_flat(down(a)) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(g(f(y6)))) -> f_flat(down(g(f(y6)))) down(f(g(g(y7)))) -> f_flat(down(g(g(y7)))) down(f(g(b))) -> f_flat(down(g(b))) down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) f_flat(up(x_1)) -> up(f(x_1)) The set Q consists of the following terms: down(f(f(x0))) down(g(x0)) top(up(x0)) down(f(a)) down(f(b)) down(f(fresh_constant)) down(f(g(f(x0)))) down(f(g(g(x0)))) down(f(g(b))) down(f(g(fresh_constant))) f_flat(up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (15) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. top(up(x0)) ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(x)) -> TOP(down(x)) The TRS R consists of the following rules: down(f(f(x))) -> up(b) down(g(x)) -> up(f(g(x))) down(f(a)) -> f_flat(down(a)) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(g(f(y6)))) -> f_flat(down(g(f(y6)))) down(f(g(g(y7)))) -> f_flat(down(g(g(y7)))) down(f(g(b))) -> f_flat(down(g(b))) down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) f_flat(up(x_1)) -> up(f(x_1)) The set Q consists of the following terms: down(f(f(x0))) down(g(x0)) down(f(a)) down(f(b)) down(f(fresh_constant)) down(f(g(f(x0)))) down(f(g(g(x0)))) down(f(g(b))) down(f(g(fresh_constant))) f_flat(up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) RFCMatchBoundsDPProof (EQUIVALENT) Finiteness of the DP problem can be shown by a matchbound of 3. As the DP problem is minimal we only have to initialize the certificate graph by the rules of P: TOP(up(x)) -> TOP(down(x)) To find matches we regarded all rules of R and P: down(f(f(x))) -> up(b) down(g(x)) -> up(f(g(x))) down(f(a)) -> f_flat(down(a)) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(g(f(y6)))) -> f_flat(down(g(f(y6)))) down(f(g(g(y7)))) -> f_flat(down(g(g(y7)))) down(f(g(b))) -> f_flat(down(g(b))) down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) f_flat(up(x_1)) -> up(f(x_1)) TOP(up(x)) -> TOP(down(x)) The certificate found is represented by the following graph. The certificate consists of the following enumerated nodes: 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372 Node 355 is start node and node 356 is final node. Those nodes are connected through the following edges: * 355 to 357 labelled TOP_1(0)* 355 to 366 labelled TOP_1(1)* 355 to 370 labelled TOP_1(2)* 355 to 372 labelled TOP_1(3)* 356 to 356 labelled #_1(0)* 357 to 356 labelled down_1(0)* 357 to 358 labelled up_1(1)* 357 to 359 labelled up_1(1)* 357 to 361 labelled f_flat_1(1)* 357 to 363 labelled f_flat_1(1)* 357 to 369 labelled up_1(2)* 358 to 356 labelled b(1)* 359 to 360 labelled f_1(1)* 360 to 356 labelled g_1(1)* 361 to 362 labelled down_1(1)* 362 to 356 labelled a(1), b(1), fresh_constant(1)* 363 to 364 labelled down_1(1)* 363 to 367 labelled up_1(2)* 364 to 365 labelled g_1(1)* 365 to 356 labelled f_1(1), g_1(1), b(1), fresh_constant(1)* 366 to 358 labelled down_1(1)* 366 to 359 labelled down_1(1)* 366 to 363 labelled f_flat_1(1)* 366 to 369 labelled down_1(1), up_1(2)* 367 to 368 labelled f_1(2)* 368 to 365 labelled g_1(2)* 369 to 367 labelled f_1(2)* 369 to 368 labelled b(2)* 370 to 369 labelled down_1(2)* 370 to 371 labelled up_1(3)* 371 to 368 labelled b(3)* 372 to 371 labelled down_1(3) ---------------------------------------- (18) YES