Termination Proof

by AProVE (version ba869e7b28377cd372aedcb96abeb62c4ad6aaa5 rene 20130719 unpublished dirty )

Input

The rewrite relation of the following TRS is considered.

Tllet(SRlbeta(x)) → SRlbeta(Tllet(x))
Tllet(SRlbeta(x)) → SRllet(SRlbeta(x))
Tllet(SRseq(x)) → SRseq(Tllet(x))
Tllet(SRseq(x)) → SRllet(SRseq(x))
Tllet(SRcp(x)) → SRcp(Tllet(x))
Tllet(SRcp(x)) → SRllet(SRcp(x))
Tllet(SRllet(x)) → SRllet(Tllet(x))
Tllet(SRllet(x)) → SRllet(SRllet(x))
Tllet(SRlapp(x)) → SRlapp(Tllet(x))
Tllet(SRlapp(x)) → SRlapp(Tlapp(Tllet(x)))
Tllet(SRlapp(x)) → SRlapp(SRlapp(SRllet(x)))
Tllet(SRlapp(x)) → SRllet(SRlapp(x))
Tllet(SRlseq(x)) → SRlseq(Tllet(x))
Tllet(SRlseq(x)) → SRlseq(Tlseq(Tllet(x)))
Tllet(SRlseq(x)) → SRlseq(SRlseq(SRllet(x)))
Tllet(SRlseq(x)) → SRllet(SRlseq(x))
Tllet(Answer) → Answer
Tllet(Answer) → SRllet(Answer)
SRlll(x) → SRlapp(x)
SRlll(x) → SRllet(x)
Tlapp(SRlbeta(x)) → SRlbeta(Tlapp(x))
Tlapp(SRlbeta(x)) → SRlapp(SRlbeta(x))
Tlapp(SRseq(x)) → SRseq(Tlapp(x))
Tlapp(SRseq(x)) → SRlapp(SRseq(x))
Tlapp(SRcp(x)) → SRcp(Tlapp(x))
Tlapp(SRcp(x)) → SRlapp(SRcp(x))
Tlapp(SRllet(x)) → SRllet(Tlapp(x))
Tlapp(SRllet(x)) → SRlapp(SRllet(x))
Tlapp(SRlapp(x)) → SRlapp(Tlapp(x))
Tlapp(SRlapp(x)) → SRlapp(SRlapp(x))
Tlapp(SRlseq(x)) → SRlseq(Tlapp(x))
Tlapp(SRlseq(x)) → SRlapp(SRlseq(x))
Tlapp(Answer) → Answer
Tlseq(SRlbeta(x)) → SRlbeta(Tlseq(x))
Tlseq(SRlbeta(x)) → SRlseq(SRlbeta(x))
Tlseq(SRseq(x)) → SRseq(Tlseq(x))
Tlseq(SRseq(x)) → SRlseq(SRseq(x))
Tlseq(SRcp(x)) → SRcp(Tlseq(x))
Tlseq(SRcp(x)) → SRlseq(SRcp(x))
Tlseq(SRllet(x)) → SRllet(Tlseq(x))
Tlseq(SRllet(x)) → SRlseq(SRllet(x))
Tlseq(SRlapp(x)) → SRlapp(Tlseq(x))
Tlseq(SRlapp(x)) → SRlseq(SRlapp(x))
Tlseq(SRlseq(x)) → SRlseq(Tlseq(x))
Tlseq(SRlseq(x)) → SRlseq(SRlseq(x))
Tlseq(Answer) → Answer
The evaluation strategy is innermost.

Proof

1 Rule Removal

