3.45/1.68 YES 3.69/1.70 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 3.69/1.70 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.69/1.70 3.69/1.70 3.69/1.70 Left Termination of the query pattern 3.69/1.70 3.69/1.70 even(g) 3.69/1.70 3.69/1.70 w.r.t. the given Prolog program could successfully be proven: 3.69/1.70 3.69/1.70 (0) Prolog 3.69/1.70 (1) PrologToDTProblemTransformerProof [SOUND, 0 ms] 3.69/1.70 (2) TRIPLES 3.69/1.70 (3) TriplesToPiDPProof [SOUND, 0 ms] 3.69/1.70 (4) PiDP 3.69/1.70 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 3.69/1.70 (6) PiDP 3.69/1.70 (7) PiDPToQDPProof [EQUIVALENT, 0 ms] 3.69/1.70 (8) QDP 3.69/1.70 (9) QDPSizeChangeProof [EQUIVALENT, 0 ms] 3.69/1.70 (10) YES 3.69/1.70 3.69/1.70 3.69/1.70 ---------------------------------------- 3.69/1.70 3.69/1.70 (0) 3.69/1.70 Obligation: 3.69/1.70 Clauses: 3.69/1.70 3.69/1.70 even(0). 3.69/1.70 even(s(s(0))). 3.69/1.70 even(s(s(s(X)))) :- odd(X). 3.69/1.70 odd(s(0)). 3.69/1.70 odd(s(X)) :- even(s(s(X))). 3.69/1.70 3.69/1.70 3.69/1.70 Query: even(g) 3.69/1.70 ---------------------------------------- 3.69/1.70 3.69/1.70 (1) PrologToDTProblemTransformerProof (SOUND) 3.69/1.70 Built DT problem from termination graph DT10. 3.69/1.70 3.69/1.70 { 3.69/1.70 "root": 9, 3.69/1.70 "program": { 3.69/1.70 "directives": [], 3.69/1.70 "clauses": [ 3.69/1.70 [ 3.69/1.70 "(even (0))", 3.69/1.70 null 3.69/1.70 ], 3.69/1.70 [ 3.69/1.70 "(even (s (s (0))))", 3.69/1.70 null 3.69/1.70 ], 3.69/1.70 [ 3.69/1.70 "(even (s (s (s X))))", 3.69/1.70 "(odd X)" 3.69/1.70 ], 3.69/1.70 [ 3.69/1.70 "(odd (s (0)))", 3.69/1.70 null 3.69/1.70 ], 3.69/1.70 [ 3.69/1.70 "(odd (s X))", 3.69/1.70 "(even (s (s X)))" 3.69/1.70 ] 3.69/1.70 ] 3.69/1.70 }, 3.69/1.70 "graph": { 3.69/1.70 "nodes": { 3.69/1.70 "88": { 3.69/1.70 "goal": [{ 3.69/1.70 "clause": 2, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even (0))" 3.69/1.70 }], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "99": { 3.69/1.70 "goal": [], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "type": "Nodes", 3.69/1.70 "110": { 3.69/1.70 "goal": [{ 3.69/1.70 "clause": -1, 3.69/1.70 "scope": -1, 3.69/1.70 "term": "(true)" 3.69/1.70 }], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "111": { 3.69/1.70 "goal": [], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "112": { 3.69/1.70 "goal": [], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "113": { 3.69/1.70 "goal": [{ 3.69/1.70 "clause": -1, 3.69/1.70 "scope": -1, 3.69/1.70 "term": "(even (s (s T6)))" 3.69/1.70 }], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": ["T6"], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "114": { 3.69/1.70 "goal": [], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "105": { 3.69/1.70 "goal": [{ 3.69/1.70 "clause": -1, 3.69/1.70 "scope": -1, 3.69/1.70 "term": "(odd T3)" 3.69/1.70 }], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": ["T3"], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "90": { 3.69/1.70 "goal": [], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "106": { 3.69/1.70 "goal": [], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "107": { 3.69/1.70 "goal": [ 3.69/1.70 { 3.69/1.70 "clause": 3, 3.69/1.70 "scope": 2, 3.69/1.70 "term": "(odd T3)" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "clause": 4, 3.69/1.70 "scope": 2, 3.69/1.70 "term": "(odd T3)" 3.69/1.70 } 3.69/1.70 ], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": ["T3"], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "9": { 3.69/1.70 "goal": [{ 3.69/1.70 "clause": -1, 3.69/1.70 "scope": -1, 3.69/1.70 "term": "(even T1)" 3.69/1.70 }], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": ["T1"], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "108": { 3.69/1.70 "goal": [{ 3.69/1.70 "clause": 3, 3.69/1.70 "scope": 2, 3.69/1.70 "term": "(odd T3)" 3.69/1.70 }], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": ["T3"], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "93": { 3.69/1.70 "goal": [ 3.69/1.70 { 3.69/1.70 "clause": -1, 3.69/1.70 "scope": -1, 3.69/1.70 "term": "(true)" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "clause": 2, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even (s (s (0))))" 3.69/1.70 } 3.69/1.70 ], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "109": { 3.69/1.70 "goal": [{ 3.69/1.70 "clause": 4, 3.69/1.70 "scope": 2, 3.69/1.70 "term": "(odd T3)" 3.69/1.70 }], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": ["T3"], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "50": { 3.69/1.70 "goal": [ 3.69/1.70 { 3.69/1.70 "clause": -1, 3.69/1.70 "scope": -1, 3.69/1.70 "term": "(true)" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "clause": 1, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even (0))" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "clause": 2, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even (0))" 3.69/1.70 } 3.69/1.70 ], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "52": { 3.69/1.70 "goal": [ 3.69/1.70 { 3.69/1.70 "clause": 1, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even T1)" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "clause": 2, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even T1)" 3.69/1.70 } 3.69/1.70 ], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [[ 3.69/1.70 "(even T1)", 3.69/1.70 "(even (0))" 3.69/1.70 ]], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": ["T1"], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "96": { 3.69/1.70 "goal": [{ 3.69/1.70 "clause": 2, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even T1)" 3.69/1.70 }], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [ 3.69/1.70 [ 3.69/1.70 "(even T1)", 3.69/1.70 "(even (0))" 3.69/1.70 ], 3.69/1.70 [ 3.69/1.70 "(even T1)", 3.69/1.70 "(even (s (s (0))))" 3.69/1.70 ] 3.69/1.70 ], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": ["T1"], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "10": { 3.69/1.70 "goal": [ 3.69/1.70 { 3.69/1.70 "clause": 0, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even T1)" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "clause": 1, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even T1)" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "clause": 2, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even T1)" 3.69/1.70 } 3.69/1.70 ], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": ["T1"], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "87": { 3.69/1.70 "goal": [ 3.69/1.70 { 3.69/1.70 "clause": 1, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even (0))" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "clause": 2, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even (0))" 3.69/1.70 } 3.69/1.70 ], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "98": { 3.69/1.70 "goal": [{ 3.69/1.70 "clause": 2, 3.69/1.70 "scope": 1, 3.69/1.70 "term": "(even (s (s (0))))" 3.69/1.70 }], 3.69/1.70 "kb": { 3.69/1.70 "nonunifying": [], 3.69/1.70 "intvars": {}, 3.69/1.70 "arithmetic": { 3.69/1.70 "type": "PlainIntegerRelationState", 3.69/1.70 "relations": [] 3.69/1.70 }, 3.69/1.70 "ground": [], 3.69/1.70 "free": [], 3.69/1.70 "exprvars": [] 3.69/1.70 } 3.69/1.70 } 3.69/1.70 }, 3.69/1.70 "edges": [ 3.69/1.70 { 3.69/1.70 "from": 9, 3.69/1.70 "to": 10, 3.69/1.70 "label": "CASE" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 10, 3.69/1.70 "to": 50, 3.69/1.70 "label": "EVAL with clause\neven(0).\nand substitutionT1 -> 0" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 10, 3.69/1.70 "to": 52, 3.69/1.70 "label": "EVAL-BACKTRACK" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 50, 3.69/1.70 "to": 87, 3.69/1.70 "label": "SUCCESS" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 52, 3.69/1.70 "to": 93, 3.69/1.70 "label": "EVAL with clause\neven(s(s(0))).\nand substitutionT1 -> s(s(0))" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 52, 3.69/1.70 "to": 96, 3.69/1.70 "label": "EVAL-BACKTRACK" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 87, 3.69/1.70 "to": 88, 3.69/1.70 "label": "BACKTRACK\nfor clause: even(s(s(0)))because of non-unification" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 88, 3.69/1.70 "to": 90, 3.69/1.70 "label": "BACKTRACK\nfor clause: even(s(s(s(X)))) :- odd(X)because of non-unification" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 93, 3.69/1.70 "to": 98, 3.69/1.70 "label": "SUCCESS" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 96, 3.69/1.70 "to": 105, 3.69/1.70 "label": "EVAL with clause\neven(s(s(s(X4)))) :- odd(X4).\nand substitutionX4 -> T3,\nT1 -> s(s(s(T3)))" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 96, 3.69/1.70 "to": 106, 3.69/1.70 "label": "EVAL-BACKTRACK" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 98, 3.69/1.70 "to": 99, 3.69/1.70 "label": "BACKTRACK\nfor clause: even(s(s(s(X)))) :- odd(X)because of non-unification" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 105, 3.69/1.70 "to": 107, 3.69/1.70 "label": "CASE" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 107, 3.69/1.70 "to": 108, 3.69/1.70 "label": "PARALLEL" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 107, 3.69/1.70 "to": 109, 3.69/1.70 "label": "PARALLEL" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 108, 3.69/1.70 "to": 110, 3.69/1.70 "label": "EVAL with clause\nodd(s(0)).\nand substitutionT3 -> s(0)" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 108, 3.69/1.70 "to": 111, 3.69/1.70 "label": "EVAL-BACKTRACK" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 109, 3.69/1.70 "to": 113, 3.69/1.70 "label": "EVAL with clause\nodd(s(X7)) :- even(s(s(X7))).\nand substitutionX7 -> T6,\nT3 -> s(T6)" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 109, 3.69/1.70 "to": 114, 3.69/1.70 "label": "EVAL-BACKTRACK" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 110, 3.69/1.70 "to": 112, 3.69/1.70 "label": "SUCCESS" 3.69/1.70 }, 3.69/1.70 { 3.69/1.70 "from": 113, 3.69/1.70 "to": 9, 3.69/1.70 "label": "INSTANCE with matching:\nT1 -> s(s(T6))" 3.69/1.70 } 3.69/1.70 ], 3.69/1.70 "type": "Graph" 3.69/1.70 } 3.69/1.70 } 3.69/1.70 3.69/1.70 ---------------------------------------- 3.69/1.70 3.69/1.70 (2) 3.69/1.70 Obligation: 3.69/1.70 Triples: 3.69/1.70 3.69/1.70 evenA(s(s(s(s(X1))))) :- evenA(s(s(X1))). 3.69/1.70 3.69/1.70 Clauses: 3.69/1.70 3.69/1.70 evencA(0). 3.69/1.70 evencA(s(s(0))). 3.69/1.70 evencA(s(s(s(s(0))))). 3.69/1.70 evencA(s(s(s(s(X1))))) :- evencA(s(s(X1))). 3.69/1.70 3.69/1.70 Afs: 3.69/1.70 3.69/1.70 evenA(x1) = evenA(x1) 3.69/1.70 3.69/1.70 3.69/1.70 ---------------------------------------- 3.69/1.70 3.69/1.70 (3) TriplesToPiDPProof (SOUND) 3.69/1.70 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 3.69/1.70 3.69/1.70 evenA_in_1: (b) 3.69/1.70 3.69/1.70 Transforming TRIPLES into the following Term Rewriting System: 3.69/1.70 3.69/1.70 Pi DP problem: 3.69/1.70 The TRS P consists of the following rules: 3.69/1.70 3.69/1.70 EVENA_IN_G(s(s(s(s(X1))))) -> U1_G(X1, evenA_in_g(s(s(X1)))) 3.69/1.70 EVENA_IN_G(s(s(s(s(X1))))) -> EVENA_IN_G(s(s(X1))) 3.69/1.70 3.69/1.70 R is empty. 3.69/1.70 Pi is empty. 3.69/1.70 We have to consider all (P,R,Pi)-chains 3.69/1.70 3.69/1.70 3.69/1.70 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 3.69/1.70 3.69/1.70 3.69/1.70 3.69/1.70 ---------------------------------------- 3.69/1.70 3.69/1.70 (4) 3.69/1.70 Obligation: 3.69/1.70 Pi DP problem: 3.69/1.70 The TRS P consists of the following rules: 3.69/1.70 3.69/1.70 EVENA_IN_G(s(s(s(s(X1))))) -> U1_G(X1, evenA_in_g(s(s(X1)))) 3.69/1.70 EVENA_IN_G(s(s(s(s(X1))))) -> EVENA_IN_G(s(s(X1))) 3.69/1.70 3.69/1.70 R is empty. 3.69/1.70 Pi is empty. 3.69/1.70 We have to consider all (P,R,Pi)-chains 3.69/1.70 ---------------------------------------- 3.69/1.70 3.69/1.70 (5) DependencyGraphProof (EQUIVALENT) 3.69/1.70 The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 1 less node. 3.69/1.70 ---------------------------------------- 3.69/1.70 3.69/1.70 (6) 3.69/1.70 Obligation: 3.69/1.70 Pi DP problem: 3.69/1.70 The TRS P consists of the following rules: 3.69/1.70 3.69/1.70 EVENA_IN_G(s(s(s(s(X1))))) -> EVENA_IN_G(s(s(X1))) 3.69/1.70 3.69/1.70 R is empty. 3.69/1.70 Pi is empty. 3.69/1.70 We have to consider all (P,R,Pi)-chains 3.69/1.70 ---------------------------------------- 3.69/1.70 3.69/1.70 (7) PiDPToQDPProof (EQUIVALENT) 3.69/1.70 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 3.69/1.70 ---------------------------------------- 3.69/1.70 3.69/1.70 (8) 3.69/1.70 Obligation: 3.69/1.70 Q DP problem: 3.69/1.70 The TRS P consists of the following rules: 3.69/1.70 3.69/1.70 EVENA_IN_G(s(s(s(s(X1))))) -> EVENA_IN_G(s(s(X1))) 3.69/1.70 3.69/1.70 R is empty. 3.69/1.70 Q is empty. 3.69/1.70 We have to consider all (P,Q,R)-chains. 3.69/1.70 ---------------------------------------- 3.69/1.70 3.69/1.70 (9) QDPSizeChangeProof (EQUIVALENT) 3.69/1.70 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. 3.69/1.70 3.69/1.70 From the DPs we obtained the following set of size-change graphs: 3.69/1.70 *EVENA_IN_G(s(s(s(s(X1))))) -> EVENA_IN_G(s(s(X1))) 3.69/1.70 The graph contains the following edges 1 > 1 3.69/1.70 3.69/1.70 3.69/1.70 ---------------------------------------- 3.69/1.70 3.69/1.70 (10) 3.69/1.70 YES 3.69/1.71 EOF