(0) Obligation:

Clauses:

rev(L, R) :- rev(L, [], R).
rev([], Y, Y).
rev(L, S, R) :- ','(no(empty(L)), ','(head(L, X), ','(tail(L, T), rev(T, .(X, S), R)))).
head([], X1).
head(.(X, X2), X).
tail([], []).
tail(.(X3, Xs), Xs).
empty([]).
no(X) :- ','(X, ','(!, failure(a))).
no(X4).
failure(b).

Queries:

rev(g,a).

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph.

(2) Obligation:

Clauses:

rev165([], T113, T114, .(T113, T114)).
rev165(.(T124, T125), T116, T117, T119) :- rev165(T125, T124, .(T116, T117), T119).
rev1([], []).
rev1(.(T15, []), .(T15, [])).
rev1(.(T27, .(T26, [])), .(T26, .(T27, []))).
rev1(.(T41, .(T40, .(T39, []))), .(T39, .(T40, .(T41, [])))).
rev1(.(T57, .(T56, .(T55, .(T54, [])))), .(T54, .(T55, .(T56, .(T57, []))))).
rev1(.(T75, .(T74, .(T73, .(T72, .(T71, []))))), .(T71, .(T72, .(T73, .(T74, .(T75, [])))))).
rev1(.(T95, .(T94, .(T93, .(T92, .(T91, .(T90, [])))))), .(T90, .(T91, .(T92, .(T93, .(T94, .(T95, []))))))).
rev1(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, []))))))), .(T113, T114)).
rev1(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119) :- rev165(T125, T124, .(T116, T117), T119).

Queries:

