![Page 1: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/1.jpg)
TTT2 with Termination Templates for Teaching
Jonas Schopf and Christian Sternagel
Department of Computer ScienceUniversity of Innsbruck
16th International Workshop on TerminationOxford
July 19, 2018
![Page 2: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/2.jpg)
Motivation
f(x, g(x))→ g(f(x, x))f(x, x)→ h(g(x))
g(f(x, x))→ f(h(x), x)
Correct Termination Proofs?
student 1:
w0 = 1w(f) = 4, w(g) = 2, w(h) = 1h > f > g
student 2:
[h](x) = x
[f](x, y) = 8x + 24y + 16[g](x) = x + 1
student 3:
[h](x) =(
1 40 0
)x, [f](x, y) =
(1 150 0
)x +(
16 10 0
)y +(
80
),
[g](x) =(
1 00 4
)x +(
10
)
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 2/27
![Page 3: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/3.jpg)
Motivation
f(x, g(x))→ g(f(x, x))f(x, x)→ h(g(x))
g(f(x, x))→ f(h(x), x)
Correct Termination Proofs?
student 1:
w0 = 1w(f) = 4, w(g) = 2, w(h) = 1h > f > g
student 2:
[h](x) = x
[f](x, y) = 8x + 24y + 16[g](x) = x + 1
student 3:
[h](x) =(
1 40 0
)x, [f](x, y) =
(1 150 0
)x +(
16 10 0
)y +(
80
),
[g](x) =(
1 00 4
)x +(
10
)
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 2/27
![Page 4: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/4.jpg)
Motivation
f(x, g(x))→ g(f(x, x))f(x, x)→ h(g(x))
g(f(x, x))→ f(h(x), x)
Correct Termination Proofs?
student 1:
w0 = 1w(f) = 4, w(g) = 2, w(h) = 1h > f > g
student 2:
[h](x) = x
[f](x, y) = 8x + 24y + 16[g](x) = x + 1
student 3:
[h](x) =(
1 40 0
)x, [f](x, y) =
(1 150 0
)x +(
16 10 0
)y +(
80
),
[g](x) =(
1 00 4
)x +(
10
)
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 2/27
![Page 5: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/5.jpg)
Motivation
f(x, g(x))→ g(f(x, x))f(x, x)→ h(g(x))
g(f(x, x))→ f(h(x), x)
Correct Termination Proofs?
student 1:
w0 = 1w(f) = 4, w(g) = 2, w(h) = 1h > f > g
student 2:
[h](x) = x
[f](x, y) = 8x + 24y + 16[g](x) = x + 1
student 3:
[h](x) =(
1 40 0
)x, [f](x, y) =
(1 150 0
)x +(
16 10 0
)y +(
80
),
[g](x) =(
1 00 4
)x +(
10
)
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 2/27
![Page 6: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/6.jpg)
Motivation
f(x, g(x))→ g(f(x, x))f(x, x)→ h(g(x))
g(f(x, x))→ f(h(x), x)
Correct Termination Proofs?
student 1:
w0 = 1w(f) = 4, w(g) = 2, w(h) = 1h > f > g
student 2:
[h](x) = x
[f](x, y) = 8x + 24y + 16[g](x) = x + 1
student 3:
[h](x) =(
1 40 0
)x, [f](x, y) =
(1 150 0
)x +(
16 10 0
)y +(
80
),
[g](x) =(
1 00 4
)x +(
10
)J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 2/27
![Page 7: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/7.jpg)
Overview
• main idea• TTT2
• template mechanism• URL encoding via the web interface
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 3/27
![Page 8: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/8.jpg)
Overview
• main idea• TTT2• template mechanism• URL encoding via the web interface
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 3/27
![Page 9: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/9.jpg)
Main Idea
• check specific proofs with TTT2
• modify proof construction• provide a mechanism to show termination examples• in general: make TTT2 more useful for teaching
Solve following Questions
• is the following termination proof correct?• exists another termination proof with specific parameters?• ...
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 4/27
![Page 10: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/10.jpg)
Main Idea
• check specific proofs with TTT2• modify proof construction
• provide a mechanism to show termination examples• in general: make TTT2 more useful for teaching
Solve following Questions
• is the following termination proof correct?• exists another termination proof with specific parameters?• ...
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 4/27
![Page 11: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/11.jpg)
Main Idea
• check specific proofs with TTT2• modify proof construction• provide a mechanism to show termination examples
• in general: make TTT2 more useful for teaching
Solve following Questions
• is the following termination proof correct?• exists another termination proof with specific parameters?• ...
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 4/27
![Page 12: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/12.jpg)
Main Idea
• check specific proofs with TTT2• modify proof construction• provide a mechanism to show termination examples• in general: make TTT2 more useful for teaching
Solve following Questions
• is the following termination proof correct?• exists another termination proof with specific parameters?• ...
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 4/27
![Page 13: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/13.jpg)
Main Idea
• check specific proofs with TTT2• modify proof construction• provide a mechanism to show termination examples• in general: make TTT2 more useful for teaching
Solve following Questions
• is the following termination proof correct?• exists another termination proof with specific parameters?• ...
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 4/27
![Page 14: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/14.jpg)
Main Idea: Templates
• based on SAT/SMT encodings
• concrete instances seem entirely random• provide method-specific template mechanism to modify proof
construction
Main Idea: URL encoded examples
• setting up examples during lecture is error-prone and tedious• encode examples into URL• automatically restore examples• derive a convenient way to present examples
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 5/27
![Page 15: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/15.jpg)
Main Idea: Templates
• based on SAT/SMT encodings• concrete instances seem entirely random
• provide method-specific template mechanism to modify proofconstruction
Main Idea: URL encoded examples
• setting up examples during lecture is error-prone and tedious• encode examples into URL• automatically restore examples• derive a convenient way to present examples
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 5/27
![Page 16: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/16.jpg)
Main Idea: Templates
• based on SAT/SMT encodings• concrete instances seem entirely random• provide method-specific template mechanism to modify proof
construction
Main Idea: URL encoded examples
• setting up examples during lecture is error-prone and tedious• encode examples into URL• automatically restore examples• derive a convenient way to present examples
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 5/27
![Page 17: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/17.jpg)
Main Idea: Templates
• based on SAT/SMT encodings• concrete instances seem entirely random• provide method-specific template mechanism to modify proof
construction
Main Idea: URL encoded examples
• setting up examples during lecture is error-prone and tedious
• encode examples into URL• automatically restore examples• derive a convenient way to present examples
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 5/27
![Page 18: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/18.jpg)
Main Idea: Templates
• based on SAT/SMT encodings• concrete instances seem entirely random• provide method-specific template mechanism to modify proof
construction
Main Idea: URL encoded examples
• setting up examples during lecture is error-prone and tedious• encode examples into URL
• automatically restore examples• derive a convenient way to present examples
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 5/27
![Page 19: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/19.jpg)
Main Idea: Templates
• based on SAT/SMT encodings• concrete instances seem entirely random• provide method-specific template mechanism to modify proof
construction
Main Idea: URL encoded examples
• setting up examples during lecture is error-prone and tedious• encode examples into URL• automatically restore examples
• derive a convenient way to present examples
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 5/27
![Page 20: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/20.jpg)
Main Idea: Templates
• based on SAT/SMT encodings• concrete instances seem entirely random• provide method-specific template mechanism to modify proof
construction
Main Idea: URL encoded examples
• setting up examples during lecture is error-prone and tedious• encode examples into URL• automatically restore examples• derive a convenient way to present examples
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 5/27
![Page 21: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/21.jpg)
Template Mechanism for LPO, KBO, PIs and MIs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 6/27
![Page 22: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/22.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Termination Proof without restrictions by TTT2LPO:
+ > s ∼ 0
Also correct?
Is there a precedence with
0 > +, s > + or 0 = +
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 7/27
![Page 23: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/23.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Termination Proof without restrictions by TTT2LPO:
+ > s ∼ 0
Also correct?
Is there a precedence with
0 > +, s > + or 0 = +
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 7/27
![Page 24: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/24.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Termination Proof without restrictions by TTT2LPO:
+ > s ∼ 0
Also correct?
Is there a precedence with
0 > +, s > + or 0 = +
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 7/27
![Page 25: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/25.jpg)
How to call TTT2./ttt2 [options] <file> [timeout]
Call with specific Strategy
./ttt2 -s ’matrix’ <file> [timeout]
Call with a Template
./ttt2 -s ’poly [processor flags]’ <file> [timeout]
Example: Full Call
./ttt2 -s ’poly -inters "+ = x0 + x1"’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 8/27
![Page 26: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/26.jpg)
How to call TTT2./ttt2 [options] <file> [timeout]
Call with specific Strategy
./ttt2 -s ’matrix’ <file> [timeout]
Call with a Template
./ttt2 -s ’poly [processor flags]’ <file> [timeout]
Example: Full Call
./ttt2 -s ’poly -inters "+ = x0 + x1"’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 8/27
![Page 27: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/27.jpg)
How to call TTT2./ttt2 [options] <file> [timeout]
Call with specific Strategy
./ttt2 -s ’matrix’ <file> [timeout]
Call with a Template
./ttt2 -s ’poly [processor flags]’ <file> [timeout]
Example: Full Call
./ttt2 -s ’poly -inters "+ = x0 + x1"’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 8/27
![Page 28: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/28.jpg)
How to call TTT2./ttt2 [options] <file> [timeout]
Call with specific Strategy
./ttt2 -s ’matrix’ <file> [timeout]
Call with a Template
./ttt2 -s ’poly [processor flags]’ <file> [timeout]
Example: Full Call
./ttt2 -s ’poly -inters "+ = x0 + x1"’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 8/27
![Page 29: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/29.jpg)
Encoding in TTT2
TRS Strategy
SAT/SMT Formula
Solver Backend
UNSAT
SAT
Proof
TemplateTemplate Constraint∧
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 9/27
![Page 30: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/30.jpg)
Encoding in TTT2
TRS StrategySAT/SMT Formula
Solver Backend
UNSAT
SAT
Proof
TemplateTemplate Constraint∧
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 9/27
![Page 31: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/31.jpg)
Encoding in TTT2
TRS StrategySAT/SMT Formula
Solver Backend
UNSAT
SAT
Proof
TemplateTemplate Constraint∧
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 9/27
![Page 32: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/32.jpg)
Encoding in TTT2
TRS StrategySAT/SMT Formula
Solver Backend
UNSAT
SAT
Proof
TemplateTemplate Constraint∧
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 9/27
![Page 33: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/33.jpg)
Encoding in TTT2
TRS StrategySAT/SMT Formula
Solver Backend
UNSAT
SAT
Proof
TemplateTemplate Constraint∧
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 9/27
![Page 34: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/34.jpg)
Encoding in TTT2
TRS StrategySAT/SMT Formula
Solver Backend
UNSAT
SAT
Proof
Template
Template Constraint∧
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 9/27
![Page 35: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/35.jpg)
Encoding in TTT2
TRS StrategySAT/SMT Formula
Solver Backend
UNSAT
SAT
Proof
Template
Template Constraint
∧
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 9/27
![Page 36: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/36.jpg)
Encoding in TTT2
TRS StrategySAT/SMT Formula
Solver Backend
UNSAT
SAT
Proof
Template
Template Constraint∧
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 9/27
![Page 37: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/37.jpg)
Lexicographic Path Order
• parameter is precedence
• -prec gets prec template• prec template specifies a (partial) precedence
Syntax
prec
fun >��� �
� =��� �>=�� �
�
fun�
�
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 10/27
![Page 38: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/38.jpg)
Lexicographic Path Order
• parameter is precedence• -prec gets prec template
• prec template specifies a (partial) precedence
Syntax
prec
fun >��� �
� =��� �>=�� �
�
fun�
�
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 10/27
![Page 39: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/39.jpg)
Lexicographic Path Order
• parameter is precedence• -prec gets prec template• prec template specifies a (partial) precedence
Syntax
prec
fun >��� �
� =��� �>=�� �
�
fun�
�
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 10/27
![Page 40: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/40.jpg)
Lexicographic Path Order
• parameter is precedence• -prec gets prec template• prec template specifies a (partial) precedence
Syntax
prec
fun >��� �
� =��� �>=�� �
�
fun�
�
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 10/27
![Page 41: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/41.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Termination Proof without restrictions by TTT2
precedence: + > s ∼ 0
Also correct?
Is there a precedence with
0 > +, s > + or 0 = +
0tick, cross and question mark are clickable hyperlinksJ. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 11/27
![Page 42: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/42.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Termination Proof without restrictions by TTT2
precedence: + > s ∼ 0
Also correct?
0 > +, s > + or 0 = +
0tick, cross and question mark are clickable hyperlinksJ. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 11/27
![Page 43: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/43.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Termination Proof without restrictions by TTT2
precedence: + > s ∼ 0
Also correct?
0 > +, s > + or 0 = +
./ttt2 -s ’lpo -prec"0 > +"’ add.trs 3
0tick, cross and question mark are clickable hyperlinksJ. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 11/27
![Page 44: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/44.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Termination Proof without restrictions by TTT2
precedence: + > s ∼ 0
Also correct?
0 > +, s > + or 0 = +
./ttt2 -s ’lpo -prec"0 > +"’ add.trs 3
./ttt2 -s ’lpo -prec"s > +"’ add.trs ?
0tick, cross and question mark are clickable hyperlinksJ. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 11/27
![Page 45: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/45.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Termination Proof without restrictions by TTT2
precedence: + > s ∼ 0
Also correct?
0 > +, s > + or 0 = +
./ttt2 -s ’lpo -prec"0 > +"’ add.trs 3
./ttt2 -s ’lpo -prec"s > +"’ add.trs ?
./ttt2 -s ’lpo -prec"0 = +"’ add.trs 3
0tick, cross and question mark are clickable hyperlinksJ. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 11/27
![Page 46: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/46.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Termination Proof without restrictions by TTT2
precedence: + > s ∼ 0
Also correct?
0 > +, s > + or 0 = +
./ttt2 -s ’lpo -prec"0 > +"’ add.trs 3
./ttt2 -s ’lpo -prec"s > +"’ add.trs ?
./ttt2 -s ’lpo -prec"0 = +"’ add.trs 3
./ttt2 -s ’lpo -prec"+ > 0 > +"’ add.trs 7
0tick, cross and question mark are clickable hyperlinksJ. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 11/27
![Page 47: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/47.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Termination Proof without restrictions by TTT2
precedence: + > s ∼ 0
Also correct?
0 > +, s > + or 0 = +
./ttt2 -s ’lpo -prec"0 > +"’ add.trs 3
./ttt2 -s ’lpo -prec"s > +"’ add.trs ?
./ttt2 -s ’lpo -prec"0 = +"’ add.trs 3
./ttt2 -s ’lpo -prec"+ > 0 > +"’ add.trs 7
./ttt2 -s ’lpo -prec"0 = + > s"’ add.trs 3
0tick, cross and question mark are clickable hyperlinksJ. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 11/27
![Page 48: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/48.jpg)
Knuth-Bendix Order
• parameters are precedence and weights
• -weights accepts a weights template• -w0 takes a value for w0
Syntax
weights
�� fun =
��� ��
�
�
fun =��� �
�<=�� � �>=�� �
�
weight
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 12/27
![Page 49: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/49.jpg)
Knuth-Bendix Order
• parameters are precedence and weights• -weights accepts a weights template
• -w0 takes a value for w0
Syntax
weights
�� fun =
��� ��
�
�
fun =��� �
�<=�� � �>=�� �
�
weight
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 12/27
![Page 50: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/50.jpg)
Knuth-Bendix Order
• parameters are precedence and weights• -weights accepts a weights template• -w0 takes a value for w0
Syntax
weights
�� fun =
��� ��
�
�
fun =��� �
�<=�� � �>=�� �
�
weight
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 12/27
![Page 51: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/51.jpg)
Knuth-Bendix Order
• parameters are precedence and weights• -weights accepts a weights template• -w0 takes a value for w0
Syntax
weights
�� fun =
��� ��
�
�
fun =��� �
�<=�� � �>=�� �
�
weight
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 12/27
![Page 52: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/52.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Examples
8 ≤ w(+) ≤ 16
./ttt2 -s ’kbo -weights "+ <= 16, + >= 8"’ add.trs 3
16 ≤ w(+) and w(+) ≤ 8
./ttt2 -s ’kbo -weights "+ <= 8, + >= 16"’ add.trs 7
0 = + > s, w(+) = 7, w(s) = 3 and w0 = 3
./ttt2 -s ’kbo -prec "0 = + > s" -weights "+ = s = 3" 3-w0 3’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 13/27
![Page 53: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/53.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Examples
8 ≤ w(+) ≤ 16
./ttt2 -s ’kbo -weights "+ <= 16, + >= 8"’ add.trs 3
16 ≤ w(+) and w(+) ≤ 8
./ttt2 -s ’kbo -weights "+ <= 8, + >= 16"’ add.trs 7
0 = + > s, w(+) = 7, w(s) = 3 and w0 = 3
./ttt2 -s ’kbo -prec "0 = + > s" -weights "+ = s = 3" 3-w0 3’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 13/27
![Page 54: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/54.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Examples
8 ≤ w(+) ≤ 16
./ttt2 -s ’kbo -weights "+ <= 16, + >= 8"’ add.trs 3
16 ≤ w(+) and w(+) ≤ 8
./ttt2 -s ’kbo -weights "+ <= 8, + >= 16"’ add.trs 7
0 = + > s, w(+) = 7, w(s) = 3 and w0 = 3
./ttt2 -s ’kbo -prec "0 = + > s" -weights "+ = s = 3" 3-w0 3’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 13/27
![Page 55: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/55.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Examples
8 ≤ w(+) ≤ 16
./ttt2 -s ’kbo -weights "+ <= 16, + >= 8"’ add.trs 3
16 ≤ w(+) and w(+) ≤ 8
./ttt2 -s ’kbo -weights "+ <= 8, + >= 16"’ add.trs 7
0 = + > s, w(+) = 7, w(s) = 3 and w0 = 3
./ttt2 -s ’kbo -prec "0 = + > s" -weights "+ = s = 3" 3-w0 3’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 13/27
![Page 56: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/56.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Examples
8 ≤ w(+) ≤ 16
./ttt2 -s ’kbo -weights "+ <= 16, + >= 8"’ add.trs 3
16 ≤ w(+) and w(+) ≤ 8
./ttt2 -s ’kbo -weights "+ <= 8, + >= 16"’ add.trs 7
0 = + > s, w(+) = 7, w(s) = 3 and w0 = 3
./ttt2 -s ’kbo -prec "0 = + > s" -weights "+ = s = 3" 3-w0 3’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 13/27
![Page 57: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/57.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Examples
8 ≤ w(+) ≤ 16
./ttt2 -s ’kbo -weights "+ <= 16, + >= 8"’ add.trs 3
16 ≤ w(+) and w(+) ≤ 8
./ttt2 -s ’kbo -weights "+ <= 8, + >= 16"’ add.trs 7
0 = + > s, w(+) = 7, w(s) = 3 and w0 = 3
./ttt2 -s ’kbo -prec "0 = + > s" -weights "+ = s = 3" 3-w0 3’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 13/27
![Page 58: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/58.jpg)
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Examples
8 ≤ w(+) ≤ 16
./ttt2 -s ’kbo -weights "+ <= 16, + >= 8"’ add.trs 3
16 ≤ w(+) and w(+) ≤ 8
./ttt2 -s ’kbo -weights "+ <= 8, + >= 16"’ add.trs 7
0 = + > s, w(+) = 7, w(s) = 3 and w0 = 3
./ttt2 -s ’kbo -prec "0 = + > s" -weights "+ = s = 3" 3-w0 3’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 13/27
![Page 59: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/59.jpg)
Linear Interpretations• supported by PIs and MIs
• accepted by the -inters flag• sums of linear monomials• underscore denotes arbitrary parts• integer at the end of var denotes the position of the argument
Syntax
inters
fun =��� �
��
��const
�
var��const
� _���
�
�
� +���
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 14/27
![Page 60: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/60.jpg)
Linear Interpretations• supported by PIs and MIs• accepted by the -inters flag
• sums of linear monomials• underscore denotes arbitrary parts• integer at the end of var denotes the position of the argument
Syntax
inters
fun =��� �
��
��const
�
var��const
� _���
�
�
� +���
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 14/27
![Page 61: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/61.jpg)
Linear Interpretations• supported by PIs and MIs• accepted by the -inters flag• sums of linear monomials
• underscore denotes arbitrary parts• integer at the end of var denotes the position of the argument
Syntax
inters
fun =��� �
��
��const
�
var��const
� _���
�
�
� +���
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 14/27
![Page 62: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/62.jpg)
Linear Interpretations• supported by PIs and MIs• accepted by the -inters flag• sums of linear monomials• underscore denotes arbitrary parts
• integer at the end of var denotes the position of the argument
Syntax
inters
fun =��� �
��
��const
�
var��const
� _���
�
�
� +���
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 14/27
![Page 63: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/63.jpg)
Linear Interpretations• supported by PIs and MIs• accepted by the -inters flag• sums of linear monomials• underscore denotes arbitrary parts• integer at the end of var denotes the position of the argument
Syntax
inters
fun =��� �
��
��const
�
var��const
� _���
�
�
� +���
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 14/27
![Page 64: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/64.jpg)
Linear Interpretations• supported by PIs and MIs• accepted by the -inters flag• sums of linear monomials• underscore denotes arbitrary parts• integer at the end of var denotes the position of the argument
Syntax
inters
fun =��� �
��
��const
�
var��const
� _���
�
�
� +���
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 14/27
![Page 65: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/65.jpg)
Polynomial Interpretations
take natural numbers for “const” in the inters template
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Examples
[+](x, y) = 2x + y + 1, [s](x) = x + 1, [0] = 0
./ttt2 -s ’poly -inters"+ = 2x0 + x1 + 1, s = x0 + 1, 30 = 0"’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 15/27
![Page 66: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/66.jpg)
Polynomial Interpretations
take natural numbers for “const” in the inters template
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Examples
[+](x, y) = 2x + y + 1, [s](x) = x + 1, [0] = 0
./ttt2 -s ’poly -inters"+ = 2x0 + x1 + 1, s = x0 + 1, 30 = 0"’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 15/27
![Page 67: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/67.jpg)
Polynomial Interpretations
take natural numbers for “const” in the inters template
Addition on Natural Numbers
0 + y → y
s(x) + y → s(x + y)
Examples
[+](x, y) = 2x + y + 1, [s](x) = x + 1, [0] = 0
./ttt2 -s ’poly -inters"+ = 2x0 + x1 + 1, s = x0 + 1, 30 = 0"’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 15/27
![Page 68: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/68.jpg)
Examples cont’d
[+](x, y) = 2x + ay + 1, [s](x) = bx + c, [0] = 0,
where a, b and c are arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 1, s = , 0 = 0"’3add.trs
[+](x, y) = 2x + y
./ttt2 -s ’poly -inters "+ = 2x0 + x1"’ add.trs 3
[+](x, y) = 2x + ay, where a is arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 0"’ add.trs 3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 16/27
![Page 69: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/69.jpg)
Examples cont’d
[+](x, y) = 2x + ay + 1, [s](x) = bx + c, [0] = 0,
where a, b and c are arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 1, s = , 0 = 0"’3add.trs
[+](x, y) = 2x + y
./ttt2 -s ’poly -inters "+ = 2x0 + x1"’ add.trs 3
[+](x, y) = 2x + ay, where a is arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 0"’ add.trs 3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 16/27
![Page 70: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/70.jpg)
Examples cont’d
[+](x, y) = 2x + ay + 1, [s](x) = bx + c, [0] = 0,
where a, b and c are arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 1, s = , 0 = 0"’3add.trs
[+](x, y) = 2x + y
./ttt2 -s ’poly -inters "+ = 2x0 + x1"’ add.trs 3
[+](x, y) = 2x + ay, where a is arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 0"’ add.trs 3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 16/27
![Page 71: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/71.jpg)
Examples cont’d
[+](x, y) = 2x + ay + 1, [s](x) = bx + c, [0] = 0,
where a, b and c are arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 1, s = , 0 = 0"’3add.trs
[+](x, y) = 2x + y
./ttt2 -s ’poly -inters "+ = 2x0 + x1"’ add.trs 3
[+](x, y) = 2x + ay, where a is arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 0"’ add.trs 3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 16/27
![Page 72: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/72.jpg)
Examples cont’d
[+](x, y) = 2x + ay + 1, [s](x) = bx + c, [0] = 0,
where a, b and c are arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 1, s = , 0 = 0"’3add.trs
[+](x, y) = 2x + y
./ttt2 -s ’poly -inters "+ = 2x0 + x1"’ add.trs 3
[+](x, y) = 2x + ay, where a is arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 0"’ add.trs 3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 16/27
![Page 73: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/73.jpg)
Examples cont’d
[+](x, y) = 2x + ay + 1, [s](x) = bx + c, [0] = 0,
where a, b and c are arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 1, s = , 0 = 0"’3add.trs
[+](x, y) = 2x + y
./ttt2 -s ’poly -inters "+ = 2x0 + x1"’ add.trs 3
[+](x, y) = 2x + ay, where a is arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 0"’ add.trs 3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 16/27
![Page 74: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/74.jpg)
Examples cont’d
[+](x, y) = 2x + ay + 1, [s](x) = bx + c, [0] = 0,
where a, b and c are arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 1, s = , 0 = 0"’3add.trs
[+](x, y) = 2x + y
./ttt2 -s ’poly -inters "+ = 2x0 + x1"’ add.trs 3
[+](x, y) = 2x + ay, where a is arbitrary
./ttt2 -s ’poly -inters "+ = 2x0 + + 0"’ add.trs 3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 16/27
![Page 75: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/75.jpg)
Matrix Interpretations
• matrices of natural numbers as “const”
• 0 and 1 for zero-vector and one-vector
Syntax
matrix
[��� nat�
� _���
�
�� ,
���
�
�
� ;���
�
]���
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 17/27
![Page 76: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/76.jpg)
Matrix Interpretations
• matrices of natural numbers as “const”• 0 and 1 for zero-vector and one-vector
Syntax
matrix
[��� nat�
� _���
�
�� ,
���
�
�
� ;���
�
]���
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 17/27
![Page 77: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/77.jpg)
Matrix Interpretations
• matrices of natural numbers as “const”• 0 and 1 for zero-vector and one-vector
Syntax
matrix
[��� nat�
� _���
�
�� ,
���
�
�
� ;���
�
]���
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 17/27
![Page 78: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/78.jpg)
Example: Syntax
(1 2 34 5 6
)in template syntax for MIs: [1,2,3;4,5,6]
Examples
[0] =(
00
)[s](x) = x +
(11
)[+](x, y) =
(1 10 1
)x +
(1 00 1
)y +
(10
)
./ttt2 -s ’matrix -inters "+ = [1,1;0,1]x0 + [1,0;0,1]x1 3+ [1;0], s = x0 + 1, 0 = 0"’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 18/27
![Page 79: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/79.jpg)
Example: Syntax
(1 2 34 5 6
)in template syntax for MIs: [1,2,3;4,5,6]
Examples
[0] =(
00
)[s](x) = x +
(11
)[+](x, y) =
(1 10 1
)x +
(1 00 1
)y +
(10
)
./ttt2 -s ’matrix -inters "+ = [1,1;0,1]x0 + [1,0;0,1]x1 3+ [1;0], s = x0 + 1, 0 = 0"’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 18/27
![Page 80: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/80.jpg)
Example: Syntax
(1 2 34 5 6
)in template syntax for MIs: [1,2,3;4,5,6]
Examples
[0] =(
00
)[s](x) = x +
(11
)[+](x, y) =
(1 10 1
)x +
(1 00 1
)y +
(10
)
./ttt2 -s ’matrix -inters "+ = [1,1;0,1]x0 + [1,0;0,1]x1 3+ [1;0], s = x0 + 1, 0 = 0"’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 18/27
![Page 81: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/81.jpg)
Examples cont’d
[0] =(
a0
)[s](x) = x + m1
[+](x, y) =(
1 bc d
)x + m2y +
(10
)where a, b, c, d, m1 and m2 are arbitrary
./ttt2 -s ’matrix -inters "+ = [1, ; , ]x0 + + [1;0], 3s = x0 + , 0 = [ ;0]’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 19/27
![Page 82: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/82.jpg)
Examples cont’d
[0] =(
a0
)[s](x) = x + m1
[+](x, y) =(
1 bc d
)x + m2y +
(10
)where a, b, c, d, m1 and m2 are arbitrary
./ttt2 -s ’matrix -inters "+ = [1, ; , ]x0 + + [1;0], 3s = x0 + , 0 = [ ;0]’ add.trs
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 19/27
![Page 83: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/83.jpg)
Arbitrary Boolean Structure
• arbitrary boolean combinations of atomic constraints
• special case: comma-separated list of atoms
Syntax
combination
atom��NOT
�� � (��� combination )
��� �AND�� � (
��� combination�� ,
��� �
)���
�OR�� � (
��� combination�� ,
��� �
)���
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 20/27
![Page 84: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/84.jpg)
Arbitrary Boolean Structure
• arbitrary boolean combinations of atomic constraints• special case: comma-separated list of atoms
Syntax
combination
atom��NOT
�� � (��� combination )
��� �AND�� � (
��� combination�� ,
��� �
)���
�OR�� � (
��� combination�� ,
��� �
)���
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 20/27
![Page 85: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/85.jpg)
Arbitrary Boolean Structure
• arbitrary boolean combinations of atomic constraints• special case: comma-separated list of atoms
Syntax
combination
atom��NOT
�� � (��� combination )
��� �AND�� � (
��� combination�� ,
��� �
)���
�OR�� � (
��� combination�� ,
��� �
)���
�
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 20/27
![Page 86: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/86.jpg)
Examples
f should not be bigger than h and g at the same time:
./ttt2 -s ’lpo -prec "NOT(AND(f > g, f > h))"’ 2.60.xml 3
constant part of + should be two and when 0 is zero then s should be thesuccessor function:
./ttt2 -s ’poly -inters "AND(+ = + 2, OR(NOT(0 = 0), 3s = x0 + 1))"’ 4.11.xml
upper triangular matrices with only ones in the diagonals for unary f andbinary g and h:
./ttt2 -s ’poly -inters "f=g=h=[1, , ;0,1, ;0,0,1]x0+ , 3g=h=[1, , ;0,1, ;0,0,1]x1+ "’ 27.xml
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 21/27
![Page 87: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/87.jpg)
Examples
f should not be bigger than h and g at the same time:./ttt2 -s ’lpo -prec "NOT(AND(f > g, f > h))"’ 2.60.xml 3
constant part of + should be two and when 0 is zero then s should be thesuccessor function:
./ttt2 -s ’poly -inters "AND(+ = + 2, OR(NOT(0 = 0), 3s = x0 + 1))"’ 4.11.xml
upper triangular matrices with only ones in the diagonals for unary f andbinary g and h:
./ttt2 -s ’poly -inters "f=g=h=[1, , ;0,1, ;0,0,1]x0+ , 3g=h=[1, , ;0,1, ;0,0,1]x1+ "’ 27.xml
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 21/27
![Page 88: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/88.jpg)
Examples
f should not be bigger than h and g at the same time:./ttt2 -s ’lpo -prec "NOT(AND(f > g, f > h))"’ 2.60.xml 3
constant part of + should be two and when 0 is zero then s should be thesuccessor function:
./ttt2 -s ’poly -inters "AND(+ = + 2, OR(NOT(0 = 0), 3s = x0 + 1))"’ 4.11.xml
upper triangular matrices with only ones in the diagonals for unary f andbinary g and h:
./ttt2 -s ’poly -inters "f=g=h=[1, , ;0,1, ;0,0,1]x0+ , 3g=h=[1, , ;0,1, ;0,0,1]x1+ "’ 27.xml
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 21/27
![Page 89: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/89.jpg)
Examples
f should not be bigger than h and g at the same time:./ttt2 -s ’lpo -prec "NOT(AND(f > g, f > h))"’ 2.60.xml 3
constant part of + should be two and when 0 is zero then s should be thesuccessor function:./ttt2 -s ’poly -inters "AND(+ = + 2, OR(NOT(0 = 0), 3s = x0 + 1))"’ 4.11.xml
upper triangular matrices with only ones in the diagonals for unary f andbinary g and h:
./ttt2 -s ’poly -inters "f=g=h=[1, , ;0,1, ;0,0,1]x0+ , 3g=h=[1, , ;0,1, ;0,0,1]x1+ "’ 27.xml
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 21/27
![Page 90: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/90.jpg)
Examples
f should not be bigger than h and g at the same time:./ttt2 -s ’lpo -prec "NOT(AND(f > g, f > h))"’ 2.60.xml 3
constant part of + should be two and when 0 is zero then s should be thesuccessor function:./ttt2 -s ’poly -inters "AND(+ = + 2, OR(NOT(0 = 0), 3s = x0 + 1))"’ 4.11.xml
upper triangular matrices with only ones in the diagonals for unary f andbinary g and h:
./ttt2 -s ’poly -inters "f=g=h=[1, , ;0,1, ;0,0,1]x0+ , 3g=h=[1, , ;0,1, ;0,0,1]x1+ "’ 27.xml
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 21/27
![Page 91: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/91.jpg)
Examples
f should not be bigger than h and g at the same time:./ttt2 -s ’lpo -prec "NOT(AND(f > g, f > h))"’ 2.60.xml 3
constant part of + should be two and when 0 is zero then s should be thesuccessor function:./ttt2 -s ’poly -inters "AND(+ = + 2, OR(NOT(0 = 0), 3s = x0 + 1))"’ 4.11.xml
upper triangular matrices with only ones in the diagonals for unary f andbinary g and h:./ttt2 -s ’poly -inters "f=g=h=[1, , ;0,1, ;0,0,1]x0+ , 3g=h=[1, , ;0,1, ;0,0,1]x1+ "’ 27.xml
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 21/27
![Page 92: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/92.jpg)
Extension of the Web interface
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 22/27
![Page 93: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/93.jpg)
Web Interface
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 23/27
![Page 94: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/94.jpg)
Web Interface - KBO
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 24/27
![Page 95: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/95.jpg)
URL encoding in the Web interface
• idea: encode content of web interface into URL
• we encode the TRS, the strategy and the templates• encoded into the query string of the URL
Normal URL
http://colo6-c703.uibk.ac.at/ttt2/web/
URL with encoded Query String
http://colo6-c703.uibk.ac.at/ttt2/web/?problem=(VAR%20x%20y)%0A(RULES%0A%20add(0%2Cy)%20-%3E%20y%0A%20add(s(x)%2Cy)%20-%3E%20s(add(x%2Cy))%0A)&strategy=kbo&template=add%20%3E%20s&template1=add%20%3D%20s%20%3D%208&template2=3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 25/27
![Page 96: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/96.jpg)
URL encoding in the Web interface
• idea: encode content of web interface into URL• we encode the TRS, the strategy and the templates
• encoded into the query string of the URL
Normal URL
http://colo6-c703.uibk.ac.at/ttt2/web/
URL with encoded Query String
http://colo6-c703.uibk.ac.at/ttt2/web/?problem=(VAR%20x%20y)%0A(RULES%0A%20add(0%2Cy)%20-%3E%20y%0A%20add(s(x)%2Cy)%20-%3E%20s(add(x%2Cy))%0A)&strategy=kbo&template=add%20%3E%20s&template1=add%20%3D%20s%20%3D%208&template2=3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 25/27
![Page 97: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/97.jpg)
URL encoding in the Web interface
• idea: encode content of web interface into URL• we encode the TRS, the strategy and the templates• encoded into the query string of the URL
Normal URL
http://colo6-c703.uibk.ac.at/ttt2/web/
URL with encoded Query String
http://colo6-c703.uibk.ac.at/ttt2/web/?problem=(VAR%20x%20y)%0A(RULES%0A%20add(0%2Cy)%20-%3E%20y%0A%20add(s(x)%2Cy)%20-%3E%20s(add(x%2Cy))%0A)&strategy=kbo&template=add%20%3E%20s&template1=add%20%3D%20s%20%3D%208&template2=3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 25/27
![Page 98: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/98.jpg)
URL encoding in the Web interface
• idea: encode content of web interface into URL• we encode the TRS, the strategy and the templates• encoded into the query string of the URL
Normal URL
http://colo6-c703.uibk.ac.at/ttt2/web/
URL with encoded Query String
http://colo6-c703.uibk.ac.at/ttt2/web/?problem=(VAR%20x%20y)%0A(RULES%0A%20add(0%2Cy)%20-%3E%20y%0A%20add(s(x)%2Cy)%20-%3E%20s(add(x%2Cy))%0A)&strategy=kbo&template=add%20%3E%20s&template1=add%20%3D%20s%20%3D%208&template2=3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 25/27
![Page 99: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/99.jpg)
URL encoding in the Web interface
• idea: encode content of web interface into URL• we encode the TRS, the strategy and the templates• encoded into the query string of the URL
Normal URL
http://colo6-c703.uibk.ac.at/ttt2/web/
URL with encoded Query String
http://colo6-c703.uibk.ac.at/ttt2/web/?problem=(VAR%20x%20y)%0A(RULES%0A%20add(0%2Cy)%20-%3E%20y%0A%20add(s(x)%2Cy)%20-%3E%20s(add(x%2Cy))%0A)&strategy=kbo&template=add%20%3E%20s&template1=add%20%3D%20s%20%3D%208&template2=3
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 25/27
![Page 100: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/100.jpg)
Conclusion
• template mechanism to check specific proofs
• available for LPO, KBO, PIs and MIs• web interface extension to save the configurations for an example• to have near absolute certainty you should use CeTA to validate the
output of TTT2
Future Work
• templates for other methods like arctic interpretations, the(generalized) subterm criterion, . . .
• which extensions to our templates are most useful for teaching?
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 26/27
![Page 101: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/101.jpg)
Conclusion
• template mechanism to check specific proofs• available for LPO, KBO, PIs and MIs
• web interface extension to save the configurations for an example• to have near absolute certainty you should use CeTA to validate the
output of TTT2
Future Work
• templates for other methods like arctic interpretations, the(generalized) subterm criterion, . . .
• which extensions to our templates are most useful for teaching?
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 26/27
![Page 102: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/102.jpg)
Conclusion
• template mechanism to check specific proofs• available for LPO, KBO, PIs and MIs• web interface extension to save the configurations for an example
• to have near absolute certainty you should use CeTA to validate theoutput of TTT2
Future Work
• templates for other methods like arctic interpretations, the(generalized) subterm criterion, . . .
• which extensions to our templates are most useful for teaching?
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 26/27
![Page 103: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/103.jpg)
Conclusion
• template mechanism to check specific proofs• available for LPO, KBO, PIs and MIs• web interface extension to save the configurations for an example• to have near absolute certainty you should use CeTA to validate the
output of TTT2
Future Work
• templates for other methods like arctic interpretations, the(generalized) subterm criterion, . . .
• which extensions to our templates are most useful for teaching?
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 26/27
![Page 104: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/104.jpg)
Conclusion
• template mechanism to check specific proofs• available for LPO, KBO, PIs and MIs• web interface extension to save the configurations for an example• to have near absolute certainty you should use CeTA to validate the
output of TTT2
Future Work
• templates for other methods like arctic interpretations, the(generalized) subterm criterion, . . .
• which extensions to our templates are most useful for teaching?
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 26/27
![Page 105: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/105.jpg)
Conclusion
• template mechanism to check specific proofs• available for LPO, KBO, PIs and MIs• web interface extension to save the configurations for an example• to have near absolute certainty you should use CeTA to validate the
output of TTT2
Future Work
• templates for other methods like arctic interpretations, the(generalized) subterm criterion, . . .
• which extensions to our templates are most useful for teaching?
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 26/27
![Page 106: TTT2 with Termination Templates for Teachingwst2018.webs.upv.es/papers/p07_slides.pdf · 2018. 7. 21. · TTT2 with Termination Templates for Teaching Jonas Sch¨opf and Christian](https://reader033.vdocuments.us/reader033/viewer/2022052104/603f9d3400882e347d28643a/html5/thumbnails/106.jpg)
Thank you for your attention!
J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 27/27