MAYBE

Found an example we currently can't prove?
-> Consider contributing it to the benchmark set: https://mysolvertimesout.org/

proof of /hpcwork/ff862203/termcomp26/benchmarks/Qh6Fq.pl
# AProVE Commit ID: 23a904c96b029b0a549cde0d0d17dbccf967db59 jckassing 20260626 unpublished dirty


Left Termination of the query pattern

member(g,a)

w.r.t. the given Prolog program could not be shown:

(0) Prolog
(1) PrologToPiTRSProof [SOUND, 0 ms]
(2) PiTRS
    (3) DependencyPairsProof [EQUIVALENT, 0 ms]
    (4) PiDP
    (5) DependencyGraphProof [EQUIVALENT, 0 ms]
    (6) PiDP
    (7) UsableRulesProof [EQUIVALENT, 0 ms]
    (8) PiDP
    (9) PiDPToQDPProof [SOUND, 0 ms]
    (10) QDP
(11) PrologToPiTRSProof [SOUND, 0 ms]
(12) PiTRS
    (13) DependencyPairsProof [EQUIVALENT, 0 ms]
    (14) PiDP
    (15) DependencyGraphProof [EQUIVALENT, 0 ms]
    (16) PiDP
    (17) UsableRulesProof [EQUIVALENT, 0 ms]
    (18) PiDP
    (19) PiDPToQDPProof [SOUND, 0 ms]
    (20) QDP
(21) PrologToTRSTransformerProof [SOUND, 0 ms]
(22) QTRS
    (23) DependencyPairsProof [EQUIVALENT, 0 ms]
    (24) QDP
    (25) DependencyGraphProof [EQUIVALENT, 0 ms]
    (26) QDP
    (27) MNOCProof [EQUIVALENT, 0 ms]
    (28) QDP
    (29) UsableRulesProof [EQUIVALENT, 0 ms]
    (30) QDP
    (31) QReductionProof [EQUIVALENT, 0 ms]
    (32) QDP
(33) PrologToIRSwTTransformerProof [SOUND, 0 ms]
(34) IRSwT
    (35) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms]
    (36) IRSwT
    (37) IntTRSCompressionProof [EQUIVALENT, 10 ms]
    (38) IRSwT
    (39) IRSFormatTransformerProof [EQUIVALENT, 0 ms]
    (40) IRSwT
    (41) IRSwTTerminationDigraphProof [EQUIVALENT, 3 ms]
    (42) IRSwT
    (43) FilterProof [EQUIVALENT, 0 ms]
    (44) IntTRS
    (45) IntTRSPeriodicNontermProof [COMPLETE, 5 ms]
    (46) NO
(47) PrologToDTProblemTransformerProof [SOUND, 0 ms]
(48) TRIPLES
    (49) TriplesToPiDPProof [SOUND, 0 ms]
    (50) PiDP
    (51) DependencyGraphProof [EQUIVALENT, 0 ms]
    (52) PiDP
    (53) PiDPToQDPProof [SOUND, 0 ms]
    (54) QDP


----------------------------------------

(0)
Obligation:
Clauses:

member(X, .(X, X1)).
member(X, .(X2, Xs)) :- member(X, Xs).


Query: member(g,a)
----------------------------------------

(1) PrologToPiTRSProof (SOUND)
We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:

member_in_2: (b,f)

Transforming Prolog into the following Term Rewriting System:

Pi-finite rewrite system:
The TRS R consists of the following rules:

   member_in_ga(X, .(X, X1)) -> member_out_ga(X, .(X, X1))
   member_in_ga(X, .(X2, Xs)) -> U1_ga(X, X2, Xs, member_in_ga(X, Xs))
   U1_ga(X, X2, Xs, member_out_ga(X, Xs)) -> member_out_ga(X, .(X2, Xs))

The argument filtering Pi contains the following mapping:
member_in_ga(x1, x2)  =  member_in_ga(x1)

member_out_ga(x1, x2)  =  member_out_ga

U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)





Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog



----------------------------------------