rev1(g,a).

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
rev1_in: (b,f)
rev165_in: (b,f,f,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

rev1_in_ga([], []) → rev1_out_ga([], [])
rev1_in_ga(.(T15, []), .(T15, [])) → rev1_out_ga(.(T15, []), .(T15, []))
rev1_in_ga(.(T27, .(T26, [])), .(T26, .(T27, []))) → rev1_out_ga(.(T27, .(T26, [])), .(T26, .(T27, [])))
rev1_in_ga(.(T41, .(T40, .(T39, []))), .(T39, .(T40, .(T41, [])))) → rev1_out_ga(.(T41, .(T40, .(T39, []))), .(T39, .(T40, .(T41, []))))
rev1_in_ga(.(T57, .(T56, .(T55, .(T54, [])))), .(T54, .(T55, .(T56, .(T57, []))))) → rev1_out_ga(.(T57, .(T56, .(T55, .(T54, [])))), .(T54, .(T55, .(T56, .(T57, [])))))
rev1_in_ga(.(T75, .(T74, .(T73, .(T72, .(T71, []))))), .(T71, .(T72, .(T73, .(T74, .(T75, [])))))) → rev1_out_ga(.(T75, .(T74, .(T73, .(T72, .(T71, []))))), .(T71, .(T72, .(T73, .(T74, .(T75, []))))))
rev1_in_ga(.(T95, .(T94, .(T93, .(T92, .(T91, .(T90, [])))))), .(T90, .(T91, .(T92, .(T93, .(T94, .(T95, []))))))) → rev1_out_ga(.(T95, .(T94, .(T93, .(T92, .(T91, .(T90, [])))))), .(T90, .(T91, .(T92, .(T93, .(T94, .(T95, [])))))))
rev1_in_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, []))))))), .(T113, T114)) → rev1_out_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, []))))))), .(T113, T114))
rev1_in_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119) → U2_ga(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
rev165_in_gaaa([], T113, T114, .(T113, T114)) → rev165_out_gaaa([], T113, T114, .(T113, T114))
rev165_in_gaaa(.(T124, T125), T116, T117, T119) → U1_gaaa(T124, T125, T116, T117, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
U1_gaaa(T124, T125, T116, T117, T119, rev165_out_gaaa(T125, T124, .(T116, T117), T119)) → rev165_out_gaaa(.(T124, T125), T116, T117, T119)
U2_ga(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_out_gaaa(T125, T124, .(T116, T117), T119)) → rev1_out_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119)

The argument filtering Pi contains the following mapping:
rev1_in_ga(x1, x2)  =  rev1_in_ga(x1)
[]  =  []
rev1_out_ga(x1, x2)  =  rev1_out_ga
.(x1, x2)  =  .(x2)
U2_ga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U2_ga(x11)
rev165_in_gaaa(x1, x2, x3, x4)  =  rev165_in_gaaa(x1)
rev165_out_gaaa(x1, x2, x3, x4)  =  rev165_out_gaaa
U1_gaaa(x1, x2, x3, x4, x5, x6)  =  U1_gaaa(x6)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

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

rev1_in_ga([], []) → rev1_out_ga([], [])
rev1_in_ga(.(T15, []), .(T15, [])) → rev1_out_ga(.(T15, []), .(T15, []))
rev1_in_ga(.(T27, .(T26, [])), .(T26, .(T27, []))) → rev1_out_ga(.(T27, .(T26, [])), .(T26, .(T27, [])))
rev1_in_ga(.(T41, .(T40, .(T39, []))), .(T39, .(T40, .(T41, [])))) → rev1_out_ga(.(T41, .(T40, .(T39, []))), .(T39, .(T40, .(T41, []))))
rev1_in_ga(.(T57, .(T56, .(T55, .(T54, [])))), .(T54, .(T55, .(T56, .(T57, []))))) → rev1_out_ga(.(T57, .(T56, .(T55, .(T54, [])))), .(T54, .(T55, .(T56, .(T57, [])))))
rev1_in_ga(.(T75, .(T74, .(T73, .(T72, .(T71, []))))), .(T71, .(T72, .(T73, .(T74, .(T75, [])))))) → rev1_out_ga(.(T75, .(T74, .(T73, .(T72, .(T71, []))))), .(T71, .(T72, .(T73, .(T74, .(T75, []))))))
rev1_in_ga(.(T95, .(T94, .(T93, .(T92, .(T91, .(T90, [])))))), .(T90, .(T91, .(T92, .(T93, .(T94, .(T95, []))))))) → rev1_out_ga(.(T95, .(T94, .(T93, .(T92, .(T91, .(T90, [])))))), .(T90, .(T91, .(T92, .(T93, .(T94, .(T95, [])))))))
rev1_in_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, []))))))), .(T113, T114)) → rev1_out_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, []))))))), .(T113, T114))
rev1_in_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119) → U2_ga(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
rev165_in_gaaa([], T113, T114, .(T113, T114)) → rev165_out_gaaa([], T113, T114, .(T113, T114))
rev165_in_gaaa(.(T124, T125), T116, T117, T119) → U1_gaaa(T124, T125, T116, T117, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
U1_gaaa(T124, T125, T116, T117, T119, rev165_out_gaaa(T125, T124, .(T116, T117), T119)) → rev165_out_gaaa(.(T124, T125), T116, T117, T119)
U2_ga(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_out_gaaa(T125, T124, .(T116, T117), T119)) → rev1_out_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119)

The argument filtering Pi contains the following mapping:
rev1_in_ga(x1, x2)  =  rev1_in_ga(x1)
[]  =  []
rev1_out_ga(x1, x2)  =  rev1_out_ga
.(x1, x2)  =  .(x2)
U2_ga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U2_ga(x11)
rev165_in_gaaa(x1, x2, x3, x4)  =  rev165_in_gaaa(x1)
rev165_out_gaaa(x1, x2, x3, x4)  =  rev165_out_gaaa
U1_gaaa(x1, x2, x3, x4, x5, x6)  =  U1_gaaa(x6)

(5) DependencyPairsProof (EQUIVALENT transformation)

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

REV1_IN_GA(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119) → U2_GA(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
REV1_IN_GA(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119) → REV165_IN_GAAA(T125, T124, .(T116, T117), T119)
REV165_IN_GAAA(.(T124, T125), T116, T117, T119) → U1_GAAA(T124, T125, T116, T117, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
REV165_IN_GAAA(.(T124, T125), T116, T117, T119) → REV165_IN_GAAA(T125, T124, .(T116, T117), T119)

The TRS R consists of the following rules:

rev1_in_ga([], []) → rev1_out_ga([], [])
rev1_in_ga(.(T15, []), .(T15, [])) → rev1_out_ga(.(T15, []), .(T15, []))
rev1_in_ga(.(T27, .(T26, [])), .(T26, .(T27, []))) → rev1_out_ga(.(T27, .(T26, [])), .(T26, .(T27, [])))
rev1_in_ga(.(T41, .(T40, .(T39, []))), .(T39, .(T40, .(T41, [])))) → rev1_out_ga(.(T41, .(T40, .(T39, []))), .(T39, .(T40, .(T41, []))))
rev1_in_ga(.(T57, .(T56, .(T55, .(T54, [])))), .(T54, .(T55, .(T56, .(T57, []))))) → rev1_out_ga(.(T57, .(T56, .(T55, .(T54, [])))), .(T54, .(T55, .(T56, .(T57, [])))))
rev1_in_ga(.(T75, .(T74, .(T73, .(T72, .(T71, []))))), .(T71, .(T72, .(T73, .(T74, .(T75, [])))))) → rev1_out_ga(.(T75, .(T74, .(T73, .(T72, .(T71, []))))), .(T71, .(T72, .(T73, .(T74, .(T75, []))))))
rev1_in_ga(.(T95, .(T94, .(T93, .(T92, .(T91, .(T90, [])))))), .(T90, .(T91, .(T92, .(T93, .(T94, .(T95, []))))))) → rev1_out_ga(.(T95, .(T94, .(T93, .(T92, .(T91, .(T90, [])))))), .(T90, .(T91, .(T92, .(T93, .(T94, .(T95, [])))))))
rev1_in_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, []))))))), .(T113, T114)) → rev1_out_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, []))))))), .(T113, T114))
rev1_in_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119) → U2_ga(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
rev165_in_gaaa([], T113, T114, .(T113, T114)) → rev165_out_gaaa([], T113, T114, .(T113, T114))
rev165_in_gaaa(.(T124, T125), T116, T117, T119) → U1_gaaa(T124, T125, T116, T117, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
U1_gaaa(T124, T125, T116, T117, T119, rev165_out_gaaa(T125, T124, .(T116, T117), T119)) → rev165_out_gaaa(.(T124, T125), T116, T117, T119)
U2_ga(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_out_gaaa(T125, T124, .(T116, T117), T119)) → rev1_out_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119)

The argument filtering Pi contains the following mapping:
rev1_in_ga(x1, x2)  =  rev1_in_ga(x1)
[]  =  []
rev1_out_ga(x1, x2)  =  rev1_out_ga
.(x1, x2)  =  .(x2)
U2_ga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U2_ga(x11)
rev165_in_gaaa(x1, x2, x3, x4)  =  rev165_in_gaaa(x1)
rev165_out_gaaa(x1, x2, x3, x4)  =  rev165_out_gaaa
U1_gaaa(x1, x2, x3, x4, x5, x6)  =  U1_gaaa(x6)
REV1_IN_GA(x1, x2)  =  REV1_IN_GA(x1)
U2_GA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U2_GA(x11)
REV165_IN_GAAA(x1, x2, x3, x4)  =  REV165_IN_GAAA(x1)
U1_GAAA(x1, x2, x3, x4, x5, x6)  =  U1_GAAA(x6)

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

(6) Obligation:

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

REV1_IN_GA(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119) → U2_GA(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
REV1_IN_GA(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119) → REV165_IN_GAAA(T125, T124, .(T116, T117), T119)
REV165_IN_GAAA(.(T124, T125), T116, T117, T119) → U1_GAAA(T124, T125, T116, T117, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
REV165_IN_GAAA(.(T124, T125), T116, T117, T119) → REV165_IN_GAAA(T125, T124, .(T116, T117), T119)

The TRS R consists of the following rules:

rev1_in_ga([], []) → rev1_out_ga([], [])
rev1_in_ga(.(T15, []), .(T15, [])) → rev1_out_ga(.(T15, []), .(T15, []))
rev1_in_ga(.(T27, .(T26, [])), .(T26, .(T27, []))) → rev1_out_ga(.(T27, .(T26, [])), .(T26, .(T27, [])))
rev1_in_ga(.(T41, .(T40, .(T39, []))), .(T39, .(T40, .(T41, [])))) → rev1_out_ga(.(T41, .(T40, .(T39, []))), .(T39, .(T40, .(T41, []))))
rev1_in_ga(.(T57, .(T56, .(T55, .(T54, [])))), .(T54, .(T55, .(T56, .(T57, []))))) → rev1_out_ga(.(T57, .(T56, .(T55, .(T54, [])))), .(T54, .(T55, .(T56, .(T57, [])))))
rev1_in_ga(.(T75, .(T74, .(T73, .(T72, .(T71, []))))), .(T71, .(T72, .(T73, .(T74, .(T75, [])))))) → rev1_out_ga(.(T75, .(T74, .(T73, .(T72, .(T71, []))))), .(T71, .(T72, .(T73, .(T74, .(T75, []))))))
rev1_in_ga(.(T95, .(T94, .(T93, .(T92, .(T91, .(T90, [])))))), .(T90, .(T91, .(T92, .(T93, .(T94, .(T95, []))))))) → rev1_out_ga(.(T95, .(T94, .(T93, .(T92, .(T91, .(T90, [])))))), .(T90, .(T91, .(T92, .(T93, .(T94, .(T95, [])))))))
rev1_in_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, []))))))), .(T113, T114)) → rev1_out_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, []))))))), .(T113, T114))
rev1_in_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119) → U2_ga(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
rev165_in_gaaa([], T113, T114, .(T113, T114)) → rev165_out_gaaa([], T113, T114, .(T113, T114))
rev165_in_gaaa(.(T124, T125), T116, T117, T119) → U1_gaaa(T124, T125, T116, T117, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
U1_gaaa(T124, T125, T116, T117, T119, rev165_out_gaaa(T125, T124, .(T116, T117), T119)) → rev165_out_gaaa(.(T124, T125), T116, T117, T119)
U2_ga(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_out_gaaa(T125, T124, .(T116, T117), T119)) → rev1_out_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119)

The argument filtering Pi contains the following mapping:
rev1_in_ga(x1, x2)  =  rev1_in_ga(x1)
[]  =  []
rev1_out_ga(x1, x2)  =  rev1_out_ga
.(x1, x2)  =  .(x2)
U2_ga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U2_ga(x11)
rev165_in_gaaa(x1, x2, x3, x4)  =  rev165_in_gaaa(x1)
rev165_out_gaaa(x1, x2, x3, x4)  =  rev165_out_gaaa
U1_gaaa(x1, x2, x3, x4, x5, x6)  =  U1_gaaa(x6)
REV1_IN_GA(x1, x2)  =  REV1_IN_GA(x1)
U2_GA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U2_GA(x11)
REV165_IN_GAAA(x1, x2, x3, x4)  =  REV165_IN_GAAA(x1)
U1_GAAA(x1, x2, x3, x4, x5, x6)  =  U1_GAAA(x6)

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

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 3 less nodes.

(8) Obligation:

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

REV165_IN_GAAA(.(T124, T125), T116, T117, T119) → REV165_IN_GAAA(T125, T124, .(T116, T117), T119)

The TRS R consists of the following rules:

rev1_in_ga([], []) → rev1_out_ga([], [])
rev1_in_ga(.(T15, []), .(T15, [])) → rev1_out_ga(.(T15, []), .(T15, []))
rev1_in_ga(.(T27, .(T26, [])), .(T26, .(T27, []))) → rev1_out_ga(.(T27, .(T26, [])), .(T26, .(T27, [])))
rev1_in_ga(.(T41, .(T40, .(T39, []))), .(T39, .(T40, .(T41, [])))) → rev1_out_ga(.(T41, .(T40, .(T39, []))), .(T39, .(T40, .(T41, []))))
rev1_in_ga(.(T57, .(T56, .(T55, .(T54, [])))), .(T54, .(T55, .(T56, .(T57, []))))) → rev1_out_ga(.(T57, .(T56, .(T55, .(T54, [])))), .(T54, .(T55, .(T56, .(T57, [])))))
rev1_in_ga(.(T75, .(T74, .(T73, .(T72, .(T71, []))))), .(T71, .(T72, .(T73, .(T74, .(T75, [])))))) → rev1_out_ga(.(T75, .(T74, .(T73, .(T72, .(T71, []))))), .(T71, .(T72, .(T73, .(T74, .(T75, []))))))
rev1_in_ga(.(T95, .(T94, .(T93, .(T92, .(T91, .(T90, [])))))), .(T90, .(T91, .(T92, .(T93, .(T94, .(T95, []))))))) → rev1_out_ga(.(T95, .(T94, .(T93, .(T92, .(T91, .(T90, [])))))), .(T90, .(T91, .(T92, .(T93, .(T94, .(T95, [])))))))
rev1_in_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, []))))))), .(T113, T114)) → rev1_out_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, []))))))), .(T113, T114))
rev1_in_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119) → U2_ga(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
rev165_in_gaaa([], T113, T114, .(T113, T114)) → rev165_out_gaaa([], T113, T114, .(T113, T114))
rev165_in_gaaa(.(T124, T125), T116, T117, T119) → U1_gaaa(T124, T125, T116, T117, T119, rev165_in_gaaa(T125, T124, .(T116, T117), T119))
U1_gaaa(T124, T125, T116, T117, T119, rev165_out_gaaa(T125, T124, .(T116, T117), T119)) → rev165_out_gaaa(.(T124, T125), T116, T117, T119)
U2_ga(T102, T101, T100, T99, T98, T97, T109, T124, T125, T119, rev165_out_gaaa(T125, T124, .(T116, T117), T119)) → rev1_out_ga(.(T102, .(T101, .(T100, .(T99, .(T98, .(T97, .(T109, .(T124, T125)))))))), T119)

The argument filtering Pi contains the following mapping:
rev1_in_ga(x1, x2)  =  rev1_in_ga(x1)
[]  =  []
rev1_out_ga(x1, x2)  =  rev1_out_ga
.(x1, x2)  =  .(x2)
U2_ga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U2_ga(x11)
rev165_in_gaaa(x1, x2, x3, x4)  =  rev165_in_gaaa(x1)
rev165_out_gaaa(x1, x2, x3, x4)  =  rev165_out_gaaa
U1_gaaa(x1, x2, x3, x4, x5, x6)  =  U1_gaaa(x6)
REV165_IN_GAAA(x1, x2, x3, x4)  =  REV165_IN_GAAA(x1)

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

(9) UsableRulesProof (EQUIVALENT transformation)

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

(10) Obligation:

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

REV165_IN_GAAA(.(T124, T125), T116, T117, T119) → REV165_IN_GAAA(T125, T124, .(T116, T117), T119)

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

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

(11) PiDPToQDPProof (SOUND transformation)

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

(12) Obligation:

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

REV165_IN_GAAA(.(T125)) → REV165_IN_GAAA(T125)

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

(13) QDPSizeChangeProof (EQUIVALENT transformation)

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.

From the DPs we obtained the following set of size-change graphs:

  • REV165_IN_GAAA(.(T125)) → REV165_IN_GAAA(T125)
    The graph contains the following edges 1 > 1

(14) TRUE