Using the linear polynomial interpretation over the naturals
[Tllet(x1)] = 1 · x1 + 1
[SRlbeta(x1)] = 1 · x1
[SRllet(x1)] = 1 · x1 + 1
[SRseq(x1)] = 1 · x1
[SRcp(x1)] = 1 · x1
[SRlapp(x1)] = 1 · x1
[Tlapp(x1)] = 1 · x1
[SRlseq(x1)] = 1 · x1
[Tlseq(x1)] = 1 · x1
[Answer] = 0
[SRlll(x1)] = 1 · x1 + 2
the rules
Tllet(SRlbeta(x)) → SRlbeta(Tllet(x))
Tllet(SRlbeta(x)) → SRllet(SRlbeta(x))
Tllet(SRseq(x)) → SRseq(Tllet(x))
Tllet(SRseq(x)) → SRllet(SRseq(x))
Tllet(SRcp(x)) → SRcp(Tllet(x))
Tllet(SRcp(x)) → SRllet(SRcp(x))
Tllet(SRllet(x)) → SRllet(Tllet(x))
Tllet(SRllet(x)) → SRllet(SRllet(x))
Tllet(SRlapp(x)) → SRlapp(Tllet(x))
Tllet(SRlapp(x)) → SRlapp(Tlapp(Tllet(x)))
Tllet(SRlapp(x)) → SRlapp(SRlapp(SRllet(x)))
Tllet(SRlapp(x)) → SRllet(SRlapp(x))
Tllet(SRlseq(x)) → SRlseq(Tllet(x))
Tllet(SRlseq(x)) → SRlseq(Tlseq(Tllet(x)))
Tllet(SRlseq(x)) → SRlseq(SRlseq(SRllet(x)))
Tllet(SRlseq(x)) → SRllet(SRlseq(x))
Tllet(Answer) → SRllet(Answer)
Tlapp(SRlbeta(x)) → SRlbeta(Tlapp(x))
Tlapp(SRlbeta(x)) → SRlapp(SRlbeta(x))
Tlapp(SRseq(x)) → SRseq(Tlapp(x))
Tlapp(SRseq(x)) → SRlapp(SRseq(x))
Tlapp(SRcp(x)) → SRcp(Tlapp(x))
Tlapp(SRcp(x)) → SRlapp(SRcp(x))
Tlapp(SRllet(x)) → SRllet(Tlapp(x))
Tlapp(SRllet(x)) → SRlapp(SRllet(x))
Tlapp(SRlapp(x)) → SRlapp(Tlapp(x))
Tlapp(SRlapp(x)) → SRlapp(SRlapp(x))
Tlapp(SRlseq(x)) → SRlseq(Tlapp(x))
Tlapp(SRlseq(x)) → SRlapp(SRlseq(x))
Tlapp(Answer) → Answer
Tlseq(SRlbeta(x)) → SRlbeta(Tlseq(x))
Tlseq(SRlbeta(x)) → SRlseq(SRlbeta(x))
Tlseq(SRseq(x)) → SRseq(Tlseq(x))
Tlseq(SRseq(x)) → SRlseq(SRseq(x))
Tlseq(SRcp(x)) → SRcp(Tlseq(x))
Tlseq(SRcp(x)) → SRlseq(SRcp(x))
Tlseq(SRllet(x)) → SRllet(Tlseq(x))
Tlseq(SRllet(x)) → SRlseq(SRllet(x))
Tlseq(SRlapp(x)) → SRlapp(Tlseq(x))
Tlseq(SRlapp(x)) → SRlseq(SRlapp(x))
Tlseq(SRlseq(x)) → SRlseq(Tlseq(x))
Tlseq(SRlseq(x)) → SRlseq(SRlseq(x))
Tlseq(Answer) → Answer
remain.