(2)
Obligation:
Pi-finite rewrite system:
The TRS R consists of the following rules:

   member_in_ga(X, .(X, X1)) -> member_out_ga(X, .(X, X1))
   member_in_ga(X, .(X2, Xs)) -> U1_ga(X, X2, Xs, member_in_ga(X, Xs))
   U1_ga(X, X2, Xs, member_out_ga(X, Xs)) -> member_out_ga(X, .(X2, Xs))

The argument filtering Pi contains the following mapping:
member_in_ga(x1, x2)  =  member_in_ga(x1)

member_out_ga(x1, x2)  =  member_out_ga

U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)



----------------------------------------

(3) DependencyPairsProof (EQUIVALENT)
Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

   MEMBER_IN_GA(X, .(X2, Xs)) -> U1_GA(X, X2, Xs, member_in_ga(X, Xs))
   MEMBER_IN_GA(X, .(X2, Xs)) -> MEMBER_IN_GA(X, Xs)

The TRS R consists of the following rules:

   member_in_ga(X, .(X, X1)) -> member_out_ga(X, .(X, X1))
   member_in_ga(X, .(X2, Xs)) -> U1_ga(X, X2, Xs, member_in_ga(X, Xs))
   U1_ga(X, X2, Xs, member_out_ga(X, Xs)) -> member_out_ga(X, .(X2, Xs))

The argument filtering Pi contains the following mapping:
member_in_ga(x1, x2)  =  member_in_ga(x1)

member_out_ga(x1, x2)  =  member_out_ga

U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)

MEMBER_IN_GA(x1, x2)  =  MEMBER_IN_GA(x1)

U1_GA(x1, x2, x3, x4)  =  U1_GA(x4)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(4)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   MEMBER_IN_GA(X, .(X2, Xs)) -> U1_GA(X, X2, Xs, member_in_ga(X, Xs))
   MEMBER_IN_GA(X, .(X2, Xs)) -> MEMBER_IN_GA(X, Xs)

The TRS R consists of the following rules:

   member_in_ga(X, .(X, X1)) -> member_out_ga(X, .(X, X1))
   member_in_ga(X, .(X2, Xs)) -> U1_ga(X, X2, Xs, member_in_ga(X, Xs))
   U1_ga(X, X2, Xs, member_out_ga(X, Xs)) -> member_out_ga(X, .(X2, Xs))

The argument filtering Pi contains the following mapping:
member_in_ga(x1, x2)  =  member_in_ga(x1)

member_out_ga(x1, x2)  =  member_out_ga

U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)

MEMBER_IN_GA(x1, x2)  =  MEMBER_IN_GA(x1)

U1_GA(x1, x2, x3, x4)  =  U1_GA(x4)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(5) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 1 less node.
----------------------------------------

(6)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   MEMBER_IN_GA(X, .(X2, Xs)) -> MEMBER_IN_GA(X, Xs)

The TRS R consists of the following rules:

   member_in_ga(X, .(X, X1)) -> member_out_ga(X, .(X, X1))
   member_in_ga(X, .(X2, Xs)) -> U1_ga(X, X2, Xs, member_in_ga(X, Xs))
   U1_ga(X, X2, Xs, member_out_ga(X, Xs)) -> member_out_ga(X, .(X2, Xs))

The argument filtering Pi contains the following mapping:
member_in_ga(x1, x2)  =  member_in_ga(x1)

member_out_ga(x1, x2)  =  member_out_ga

U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)

MEMBER_IN_GA(x1, x2)  =  MEMBER_IN_GA(x1)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(7) UsableRulesProof (EQUIVALENT)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
----------------------------------------

(8)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   MEMBER_IN_GA(X, .(X2, Xs)) -> MEMBER_IN_GA(X, Xs)

R is empty.
The argument filtering Pi contains the following mapping:
MEMBER_IN_GA(x1, x2)  =  MEMBER_IN_GA(x1)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(9) PiDPToQDPProof (SOUND)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
----------------------------------------

(10)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   MEMBER_IN_GA(X) -> MEMBER_IN_GA(X)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
----------------------------------------

(11) PrologToPiTRSProof (SOUND)
We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:

member_in_2: (b,f)

Transforming Prolog into the following Term Rewriting System:

Pi-finite rewrite system:
The TRS R consists of the following rules:

   member_in_ga(X, .(X, X1)) -> member_out_ga(X, .(X, X1))
   member_in_ga(X, .(X2, Xs)) -> U1_ga(X, X2, Xs, member_in_ga(X, Xs))
   U1_ga(X, X2, Xs, member_out_ga(X, Xs)) -> member_out_ga(X, .(X2, Xs))

The argument filtering Pi contains the following mapping:
member_in_ga(x1, x2)  =  member_in_ga(x1)

member_out_ga(x1, x2)  =  member_out_ga(x1)

U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x4)





Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog



----------------------------------------

(12)
Obligation:
Pi-finite rewrite system:
The TRS R consists of the following rules:

   member_in_ga(X, .(X, X1)) -> member_out_ga(X, .(X, X1))
   member_in_ga(X, .(X2, Xs)) -> U1_ga(X, X2, Xs, member_in_ga(X, Xs))
   U1_ga(X, X2, Xs, member_out_ga(X, Xs)) -> member_out_ga(X, .(X2, Xs))

The argument filtering Pi contains the following mapping:
member_in_ga(x1, x2)  =  member_in_ga(x1)

member_out_ga(x1, x2)  =  member_out_ga(x1)

U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x4)



----------------------------------------

(13) DependencyPairsProof (EQUIVALENT)
Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

   MEMBER_IN_GA(X, .(X2, Xs)) -> U1_GA(X, X2, Xs, member_in_ga(X, Xs))
   MEMBER_IN_GA(X, .(X2, Xs)) -> MEMBER_IN_GA(X, Xs)

The TRS R consists of the following rules:

   member_in_ga(X, .(X, X1)) -> member_out_ga(X, .(X, X1))
   member_in_ga(X, .(X2, Xs)) -> U1_ga(X, X2, Xs, member_in_ga(X, Xs))
   U1_ga(X, X2, Xs, member_out_ga(X, Xs)) -> member_out_ga(X, .(X2, Xs))

The argument filtering Pi contains the following mapping:
member_in_ga(x1, x2)  =  member_in_ga(x1)

member_out_ga(x1, x2)  =  member_out_ga(x1)

U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x4)

MEMBER_IN_GA(x1, x2)  =  MEMBER_IN_GA(x1)

U1_GA(x1, x2, x3, x4)  =  U1_GA(x1, x4)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(14)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   MEMBER_IN_GA(X, .(X2, Xs)) -> U1_GA(X, X2, Xs, member_in_ga(X, Xs))
   MEMBER_IN_GA(X, .(X2, Xs)) -> MEMBER_IN_GA(X, Xs)

The TRS R consists of the following rules:

   member_in_ga(X, .(X, X1)) -> member_out_ga(X, .(X, X1))
   member_in_ga(X, .(X2, Xs)) -> U1_ga(X, X2, Xs, member_in_ga(X, Xs))
   U1_ga(X, X2, Xs, member_out_ga(X, Xs)) -> member_out_ga(X, .(X2, Xs))

The argument filtering Pi contains the following mapping:
member_in_ga(x1, x2)  =  member_in_ga(x1)

member_out_ga(x1, x2)  =  member_out_ga(x1)

U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x4)

MEMBER_IN_GA(x1, x2)  =  MEMBER_IN_GA(x1)

U1_GA(x1, x2, x3, x4)  =  U1_GA(x1, x4)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(15) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 1 less node.
----------------------------------------

(16)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   MEMBER_IN_GA(X, .(X2, Xs)) -> MEMBER_IN_GA(X, Xs)

The TRS R consists of the following rules:

   member_in_ga(X, .(X, X1)) -> member_out_ga(X, .(X, X1))
   member_in_ga(X, .(X2, Xs)) -> U1_ga(X, X2, Xs, member_in_ga(X, Xs))
   U1_ga(X, X2, Xs, member_out_ga(X, Xs)) -> member_out_ga(X, .(X2, Xs))

The argument filtering Pi contains the following mapping:
member_in_ga(x1, x2)  =  member_in_ga(x1)

member_out_ga(x1, x2)  =  member_out_ga(x1)

U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x4)

MEMBER_IN_GA(x1, x2)  =  MEMBER_IN_GA(x1)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(17) UsableRulesProof (EQUIVALENT)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
----------------------------------------

(18)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   MEMBER_IN_GA(X, .(X2, Xs)) -> MEMBER_IN_GA(X, Xs)

