106
T T T 2 with Termination Templates for Teaching Jonas Sch¨ opf and Christian Sternagel Department of Computer Science University of Innsbruck 16th International Workshop on Termination Oxford July 19, 2018

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

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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 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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thank you for your attention!

J. Schopf, C. Sternagel (DCS @ UIBK) WST 2018 27/27