3.51/1.53 YES 3.51/1.54 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.51/1.54 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.51/1.54 3.51/1.54 3.51/1.54 Termination of the given CSR could be proven: 3.51/1.54 3.51/1.54 (0) CSR 3.51/1.54 (1) CSRRRRProof [EQUIVALENT, 58 ms] 3.51/1.54 (2) CSR 3.51/1.54 (3) CSRRRRProof [EQUIVALENT, 7 ms] 3.51/1.54 (4) CSR 3.51/1.54 (5) CSRRRRProof [EQUIVALENT, 0 ms] 3.51/1.54 (6) CSR 3.51/1.54 (7) CSRRRRProof [EQUIVALENT, 0 ms] 3.51/1.54 (8) CSR 3.51/1.54 (9) CSRRRRProof [EQUIVALENT, 6 ms] 3.51/1.54 (10) CSR 3.51/1.54 (11) RisEmptyProof [EQUIVALENT, 0 ms] 3.51/1.54 (12) YES 3.51/1.54 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (0) 3.51/1.54 Obligation: 3.51/1.54 Context-sensitive rewrite system: 3.51/1.54 The TRS R consists of the following rules: 3.51/1.54 3.51/1.54 incr(nil) -> nil 3.51/1.54 incr(cons(X, L)) -> cons(s(X), incr(L)) 3.51/1.54 adx(nil) -> nil 3.51/1.54 adx(cons(X, L)) -> incr(cons(X, adx(L))) 3.51/1.54 nats -> adx(zeros) 3.51/1.54 zeros -> cons(0, zeros) 3.51/1.54 head(cons(X, L)) -> X 3.51/1.54 tail(cons(X, L)) -> L 3.51/1.54 3.51/1.54 The replacement map contains the following entries: 3.51/1.54 3.51/1.54 incr: {1} 3.51/1.54 nil: empty set 3.51/1.54 cons: {1} 3.51/1.54 s: {1} 3.51/1.54 adx: {1} 3.51/1.54 nats: empty set 3.51/1.54 zeros: empty set 3.51/1.54 0: empty set 3.51/1.54 head: {1} 3.51/1.54 tail: {1} 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (1) CSRRRRProof (EQUIVALENT) 3.51/1.54 The following CSR is given: Context-sensitive rewrite system: 3.51/1.54 The TRS R consists of the following rules: 3.51/1.54 3.51/1.54 incr(nil) -> nil 3.51/1.54 incr(cons(X, L)) -> cons(s(X), incr(L)) 3.51/1.54 adx(nil) -> nil 3.51/1.54 adx(cons(X, L)) -> incr(cons(X, adx(L))) 3.51/1.54 nats -> adx(zeros) 3.51/1.54 zeros -> cons(0, zeros) 3.51/1.54 head(cons(X, L)) -> X 3.51/1.54 tail(cons(X, L)) -> L 3.51/1.54 3.51/1.54 The replacement map contains the following entries: 3.51/1.54 3.51/1.54 incr: {1} 3.51/1.54 nil: empty set 3.51/1.54 cons: {1} 3.51/1.54 s: {1} 3.51/1.54 adx: {1} 3.51/1.54 nats: empty set 3.51/1.54 zeros: empty set 3.51/1.54 0: empty set 3.51/1.54 head: {1} 3.51/1.54 tail: {1} 3.51/1.54 Used ordering: 3.51/1.54 Polynomial interpretation [POLO]: 3.51/1.54 3.51/1.54 POL(0) = 0 3.51/1.54 POL(adx(x_1)) = x_1 3.51/1.54 POL(cons(x_1, x_2)) = x_1 + x_2 3.51/1.54 POL(head(x_1)) = 2*x_1 3.51/1.54 POL(incr(x_1)) = x_1 3.51/1.54 POL(nats) = 2 3.51/1.54 POL(nil) = 0 3.51/1.54 POL(s(x_1)) = x_1 3.51/1.54 POL(tail(x_1)) = x_1 3.51/1.54 POL(zeros) = 0 3.51/1.54 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.51/1.54 3.51/1.54 nats -> adx(zeros) 3.51/1.54 3.51/1.54 3.51/1.54 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (2) 3.51/1.54 Obligation: 3.51/1.54 Context-sensitive rewrite system: 3.51/1.54 The TRS R consists of the following rules: 3.51/1.54 3.51/1.54 incr(nil) -> nil 3.51/1.54 incr(cons(X, L)) -> cons(s(X), incr(L)) 3.51/1.54 adx(nil) -> nil 3.51/1.54 adx(cons(X, L)) -> incr(cons(X, adx(L))) 3.51/1.54 zeros -> cons(0, zeros) 3.51/1.54 head(cons(X, L)) -> X 3.51/1.54 tail(cons(X, L)) -> L 3.51/1.54 3.51/1.54 The replacement map contains the following entries: 3.51/1.54 3.51/1.54 incr: {1} 3.51/1.54 nil: empty set 3.51/1.54 cons: {1} 3.51/1.54 s: {1} 3.51/1.54 adx: {1} 3.51/1.54 zeros: empty set 3.51/1.54 0: empty set 3.51/1.54 head: {1} 3.51/1.54 tail: {1} 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (3) CSRRRRProof (EQUIVALENT) 3.51/1.54 The following CSR is given: Context-sensitive rewrite system: 3.51/1.54 The TRS R consists of the following rules: 3.51/1.54 3.51/1.54 incr(nil) -> nil 3.51/1.54 incr(cons(X, L)) -> cons(s(X), incr(L)) 3.51/1.54 adx(nil) -> nil 3.51/1.54 adx(cons(X, L)) -> incr(cons(X, adx(L))) 3.51/1.54 zeros -> cons(0, zeros) 3.51/1.54 head(cons(X, L)) -> X 3.51/1.54 tail(cons(X, L)) -> L 3.51/1.54 3.51/1.54 The replacement map contains the following entries: 3.51/1.54 3.51/1.54 incr: {1} 3.51/1.54 nil: empty set 3.51/1.54 cons: {1} 3.51/1.54 s: {1} 3.51/1.54 adx: {1} 3.51/1.54 zeros: empty set 3.51/1.54 0: empty set 3.51/1.54 head: {1} 3.51/1.54 tail: {1} 3.51/1.54 Used ordering: 3.51/1.54 Polynomial interpretation [POLO]: 3.51/1.54 3.51/1.54 POL(0) = 0 3.51/1.54 POL(adx(x_1)) = x_1 3.51/1.54 POL(cons(x_1, x_2)) = x_1 + x_2 3.51/1.54 POL(head(x_1)) = 1 + x_1 3.51/1.54 POL(incr(x_1)) = x_1 3.51/1.54 POL(nil) = 0 3.51/1.54 POL(s(x_1)) = x_1 3.51/1.54 POL(tail(x_1)) = x_1 3.51/1.54 POL(zeros) = 0 3.51/1.54 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.51/1.54 3.51/1.54 head(cons(X, L)) -> X 3.51/1.54 3.51/1.54 3.51/1.54 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (4) 3.51/1.54 Obligation: 3.51/1.54 Context-sensitive rewrite system: 3.51/1.54 The TRS R consists of the following rules: 3.51/1.54 3.51/1.54 incr(nil) -> nil 3.51/1.54 incr(cons(X, L)) -> cons(s(X), incr(L)) 3.51/1.54 adx(nil) -> nil 3.51/1.54 adx(cons(X, L)) -> incr(cons(X, adx(L))) 3.51/1.54 zeros -> cons(0, zeros) 3.51/1.54 tail(cons(X, L)) -> L 3.51/1.54 3.51/1.54 The replacement map contains the following entries: 3.51/1.54 3.51/1.54 incr: {1} 3.51/1.54 nil: empty set 3.51/1.54 cons: {1} 3.51/1.54 s: {1} 3.51/1.54 adx: {1} 3.51/1.54 zeros: empty set 3.51/1.54 0: empty set 3.51/1.54 tail: {1} 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (5) CSRRRRProof (EQUIVALENT) 3.51/1.54 The following CSR is given: Context-sensitive rewrite system: 3.51/1.54 The TRS R consists of the following rules: 3.51/1.54 3.51/1.54 incr(nil) -> nil 3.51/1.54 incr(cons(X, L)) -> cons(s(X), incr(L)) 3.51/1.54 adx(nil) -> nil 3.51/1.54 adx(cons(X, L)) -> incr(cons(X, adx(L))) 3.51/1.54 zeros -> cons(0, zeros) 3.51/1.54 tail(cons(X, L)) -> L 3.51/1.54 3.51/1.54 The replacement map contains the following entries: 3.51/1.54 3.51/1.54 incr: {1} 3.51/1.54 nil: empty set 3.51/1.54 cons: {1} 3.51/1.54 s: {1} 3.51/1.54 adx: {1} 3.51/1.54 zeros: empty set 3.51/1.54 0: empty set 3.51/1.54 tail: {1} 3.51/1.54 Used ordering: 3.51/1.54 Polynomial interpretation [POLO]: 3.51/1.54 3.51/1.54 POL(0) = 0 3.51/1.54 POL(adx(x_1)) = x_1 3.51/1.54 POL(cons(x_1, x_2)) = x_1 + x_2 3.51/1.54 POL(incr(x_1)) = x_1 3.51/1.54 POL(nil) = 0 3.51/1.54 POL(s(x_1)) = x_1 3.51/1.54 POL(tail(x_1)) = 1 + x_1 3.51/1.54 POL(zeros) = 0 3.51/1.54 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.51/1.54 3.51/1.54 tail(cons(X, L)) -> L 3.51/1.54 3.51/1.54 3.51/1.54 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (6) 3.51/1.54 Obligation: 3.51/1.54 Context-sensitive rewrite system: 3.51/1.54 The TRS R consists of the following rules: 3.51/1.54 3.51/1.54 incr(nil) -> nil 3.51/1.54 incr(cons(X, L)) -> cons(s(X), incr(L)) 3.51/1.54 adx(nil) -> nil 3.51/1.54 adx(cons(X, L)) -> incr(cons(X, adx(L))) 3.51/1.54 zeros -> cons(0, zeros) 3.51/1.54 3.51/1.54 The replacement map contains the following entries: 3.51/1.54 3.51/1.54 incr: {1} 3.51/1.54 nil: empty set 3.51/1.54 cons: {1} 3.51/1.54 s: {1} 3.51/1.54 adx: {1} 3.51/1.54 zeros: empty set 3.51/1.54 0: empty set 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (7) CSRRRRProof (EQUIVALENT) 3.51/1.54 The following CSR is given: Context-sensitive rewrite system: 3.51/1.54 The TRS R consists of the following rules: 3.51/1.54 3.51/1.54 incr(nil) -> nil 3.51/1.54 incr(cons(X, L)) -> cons(s(X), incr(L)) 3.51/1.54 adx(nil) -> nil 3.51/1.54 adx(cons(X, L)) -> incr(cons(X, adx(L))) 3.51/1.54 zeros -> cons(0, zeros) 3.51/1.54 3.51/1.54 The replacement map contains the following entries: 3.51/1.54 3.51/1.54 incr: {1} 3.51/1.54 nil: empty set 3.51/1.54 cons: {1} 3.51/1.54 s: {1} 3.51/1.54 adx: {1} 3.51/1.54 zeros: empty set 3.51/1.54 0: empty set 3.51/1.54 Used ordering: 3.51/1.54 Polynomial interpretation [POLO]: 3.51/1.54 3.51/1.54 POL(0) = 0 3.51/1.54 POL(adx(x_1)) = 2*x_1 3.51/1.54 POL(cons(x_1, x_2)) = x_1 3.51/1.54 POL(incr(x_1)) = 2*x_1 3.51/1.54 POL(nil) = 1 3.51/1.54 POL(s(x_1)) = 2*x_1 3.51/1.54 POL(zeros) = 1 3.51/1.54 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.51/1.54 3.51/1.54 incr(nil) -> nil 3.51/1.54 adx(nil) -> nil 3.51/1.54 zeros -> cons(0, zeros) 3.51/1.54 3.51/1.54 3.51/1.54 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (8) 3.51/1.54 Obligation: 3.51/1.54 Context-sensitive rewrite system: 3.51/1.54 The TRS R consists of the following rules: 3.51/1.54 3.51/1.54 incr(cons(X, L)) -> cons(s(X), incr(L)) 3.51/1.54 adx(cons(X, L)) -> incr(cons(X, adx(L))) 3.51/1.54 3.51/1.54 The replacement map contains the following entries: 3.51/1.54 3.51/1.54 incr: {1} 3.51/1.54 cons: {1} 3.51/1.54 s: {1} 3.51/1.54 adx: {1} 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (9) CSRRRRProof (EQUIVALENT) 3.51/1.54 The following CSR is given: Context-sensitive rewrite system: 3.51/1.54 The TRS R consists of the following rules: 3.51/1.54 3.51/1.54 incr(cons(X, L)) -> cons(s(X), incr(L)) 3.51/1.54 adx(cons(X, L)) -> incr(cons(X, adx(L))) 3.51/1.54 3.51/1.54 The replacement map contains the following entries: 3.51/1.54 3.51/1.54 incr: {1} 3.51/1.54 cons: {1} 3.51/1.54 s: {1} 3.51/1.54 adx: {1} 3.51/1.54 Used ordering: 3.51/1.54 Polynomial interpretation [POLO]: 3.51/1.54 3.51/1.54 POL(adx(x_1)) = 2 + 2*x_1 3.51/1.54 POL(cons(x_1, x_2)) = 1 + x_1 3.51/1.54 POL(incr(x_1)) = 1 + 2*x_1 3.51/1.54 POL(s(x_1)) = x_1 3.51/1.54 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.51/1.54 3.51/1.54 incr(cons(X, L)) -> cons(s(X), incr(L)) 3.51/1.54 adx(cons(X, L)) -> incr(cons(X, adx(L))) 3.51/1.54 3.51/1.54 3.51/1.54 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (10) 3.51/1.54 Obligation: 3.51/1.54 Context-sensitive rewrite system: 3.51/1.54 R is empty. 3.51/1.54 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (11) RisEmptyProof (EQUIVALENT) 3.51/1.54 The CSR R is empty. Hence, termination is trivially proven. 3.51/1.54 ---------------------------------------- 3.51/1.54 3.51/1.54 (12) 3.51/1.54 YES 3.69/1.58 EOF