R is empty.
The argument filtering Pi contains the following mapping:
MEMBER_IN_GA(x1, x2)  =  MEMBER_IN_GA(x1)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(19) PiDPToQDPProof (SOUND)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
----------------------------------------

(20)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   MEMBER_IN_GA(X) -> MEMBER_IN_GA(X)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
----------------------------------------

(21) PrologToTRSTransformerProof (SOUND)
Transformed Prolog program to TRS.

{
    "root": 2,
    "program": {
        "directives": [],
        "clauses": [
            [
                "(member X (. X X1))",
                null
            ],
            [
                "(member X (. X2 Xs))",
                "(member X Xs)"
            ]
        ]
    },
    "graph": {
        "nodes": {
            "33": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "12": {
                "goal": [{
                    "clause": 0,
                    "scope": 1,
                    "term": "(member T1 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "2": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(member T1 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "14": {
                "goal": [{
                    "clause": 1,
                    "scope": 1,
                    "term": "(member T1 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "4": {
                "goal": [
                    {
                        "clause": 0,
                        "scope": 1,
                        "term": "(member T1 T2)"
                    },
                    {
                        "clause": 1,
                        "scope": 1,
                        "term": "(member T1 T2)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "29": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "70": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(member T19 T22)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T19"],
                    "free": [],
                    "exprvars": []
                }
            },
            "71": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "type": "Nodes",
            "65": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            }
        },
        "edges": [
            {
                "from": 2,
                "to": 4,
                "label": "CASE"
            },
            {
                "from": 4,
                "to": 12,
                "label": "PARALLEL"
            },
            {
                "from": 4,
                "to": 14,
                "label": "PARALLEL"
            },
            {
                "from": 12,
                "to": 29,
                "label": "EVAL with clause\nmember(X11, .(X11, X12)).\nand substitutionT1 -> T11,\nX11 -> T11,\nX12 -> T12,\nT2 -> .(T11, T12)"
            },
            {
                "from": 12,
                "to": 33,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 14,
                "to": 70,
                "label": "EVAL with clause\nmember(X19, .(X20, X21)) :- member(X19, X21).\nand substitutionT1 -> T19,\nX19 -> T19,\nX20 -> T20,\nX21 -> T22,\nT2 -> .(T20, T22),\nT21 -> T22"
            },
            {
                "from": 14,
                "to": 71,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 29,
                "to": 65,
                "label": "SUCCESS"
            },
            {
                "from": 70,
                "to": 2,
                "label": "INSTANCE with matching:\nT1 -> T19\nT2 -> T22"
            }
        ],
        "type": "Graph"
    }
}

----------------------------------------

(22)
Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:

   f2_in(T11) -> f2_out1
   f2_in(T19) -> U1(f2_in(T19), T19)
   U1(f2_out1, T19) -> f2_out1

Q is empty.

----------------------------------------

(23) DependencyPairsProof (EQUIVALENT)
Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.
----------------------------------------

(24)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   F2_IN(T19) -> U1^1(f2_in(T19), T19)
   F2_IN(T19) -> F2_IN(T19)

The TRS R consists of the following rules:

   f2_in(T11) -> f2_out1
   f2_in(T19) -> U1(f2_in(T19), T19)
   U1(f2_out1, T19) -> f2_out1

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------

(25) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.
----------------------------------------

(26)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   F2_IN(T19) -> F2_IN(T19)

The TRS R consists of the following rules:

   f2_in(T11) -> f2_out1
   f2_in(T19) -> U1(f2_in(T19), T19)
   U1(f2_out1, T19) -> f2_out1

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------

(27) MNOCProof (EQUIVALENT)
We use the modular non-overlap check [LPAR04] to enlarge Q to all left-hand sides of R.
----------------------------------------

(28)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   F2_IN(T19) -> F2_IN(T19)

The TRS R consists of the following rules:

   f2_in(T11) -> f2_out1
   f2_in(T19) -> U1(f2_in(T19), T19)
   U1(f2_out1, T19) -> f2_out1

The set Q consists of the following terms:

   f2_in(x0)
   U1(f2_out1, x0)

We have to consider all minimal (P,Q,R)-chains.
----------------------------------------

(29) UsableRulesProof (EQUIVALENT)
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.
----------------------------------------

(30)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   F2_IN(T19) -> F2_IN(T19)

R is empty.
The set Q consists of the following terms:

   f2_in(x0)
   U1(f2_out1, x0)

We have to consider all minimal (P,Q,R)-chains.
----------------------------------------

(31) QReductionProof (EQUIVALENT)
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

   f2_in(x0)
   U1(f2_out1, x0)


----------------------------------------

(32)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   F2_IN(T19) -> F2_IN(T19)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------

(33) PrologToIRSwTTransformerProof (SOUND)
Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert

{
    "root": 3,
    "program": {
        "directives": [],
        "clauses": [
            [
                "(member X (. X X1))",
                null
            ],
            [
                "(member X (. X2 Xs))",
                "(member X Xs)"
            ]
        ]
    },
    "graph": {
        "nodes": {
            "66": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "68": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "3": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(member T1 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "69": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "5": {
                "goal": [
                    {
                        "clause": 0,
                        "scope": 1,
                        "term": "(member T1 T2)"
                    },
                    {
                        "clause": 1,
                        "scope": 1,
                        "term": "(member T1 T2)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "81": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(member T19 T22)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T19"],
                    "free": [],
                    "exprvars": []
                }
            },
            "82": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "type": "Nodes",
            "30": {
                "goal": [{
                    "clause": 0,
                    "scope": 1,
                    "term": "(member T1 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "32": {
                "goal": [{
                    "clause": 1,
                    "scope": 1,
                    "term": "(member T1 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            }
        },
        "edges": [
            {
                "from": 3,
                "to": 5,
                "label": "CASE"
            },
            {
                "from": 5,
                "to": 30,
                "label": "PARALLEL"
            },
            {
                "from": 5,
                "to": 32,
                "label": "PARALLEL"
            },
            {
                "from": 30,
                "to": 66,
                "label": "EVAL with clause\nmember(X11, .(X11, X12)).\nand substitutionT1 -> T11,\nX11 -> T11,\nX12 -> T12,\nT2 -> .(T11, T12)"
            },
            {
                "from": 30,
                "to": 68,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 32,
                "to": 81,
                "label": "EVAL with clause\nmember(X19, .(X20, X21)) :- member(X19, X21).\nand substitutionT1 -> T19,\nX19 -> T19,\nX20 -> T20,\nX21 -> T22,\nT2 -> .(T20, T22),\nT21 -> T22"
            },
            {
                "from": 32,
                "to": 82,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 66,
                "to": 69,
                "label": "SUCCESS"
            },
            {
                "from": 81,
                "to": 3,
                "label": "INSTANCE with matching:\nT1 -> T19\nT2 -> T22"
            }
        ],
        "type": "Graph"
    }
}

----------------------------------------

(34)
Obligation:
Rules:
f81_out(T19) -> f32_out(T19) :|: TRUE
f82_out -> f32_out(T1) :|: TRUE
f32_in(x) -> f81_in(x) :|: TRUE
f32_in(x1) -> f82_in :|: TRUE
f30_out(x2) -> f5_out(x2) :|: TRUE
f5_in(x3) -> f32_in(x3) :|: TRUE
f32_out(x4) -> f5_out(x4) :|: TRUE
f5_in(x5) -> f30_in(x5) :|: TRUE
f81_in(x6) -> f3_in(x6) :|: TRUE
f3_out(x7) -> f81_out(x7) :|: TRUE
f5_out(x8) -> f3_out(x8) :|: TRUE
f3_in(x9) -> f5_in(x9) :|: TRUE
Start term: f3_in(T1)

----------------------------------------

(35) IRSwTSimpleDependencyGraphProof (EQUIVALENT)
Constructed simple dependency graph.

Simplified to the following IRSwTs:

intTRSProblem:
f32_in(x) -> f81_in(x) :|: TRUE
f5_in(x3) -> f32_in(x3) :|: TRUE
f81_in(x6) -> f3_in(x6) :|: TRUE
f3_in(x9) -> f5_in(x9) :|: TRUE


----------------------------------------

(36)
Obligation:
Rules:
f32_in(x) -> f81_in(x) :|: TRUE
f5_in(x3) -> f32_in(x3) :|: TRUE
f81_in(x6) -> f3_in(x6) :|: TRUE
f3_in(x9) -> f5_in(x9) :|: TRUE

----------------------------------------

(37) IntTRSCompressionProof (EQUIVALENT)
Compressed rules.
----------------------------------------

(38)
Obligation:
Rules:
f5_in(x3:0) -> f5_in(x3:0) :|: TRUE

----------------------------------------

(39) IRSFormatTransformerProof (EQUIVALENT)
Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %).
----------------------------------------

(40)
Obligation:
Rules:
f5_in(x3:0) -> f5_in(x3:0) :|: TRUE

----------------------------------------

(41) IRSwTTerminationDigraphProof (EQUIVALENT)
Constructed termination digraph!
Nodes:
(1) f5_in(x3:0) -> f5_in(x3:0) :|: TRUE

Arcs:
(1) -> (1)

This digraph is fully evaluated!
----------------------------------------

(42)
Obligation:

Termination digraph:
Nodes:
(1) f5_in(x3:0) -> f5_in(x3:0) :|: TRUE

Arcs:
(1) -> (1)

This digraph is fully evaluated!

----------------------------------------

(43) FilterProof (EQUIVALENT)
Used the following sort dictionary for filtering: 
f5_in(VARIABLE)
Replaced non-predefined constructor symbols by 0.
----------------------------------------

(44)
Obligation:
Rules:
f5_in(x3:0) -> f5_in(x3:0) :|: TRUE

----------------------------------------

(45) IntTRSPeriodicNontermProof (COMPLETE)
Normalized system to the following form:
f(pc, x3:0) -> f(1, x3:0) :|: pc = 1 && TRUE
Witness term starting non-terminating reduction: f(1, -8)
----------------------------------------

(46)
NO

----------------------------------------

(47) PrologToDTProblemTransformerProof (SOUND)
Built DT problem from termination graph DT10.

{
    "root": 1,
    "program": {
        "directives": [],
        "clauses": [
            [
                "(member X (. X X1))",
                null
            ],
            [
                "(member X (. X2 Xs))",
                "(member X Xs)"
            ]
        ]
    },
    "graph": {
        "nodes": {
            "67": {
                "goal": [{
                    "clause": 1,
                    "scope": 1,
                    "term": "(member T5 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T5"],
                    "free": [],
                    "exprvars": []
                }
            },
            "type": "Nodes",
            "90": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(member T30 T33)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T30"],
                    "free": [],
                    "exprvars": []
                }
            },
            "91": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "93": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(member T41 T44)"
                }],
                "kb": {
                    "nonunifying": [[
                        "(member T41 T2)",
                        "(member X5 (. X5 X6))"
                    ]],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T41"],
                    "free": [
                        "X5",
                        "X6"
                    ],
                    "exprvars": []
                }
            },
            "94": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "95": {
                "goal": [
                    {
                        "clause": 0,
                        "scope": 3,
                        "term": "(member T41 T44)"
                    },
                    {
                        "clause": 1,
                        "scope": 3,
                        "term": "(member T41 T44)"
                    }
                ],
                "kb": {
                    "nonunifying": [[
                        "(member T41 T2)",
                        "(member X5 (. X5 X6))"
                    ]],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T41"],
                    "free": [
                        "X5",
                        "X6"
                    ],
                    "exprvars": []
                }
            },
            "96": {
                "goal": [{
                    "clause": 0,
                    "scope": 3,
                    "term": "(member T41 T44)"
                }],
                "kb": {
                    "nonunifying": [[
                        "(member T41 T2)",
                        "(member X5 (. X5 X6))"
                    ]],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T41"],
                    "free": [
                        "X5",
                        "X6"
                    ],
                    "exprvars": []
                }
            },
            "31": {
                "goal": [
                    {
                        "clause": -1,
                        "scope": -1,
                        "term": "(true)"
                    },
                    {
                        "clause": 1,
                        "scope": 1,
                        "term": "(member T5 T2)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T5"],
                    "free": [],
                    "exprvars": []
                }
            },
            "97": {
                "goal": [{
                    "clause": 1,
                    "scope": 3,
                    "term": "(member T41 T44)"
                }],
                "kb": {
                    "nonunifying": [[
                        "(member T41 T2)",
                        "(member X5 (. X5 X6))"
                    ]],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T41"],
                    "free": [
                        "X5",
                        "X6"
                    ],
                    "exprvars": []
                }
            },
            "10": {
                "goal": [
                    {
                        "clause": 0,
                        "scope": 1,
                        "term": "(member T1 T2)"
                    },
                    {
                        "clause": 1,
                        "scope": 1,
                        "term": "(member T1 T2)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "98": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "99": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "34": {
                "goal": [{
                    "clause": 1,
                    "scope": 1,
                    "term": "(member T1 T2)"
                }],
                "kb": {
                    "nonunifying": [[
                        "(member T1 T2)",
                        "(member X5 (. X5 X6))"
                    ]],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [
                        "X5",
                        "X6"
                    ],
                    "exprvars": []
                }
            },
            "78": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(member T10 T13)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T10"],
                    "free": [],
                    "exprvars": []
                }
            },
            "79": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "1": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(member T1 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "102": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "103": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(member T61 T64)"
                }],
                "kb": {
                    "nonunifying": [[
                        "(member T61 T2)",
                        "(member X5 (. X5 X6))"
                    ]],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T61"],
                    "free": [
                        "X5",
                        "X6"
                    ],
                    "exprvars": []
                }
            },
            "104": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "80": {
                "goal": [
                    {
                        "clause": 0,
                        "scope": 2,
                        "term": "(member T10 T13)"
                    },
                    {
                        "clause": 1,
                        "scope": 2,
                        "term": "(member T10 T13)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T10"],
                    "free": [],
                    "exprvars": []
                }
            },
            "83": {
                "goal": [{
                    "clause": 0,
                    "scope": 2,
                    "term": "(member T10 T13)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T10"],
                    "free": [],
                    "exprvars": []
                }
            },
            "84": {
                "goal": [{
                    "clause": 1,
                    "scope": 2,
                    "term": "(member T10 T13)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T10"],
                    "free": [],
                    "exprvars": []
                }
            },
            "85": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "86": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "87": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            }
        },
        "edges": [
            {
                "from": 1,
                "to": 10,
                "label": "CASE"
            },
            {
                "from": 10,
                "to": 31,
                "label": "EVAL with clause\nmember(X5, .(X5, X6)).\nand substitutionT1 -> T5,\nX5 -> T5,\nX6 -> T6,\nT2 -> .(T5, T6)"
            },
            {
                "from": 10,
                "to": 34,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 31,
                "to": 67,
                "label": "SUCCESS"
            },
            {
                "from": 34,
                "to": 93,
                "label": "EVAL with clause\nmember(X39, .(X40, X41)) :- member(X39, X41).\nand substitutionT1 -> T41,\nX39 -> T41,\nX40 -> T42,\nX41 -> T44,\nT2 -> .(T42, T44),\nT43 -> T44"
            },
            {
                "from": 34,
                "to": 94,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 67,
                "to": 78,
                "label": "EVAL with clause\nmember(X10, .(X11, X12)) :- member(X10, X12).\nand substitutionT5 -> T10,\nX10 -> T10,\nX11 -> T11,\nX12 -> T13,\nT2 -> .(T11, T13),\nT12 -> T13"
            },
            {
                "from": 67,
                "to": 79,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 78,
                "to": 80,
                "label": "CASE"
            },
            {
                "from": 80,
                "to": 83,
                "label": "PARALLEL"
            },
            {
                "from": 80,
                "to": 84,
                "label": "PARALLEL"
            },
            {
                "from": 83,
                "to": 85,
                "label": "EVAL with clause\nmember(X21, .(X21, X22)).\nand substitutionT10 -> T22,\nX21 -> T22,\nX22 -> T23,\nT13 -> .(T22, T23)"
            },
            {
                "from": 83,
                "to": 86,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 84,
                "to": 90,
                "label": "EVAL with clause\nmember(X29, .(X30, X31)) :- member(X29, X31).\nand substitutionT10 -> T30,\nX29 -> T30,\nX30 -> T31,\nX31 -> T33,\nT13 -> .(T31, T33),\nT32 -> T33"
            },
            {
                "from": 84,
                "to": 91,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 85,
                "to": 87,
                "label": "SUCCESS"
            },
            {
                "from": 90,
                "to": 1,
                "label": "INSTANCE with matching:\nT1 -> T30\nT2 -> T33"
            },
            {
                "from": 93,
                "to": 95,
                "label": "CASE"
            },
            {
                "from": 95,
                "to": 96,
                "label": "PARALLEL"
            },
            {
                "from": 95,
                "to": 97,
                "label": "PARALLEL"
            },
            {
                "from": 96,
                "to": 98,
                "label": "EVAL with clause\nmember(X50, .(X50, X51)).\nand substitutionT41 -> T53,\nX50 -> T53,\nX51 -> T54,\nT44 -> .(T53, T54)"
            },
            {
                "from": 96,
                "to": 99,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 97,
                "to": 103,
                "label": "EVAL with clause\nmember(X58, .(X59, X60)) :- member(X58, X60).\nand substitutionT41 -> T61,\nX58 -> T61,\nX59 -> T62,\nX60 -> T64,\nT44 -> .(T62, T64),\nT63 -> T64"
            },
            {
                "from": 97,
                "to": 104,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 98,
                "to": 102,
                "label": "SUCCESS"
            },
            {
                "from": 103,
                "to": 1,
                "label": "INSTANCE with matching:\nT1 -> T61\nT2 -> T64"
            }
        ],
        "type": "Graph"
    }
}

