Termination Proof

by AProVE (version ba869e7b28377cd372aedcb96abeb62c4ad6aaa5 rene 20130719 unpublished dirty )

Input

The rewrite relation of the following TRS is considered.

Tcpcx(SRlbeta(x)) → SRlbeta(Tcpcx(x))
Tcpcx(SRcp(x)) → SRcp(Tcpcx(x))
Tcpcx(SRllet(x)) → SRllet(Tcpcx(x))
Tcpcx(SRlapp(x)) → SRlapp(Tcpcx(x))
Tcpcx(SRlcase(x)) → SRlcase(Tcpcx(x))
Tcpcx(SRlseq(x)) → SRlseq(Tcpcx(x))
Tcpcx(SRcase(x)) → SRcase(Tcpcx(x))
Tcpcx(SRcase(x)) → SRcase(x)
Tcpcx(SRseq(x)) → SRseq(Tcpcx(x))
Tcpcx(SRseq(x)) → SRseq(x)
Tcpcx(Answer) → Answer
Tcpcx(SRcase(x)) → SRcase(Tabs(x))
Tcpcx(SRcase(x)) → SRcase(Txch(Txch(Tcpx(Tcpx(Tcpcx(x))))))
Tcpcx(SRcase(x)) → SRcase(Txch(Txch(Tcpx(Tcpx(Tabs(x))))))
Tcpcx(SRseq(x)) → SRseq(Tabs(x))
Tcpcx(SRcp(x)) → SRcp(Tcpcx(Tcpcx(x)))
Tcpcx(SRcp(x)) → SRcp(Tgc(Tcpx(Tcpx(Tcpx(Tcpx(Tcpcx(Tcpcx(x))))))))
SRlll(x) → SRlseq(x)
SRlll(x) → SRlapp(x)
SRlll(x) → SRllet(x)
SRlll(x) → SRlcase(x)
Tabs(SRlbeta(x)) → SRlbeta(Tabs(x))
Tabs(SRcp(x)) → SRcp(Tabs(x))
Tabs(SRllet(x)) → SRllet(Tabs(x))
Tabs(SRlapp(x)) → SRlapp(Tabs(x))
Tabs(SRlcase(x)) → SRlcase(Tabs(x))
Tabs(SRlseq(x)) → SRlseq(Tabs(x))
Tabs(SRcase(x)) → SRcase(Tabs(x))
Tabs(SRcase(x)) → SRcase(x)
Tabs(SRcase(x)) → SRcase(Txch(Txch(Tcpx(Tcpx(Tabs(x))))))
Tabs(SRseq(x)) → SRseq(Tabs(x))
Tabs(SRseq(x)) → SRseq(x)
Tabs(Answer) → Answer
Tcpx(SRlbeta(x)) → SRlbeta(Tcpx(x))
Tcpx(SRcp(x)) → SRcp(Tcpx(x))
Tcpx(SRcp(x)) → SRcp(x)
Tcpx(SRllet(x)) → SRllet(Tcpx(x))
Tcpx(SRlapp(x)) → SRlapp(Tcpx(x))
Tcpx(SRlcase(x)) → SRlcase(Tcpx(x))
Tcpx(SRlseq(x)) → SRlseq(Tcpx(x))
Tcpx(SRcase(x)) → SRcase(Tcpx(x))
Tcpx(SRcase(x)) → SRcase(x)
Tcpx(SRseq(x)) → SRseq(Tcpx(x))
Tcpx(SRseq(x)) → SRseq(x)
Tcpx(Answer) → Answer
Tcpx(SRcp(x)) → SRcp(Tcpx(Tcpx(x)))
Txch(SRlbeta(x)) → SRlbeta(Txch(x))
Txch(SRcp(x)) → SRcp(Txch(x))
Txch(SRllet(x)) → SRllet(Txch(x))
Txch(SRlapp(x)) → SRlapp(Txch(x))
Txch(SRlcase(x)) → SRlcase(Txch(x))
Txch(SRlseq(x)) → SRlseq(Txch(x))
Txch(SRcase(x)) → SRcase(Txch(x))
Txch(SRcase(x)) → SRcase(x)
Txch(SRseq(x)) → SRseq(Txch(x))
Txch(SRseq(x)) → SRseq(x)
Txch(Answer) → Answer
Tgc(SRlbeta(x)) → SRlbeta(Tgc(x))
Tgc(SRcp(x)) → SRcp(Tgc(x))
Tgc(SRllet(x)) → SRllet(Tgc(x))
Tgc(SRlapp(x)) → SRlapp(Tgc(x))
Tgc(SRlcase(x)) → SRlcase(Tgc(x))
Tgc(SRlseq(x)) → SRlseq(Tgc(x))
Tgc(SRcase(x)) → SRcase(Tgc(x))
Tgc(SRcase(x)) → SRcase(x)
Tgc(SRseq(x)) → SRseq(Tgc(x))
Tgc(SRseq(x)) → SRseq(x)
Tgc(Answer) → Answer
Tgc(SRllet(x)) → Tgc(x)
Tgc(SRlapp(x)) → Tgc(x)
Tgc(SRlcase(x)) → Tgc(x)
Tgc(SRlseq(x)) → Tgc(x)
The evaluation strategy is innermost.

Proof

1 Rule Removal

Using the linear polynomial interpretation over the naturals
[Tcpcx(x1)] = 1 · x1
[SRlbeta(x1)] = 1 · x1
[SRcp(x1)] = 1 · x1
[SRllet(x1)] = 1 · x1 + 1
[SRlapp(x1)] = 1 · x1 + 1
[SRlcase(x1)] = 1 · x1 + 1
[SRlseq(x1)] = 1 · x1 + 1
[SRcase(x1)] = 1 · x1
[SRseq(x1)] = 1 · x1
[Answer] = 0
[Tabs(x1)] = 1 · x1
[Txch(x1)] = 1 · x1
[Tcpx(x1)] = 1 · x1
[Tgc(x1)] = 1 · x1
[SRlll(x1)] = 1 · x1 + 2
the rules
Tcpcx(SRlbeta(x)) → SRlbeta(Tcpcx(x))
Tcpcx(SRcp(x)) → SRcp(Tcpcx(x))
Tcpcx(SRllet(x)) → SRllet(Tcpcx(x))
Tcpcx(SRlapp(x)) → SRlapp(Tcpcx(x))
Tcpcx(SRlcase(x)) → SRlcase(Tcpcx(x))
Tcpcx(SRlseq(x)) → SRlseq(Tcpcx(x))
Tcpcx(SRcase(x)) → SRcase(Tcpcx(x))
Tcpcx(SRcase(x)) → SRcase(x)
Tcpcx(SRseq(x)) → SRseq(Tcpcx(x))
Tcpcx(SRseq(x)) → SRseq(x)
Tcpcx(Answer) → Answer
Tcpcx(SRcase(x)) → SRcase(Tabs(x))
Tcpcx(SRcase(x)) → SRcase(Txch(Txch(Tcpx(Tcpx(Tcpcx(x))))))
Tcpcx(SRcase(x)) → SRcase(Txch(Txch(Tcpx(Tcpx(Tabs(x))))))
Tcpcx(SRseq(x)) → SRseq(Tabs(x))
Tcpcx(SRcp(x)) → SRcp(Tcpcx(Tcpcx(x)))
Tcpcx(SRcp(x)) → SRcp(Tgc(Tcpx(Tcpx(Tcpx(Tcpx(Tcpcx(Tcpcx(x))))))))
Tabs(SRlbeta(x)) → SRlbeta(Tabs(x))
Tabs(SRcp(x)) → SRcp(Tabs(x))
Tabs(SRllet(x)) → SRllet(Tabs(x))
Tabs(SRlapp(x)) → SRlapp(Tabs(x))
Tabs(SRlcase(x)) → SRlcase(Tabs(x))
Tabs(SRlseq(x)) → SRlseq(Tabs(x))
Tabs(SRcase(x)) → SRcase(Tabs(x))
Tabs(SRcase(x)) → SRcase(x)
Tabs(SRcase(x)) → SRcase(Txch(Txch(Tcpx(Tcpx(Tabs(x))))))
Tabs(SRseq(x)) → SRseq(Tabs(x))
Tabs(SRseq(x)) → SRseq(x)
Tabs(Answer) → Answer
Tcpx(SRlbeta(x)) → SRlbeta(Tcpx(x))
Tcpx(SRcp(x)) → SRcp(Tcpx(x))
Tcpx(SRcp(x)) → SRcp(x)
Tcpx(SRllet(x)) → SRllet(Tcpx(x))
Tcpx(SRlapp(x)) → SRlapp(Tcpx(x))
Tcpx(SRlcase(x)) → SRlcase(Tcpx(x))
Tcpx(SRlseq(x)) → SRlseq(Tcpx(x))
Tcpx(SRcase(x)) → SRcase(Tcpx(x))
Tcpx(SRcase(x)) → SRcase(x)
Tcpx(SRseq(x)) → SRseq(Tcpx(x))
Tcpx(SRseq(x)) → SRseq(x)
Tcpx(Answer) → Answer
Tcpx(SRcp(x)) → SRcp(Tcpx(Tcpx(x)))
Txch(SRlbeta(x)) → SRlbeta(Txch(x))
Txch(SRcp(x)) → SRcp(Txch(x))
Txch(SRllet(x)) → SRllet(Txch(x))
Txch(SRlapp(x)) → SRlapp(Txch(x))
Txch(SRlcase(x)) → SRlcase(Txch(x))
Txch(SRlseq(x)) → SRlseq(Txch(x))
Txch(SRcase(x)) → SRcase(Txch(x))
Txch(SRcase(x)) → SRcase(x)
Txch(SRseq(x)) → SRseq(Txch(x))
Txch(SRseq(x)) → SRseq(x)
Txch(Answer) → Answer
Tgc(SRlbeta(x)) → SRlbeta(Tgc(x))
Tgc(SRcp(x)) → SRcp(Tgc(x))
Tgc(SRllet(x)) → SRllet(Tgc(x))
Tgc(SRlapp(x)) → SRlapp(Tgc(x))
Tgc(SRlcase(x)) → SRlcase(Tgc(x))
Tgc(SRlseq(x)) → SRlseq(Tgc(x))
Tgc(SRcase(x)) → SRcase(Tgc(x))
Tgc(SRcase(x)) → SRcase(x)
Tgc(SRseq(x)) → SRseq(Tgc(x))
Tgc(SRseq(x)) → SRseq(x)
Tgc(Answer) → Answer
remain.

