3.39/1.68 YES 3.70/1.71 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 3.70/1.71 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.70/1.71 3.70/1.71 3.70/1.71 Left Termination of the query pattern 3.70/1.71 3.70/1.71 tc(g,a) 3.70/1.71 3.70/1.71 w.r.t. the given Prolog program could successfully be proven: 3.70/1.71 3.70/1.71 (0) Prolog 3.70/1.71 (1) PrologToDTProblemTransformerProof [SOUND, 0 ms] 3.70/1.71 (2) TRIPLES 3.70/1.71 (3) TriplesToPiDPProof [SOUND, 5 ms] 3.70/1.71 (4) PiDP 3.70/1.71 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 3.70/1.71 (6) TRUE 3.70/1.71 3.70/1.71 3.70/1.71 ---------------------------------------- 3.70/1.71 3.70/1.71 (0) 3.70/1.71 Obligation: 3.70/1.71 Clauses: 3.70/1.71 3.70/1.71 p(a, b). 3.70/1.71 p(b, c). 3.70/1.71 tc(X, X). 3.70/1.71 tc(X, Y) :- ','(p(X, Z), tc(Z, Y)). 3.70/1.71 3.70/1.71 3.70/1.71 Query: tc(g,a) 3.70/1.71 ---------------------------------------- 3.70/1.71 3.70/1.71 (1) PrologToDTProblemTransformerProof (SOUND) 3.70/1.71 Built DT problem from termination graph DT10. 3.70/1.71 3.70/1.71 { 3.70/1.71 "root": 2, 3.70/1.71 "program": { 3.70/1.71 "directives": [], 3.70/1.71 "clauses": [ 3.70/1.71 [ 3.70/1.71 "(p (a) (b))", 3.70/1.71 null 3.70/1.71 ], 3.70/1.71 [ 3.70/1.71 "(p (b) (c))", 3.70/1.71 null 3.70/1.71 ], 3.70/1.71 [ 3.70/1.71 "(tc X X)", 3.70/1.71 null 3.70/1.71 ], 3.70/1.71 [ 3.70/1.71 "(tc X Y)", 3.70/1.71 "(',' (p X Z) (tc Z Y))" 3.70/1.71 ] 3.70/1.71 ] 3.70/1.71 }, 3.70/1.71 "graph": { 3.70/1.71 "nodes": { 3.70/1.71 "18": { 3.70/1.71 "goal": [ 3.70/1.71 { 3.70/1.71 "clause": 2, 3.70/1.71 "scope": 1, 3.70/1.71 "term": "(tc T1 T2)" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "clause": 3, 3.70/1.71 "scope": 1, 3.70/1.71 "term": "(tc T1 T2)" 3.70/1.71 } 3.70/1.71 ], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T1"], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "type": "Nodes", 3.70/1.71 "120": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": -1, 3.70/1.71 "scope": -1, 3.70/1.71 "term": "(',' (p T7 X7) (tc X7 T9))" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T7"], 3.70/1.71 "free": ["X7"], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "142": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": -1, 3.70/1.71 "scope": -1, 3.70/1.71 "term": "(',' (p T12 X16) (tc X16 T14))" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [[ 3.70/1.71 "(tc T12 T2)", 3.70/1.71 "(tc X2 X2)" 3.70/1.71 ]], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T12"], 3.70/1.71 "free": [ 3.70/1.71 "X2", 3.70/1.71 "X16" 3.70/1.71 ], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "143": { 3.70/1.71 "goal": [ 3.70/1.71 { 3.70/1.71 "clause": 0, 3.70/1.71 "scope": 3, 3.70/1.71 "term": "(',' (p T12 X16) (tc X16 T14))" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "clause": 1, 3.70/1.71 "scope": 3, 3.70/1.71 "term": "(',' (p T12 X16) (tc X16 T14))" 3.70/1.71 } 3.70/1.71 ], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [[ 3.70/1.71 "(tc T12 T2)", 3.70/1.71 "(tc X2 X2)" 3.70/1.71 ]], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T12"], 3.70/1.71 "free": [ 3.70/1.71 "X2", 3.70/1.71 "X16" 3.70/1.71 ], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "144": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": 0, 3.70/1.71 "scope": 3, 3.70/1.71 "term": "(',' (p T12 X16) (tc X16 T14))" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [[ 3.70/1.71 "(tc T12 T2)", 3.70/1.71 "(tc X2 X2)" 3.70/1.71 ]], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T12"], 3.70/1.71 "free": [ 3.70/1.71 "X2", 3.70/1.71 "X16" 3.70/1.71 ], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "2": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": -1, 3.70/1.71 "scope": -1, 3.70/1.71 "term": "(tc T1 T2)" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T1"], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "123": { 3.70/1.71 "goal": [ 3.70/1.71 { 3.70/1.71 "clause": 0, 3.70/1.71 "scope": 2, 3.70/1.71 "term": "(',' (p T7 X7) (tc X7 T9))" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "clause": 1, 3.70/1.71 "scope": 2, 3.70/1.71 "term": "(',' (p T7 X7) (tc X7 T9))" 3.70/1.71 } 3.70/1.71 ], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T7"], 3.70/1.71 "free": ["X7"], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "134": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": -1, 3.70/1.71 "scope": -1, 3.70/1.71 "term": "(tc (c) T9)" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": [], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "145": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": 1, 3.70/1.71 "scope": 3, 3.70/1.71 "term": "(',' (p T12 X16) (tc X16 T14))" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [[ 3.70/1.71 "(tc T12 T2)", 3.70/1.71 "(tc X2 X2)" 3.70/1.71 ]], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T12"], 3.70/1.71 "free": [ 3.70/1.71 "X2", 3.70/1.71 "X16" 3.70/1.71 ], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "124": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": 0, 3.70/1.71 "scope": 2, 3.70/1.71 "term": "(',' (p T7 X7) (tc X7 T9))" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T7"], 3.70/1.71 "free": ["X7"], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "146": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": -1, 3.70/1.71 "scope": -1, 3.70/1.71 "term": "(tc (b) T14)" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": [], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "125": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": 1, 3.70/1.71 "scope": 2, 3.70/1.71 "term": "(',' (p T7 X7) (tc X7 T9))" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T7"], 3.70/1.71 "free": ["X7"], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "147": { 3.70/1.71 "goal": [], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": [], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "104": { 3.70/1.71 "goal": [ 3.70/1.71 { 3.70/1.71 "clause": -1, 3.70/1.71 "scope": -1, 3.70/1.71 "term": "(true)" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "clause": 3, 3.70/1.71 "scope": 1, 3.70/1.71 "term": "(tc T4 T2)" 3.70/1.71 } 3.70/1.71 ], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T4"], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "126": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": -1, 3.70/1.71 "scope": -1, 3.70/1.71 "term": "(tc (b) T9)" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": [], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "137": { 3.70/1.71 "goal": [], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": [], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "148": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": -1, 3.70/1.71 "scope": -1, 3.70/1.71 "term": "(tc (c) T14)" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": [], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "105": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": 3, 3.70/1.71 "scope": 1, 3.70/1.71 "term": "(tc T1 T2)" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [[ 3.70/1.71 "(tc T1 T2)", 3.70/1.71 "(tc X2 X2)" 3.70/1.71 ]], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T1"], 3.70/1.71 "free": ["X2"], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "127": { 3.70/1.71 "goal": [], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": [], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "149": { 3.70/1.71 "goal": [], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": [], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "106": { 3.70/1.71 "goal": [{ 3.70/1.71 "clause": 3, 3.70/1.71 "scope": 1, 3.70/1.71 "term": "(tc T4 T2)" 3.70/1.71 }], 3.70/1.71 "kb": { 3.70/1.71 "nonunifying": [], 3.70/1.71 "intvars": {}, 3.70/1.71 "arithmetic": { 3.70/1.71 "type": "PlainIntegerRelationState", 3.70/1.71 "relations": [] 3.70/1.71 }, 3.70/1.71 "ground": ["T4"], 3.70/1.71 "free": [], 3.70/1.71 "exprvars": [] 3.70/1.71 } 3.70/1.71 } 3.70/1.71 }, 3.70/1.71 "edges": [ 3.70/1.71 { 3.70/1.71 "from": 2, 3.70/1.71 "to": 18, 3.70/1.71 "label": "CASE" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 18, 3.70/1.71 "to": 104, 3.70/1.71 "label": "EVAL with clause\ntc(X2, X2).\nand substitutionT1 -> T4,\nX2 -> T4,\nT2 -> T4" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 18, 3.70/1.71 "to": 105, 3.70/1.71 "label": "EVAL-BACKTRACK" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 104, 3.70/1.71 "to": 106, 3.70/1.71 "label": "SUCCESS" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 105, 3.70/1.71 "to": 142, 3.70/1.71 "label": "ONLY EVAL with clause\ntc(X14, X15) :- ','(p(X14, X16), tc(X16, X15)).\nand substitutionT1 -> T12,\nX14 -> T12,\nT2 -> T14,\nX15 -> T14,\nT13 -> T14" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 106, 3.70/1.71 "to": 120, 3.70/1.71 "label": "ONLY EVAL with clause\ntc(X5, X6) :- ','(p(X5, X7), tc(X7, X6)).\nand substitutionT4 -> T7,\nX5 -> T7,\nT2 -> T9,\nX6 -> T9,\nT8 -> T9" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 120, 3.70/1.71 "to": 123, 3.70/1.71 "label": "CASE" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 123, 3.70/1.71 "to": 124, 3.70/1.71 "label": "PARALLEL" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 123, 3.70/1.71 "to": 125, 3.70/1.71 "label": "PARALLEL" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 124, 3.70/1.71 "to": 126, 3.70/1.71 "label": "EVAL with clause\np(a, b).\nand substitutionT7 -> a,\nX7 -> b" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 124, 3.70/1.71 "to": 127, 3.70/1.71 "label": "EVAL-BACKTRACK" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 125, 3.70/1.71 "to": 134, 3.70/1.71 "label": "EVAL with clause\np(b, c).\nand substitutionT7 -> b,\nX7 -> c" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 125, 3.70/1.71 "to": 137, 3.70/1.71 "label": "EVAL-BACKTRACK" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 126, 3.70/1.71 "to": 2, 3.70/1.71 "label": "INSTANCE with matching:\nT1 -> b\nT2 -> T9" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 134, 3.70/1.71 "to": 2, 3.70/1.71 "label": "INSTANCE with matching:\nT1 -> c\nT2 -> T9" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 142, 3.70/1.71 "to": 143, 3.70/1.71 "label": "CASE" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 143, 3.70/1.71 "to": 144, 3.70/1.71 "label": "PARALLEL" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 143, 3.70/1.71 "to": 145, 3.70/1.71 "label": "PARALLEL" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 144, 3.70/1.71 "to": 146, 3.70/1.71 "label": "EVAL with clause\np(a, b).\nand substitutionT12 -> a,\nX16 -> b" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 144, 3.70/1.71 "to": 147, 3.70/1.71 "label": "EVAL-BACKTRACK" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 145, 3.70/1.71 "to": 148, 3.70/1.71 "label": "EVAL with clause\np(b, c).\nand substitutionT12 -> b,\nX16 -> c" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 145, 3.70/1.71 "to": 149, 3.70/1.71 "label": "EVAL-BACKTRACK" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 146, 3.70/1.71 "to": 2, 3.70/1.71 "label": "INSTANCE with matching:\nT1 -> b\nT2 -> T14" 3.70/1.71 }, 3.70/1.71 { 3.70/1.71 "from": 148, 3.70/1.71 "to": 2, 3.70/1.71 "label": "INSTANCE with matching:\nT1 -> c\nT2 -> T14" 3.70/1.71 } 3.70/1.71 ], 3.70/1.71 "type": "Graph" 3.70/1.71 } 3.70/1.71 } 3.70/1.71 3.70/1.71 ---------------------------------------- 3.70/1.71 3.70/1.71 (2) 3.70/1.71 Obligation: 3.70/1.71 Triples: 3.70/1.71 3.70/1.71 tcA(a, X1) :- tcA(b, X1). 3.70/1.71 tcA(b, X1) :- tcA(c, X1). 3.70/1.71 tcA(a, X1) :- tcA(b, X1). 3.70/1.71 tcA(b, X1) :- tcA(c, X1). 3.70/1.71 3.70/1.71 Clauses: 3.70/1.71 3.70/1.71 tccA(X1, X1). 3.70/1.71 tccA(a, X1) :- tccA(b, X1). 3.70/1.71 tccA(b, X1) :- tccA(c, X1). 3.70/1.71 tccA(a, X1) :- tccA(b, X1). 3.70/1.71 tccA(b, X1) :- tccA(c, X1). 3.70/1.71 3.70/1.71 Afs: 3.70/1.71 3.70/1.71 tcA(x1, x2) = tcA(x1) 3.70/1.71 3.70/1.71 3.70/1.71 ---------------------------------------- 3.70/1.71 3.70/1.71 (3) TriplesToPiDPProof (SOUND) 3.70/1.71 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 3.70/1.71 3.70/1.71 tcA_in_2: (b,f) 3.70/1.71 3.70/1.71 Transforming TRIPLES into the following Term Rewriting System: 3.70/1.71 3.70/1.71 Pi DP problem: 3.70/1.71 The TRS P consists of the following rules: 3.70/1.71 3.70/1.71 TCA_IN_GA(a, X1) -> U1_GA(X1, tcA_in_ga(b, X1)) 3.70/1.71 TCA_IN_GA(a, X1) -> TCA_IN_GA(b, X1) 3.70/1.71 TCA_IN_GA(b, X1) -> U2_GA(X1, tcA_in_ga(c, X1)) 3.70/1.71 TCA_IN_GA(b, X1) -> TCA_IN_GA(c, X1) 3.70/1.71 3.70/1.71 R is empty. 3.70/1.71 The argument filtering Pi contains the following mapping: 3.70/1.71 tcA_in_ga(x1, x2) = tcA_in_ga(x1) 3.70/1.71 3.70/1.71 a = a 3.70/1.71 3.70/1.71 b = b 3.70/1.71 3.70/1.71 c = c 3.70/1.71 3.70/1.71 TCA_IN_GA(x1, x2) = TCA_IN_GA(x1) 3.70/1.71 3.70/1.71 U1_GA(x1, x2) = U1_GA(x2) 3.70/1.71 3.70/1.71 U2_GA(x1, x2) = U2_GA(x2) 3.70/1.71 3.70/1.71 3.70/1.71 We have to consider all (P,R,Pi)-chains 3.70/1.71 3.70/1.71 3.70/1.71 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 3.70/1.71 3.70/1.71 3.70/1.71 3.70/1.71 ---------------------------------------- 3.70/1.71 3.70/1.71 (4) 3.70/1.71 Obligation: 3.70/1.71 Pi DP problem: 3.70/1.71 The TRS P consists of the following rules: 3.70/1.71 3.70/1.71 TCA_IN_GA(a, X1) -> U1_GA(X1, tcA_in_ga(b, X1)) 3.70/1.71 TCA_IN_GA(a, X1) -> TCA_IN_GA(b, X1) 3.70/1.71 TCA_IN_GA(b, X1) -> U2_GA(X1, tcA_in_ga(c, X1)) 3.70/1.71 TCA_IN_GA(b, X1) -> TCA_IN_GA(c, X1) 3.70/1.71 3.70/1.71 R is empty. 3.70/1.71 The argument filtering Pi contains the following mapping: 3.70/1.71 tcA_in_ga(x1, x2) = tcA_in_ga(x1) 3.70/1.71 3.70/1.71 a = a 3.70/1.71 3.70/1.71 b = b 3.70/1.71 3.70/1.71 c = c 3.70/1.71 3.70/1.71 TCA_IN_GA(x1, x2) = TCA_IN_GA(x1) 3.70/1.71 3.70/1.71 U1_GA(x1, x2) = U1_GA(x2) 3.70/1.71 3.70/1.71 U2_GA(x1, x2) = U2_GA(x2) 3.70/1.71 3.70/1.71 3.70/1.71 We have to consider all (P,R,Pi)-chains 3.70/1.71 ---------------------------------------- 3.70/1.71 3.70/1.71 (5) DependencyGraphProof (EQUIVALENT) 3.70/1.71 The approximation of the Dependency Graph [LOPSTR] contains 0 SCCs with 4 less nodes. 3.70/1.71 ---------------------------------------- 3.70/1.71 3.70/1.71 (6) 3.70/1.71 TRUE 3.70/1.76 EOF