----------------------------------------

(48)
Obligation:
Triples:

memberA(X1, .(X2, .(X3, X4))) :- memberA(X1, X4).
memberA(X1, .(X2, .(X3, X4))) :- memberA(X1, X4).

Clauses:

membercA(X1, .(X1, X2)).
membercA(X1, .(X2, .(X1, X3))).
membercA(X1, .(X2, .(X3, X4))) :- membercA(X1, X4).
membercA(X1, .(X2, .(X1, X3))).
membercA(X1, .(X2, .(X3, X4))) :- membercA(X1, X4).

Afs:

memberA(x1, x2)  =  memberA(x1)


----------------------------------------

(49) TriplesToPiDPProof (SOUND)
We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes:

memberA_in_2: (b,f)

Transforming TRIPLES into the following Term Rewriting System:

Pi DP problem:
The TRS P consists of the following rules:

   MEMBERA_IN_GA(X1, .(X2, .(X3, X4))) -> U1_GA(X1, X2, X3, X4, memberA_in_ga(X1, X4))
   MEMBERA_IN_GA(X1, .(X2, .(X3, X4))) -> MEMBERA_IN_GA(X1, X4)

R is empty.
The argument filtering Pi contains the following mapping:
memberA_in_ga(x1, x2)  =  memberA_in_ga(x1)