1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
Tcpcx#(SRlbeta(x)) → Tcpcx#(x)
Tcpcx#(SRcp(x)) → Tcpcx#(x)
Tcpcx#(SRllet(x)) → Tcpcx#(x)
Tcpcx#(SRlapp(x)) → Tcpcx#(x)
Tcpcx#(SRlcase(x)) → Tcpcx#(x)
Tcpcx#(SRlseq(x)) → Tcpcx#(x)
Tcpcx#(SRcase(x)) → Tcpcx#(x)
Tcpcx#(SRseq(x)) → Tcpcx#(x)
Tcpcx#(SRcase(x)) → Tabs#(x)
Tcpcx#(SRcase(x)) → Txch#(Txch(Tcpx(Tcpx(Tcpcx(x)))))
Tcpcx#(SRcase(x)) → Txch#(Tcpx(Tcpx(Tcpcx(x))))
Tcpcx#(SRcase(x)) → Tcpx#(Tcpx(Tcpcx(x)))
Tcpcx#(SRcase(x)) → Tcpx#(Tcpcx(x))
Tcpcx#(SRcase(x)) → Txch#(Txch(Tcpx(Tcpx(Tabs(x)))))
Tcpcx#(SRcase(x)) → Txch#(Tcpx(Tcpx(Tabs(x))))
Tcpcx#(SRcase(x)) → Tcpx#(Tcpx(Tabs(x)))
Tcpcx#(SRcase(x)) → Tcpx#(Tabs(x))
Tcpcx#(SRseq(x)) → Tabs#(x)
Tcpcx#(SRcp(x)) → Tcpcx#(Tcpcx(x))
Tcpcx#(SRcp(x)) → Tgc#(Tcpx(Tcpx(Tcpx(Tcpx(Tcpcx(Tcpcx(x)))))))
Tcpcx#(SRcp(x)) → Tcpx#(Tcpx(Tcpx(Tcpx(Tcpcx(Tcpcx(x))))))
Tcpcx#(SRcp(x)) → Tcpx#(Tcpx(Tcpx(Tcpcx(Tcpcx(x)))))
Tcpcx#(SRcp(x)) → Tcpx#(Tcpx(Tcpcx(Tcpcx(x))))
Tcpcx#(SRcp(x)) → Tcpx#(Tcpcx(Tcpcx(x)))
Tabs#(SRlbeta(x)) → Tabs#(x)
Tabs#(SRcp(x)) → Tabs#(x)
Tabs#(SRllet(x)) → Tabs#(x)
Tabs#(SRlapp(x)) → Tabs#(x)
Tabs#(SRlcase(x)) → Tabs#(x)
Tabs#(SRlseq(x)) → Tabs#(x)
Tabs#(SRcase(x)) → Tabs#(x)
Tabs#(SRcase(x)) → Txch#(Txch(Tcpx(Tcpx(Tabs(x)))))
Tabs#(SRcase(x)) → Txch#(Tcpx(Tcpx(Tabs(x))))
Tabs#(SRcase(x)) → Tcpx#(Tcpx(Tabs(x)))
Tabs#(SRcase(x)) → Tcpx#(Tabs(x))
Tabs#(SRseq(x)) → Tabs#(x)
Tcpx#(SRlbeta(x)) → Tcpx#(x)
Tcpx#(SRcp(x)) → Tcpx#(x)
Tcpx#(SRllet(x)) → Tcpx#(x)
Tcpx#(SRlapp(x)) → Tcpx#(x)
Tcpx#(SRlcase(x)) → Tcpx#(x)
Tcpx#(SRlseq(x)) → Tcpx#(x)
Tcpx#(SRcase(x)) → Tcpx#(x)
Tcpx#(SRseq(x)) → Tcpx#(x)
Tcpx#(SRcp(x)) → Tcpx#(Tcpx(x))
Txch#(SRlbeta(x)) → Txch#(x)
Txch#(SRcp(x)) → Txch#(x)
Txch#(SRllet(x)) → Txch#(x)
Txch#(SRlapp(x)) → Txch#(x)
Txch#(SRlcase(x)) → Txch#(x)
Txch#(SRlseq(x)) → Txch#(x)
Txch#(SRcase(x)) → Txch#(x)
Txch#(SRseq(x)) → Txch#(x)
Tgc#(SRlbeta(x)) → Tgc#(x)
Tgc#(SRcp(x)) → Tgc#(x)
Tgc#(SRllet(x)) → Tgc#(x)
Tgc#(SRlapp(x)) → Tgc#(x)
Tgc#(SRlcase(x)) → Tgc#(x)
Tgc#(SRlseq(x)) → Tgc#(x)
Tgc#(SRcase(x)) → Tgc#(x)
Tgc#(SRseq(x)) → Tgc#(x)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 5 components.