0 Prolog
↳1 PrologToPrologProblemTransformerProof (⇐)
↳2 Prolog
↳3 PrologToPiTRSProof (⇐)
↳4 PiTRS
↳5 DependencyPairsProof (⇔)
↳6 PiDP
↳7 DependencyGraphProof (⇔)
↳8 PiDP
↳9 UsableRulesProof (⇔)
↳10 PiDP
↳11 PiDPToQDPProof (⇐)
↳12 QDP
↳13 QDPSizeChangeProof (⇔)
↳14 TRUE
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)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
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)
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)
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)
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)
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)
REV165_IN_GAAA(.(T124, T125), T116, T117, T119) → REV165_IN_GAAA(T125, T124, .(T116, T117), T119)
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)
REV165_IN_GAAA(.(T124, T125), T116, T117, T119) → REV165_IN_GAAA(T125, T124, .(T116, T117), T119)
REV165_IN_GAAA(.(T125)) → REV165_IN_GAAA(T125)
From the DPs we obtained the following set of size-change graphs: