5.21/2.16 YES 5.21/2.19 proof of /export/starexec/sandbox2/benchmark/theBenchmark.pl 5.21/2.19 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.21/2.19 5.21/2.19 5.21/2.19 Left Termination of the query pattern 5.21/2.19 5.21/2.19 minus(g,a,a) 5.21/2.19 5.21/2.19 w.r.t. the given Prolog program could successfully be proven: 5.21/2.19 5.21/2.19 (0) Prolog 5.21/2.19 (1) PrologToDTProblemTransformerProof [SOUND, 51 ms] 5.21/2.19 (2) TRIPLES 5.21/2.19 (3) TriplesToPiDPProof [SOUND, 6 ms] 5.21/2.19 (4) PiDP 5.21/2.19 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 5.21/2.19 (6) AND 5.21/2.19 (7) PiDP 5.21/2.19 (8) UsableRulesProof [EQUIVALENT, 0 ms] 5.21/2.19 (9) PiDP 5.21/2.19 (10) PiDPToQDPProof [SOUND, 0 ms] 5.21/2.19 (11) QDP 5.21/2.19 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 5.21/2.19 (13) YES 5.21/2.19 (14) PiDP 5.21/2.19 (15) UsableRulesProof [EQUIVALENT, 0 ms] 5.21/2.19 (16) PiDP 5.21/2.19 (17) PiDPToQDPProof [SOUND, 0 ms] 5.21/2.19 (18) QDP 5.21/2.19 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 5.21/2.19 (20) YES 5.21/2.19 (21) PiDP 5.21/2.19 (22) UsableRulesProof [EQUIVALENT, 0 ms] 5.21/2.19 (23) PiDP 5.21/2.19 (24) PiDPToQDPProof [SOUND, 0 ms] 5.21/2.19 (25) QDP 5.21/2.19 (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] 5.21/2.19 (27) YES 5.21/2.19 (28) PiDP 5.21/2.19 (29) UsableRulesProof [EQUIVALENT, 0 ms] 5.21/2.19 (30) PiDP 5.21/2.19 (31) PiDPToQDPProof [SOUND, 0 ms] 5.21/2.19 (32) QDP 5.21/2.19 (33) QDPSizeChangeProof [EQUIVALENT, 0 ms] 5.21/2.19 (34) YES 5.21/2.19 (35) PiDP 5.21/2.19 (36) UsableRulesProof [EQUIVALENT, 0 ms] 5.21/2.19 (37) PiDP 5.21/2.19 (38) PiDPToQDPProof [SOUND, 0 ms] 5.21/2.19 (39) QDP 5.21/2.19 (40) QDPSizeChangeProof [EQUIVALENT, 0 ms] 5.21/2.19 (41) YES 5.21/2.19 5.21/2.19 5.21/2.19 ---------------------------------------- 5.21/2.19 5.21/2.19 (0) 5.21/2.19 Obligation: 5.21/2.19 Clauses: 5.21/2.19 5.21/2.19 p(0, 0). 5.21/2.19 p(s(X), X). 5.21/2.19 le(0, Y, true). 5.21/2.19 le(s(X), 0, false). 5.21/2.19 le(s(X), s(Y), B) :- le(X, Y, B). 5.21/2.19 minus(X, Y, Z) :- ','(le(X, Y, B), if(B, X, Y, Z)). 5.21/2.19 if(true, X, Y, 0). 5.21/2.19 if(false, X, Y, s(Z)) :- ','(p(X, X1), minus(X1, Y, Z)). 5.21/2.19 5.21/2.19 5.21/2.19 Query: minus(g,a,a) 5.21/2.19 ---------------------------------------- 5.21/2.19 5.21/2.19 (1) PrologToDTProblemTransformerProof (SOUND) 5.21/2.19 Built DT problem from termination graph DT10. 5.21/2.19 5.21/2.19 { 5.21/2.19 "root": 1, 5.21/2.19 "program": { 5.21/2.19 "directives": [], 5.21/2.19 "clauses": [ 5.21/2.19 [ 5.21/2.19 "(p (0) (0))", 5.21/2.19 null 5.21/2.19 ], 5.21/2.19 [ 5.21/2.19 "(p (s X) X)", 5.21/2.19 null 5.21/2.19 ], 5.21/2.19 [ 5.21/2.19 "(le (0) Y (true))", 5.21/2.19 null 5.21/2.19 ], 5.21/2.19 [ 5.21/2.19 "(le (s X) (0) (false))", 5.21/2.19 null 5.21/2.19 ], 5.21/2.19 [ 5.21/2.19 "(le (s X) (s Y) B)", 5.21/2.19 "(le X Y B)" 5.21/2.19 ], 5.21/2.19 [ 5.21/2.19 "(minus X Y Z)", 5.21/2.19 "(',' (le X Y B) (if B X Y Z))" 5.21/2.19 ], 5.21/2.19 [ 5.21/2.19 "(if (true) X Y (0))", 5.21/2.19 null 5.21/2.19 ], 5.21/2.19 [ 5.21/2.19 "(if (false) X Y (s Z))", 5.21/2.19 "(',' (p X X1) (minus X1 Y Z))" 5.21/2.19 ] 5.21/2.19 ] 5.21/2.19 }, 5.21/2.19 "graph": { 5.21/2.19 "nodes": { 5.21/2.19 "390": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(true)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "391": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "type": "Nodes", 5.21/2.19 "392": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "151": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "393": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(',' (p (s T101) X133) (minus X133 (s T105) T104))" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T101"], 5.21/2.19 "free": ["X133"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "394": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "395": { 5.21/2.19 "goal": [ 5.21/2.19 { 5.21/2.19 "clause": 0, 5.21/2.19 "scope": 8, 5.21/2.19 "term": "(',' (p (s T101) X133) (minus X133 (s T105) T104))" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "clause": 1, 5.21/2.19 "scope": 8, 5.21/2.19 "term": "(',' (p (s T101) X133) (minus X133 (s T105) T104))" 5.21/2.19 } 5.21/2.19 ], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T101"], 5.21/2.19 "free": ["X133"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "352": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(if (false) (s T30) (0) T31)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T30"], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "396": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 1, 5.21/2.19 "scope": 8, 5.21/2.19 "term": "(',' (p (s T101) X133) (minus X133 (s T105) T104))" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T101"], 5.21/2.19 "free": ["X133"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "353": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "397": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(minus T113 (s T105) T104)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T113"], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "357": { 5.21/2.19 "goal": [ 5.21/2.19 { 5.21/2.19 "clause": 6, 5.21/2.19 "scope": 4, 5.21/2.19 "term": "(if (false) (s T30) (0) T31)" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "clause": 7, 5.21/2.19 "scope": 4, 5.21/2.19 "term": "(if (false) (s T30) (0) T31)" 5.21/2.19 } 5.21/2.19 ], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T30"], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "360": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 7, 5.21/2.19 "scope": 4, 5.21/2.19 "term": "(if (false) (s T30) (0) T31)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T30"], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "363": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(',' (p (s T36) X52) (minus X52 (0) T38))" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T36"], 5.21/2.19 "free": ["X52"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "1": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(minus T1 T2 T3)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T1"], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "364": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "365": { 5.21/2.19 "goal": [ 5.21/2.19 { 5.21/2.19 "clause": 0, 5.21/2.19 "scope": 5, 5.21/2.19 "term": "(',' (p (s T36) X52) (minus X52 (0) T38))" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "clause": 1, 5.21/2.19 "scope": 5, 5.21/2.19 "term": "(',' (p (s T36) X52) (minus X52 (0) T38))" 5.21/2.19 } 5.21/2.19 ], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T36"], 5.21/2.19 "free": ["X52"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "367": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 1, 5.21/2.19 "scope": 5, 5.21/2.19 "term": "(',' (p (s T36) X52) (minus X52 (0) T38))" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T36"], 5.21/2.19 "free": ["X52"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "369": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(minus T44 (0) T38)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T44"], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "329": { 5.21/2.19 "goal": [ 5.21/2.19 { 5.21/2.19 "clause": 6, 5.21/2.19 "scope": 3, 5.21/2.19 "term": "(if (true) (0) T17 T18)" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "clause": 7, 5.21/2.19 "scope": 3, 5.21/2.19 "term": "(if (true) (0) T17 T18)" 5.21/2.19 } 5.21/2.19 ], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "22": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 5, 5.21/2.19 "scope": 1, 5.21/2.19 "term": "(minus T1 T2 T3)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T1"], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "23": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(',' (le T7 T10 X8) (if X8 T7 T10 T11))" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T7"], 5.21/2.19 "free": ["X8"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "24": { 5.21/2.19 "goal": [ 5.21/2.19 { 5.21/2.19 "clause": 2, 5.21/2.19 "scope": 2, 5.21/2.19 "term": "(',' (le T7 T10 X8) (if X8 T7 T10 T11))" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "clause": 3, 5.21/2.19 "scope": 2, 5.21/2.19 "term": "(',' (le T7 T10 X8) (if X8 T7 T10 T11))" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "clause": 4, 5.21/2.19 "scope": 2, 5.21/2.19 "term": "(',' (le T7 T10 X8) (if X8 T7 T10 T11))" 5.21/2.19 } 5.21/2.19 ], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T7"], 5.21/2.19 "free": ["X8"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "370": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(',' (le T51 T53 X80) (if X80 (s T51) (s T53) T54))" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T51"], 5.21/2.19 "free": ["X80"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "371": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "372": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(le T51 T53 X80)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T51"], 5.21/2.19 "free": ["X80"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "131": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 2, 5.21/2.19 "scope": 2, 5.21/2.19 "term": "(',' (le T7 T10 X8) (if X8 T7 T10 T11))" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T7"], 5.21/2.19 "free": ["X8"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "373": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(if T57 (s T51) (s T58) T59)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [ 5.21/2.19 "T51", 5.21/2.19 "T57" 5.21/2.19 ], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "132": { 5.21/2.19 "goal": [ 5.21/2.19 { 5.21/2.19 "clause": 3, 5.21/2.19 "scope": 2, 5.21/2.19 "term": "(',' (le T7 T10 X8) (if X8 T7 T10 T11))" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "clause": 4, 5.21/2.19 "scope": 2, 5.21/2.19 "term": "(',' (le T7 T10 X8) (if X8 T7 T10 T11))" 5.21/2.19 } 5.21/2.19 ], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T7"], 5.21/2.19 "free": ["X8"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "374": { 5.21/2.19 "goal": [ 5.21/2.19 { 5.21/2.19 "clause": 2, 5.21/2.19 "scope": 6, 5.21/2.19 "term": "(le T51 T53 X80)" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "clause": 3, 5.21/2.19 "scope": 6, 5.21/2.19 "term": "(le T51 T53 X80)" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "clause": 4, 5.21/2.19 "scope": 6, 5.21/2.19 "term": "(le T51 T53 X80)" 5.21/2.19 } 5.21/2.19 ], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T51"], 5.21/2.19 "free": ["X80"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "375": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 2, 5.21/2.19 "scope": 6, 5.21/2.19 "term": "(le T51 T53 X80)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T51"], 5.21/2.19 "free": ["X80"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "332": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 6, 5.21/2.19 "scope": 3, 5.21/2.19 "term": "(if (true) (0) T17 T18)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "376": { 5.21/2.19 "goal": [ 5.21/2.19 { 5.21/2.19 "clause": 3, 5.21/2.19 "scope": 6, 5.21/2.19 "term": "(le T51 T53 X80)" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "clause": 4, 5.21/2.19 "scope": 6, 5.21/2.19 "term": "(le T51 T53 X80)" 5.21/2.19 } 5.21/2.19 ], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T51"], 5.21/2.19 "free": ["X80"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "333": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 7, 5.21/2.19 "scope": 3, 5.21/2.19 "term": "(if (true) (0) T17 T18)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "377": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(true)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "378": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "379": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "336": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(true)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "337": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "339": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "380": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 3, 5.21/2.19 "scope": 6, 5.21/2.19 "term": "(le T51 T53 X80)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T51"], 5.21/2.19 "free": ["X80"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "381": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 4, 5.21/2.19 "scope": 6, 5.21/2.19 "term": "(le T51 T53 X80)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T51"], 5.21/2.19 "free": ["X80"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "382": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(true)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "383": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "340": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "384": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "385": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(le T76 T78 X106)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T76"], 5.21/2.19 "free": ["X106"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "386": { 5.21/2.19 "goal": [], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "387": { 5.21/2.19 "goal": [ 5.21/2.19 { 5.21/2.19 "clause": 6, 5.21/2.19 "scope": 7, 5.21/2.19 "term": "(if T57 (s T51) (s T58) T59)" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "clause": 7, 5.21/2.19 "scope": 7, 5.21/2.19 "term": "(if T57 (s T51) (s T58) T59)" 5.21/2.19 } 5.21/2.19 ], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [ 5.21/2.19 "T51", 5.21/2.19 "T57" 5.21/2.19 ], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "388": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 6, 5.21/2.19 "scope": 7, 5.21/2.19 "term": "(if T57 (s T51) (s T58) T59)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [ 5.21/2.19 "T51", 5.21/2.19 "T57" 5.21/2.19 ], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "389": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 7, 5.21/2.19 "scope": 7, 5.21/2.19 "term": "(if T57 (s T51) (s T58) T59)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [ 5.21/2.19 "T51", 5.21/2.19 "T57" 5.21/2.19 ], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "149": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": -1, 5.21/2.19 "scope": -1, 5.21/2.19 "term": "(if (true) (0) T17 T18)" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": [], 5.21/2.19 "free": [], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "348": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 3, 5.21/2.19 "scope": 2, 5.21/2.19 "term": "(',' (le T7 T10 X8) (if X8 T7 T10 T11))" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T7"], 5.21/2.19 "free": ["X8"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "349": { 5.21/2.19 "goal": [{ 5.21/2.19 "clause": 4, 5.21/2.19 "scope": 2, 5.21/2.19 "term": "(',' (le T7 T10 X8) (if X8 T7 T10 T11))" 5.21/2.19 }], 5.21/2.19 "kb": { 5.21/2.19 "nonunifying": [], 5.21/2.19 "intvars": {}, 5.21/2.19 "arithmetic": { 5.21/2.19 "type": "PlainIntegerRelationState", 5.21/2.19 "relations": [] 5.21/2.19 }, 5.21/2.19 "ground": ["T7"], 5.21/2.19 "free": ["X8"], 5.21/2.19 "exprvars": [] 5.21/2.19 } 5.21/2.19 } 5.21/2.19 }, 5.21/2.19 "edges": [ 5.21/2.19 { 5.21/2.19 "from": 1, 5.21/2.19 "to": 22, 5.21/2.19 "label": "CASE" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 22, 5.21/2.19 "to": 23, 5.21/2.19 "label": "ONLY EVAL with clause\nminus(X5, X6, X7) :- ','(le(X5, X6, X8), if(X8, X5, X6, X7)).\nand substitutionT1 -> T7,\nX5 -> T7,\nT2 -> T10,\nX6 -> T10,\nT3 -> T11,\nX7 -> T11,\nT8 -> T10,\nT9 -> T11" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 23, 5.21/2.19 "to": 24, 5.21/2.19 "label": "CASE" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 24, 5.21/2.19 "to": 131, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 24, 5.21/2.19 "to": 132, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 131, 5.21/2.19 "to": 149, 5.21/2.19 "label": "EVAL with clause\nle(0, X13, true).\nand substitutionT7 -> 0,\nT10 -> T17,\nX13 -> T17,\nX8 -> true,\nT16 -> T17,\nT11 -> T18" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 131, 5.21/2.19 "to": 151, 5.21/2.19 "label": "EVAL-BACKTRACK" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 132, 5.21/2.19 "to": 348, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 132, 5.21/2.19 "to": 349, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 149, 5.21/2.19 "to": 329, 5.21/2.19 "label": "CASE" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 329, 5.21/2.19 "to": 332, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 329, 5.21/2.19 "to": 333, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 332, 5.21/2.19 "to": 336, 5.21/2.19 "label": "EVAL with clause\nif(true, X26, X27, 0).\nand substitutionX26 -> 0,\nT17 -> T25,\nX27 -> T25,\nT18 -> 0" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 332, 5.21/2.19 "to": 337, 5.21/2.19 "label": "EVAL-BACKTRACK" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 333, 5.21/2.19 "to": 340, 5.21/2.19 "label": "BACKTRACK\nfor clause: if(false, X, Y, s(Z)) :- ','(p(X, X1), minus(X1, Y, Z))because of non-unification" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 336, 5.21/2.19 "to": 339, 5.21/2.19 "label": "SUCCESS" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 348, 5.21/2.19 "to": 352, 5.21/2.19 "label": "EVAL with clause\nle(s(X35), 0, false).\nand substitutionX35 -> T30,\nT7 -> s(T30),\nT10 -> 0,\nX8 -> false,\nT11 -> T31" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 348, 5.21/2.19 "to": 353, 5.21/2.19 "label": "EVAL-BACKTRACK" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 349, 5.21/2.19 "to": 370, 5.21/2.19 "label": "EVAL with clause\nle(s(X77), s(X78), X79) :- le(X77, X78, X79).\nand substitutionX77 -> T51,\nT7 -> s(T51),\nX78 -> T53,\nT10 -> s(T53),\nX8 -> X80,\nX79 -> X80,\nT52 -> T53,\nT11 -> T54" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 349, 5.21/2.19 "to": 371, 5.21/2.19 "label": "EVAL-BACKTRACK" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 352, 5.21/2.19 "to": 357, 5.21/2.19 "label": "CASE" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 357, 5.21/2.19 "to": 360, 5.21/2.19 "label": "BACKTRACK\nfor clause: if(true, X, Y, 0)because of non-unification" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 360, 5.21/2.19 "to": 363, 5.21/2.19 "label": "EVAL with clause\nif(false, X49, X50, s(X51)) :- ','(p(X49, X52), minus(X52, X50, X51)).\nand substitutionT30 -> T36,\nX49 -> s(T36),\nX50 -> 0,\nX51 -> T38,\nT31 -> s(T38),\nT37 -> T38" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 360, 5.21/2.19 "to": 364, 5.21/2.19 "label": "EVAL-BACKTRACK" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 363, 5.21/2.19 "to": 365, 5.21/2.19 "label": "CASE" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 365, 5.21/2.19 "to": 367, 5.21/2.19 "label": "BACKTRACK\nfor clause: p(0, 0)because of non-unification" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 367, 5.21/2.19 "to": 369, 5.21/2.19 "label": "ONLY EVAL with clause\np(s(X64), X64).\nand substitutionT36 -> T44,\nX64 -> T44,\nX52 -> T44" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 369, 5.21/2.19 "to": 1, 5.21/2.19 "label": "INSTANCE with matching:\nT1 -> T44\nT2 -> 0\nT3 -> T38" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 370, 5.21/2.19 "to": 372, 5.21/2.19 "label": "SPLIT 1" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 370, 5.21/2.19 "to": 373, 5.21/2.19 "label": "SPLIT 2\nnew knowledge:\nT51 is ground\nT57 is ground\nreplacements:X80 -> T57,\nT53 -> T58,\nT54 -> T59" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 372, 5.21/2.19 "to": 374, 5.21/2.19 "label": "CASE" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 373, 5.21/2.19 "to": 387, 5.21/2.19 "label": "CASE" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 374, 5.21/2.19 "to": 375, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 374, 5.21/2.19 "to": 376, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 375, 5.21/2.19 "to": 377, 5.21/2.19 "label": "EVAL with clause\nle(0, X89, true).\nand substitutionT51 -> 0,\nT53 -> T66,\nX89 -> T66,\nX80 -> true" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 375, 5.21/2.19 "to": 378, 5.21/2.19 "label": "EVAL-BACKTRACK" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 376, 5.21/2.19 "to": 380, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 376, 5.21/2.19 "to": 381, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 377, 5.21/2.19 "to": 379, 5.21/2.19 "label": "SUCCESS" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 380, 5.21/2.19 "to": 382, 5.21/2.19 "label": "EVAL with clause\nle(s(X94), 0, false).\nand substitutionX94 -> T71,\nT51 -> s(T71),\nT53 -> 0,\nX80 -> false" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 380, 5.21/2.19 "to": 383, 5.21/2.19 "label": "EVAL-BACKTRACK" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 381, 5.21/2.19 "to": 385, 5.21/2.19 "label": "EVAL with clause\nle(s(X103), s(X104), X105) :- le(X103, X104, X105).\nand substitutionX103 -> T76,\nT51 -> s(T76),\nX104 -> T78,\nT53 -> s(T78),\nX80 -> X106,\nX105 -> X106,\nT77 -> T78" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 381, 5.21/2.19 "to": 386, 5.21/2.19 "label": "EVAL-BACKTRACK" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 382, 5.21/2.19 "to": 384, 5.21/2.19 "label": "SUCCESS" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 385, 5.21/2.19 "to": 372, 5.21/2.19 "label": "INSTANCE with matching:\nT51 -> T76\nT53 -> T78\nX80 -> X106" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 387, 5.21/2.19 "to": 388, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 387, 5.21/2.19 "to": 389, 5.21/2.19 "label": "PARALLEL" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 388, 5.21/2.19 "to": 390, 5.21/2.19 "label": "EVAL with clause\nif(true, X121, X122, 0).\nand substitutionT57 -> true,\nT51 -> T93,\nX121 -> s(T93),\nT58 -> T94,\nX122 -> s(T94),\nT59 -> 0" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 388, 5.21/2.19 "to": 391, 5.21/2.19 "label": "EVAL-BACKTRACK" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 389, 5.21/2.19 "to": 393, 5.21/2.19 "label": "EVAL with clause\nif(false, X130, X131, s(X132)) :- ','(p(X130, X133), minus(X133, X131, X132)).\nand substitutionT57 -> false,\nT51 -> T101,\nX130 -> s(T101),\nT58 -> T105,\nX131 -> s(T105),\nX132 -> T104,\nT59 -> s(T104),\nT103 -> T104,\nT102 -> T105" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 389, 5.21/2.19 "to": 394, 5.21/2.19 "label": "EVAL-BACKTRACK" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 390, 5.21/2.19 "to": 392, 5.21/2.19 "label": "SUCCESS" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 393, 5.21/2.19 "to": 395, 5.21/2.19 "label": "CASE" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 395, 5.21/2.19 "to": 396, 5.21/2.19 "label": "BACKTRACK\nfor clause: p(0, 0)because of non-unification" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 396, 5.21/2.19 "to": 397, 5.21/2.19 "label": "ONLY EVAL with clause\np(s(X145), X145).\nand substitutionT101 -> T113,\nX145 -> T113,\nX133 -> T113" 5.21/2.19 }, 5.21/2.19 { 5.21/2.19 "from": 397, 5.21/2.19 "to": 1, 5.21/2.19 "label": "INSTANCE with matching:\nT1 -> T113\nT2 -> s(T105)\nT3 -> T104" 5.21/2.19 } 5.21/2.19 ], 5.21/2.19 "type": "Graph" 5.21/2.19 } 5.21/2.19 } 5.21/2.19 5.21/2.19 ---------------------------------------- 5.21/2.19 5.21/2.19 (2) 5.21/2.19 Obligation: 5.21/2.19 Triples: 5.21/2.19 5.21/2.19 leB(s(X1), s(X2), X3) :- leB(X1, X2, X3). 5.21/2.19 minusA(s(X1), 0, s(X2)) :- minusA(X1, 0, X2). 5.21/2.19 minusA(s(X1), s(X2), X3) :- leB(X1, X2, X4). 5.21/2.19 minusA(s(X1), s(X2), s(X3)) :- ','(lecB(X1, X2, false), minusA(X1, s(X2), X3)). 5.21/2.19 5.21/2.19 Clauses: 5.21/2.19 5.21/2.19 minuscA(0, X1, 0). 5.21/2.19 minuscA(s(X1), 0, s(X2)) :- minuscA(X1, 0, X2). 5.21/2.19 minuscA(s(X1), s(X2), 0) :- lecB(X1, X2, true). 5.21/2.19 minuscA(s(X1), s(X2), s(X3)) :- ','(lecB(X1, X2, false), minuscA(X1, s(X2), X3)). 5.21/2.19 lecB(0, X1, true). 5.21/2.19 lecB(s(X1), 0, false). 5.21/2.19 lecB(s(X1), s(X2), X3) :- lecB(X1, X2, X3). 5.21/2.19 5.21/2.19 Afs: 5.21/2.19 5.21/2.19 minusA(x1, x2, x3) = minusA(x1) 5.21/2.19 5.21/2.19 5.21/2.19 ---------------------------------------- 5.21/2.19 5.21/2.19 (3) TriplesToPiDPProof (SOUND) 5.21/2.19 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 5.21/2.19 5.21/2.19 minusA_in_3: (b,f,f) (b,b,f) 5.21/2.19 5.21/2.19 leB_in_3: (b,b,f) (b,f,f) 5.21/2.19 5.21/2.19 lecB_in_3: (b,b,b) (b,f,b) 5.21/2.19 5.21/2.19 Transforming TRIPLES into the following Term Rewriting System: 5.21/2.19 5.21/2.19 Pi DP problem: 5.21/2.19 The TRS P consists of the following rules: 5.21/2.19 5.21/2.19 MINUSA_IN_GAA(s(X1), 0, s(X2)) -> U2_GAA(X1, X2, minusA_in_gga(X1, 0, X2)) 5.21/2.19 MINUSA_IN_GAA(s(X1), 0, s(X2)) -> MINUSA_IN_GGA(X1, 0, X2) 5.21/2.19 MINUSA_IN_GGA(s(X1), 0, s(X2)) -> U2_GGA(X1, X2, minusA_in_gga(X1, 0, X2)) 5.21/2.19 MINUSA_IN_GGA(s(X1), 0, s(X2)) -> MINUSA_IN_GGA(X1, 0, X2) 5.21/2.19 MINUSA_IN_GGA(s(X1), s(X2), X3) -> U3_GGA(X1, X2, X3, leB_in_gga(X1, X2, X4)) 5.21/2.19 MINUSA_IN_GGA(s(X1), s(X2), X3) -> LEB_IN_GGA(X1, X2, X4) 5.21/2.19 LEB_IN_GGA(s(X1), s(X2), X3) -> U1_GGA(X1, X2, X3, leB_in_gga(X1, X2, X3)) 5.21/2.19 LEB_IN_GGA(s(X1), s(X2), X3) -> LEB_IN_GGA(X1, X2, X3) 5.21/2.19 MINUSA_IN_GGA(s(X1), s(X2), s(X3)) -> U4_GGA(X1, X2, X3, lecB_in_ggg(X1, X2, false)) 5.21/2.19 U4_GGA(X1, X2, X3, lecB_out_ggg(X1, X2, false)) -> U5_GGA(X1, X2, X3, minusA_in_gga(X1, s(X2), X3)) 5.21/2.19 U4_GGA(X1, X2, X3, lecB_out_ggg(X1, X2, false)) -> MINUSA_IN_GGA(X1, s(X2), X3) 5.21/2.19 MINUSA_IN_GAA(s(X1), s(X2), X3) -> U3_GAA(X1, X2, X3, leB_in_gaa(X1, X2, X4)) 5.21/2.19 MINUSA_IN_GAA(s(X1), s(X2), X3) -> LEB_IN_GAA(X1, X2, X4) 5.21/2.19 LEB_IN_GAA(s(X1), s(X2), X3) -> U1_GAA(X1, X2, X3, leB_in_gaa(X1, X2, X3)) 5.21/2.19 LEB_IN_GAA(s(X1), s(X2), X3) -> LEB_IN_GAA(X1, X2, X3) 5.21/2.19 MINUSA_IN_GAA(s(X1), s(X2), s(X3)) -> U4_GAA(X1, X2, X3, lecB_in_gag(X1, X2, false)) 5.21/2.19 U4_GAA(X1, X2, X3, lecB_out_gag(X1, X2, false)) -> U5_GAA(X1, X2, X3, minusA_in_gaa(X1, s(X2), X3)) 5.21/2.19 U4_GAA(X1, X2, X3, lecB_out_gag(X1, X2, false)) -> MINUSA_IN_GAA(X1, s(X2), X3) 5.21/2.19 5.21/2.19 The TRS R consists of the following rules: 5.21/2.19 5.21/2.19 lecB_in_ggg(0, X1, true) -> lecB_out_ggg(0, X1, true) 5.21/2.19 lecB_in_ggg(s(X1), 0, false) -> lecB_out_ggg(s(X1), 0, false) 5.21/2.19 lecB_in_ggg(s(X1), s(X2), X3) -> U11_ggg(X1, X2, X3, lecB_in_ggg(X1, X2, X3)) 5.21/2.19 U11_ggg(X1, X2, X3, lecB_out_ggg(X1, X2, X3)) -> lecB_out_ggg(s(X1), s(X2), X3) 5.21/2.19 lecB_in_gag(0, X1, true) -> lecB_out_gag(0, X1, true) 5.21/2.19 lecB_in_gag(s(X1), 0, false) -> lecB_out_gag(s(X1), 0, false) 5.21/2.19 lecB_in_gag(s(X1), s(X2), X3) -> U11_gag(X1, X2, X3, lecB_in_gag(X1, X2, X3)) 5.21/2.19 U11_gag(X1, X2, X3, lecB_out_gag(X1, X2, X3)) -> lecB_out_gag(s(X1), s(X2), X3) 5.21/2.19 5.21/2.19 The argument filtering Pi contains the following mapping: 5.21/2.19 minusA_in_gaa(x1, x2, x3) = minusA_in_gaa(x1) 5.21/2.19 5.21/2.19 s(x1) = s(x1) 5.21/2.19 5.21/2.19 minusA_in_gga(x1, x2, x3) = minusA_in_gga(x1, x2) 5.21/2.19 5.21/2.19 0 = 0 5.21/2.19 5.21/2.19 leB_in_gga(x1, x2, x3) = leB_in_gga(x1, x2) 5.21/2.19 5.21/2.19 lecB_in_ggg(x1, x2, x3) = lecB_in_ggg(x1, x2, x3) 5.21/2.19 5.21/2.19 true = true 5.21/2.19 5.21/2.19 lecB_out_ggg(x1, x2, x3) = lecB_out_ggg(x1, x2, x3) 5.21/2.19 5.21/2.19 false = false 5.21/2.19 5.21/2.19 U11_ggg(x1, x2, x3, x4) = U11_ggg(x1, x2, x3, x4) 5.21/2.19 5.21/2.19 leB_in_gaa(x1, x2, x3) = leB_in_gaa(x1) 5.21/2.19 5.21/2.19 lecB_in_gag(x1, x2, x3) = lecB_in_gag(x1, x3) 5.21/2.19 5.21/2.19 lecB_out_gag(x1, x2, x3) = lecB_out_gag(x1, x3) 5.21/2.19 5.21/2.19 U11_gag(x1, x2, x3, x4) = U11_gag(x1, x3, x4) 5.21/2.19 5.21/2.19 MINUSA_IN_GAA(x1, x2, x3) = MINUSA_IN_GAA(x1) 5.21/2.19 5.21/2.19 U2_GAA(x1, x2, x3) = U2_GAA(x1, x3) 5.21/2.19 5.21/2.19 MINUSA_IN_GGA(x1, x2, x3) = MINUSA_IN_GGA(x1, x2) 5.21/2.19 5.21/2.19 U2_GGA(x1, x2, x3) = U2_GGA(x1, x3) 5.21/2.19 5.21/2.19 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 5.21/2.19 5.21/2.19 LEB_IN_GGA(x1, x2, x3) = LEB_IN_GGA(x1, x2) 5.21/2.19 5.21/2.19 U1_GGA(x1, x2, x3, x4) = U1_GGA(x1, x2, x4) 5.21/2.19 5.21/2.19 U4_GGA(x1, x2, x3, x4) = U4_GGA(x1, x2, x4) 5.21/2.19 5.21/2.19 U5_GGA(x1, x2, x3, x4) = U5_GGA(x1, x2, x4) 5.21/2.19 5.21/2.19 U3_GAA(x1, x2, x3, x4) = U3_GAA(x1, x4) 5.21/2.19 5.21/2.19 LEB_IN_GAA(x1, x2, x3) = LEB_IN_GAA(x1) 5.21/2.19 5.21/2.19 U1_GAA(x1, x2, x3, x4) = U1_GAA(x1, x4) 5.21/2.19 5.21/2.19 U4_GAA(x1, x2, x3, x4) = U4_GAA(x1, x4) 5.21/2.19 5.21/2.19 U5_GAA(x1, x2, x3, x4) = U5_GAA(x1, x4) 5.21/2.19 5.21/2.19 5.21/2.19 We have to consider all (P,R,Pi)-chains 5.21/2.19 5.21/2.19 5.21/2.19 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 5.21/2.19 5.21/2.19 5.21/2.19 5.21/2.19 ---------------------------------------- 5.21/2.19 5.21/2.19 (4) 5.21/2.19 Obligation: 5.21/2.19 Pi DP problem: 5.21/2.19 The TRS P consists of the following rules: 5.21/2.19 5.21/2.19 MINUSA_IN_GAA(s(X1), 0, s(X2)) -> U2_GAA(X1, X2, minusA_in_gga(X1, 0, X2)) 5.21/2.19 MINUSA_IN_GAA(s(X1), 0, s(X2)) -> MINUSA_IN_GGA(X1, 0, X2) 5.21/2.19 MINUSA_IN_GGA(s(X1), 0, s(X2)) -> U2_GGA(X1, X2, minusA_in_gga(X1, 0, X2)) 5.21/2.19 MINUSA_IN_GGA(s(X1), 0, s(X2)) -> MINUSA_IN_GGA(X1, 0, X2) 5.21/2.19 MINUSA_IN_GGA(s(X1), s(X2), X3) -> U3_GGA(X1, X2, X3, leB_in_gga(X1, X2, X4)) 5.21/2.19 MINUSA_IN_GGA(s(X1), s(X2), X3) -> LEB_IN_GGA(X1, X2, X4) 5.21/2.19 LEB_IN_GGA(s(X1), s(X2), X3) -> U1_GGA(X1, X2, X3, leB_in_gga(X1, X2, X3)) 5.21/2.19 LEB_IN_GGA(s(X1), s(X2), X3) -> LEB_IN_GGA(X1, X2, X3) 5.21/2.19 MINUSA_IN_GGA(s(X1), s(X2), s(X3)) -> U4_GGA(X1, X2, X3, lecB_in_ggg(X1, X2, false)) 5.21/2.19 U4_GGA(X1, X2, X3, lecB_out_ggg(X1, X2, false)) -> U5_GGA(X1, X2, X3, minusA_in_gga(X1, s(X2), X3)) 5.21/2.19 U4_GGA(X1, X2, X3, lecB_out_ggg(X1, X2, false)) -> MINUSA_IN_GGA(X1, s(X2), X3) 5.21/2.19 MINUSA_IN_GAA(s(X1), s(X2), X3) -> U3_GAA(X1, X2, X3, leB_in_gaa(X1, X2, X4)) 5.21/2.19 MINUSA_IN_GAA(s(X1), s(X2), X3) -> LEB_IN_GAA(X1, X2, X4) 5.21/2.19 LEB_IN_GAA(s(X1), s(X2), X3) -> U1_GAA(X1, X2, X3, leB_in_gaa(X1, X2, X3)) 5.21/2.19 LEB_IN_GAA(s(X1), s(X2), X3) -> LEB_IN_GAA(X1, X2, X3) 5.21/2.19 MINUSA_IN_GAA(s(X1), s(X2), s(X3)) -> U4_GAA(X1, X2, X3, lecB_in_gag(X1, X2, false)) 5.21/2.19 U4_GAA(X1, X2, X3, lecB_out_gag(X1, X2, false)) -> U5_GAA(X1, X2, X3, minusA_in_gaa(X1, s(X2), X3)) 5.21/2.19 U4_GAA(X1, X2, X3, lecB_out_gag(X1, X2, false)) -> MINUSA_IN_GAA(X1, s(X2), X3) 5.21/2.19 5.21/2.19 The TRS R consists of the following rules: 5.21/2.19 5.21/2.19 lecB_in_ggg(0, X1, true) -> lecB_out_ggg(0, X1, true) 5.21/2.19 lecB_in_ggg(s(X1), 0, false) -> lecB_out_ggg(s(X1), 0, false) 5.21/2.19 lecB_in_ggg(s(X1), s(X2), X3) -> U11_ggg(X1, X2, X3, lecB_in_ggg(X1, X2, X3)) 5.21/2.19 U11_ggg(X1, X2, X3, lecB_out_ggg(X1, X2, X3)) -> lecB_out_ggg(s(X1), s(X2), X3) 5.21/2.19 lecB_in_gag(0, X1, true) -> lecB_out_gag(0, X1, true) 5.21/2.19 lecB_in_gag(s(X1), 0, false) -> lecB_out_gag(s(X1), 0, false) 5.21/2.19 lecB_in_gag(s(X1), s(X2), X3) -> U11_gag(X1, X2, X3, lecB_in_gag(X1, X2, X3)) 5.21/2.19 U11_gag(X1, X2, X3, lecB_out_gag(X1, X2, X3)) -> lecB_out_gag(s(X1), s(X2), X3) 5.21/2.19 5.21/2.19 The argument filtering Pi contains the following mapping: 5.21/2.19 minusA_in_gaa(x1, x2, x3) = minusA_in_gaa(x1) 5.21/2.19 5.21/2.19 s(x1) = s(x1) 5.21/2.19 5.21/2.19 minusA_in_gga(x1, x2, x3) = minusA_in_gga(x1, x2) 5.21/2.19 5.21/2.19 0 = 0 5.21/2.19 5.21/2.19 leB_in_gga(x1, x2, x3) = leB_in_gga(x1, x2) 5.21/2.19 5.21/2.19 lecB_in_ggg(x1, x2, x3) = lecB_in_ggg(x1, x2, x3) 5.21/2.19 5.21/2.19 true = true 5.21/2.19 5.21/2.19 lecB_out_ggg(x1, x2, x3) = lecB_out_ggg(x1, x2, x3) 5.21/2.19 5.21/2.19 false = false 5.21/2.19 5.21/2.19 U11_ggg(x1, x2, x3, x4) = U11_ggg(x1, x2, x3, x4) 5.21/2.19 5.21/2.19 leB_in_gaa(x1, x2, x3) = leB_in_gaa(x1) 5.21/2.19 5.21/2.19 lecB_in_gag(x1, x2, x3) = lecB_in_gag(x1, x3) 5.21/2.19 5.21/2.19 lecB_out_gag(x1, x2, x3) = lecB_out_gag(x1, x3) 5.21/2.19 5.21/2.19 U11_gag(x1, x2, x3, x4) = U11_gag(x1, x3, x4) 5.21/2.19 5.21/2.19 MINUSA_IN_GAA(x1, x2, x3) = MINUSA_IN_GAA(x1) 5.21/2.19 5.21/2.19 U2_GAA(x1, x2, x3) = U2_GAA(x1, x3) 5.21/2.19 5.21/2.19 MINUSA_IN_GGA(x1, x2, x3) = MINUSA_IN_GGA(x1, x2) 5.21/2.19 5.21/2.19 U2_GGA(x1, x2, x3) = U2_GGA(x1, x3) 5.21/2.19 5.21/2.19 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 5.21/2.19 5.21/2.19 LEB_IN_GGA(x1, x2, x3) = LEB_IN_GGA(x1, x2) 5.21/2.19 5.21/2.19 U1_GGA(x1, x2, x3, x4) = U1_GGA(x1, x2, x4) 5.21/2.19 5.21/2.19 U4_GGA(x1, x2, x3, x4) = U4_GGA(x1, x2, x4) 5.21/2.19 5.21/2.19 U5_GGA(x1, x2, x3, x4) = U5_GGA(x1, x2, x4) 5.21/2.19 5.21/2.19 U3_GAA(x1, x2, x3, x4) = U3_GAA(x1, x4) 5.21/2.19 5.21/2.19 LEB_IN_GAA(x1, x2, x3) = LEB_IN_GAA(x1) 5.21/2.19 5.21/2.19 U1_GAA(x1, x2, x3, x4) = U1_GAA(x1, x4) 5.21/2.19 5.21/2.19 U4_GAA(x1, x2, x3, x4) = U4_GAA(x1, x4) 5.21/2.19 5.21/2.19 U5_GAA(x1, x2, x3, x4) = U5_GAA(x1, x4) 5.21/2.19 5.21/2.19 5.21/2.19 We have to consider all (P,R,Pi)-chains 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (5) DependencyGraphProof (EQUIVALENT) 5.21/2.20 The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 11 less nodes. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (6) 5.21/2.20 Complex Obligation (AND) 5.21/2.20 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (7) 5.21/2.20 Obligation: 5.21/2.20 Pi DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 LEB_IN_GAA(s(X1), s(X2), X3) -> LEB_IN_GAA(X1, X2, X3) 5.21/2.20 5.21/2.20 The TRS R consists of the following rules: 5.21/2.20 5.21/2.20 lecB_in_ggg(0, X1, true) -> lecB_out_ggg(0, X1, true) 5.21/2.20 lecB_in_ggg(s(X1), 0, false) -> lecB_out_ggg(s(X1), 0, false) 5.21/2.20 lecB_in_ggg(s(X1), s(X2), X3) -> U11_ggg(X1, X2, X3, lecB_in_ggg(X1, X2, X3)) 5.21/2.20 U11_ggg(X1, X2, X3, lecB_out_ggg(X1, X2, X3)) -> lecB_out_ggg(s(X1), s(X2), X3) 5.21/2.20 lecB_in_gag(0, X1, true) -> lecB_out_gag(0, X1, true) 5.21/2.20 lecB_in_gag(s(X1), 0, false) -> lecB_out_gag(s(X1), 0, false) 5.21/2.20 lecB_in_gag(s(X1), s(X2), X3) -> U11_gag(X1, X2, X3, lecB_in_gag(X1, X2, X3)) 5.21/2.20 U11_gag(X1, X2, X3, lecB_out_gag(X1, X2, X3)) -> lecB_out_gag(s(X1), s(X2), X3) 5.21/2.20 5.21/2.20 The argument filtering Pi contains the following mapping: 5.21/2.20 s(x1) = s(x1) 5.21/2.20 5.21/2.20 0 = 0 5.21/2.20 5.21/2.20 lecB_in_ggg(x1, x2, x3) = lecB_in_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 true = true 5.21/2.20 5.21/2.20 lecB_out_ggg(x1, x2, x3) = lecB_out_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 false = false 5.21/2.20 5.21/2.20 U11_ggg(x1, x2, x3, x4) = U11_ggg(x1, x2, x3, x4) 5.21/2.20 5.21/2.20 lecB_in_gag(x1, x2, x3) = lecB_in_gag(x1, x3) 5.21/2.20 5.21/2.20 lecB_out_gag(x1, x2, x3) = lecB_out_gag(x1, x3) 5.21/2.20 5.21/2.20 U11_gag(x1, x2, x3, x4) = U11_gag(x1, x3, x4) 5.21/2.20 5.21/2.20 LEB_IN_GAA(x1, x2, x3) = LEB_IN_GAA(x1) 5.21/2.20 5.21/2.20 5.21/2.20 We have to consider all (P,R,Pi)-chains 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (8) UsableRulesProof (EQUIVALENT) 5.21/2.20 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (9) 5.21/2.20 Obligation: 5.21/2.20 Pi DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 LEB_IN_GAA(s(X1), s(X2), X3) -> LEB_IN_GAA(X1, X2, X3) 5.21/2.20 5.21/2.20 R is empty. 5.21/2.20 The argument filtering Pi contains the following mapping: 5.21/2.20 s(x1) = s(x1) 5.21/2.20 5.21/2.20 LEB_IN_GAA(x1, x2, x3) = LEB_IN_GAA(x1) 5.21/2.20 5.21/2.20 5.21/2.20 We have to consider all (P,R,Pi)-chains 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (10) PiDPToQDPProof (SOUND) 5.21/2.20 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (11) 5.21/2.20 Obligation: 5.21/2.20 Q DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 LEB_IN_GAA(s(X1)) -> LEB_IN_GAA(X1) 5.21/2.20 5.21/2.20 R is empty. 5.21/2.20 Q is empty. 5.21/2.20 We have to consider all (P,Q,R)-chains. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (12) QDPSizeChangeProof (EQUIVALENT) 5.21/2.20 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. 5.21/2.20 5.21/2.20 From the DPs we obtained the following set of size-change graphs: 5.21/2.20 *LEB_IN_GAA(s(X1)) -> LEB_IN_GAA(X1) 5.21/2.20 The graph contains the following edges 1 > 1 5.21/2.20 5.21/2.20 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (13) 5.21/2.20 YES 5.21/2.20 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (14) 5.21/2.20 Obligation: 5.21/2.20 Pi DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 MINUSA_IN_GAA(s(X1), s(X2), s(X3)) -> U4_GAA(X1, X2, X3, lecB_in_gag(X1, X2, false)) 5.21/2.20 U4_GAA(X1, X2, X3, lecB_out_gag(X1, X2, false)) -> MINUSA_IN_GAA(X1, s(X2), X3) 5.21/2.20 5.21/2.20 The TRS R consists of the following rules: 5.21/2.20 5.21/2.20 lecB_in_ggg(0, X1, true) -> lecB_out_ggg(0, X1, true) 5.21/2.20 lecB_in_ggg(s(X1), 0, false) -> lecB_out_ggg(s(X1), 0, false) 5.21/2.20 lecB_in_ggg(s(X1), s(X2), X3) -> U11_ggg(X1, X2, X3, lecB_in_ggg(X1, X2, X3)) 5.21/2.20 U11_ggg(X1, X2, X3, lecB_out_ggg(X1, X2, X3)) -> lecB_out_ggg(s(X1), s(X2), X3) 5.21/2.20 lecB_in_gag(0, X1, true) -> lecB_out_gag(0, X1, true) 5.21/2.20 lecB_in_gag(s(X1), 0, false) -> lecB_out_gag(s(X1), 0, false) 5.21/2.20 lecB_in_gag(s(X1), s(X2), X3) -> U11_gag(X1, X2, X3, lecB_in_gag(X1, X2, X3)) 5.21/2.20 U11_gag(X1, X2, X3, lecB_out_gag(X1, X2, X3)) -> lecB_out_gag(s(X1), s(X2), X3) 5.21/2.20 5.21/2.20 The argument filtering Pi contains the following mapping: 5.21/2.20 s(x1) = s(x1) 5.21/2.20 5.21/2.20 0 = 0 5.21/2.20 5.21/2.20 lecB_in_ggg(x1, x2, x3) = lecB_in_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 true = true 5.21/2.20 5.21/2.20 lecB_out_ggg(x1, x2, x3) = lecB_out_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 false = false 5.21/2.20 5.21/2.20 U11_ggg(x1, x2, x3, x4) = U11_ggg(x1, x2, x3, x4) 5.21/2.20 5.21/2.20 lecB_in_gag(x1, x2, x3) = lecB_in_gag(x1, x3) 5.21/2.20 5.21/2.20 lecB_out_gag(x1, x2, x3) = lecB_out_gag(x1, x3) 5.21/2.20 5.21/2.20 U11_gag(x1, x2, x3, x4) = U11_gag(x1, x3, x4) 5.21/2.20 5.21/2.20 MINUSA_IN_GAA(x1, x2, x3) = MINUSA_IN_GAA(x1) 5.21/2.20 5.21/2.20 U4_GAA(x1, x2, x3, x4) = U4_GAA(x1, x4) 5.21/2.20 5.21/2.20 5.21/2.20 We have to consider all (P,R,Pi)-chains 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (15) UsableRulesProof (EQUIVALENT) 5.21/2.20 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (16) 5.21/2.20 Obligation: 5.21/2.20 Pi DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 MINUSA_IN_GAA(s(X1), s(X2), s(X3)) -> U4_GAA(X1, X2, X3, lecB_in_gag(X1, X2, false)) 5.21/2.20 U4_GAA(X1, X2, X3, lecB_out_gag(X1, X2, false)) -> MINUSA_IN_GAA(X1, s(X2), X3) 5.21/2.20 5.21/2.20 The TRS R consists of the following rules: 5.21/2.20 5.21/2.20 lecB_in_gag(s(X1), 0, false) -> lecB_out_gag(s(X1), 0, false) 5.21/2.20 lecB_in_gag(s(X1), s(X2), X3) -> U11_gag(X1, X2, X3, lecB_in_gag(X1, X2, X3)) 5.21/2.20 U11_gag(X1, X2, X3, lecB_out_gag(X1, X2, X3)) -> lecB_out_gag(s(X1), s(X2), X3) 5.21/2.20 lecB_in_gag(0, X1, true) -> lecB_out_gag(0, X1, true) 5.21/2.20 5.21/2.20 The argument filtering Pi contains the following mapping: 5.21/2.20 s(x1) = s(x1) 5.21/2.20 5.21/2.20 0 = 0 5.21/2.20 5.21/2.20 true = true 5.21/2.20 5.21/2.20 false = false 5.21/2.20 5.21/2.20 lecB_in_gag(x1, x2, x3) = lecB_in_gag(x1, x3) 5.21/2.20 5.21/2.20 lecB_out_gag(x1, x2, x3) = lecB_out_gag(x1, x3) 5.21/2.20 5.21/2.20 U11_gag(x1, x2, x3, x4) = U11_gag(x1, x3, x4) 5.21/2.20 5.21/2.20 MINUSA_IN_GAA(x1, x2, x3) = MINUSA_IN_GAA(x1) 5.21/2.20 5.21/2.20 U4_GAA(x1, x2, x3, x4) = U4_GAA(x1, x4) 5.21/2.20 5.21/2.20 5.21/2.20 We have to consider all (P,R,Pi)-chains 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (17) PiDPToQDPProof (SOUND) 5.21/2.20 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (18) 5.21/2.20 Obligation: 5.21/2.20 Q DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 MINUSA_IN_GAA(s(X1)) -> U4_GAA(X1, lecB_in_gag(X1, false)) 5.21/2.20 U4_GAA(X1, lecB_out_gag(X1, false)) -> MINUSA_IN_GAA(X1) 5.21/2.20 5.21/2.20 The TRS R consists of the following rules: 5.21/2.20 5.21/2.20 lecB_in_gag(s(X1), false) -> lecB_out_gag(s(X1), false) 5.21/2.20 lecB_in_gag(s(X1), X3) -> U11_gag(X1, X3, lecB_in_gag(X1, X3)) 5.21/2.20 U11_gag(X1, X3, lecB_out_gag(X1, X3)) -> lecB_out_gag(s(X1), X3) 5.21/2.20 lecB_in_gag(0, true) -> lecB_out_gag(0, true) 5.21/2.20 5.21/2.20 The set Q consists of the following terms: 5.21/2.20 5.21/2.20 lecB_in_gag(x0, x1) 5.21/2.20 U11_gag(x0, x1, x2) 5.21/2.20 5.21/2.20 We have to consider all (P,Q,R)-chains. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (19) QDPSizeChangeProof (EQUIVALENT) 5.21/2.20 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. 5.21/2.20 5.21/2.20 From the DPs we obtained the following set of size-change graphs: 5.21/2.20 *U4_GAA(X1, lecB_out_gag(X1, false)) -> MINUSA_IN_GAA(X1) 5.21/2.20 The graph contains the following edges 1 >= 1, 2 > 1 5.21/2.20 5.21/2.20 5.21/2.20 *MINUSA_IN_GAA(s(X1)) -> U4_GAA(X1, lecB_in_gag(X1, false)) 5.21/2.20 The graph contains the following edges 1 > 1 5.21/2.20 5.21/2.20 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (20) 5.21/2.20 YES 5.21/2.20 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (21) 5.21/2.20 Obligation: 5.21/2.20 Pi DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 LEB_IN_GGA(s(X1), s(X2), X3) -> LEB_IN_GGA(X1, X2, X3) 5.21/2.20 5.21/2.20 The TRS R consists of the following rules: 5.21/2.20 5.21/2.20 lecB_in_ggg(0, X1, true) -> lecB_out_ggg(0, X1, true) 5.21/2.20 lecB_in_ggg(s(X1), 0, false) -> lecB_out_ggg(s(X1), 0, false) 5.21/2.20 lecB_in_ggg(s(X1), s(X2), X3) -> U11_ggg(X1, X2, X3, lecB_in_ggg(X1, X2, X3)) 5.21/2.20 U11_ggg(X1, X2, X3, lecB_out_ggg(X1, X2, X3)) -> lecB_out_ggg(s(X1), s(X2), X3) 5.21/2.20 lecB_in_gag(0, X1, true) -> lecB_out_gag(0, X1, true) 5.21/2.20 lecB_in_gag(s(X1), 0, false) -> lecB_out_gag(s(X1), 0, false) 5.21/2.20 lecB_in_gag(s(X1), s(X2), X3) -> U11_gag(X1, X2, X3, lecB_in_gag(X1, X2, X3)) 5.21/2.20 U11_gag(X1, X2, X3, lecB_out_gag(X1, X2, X3)) -> lecB_out_gag(s(X1), s(X2), X3) 5.21/2.20 5.21/2.20 The argument filtering Pi contains the following mapping: 5.21/2.20 s(x1) = s(x1) 5.21/2.20 5.21/2.20 0 = 0 5.21/2.20 5.21/2.20 lecB_in_ggg(x1, x2, x3) = lecB_in_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 true = true 5.21/2.20 5.21/2.20 lecB_out_ggg(x1, x2, x3) = lecB_out_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 false = false 5.21/2.20 5.21/2.20 U11_ggg(x1, x2, x3, x4) = U11_ggg(x1, x2, x3, x4) 5.21/2.20 5.21/2.20 lecB_in_gag(x1, x2, x3) = lecB_in_gag(x1, x3) 5.21/2.20 5.21/2.20 lecB_out_gag(x1, x2, x3) = lecB_out_gag(x1, x3) 5.21/2.20 5.21/2.20 U11_gag(x1, x2, x3, x4) = U11_gag(x1, x3, x4) 5.21/2.20 5.21/2.20 LEB_IN_GGA(x1, x2, x3) = LEB_IN_GGA(x1, x2) 5.21/2.20 5.21/2.20 5.21/2.20 We have to consider all (P,R,Pi)-chains 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (22) UsableRulesProof (EQUIVALENT) 5.21/2.20 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (23) 5.21/2.20 Obligation: 5.21/2.20 Pi DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 LEB_IN_GGA(s(X1), s(X2), X3) -> LEB_IN_GGA(X1, X2, X3) 5.21/2.20 5.21/2.20 R is empty. 5.21/2.20 The argument filtering Pi contains the following mapping: 5.21/2.20 s(x1) = s(x1) 5.21/2.20 5.21/2.20 LEB_IN_GGA(x1, x2, x3) = LEB_IN_GGA(x1, x2) 5.21/2.20 5.21/2.20 5.21/2.20 We have to consider all (P,R,Pi)-chains 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (24) PiDPToQDPProof (SOUND) 5.21/2.20 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (25) 5.21/2.20 Obligation: 5.21/2.20 Q DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 LEB_IN_GGA(s(X1), s(X2)) -> LEB_IN_GGA(X1, X2) 5.21/2.20 5.21/2.20 R is empty. 5.21/2.20 Q is empty. 5.21/2.20 We have to consider all (P,Q,R)-chains. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (26) QDPSizeChangeProof (EQUIVALENT) 5.21/2.20 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. 5.21/2.20 5.21/2.20 From the DPs we obtained the following set of size-change graphs: 5.21/2.20 *LEB_IN_GGA(s(X1), s(X2)) -> LEB_IN_GGA(X1, X2) 5.21/2.20 The graph contains the following edges 1 > 1, 2 > 2 5.21/2.20 5.21/2.20 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (27) 5.21/2.20 YES 5.21/2.20 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (28) 5.21/2.20 Obligation: 5.21/2.20 Pi DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 MINUSA_IN_GGA(s(X1), s(X2), s(X3)) -> U4_GGA(X1, X2, X3, lecB_in_ggg(X1, X2, false)) 5.21/2.20 U4_GGA(X1, X2, X3, lecB_out_ggg(X1, X2, false)) -> MINUSA_IN_GGA(X1, s(X2), X3) 5.21/2.20 5.21/2.20 The TRS R consists of the following rules: 5.21/2.20 5.21/2.20 lecB_in_ggg(0, X1, true) -> lecB_out_ggg(0, X1, true) 5.21/2.20 lecB_in_ggg(s(X1), 0, false) -> lecB_out_ggg(s(X1), 0, false) 5.21/2.20 lecB_in_ggg(s(X1), s(X2), X3) -> U11_ggg(X1, X2, X3, lecB_in_ggg(X1, X2, X3)) 5.21/2.20 U11_ggg(X1, X2, X3, lecB_out_ggg(X1, X2, X3)) -> lecB_out_ggg(s(X1), s(X2), X3) 5.21/2.20 lecB_in_gag(0, X1, true) -> lecB_out_gag(0, X1, true) 5.21/2.20 lecB_in_gag(s(X1), 0, false) -> lecB_out_gag(s(X1), 0, false) 5.21/2.20 lecB_in_gag(s(X1), s(X2), X3) -> U11_gag(X1, X2, X3, lecB_in_gag(X1, X2, X3)) 5.21/2.20 U11_gag(X1, X2, X3, lecB_out_gag(X1, X2, X3)) -> lecB_out_gag(s(X1), s(X2), X3) 5.21/2.20 5.21/2.20 The argument filtering Pi contains the following mapping: 5.21/2.20 s(x1) = s(x1) 5.21/2.20 5.21/2.20 0 = 0 5.21/2.20 5.21/2.20 lecB_in_ggg(x1, x2, x3) = lecB_in_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 true = true 5.21/2.20 5.21/2.20 lecB_out_ggg(x1, x2, x3) = lecB_out_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 false = false 5.21/2.20 5.21/2.20 U11_ggg(x1, x2, x3, x4) = U11_ggg(x1, x2, x3, x4) 5.21/2.20 5.21/2.20 lecB_in_gag(x1, x2, x3) = lecB_in_gag(x1, x3) 5.21/2.20 5.21/2.20 lecB_out_gag(x1, x2, x3) = lecB_out_gag(x1, x3) 5.21/2.20 5.21/2.20 U11_gag(x1, x2, x3, x4) = U11_gag(x1, x3, x4) 5.21/2.20 5.21/2.20 MINUSA_IN_GGA(x1, x2, x3) = MINUSA_IN_GGA(x1, x2) 5.21/2.20 5.21/2.20 U4_GGA(x1, x2, x3, x4) = U4_GGA(x1, x2, x4) 5.21/2.20 5.21/2.20 5.21/2.20 We have to consider all (P,R,Pi)-chains 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (29) UsableRulesProof (EQUIVALENT) 5.21/2.20 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (30) 5.21/2.20 Obligation: 5.21/2.20 Pi DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 MINUSA_IN_GGA(s(X1), s(X2), s(X3)) -> U4_GGA(X1, X2, X3, lecB_in_ggg(X1, X2, false)) 5.21/2.20 U4_GGA(X1, X2, X3, lecB_out_ggg(X1, X2, false)) -> MINUSA_IN_GGA(X1, s(X2), X3) 5.21/2.20 5.21/2.20 The TRS R consists of the following rules: 5.21/2.20 5.21/2.20 lecB_in_ggg(s(X1), 0, false) -> lecB_out_ggg(s(X1), 0, false) 5.21/2.20 lecB_in_ggg(s(X1), s(X2), X3) -> U11_ggg(X1, X2, X3, lecB_in_ggg(X1, X2, X3)) 5.21/2.20 U11_ggg(X1, X2, X3, lecB_out_ggg(X1, X2, X3)) -> lecB_out_ggg(s(X1), s(X2), X3) 5.21/2.20 lecB_in_ggg(0, X1, true) -> lecB_out_ggg(0, X1, true) 5.21/2.20 5.21/2.20 The argument filtering Pi contains the following mapping: 5.21/2.20 s(x1) = s(x1) 5.21/2.20 5.21/2.20 0 = 0 5.21/2.20 5.21/2.20 lecB_in_ggg(x1, x2, x3) = lecB_in_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 true = true 5.21/2.20 5.21/2.20 lecB_out_ggg(x1, x2, x3) = lecB_out_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 false = false 5.21/2.20 5.21/2.20 U11_ggg(x1, x2, x3, x4) = U11_ggg(x1, x2, x3, x4) 5.21/2.20 5.21/2.20 MINUSA_IN_GGA(x1, x2, x3) = MINUSA_IN_GGA(x1, x2) 5.21/2.20 5.21/2.20 U4_GGA(x1, x2, x3, x4) = U4_GGA(x1, x2, x4) 5.21/2.20 5.21/2.20 5.21/2.20 We have to consider all (P,R,Pi)-chains 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (31) PiDPToQDPProof (SOUND) 5.21/2.20 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (32) 5.21/2.20 Obligation: 5.21/2.20 Q DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 MINUSA_IN_GGA(s(X1), s(X2)) -> U4_GGA(X1, X2, lecB_in_ggg(X1, X2, false)) 5.21/2.20 U4_GGA(X1, X2, lecB_out_ggg(X1, X2, false)) -> MINUSA_IN_GGA(X1, s(X2)) 5.21/2.20 5.21/2.20 The TRS R consists of the following rules: 5.21/2.20 5.21/2.20 lecB_in_ggg(s(X1), 0, false) -> lecB_out_ggg(s(X1), 0, false) 5.21/2.20 lecB_in_ggg(s(X1), s(X2), X3) -> U11_ggg(X1, X2, X3, lecB_in_ggg(X1, X2, X3)) 5.21/2.20 U11_ggg(X1, X2, X3, lecB_out_ggg(X1, X2, X3)) -> lecB_out_ggg(s(X1), s(X2), X3) 5.21/2.20 lecB_in_ggg(0, X1, true) -> lecB_out_ggg(0, X1, true) 5.21/2.20 5.21/2.20 The set Q consists of the following terms: 5.21/2.20 5.21/2.20 lecB_in_ggg(x0, x1, x2) 5.21/2.20 U11_ggg(x0, x1, x2, x3) 5.21/2.20 5.21/2.20 We have to consider all (P,Q,R)-chains. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (33) QDPSizeChangeProof (EQUIVALENT) 5.21/2.20 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. 5.21/2.20 5.21/2.20 From the DPs we obtained the following set of size-change graphs: 5.21/2.20 *U4_GGA(X1, X2, lecB_out_ggg(X1, X2, false)) -> MINUSA_IN_GGA(X1, s(X2)) 5.21/2.20 The graph contains the following edges 1 >= 1, 3 > 1 5.21/2.20 5.21/2.20 5.21/2.20 *MINUSA_IN_GGA(s(X1), s(X2)) -> U4_GGA(X1, X2, lecB_in_ggg(X1, X2, false)) 5.21/2.20 The graph contains the following edges 1 > 1, 2 > 2 5.21/2.20 5.21/2.20 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (34) 5.21/2.20 YES 5.21/2.20 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (35) 5.21/2.20 Obligation: 5.21/2.20 Pi DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 MINUSA_IN_GGA(s(X1), 0, s(X2)) -> MINUSA_IN_GGA(X1, 0, X2) 5.21/2.20 5.21/2.20 The TRS R consists of the following rules: 5.21/2.20 5.21/2.20 lecB_in_ggg(0, X1, true) -> lecB_out_ggg(0, X1, true) 5.21/2.20 lecB_in_ggg(s(X1), 0, false) -> lecB_out_ggg(s(X1), 0, false) 5.21/2.20 lecB_in_ggg(s(X1), s(X2), X3) -> U11_ggg(X1, X2, X3, lecB_in_ggg(X1, X2, X3)) 5.21/2.20 U11_ggg(X1, X2, X3, lecB_out_ggg(X1, X2, X3)) -> lecB_out_ggg(s(X1), s(X2), X3) 5.21/2.20 lecB_in_gag(0, X1, true) -> lecB_out_gag(0, X1, true) 5.21/2.20 lecB_in_gag(s(X1), 0, false) -> lecB_out_gag(s(X1), 0, false) 5.21/2.20 lecB_in_gag(s(X1), s(X2), X3) -> U11_gag(X1, X2, X3, lecB_in_gag(X1, X2, X3)) 5.21/2.20 U11_gag(X1, X2, X3, lecB_out_gag(X1, X2, X3)) -> lecB_out_gag(s(X1), s(X2), X3) 5.21/2.20 5.21/2.20 The argument filtering Pi contains the following mapping: 5.21/2.20 s(x1) = s(x1) 5.21/2.20 5.21/2.20 0 = 0 5.21/2.20 5.21/2.20 lecB_in_ggg(x1, x2, x3) = lecB_in_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 true = true 5.21/2.20 5.21/2.20 lecB_out_ggg(x1, x2, x3) = lecB_out_ggg(x1, x2, x3) 5.21/2.20 5.21/2.20 false = false 5.21/2.20 5.21/2.20 U11_ggg(x1, x2, x3, x4) = U11_ggg(x1, x2, x3, x4) 5.21/2.20 5.21/2.20 lecB_in_gag(x1, x2, x3) = lecB_in_gag(x1, x3) 5.21/2.20 5.21/2.20 lecB_out_gag(x1, x2, x3) = lecB_out_gag(x1, x3) 5.21/2.20 5.21/2.20 U11_gag(x1, x2, x3, x4) = U11_gag(x1, x3, x4) 5.21/2.20 5.21/2.20 MINUSA_IN_GGA(x1, x2, x3) = MINUSA_IN_GGA(x1, x2) 5.21/2.20 5.21/2.20 5.21/2.20 We have to consider all (P,R,Pi)-chains 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (36) UsableRulesProof (EQUIVALENT) 5.21/2.20 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (37) 5.21/2.20 Obligation: 5.21/2.20 Pi DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 MINUSA_IN_GGA(s(X1), 0, s(X2)) -> MINUSA_IN_GGA(X1, 0, X2) 5.21/2.20 5.21/2.20 R is empty. 5.21/2.20 The argument filtering Pi contains the following mapping: 5.21/2.20 s(x1) = s(x1) 5.21/2.20 5.21/2.20 0 = 0 5.21/2.20 5.21/2.20 MINUSA_IN_GGA(x1, x2, x3) = MINUSA_IN_GGA(x1, x2) 5.21/2.20 5.21/2.20 5.21/2.20 We have to consider all (P,R,Pi)-chains 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (38) PiDPToQDPProof (SOUND) 5.21/2.20 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (39) 5.21/2.20 Obligation: 5.21/2.20 Q DP problem: 5.21/2.20 The TRS P consists of the following rules: 5.21/2.20 5.21/2.20 MINUSA_IN_GGA(s(X1), 0) -> MINUSA_IN_GGA(X1, 0) 5.21/2.20 5.21/2.20 R is empty. 5.21/2.20 Q is empty. 5.21/2.20 We have to consider all (P,Q,R)-chains. 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (40) QDPSizeChangeProof (EQUIVALENT) 5.21/2.20 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. 5.21/2.20 5.21/2.20 From the DPs we obtained the following set of size-change graphs: 5.21/2.20 *MINUSA_IN_GGA(s(X1), 0) -> MINUSA_IN_GGA(X1, 0) 5.21/2.20 The graph contains the following edges 1 > 1, 2 >= 2 5.21/2.20 5.21/2.20 5.21/2.20 ---------------------------------------- 5.21/2.20 5.21/2.20 (41) 5.21/2.20 YES 5.44/2.24 EOF