1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[Tllet(x1)] = 1 · x1 + 1
[SRlbeta(x1)] = 1 · x1
[SRllet(x1)] = 1 · x1
[SRseq(x1)] = 1 · x1
[SRcp(x1)] = 1 · x1
[SRlapp(x1)] = 1 · x1
[Tlapp(x1)] = 1 · x1
[SRlseq(x1)] = 1 · x1
[Tlseq(x1)] = 1 · x1
[Answer] = 0
the rules
Tllet(SRlbeta(x)) → SRlbeta(Tllet(x))
Tllet(SRseq(x)) → SRseq(Tllet(x))
Tllet(SRcp(x)) → SRcp(Tllet(x))
Tllet(SRllet(x)) → SRllet(Tllet(x))
Tllet(SRlapp(x)) → SRlapp(Tllet(x))
Tllet(SRlapp(x)) → SRlapp(Tlapp(Tllet(x)))
Tllet(SRlseq(x)) → SRlseq(Tllet(x))
Tllet(SRlseq(x)) → SRlseq(Tlseq(Tllet(x)))
Tlapp(SRlbeta(x)) → SRlbeta(Tlapp(x))
Tlapp(SRlbeta(x)) → SRlapp(SRlbeta(x))
Tlapp(SRseq(x)) → SRseq(Tlapp(x))
Tlapp(SRseq(x)) → SRlapp(SRseq(x))
Tlapp(SRcp(x)) → SRcp(Tlapp(x))
Tlapp(SRcp(x)) → SRlapp(SRcp(x))
Tlapp(SRllet(x)) → SRllet(Tlapp(x))
Tlapp(SRllet(x)) → SRlapp(SRllet(x))
Tlapp(SRlapp(x)) → SRlapp(Tlapp(x))
Tlapp(SRlapp(x)) → SRlapp(SRlapp(x))
Tlapp(SRlseq(x)) → SRlseq(Tlapp(x))
Tlapp(SRlseq(x)) → SRlapp(SRlseq(x))
Tlapp(Answer) → Answer
Tlseq(SRlbeta(x)) → SRlbeta(Tlseq(x))
Tlseq(SRlbeta(x)) → SRlseq(SRlbeta(x))
Tlseq(SRseq(x)) → SRseq(Tlseq(x))
Tlseq(SRseq(x)) → SRlseq(SRseq(x))
Tlseq(SRcp(x)) → SRcp(Tlseq(x))
Tlseq(SRcp(x)) → SRlseq(SRcp(x))
Tlseq(SRllet(x)) → SRllet(Tlseq(x))
Tlseq(SRllet(x)) → SRlseq(SRllet(x))
Tlseq(SRlapp(x)) → SRlapp(Tlseq(x))
Tlseq(SRlapp(x)) → SRlseq(SRlapp(x))
Tlseq(SRlseq(x)) → SRlseq(Tlseq(x))
Tlseq(SRlseq(x)) → SRlseq(SRlseq(x))
Tlseq(Answer) → Answer
remain.

1.1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
Tllet#(SRlbeta(x)) → Tllet#(x)
Tllet#(SRseq(x)) → Tllet#(x)
Tllet#(SRcp(x)) → Tllet#(x)
Tllet#(SRllet(x)) → Tllet#(x)
Tllet#(SRlapp(x)) → Tllet#(x)
Tllet#(SRlapp(x)) → Tlapp#(Tllet(x))
Tllet#(SRlseq(x)) → Tllet#(x)
Tllet#(SRlseq(x)) → Tlseq#(Tllet(x))
Tlapp#(SRlbeta(x)) → Tlapp#(x)
Tlapp#(SRseq(x)) → Tlapp#(x)
Tlapp#(SRcp(x)) → Tlapp#(x)
Tlapp#(SRllet(x)) → Tlapp#(x)
Tlapp#(SRlapp(x)) → Tlapp#(x)
Tlapp#(SRlseq(x)) → Tlapp#(x)
Tlseq#(SRlbeta(x)) → Tlseq#(x)
Tlseq#(SRseq(x)) → Tlseq#(x)
Tlseq#(SRcp(x)) → Tlseq#(x)
Tlseq#(SRllet(x)) → Tlseq#(x)
Tlseq#(SRlapp(x)) → Tlseq#(x)
Tlseq#(SRlseq(x)) → Tlseq#(x)

1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.