.(x1, x2)  =  .(x2)

MEMBERA_IN_GA(x1, x2)  =  MEMBERA_IN_GA(x1)

U1_GA(x1, x2, x3, x4, x5)  =  U1_GA(x1, x5)


We have to consider all (P,R,Pi)-chains


Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES



----------------------------------------

(50)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   MEMBERA_IN_GA(X1, .(X2, .(X3, X4))) -> U1_GA(X1, X2, X3, X4, memberA_in_ga(X1, X4))
   MEMBERA_IN_GA(X1, .(X2, .(X3, X4))) -> MEMBERA_IN_GA(X1, X4)

R is empty.
The argument filtering Pi contains the following mapping:
memberA_in_ga(x1, x2)  =  memberA_in_ga(x1)

.(x1, x2)  =  .(x2)

MEMBERA_IN_GA(x1, x2)  =  MEMBERA_IN_GA(x1)

U1_GA(x1, x2, x3, x4, x5)  =  U1_GA(x1, x5)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(51) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 1 less node.
----------------------------------------

(52)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   MEMBERA_IN_GA(X1, .(X2, .(X3, X4))) -> MEMBERA_IN_GA(X1, X4)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x2)

MEMBERA_IN_GA(x1, x2)  =  MEMBERA_IN_GA(x1)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(53) PiDPToQDPProof (SOUND)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
----------------------------------------

(54)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   MEMBERA_IN_GA(X1) -> MEMBERA_IN_GA(X1)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.