16.01.2013 Views

Proceedings of the 13 ESSLLI Student Session - Multiple Choices ...

Proceedings of the 13 ESSLLI Student Session - Multiple Choices ...

Proceedings of the 13 ESSLLI Student Session - Multiple Choices ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

γ : {1, . . . , n} → {1, . . . , n} and ε: {1, . . . , n} → B, encoded using fresh atoms γi,j and<br />

εi. The underlying idea is that for <strong>the</strong> comparison [s1, . . . , sn](> = pop∗)mul[t1, . . . , tn] to<br />

hold, every term tj has to be covered by some term si (encoded as γij = true), ei<strong>the</strong>r by<br />

si = tj (εi = true) or si >pop∗ tj (εi = false). For <strong>the</strong> case si = tj, si must not cover<br />

any element besides tj. To assert a correct encoding <strong>of</strong> (γ, ε), we introduce <strong>the</strong> formula<br />

�(γ, ε)�. By means <strong>of</strong> multiset covers we are able to encode case 〈4〉 using one multiset<br />

comparison. We define<br />

�f(s1, . . . , sn) > (4)<br />

pop∗ f(t1, . . . , tn)�α =<br />

(labα,s ↔ labα,t) ∧ �(γ, ε)� ∧<br />

∧<br />

n�<br />

i=1 j=1<br />

n� � �<br />

NRM(flabα,s, i) ∧ ¬εi<br />

i=1<br />

n� �<br />

γi,j → � (SF(flabα,s, i) ↔ SF(flabα,t, j))<br />

∧ (εi → �si = tj�) ∧ (¬εi → �si >pop∗ tj�α) ��<br />

where we restrict comparisons <strong>of</strong> arguments by <strong>the</strong>ir kind. Assuming STRICT(R) and<br />

SMSL(R) cover <strong>the</strong> restrictions on <strong>the</strong> precedence and safe mapping, satisfiability <strong>of</strong><br />

POP ∗ SL(R) = � �<br />

�l >pop∗ r�α ∧ SM(R) ∧ STRICT(R) ∧ LAB(R)<br />

α<br />

l→r∈R<br />

certifies <strong>the</strong> existence <strong>of</strong> a model B and labeling ℓ such that <strong>the</strong> rewrite system<br />

R ′ lab = Rlab ∪ {fa(x1, . . . , xn) → c | f ∈ D(R) and fa ∈ C(Rlab)}<br />

is compatible with >pop∗. Since every rewrite sequence in R translates to a sequence in<br />

Rlab, by Theorem 4 it is an easy exercise to pro<strong>of</strong> <strong>the</strong> following lemma:<br />

Lemma 6 Let R be a finite, constructor TRS and assume POP∗ SL (R) is satisfiable. Then<br />

<strong>the</strong> induced runtime complexity is polynomial.<br />

3 Experimental Results<br />

<strong>Proceedings</strong> <strong>of</strong> <strong>the</strong> <strong>13</strong> th <strong>ESSLLI</strong> <strong>Student</strong> <strong>Session</strong><br />

We implemented <strong>the</strong> encoding <strong>of</strong> POP ∗ with semantic labeling (denoted by POP ∗ SL )<br />

in OCaml and compare it to <strong>the</strong> implementation without labeling from (Avanzini and<br />

Moser, 2008) (denoted by POP ∗ ) and an implementation <strong>of</strong> a restricted class <strong>of</strong> polynomial<br />

interpretations (denoted by SMC). To check satisfiability <strong>of</strong> <strong>the</strong> obtained formulas<br />

we employ <strong>the</strong> MiniSat SAT-solver (Eén and Sörensson, 2003).<br />

SMC refers to a restrictive class polynomial interpretations: Every constructor symbol<br />

is interpreted by a strongly linear polynomial, i.e. a polynomial <strong>of</strong> shape P (x1, . . . , xn) =<br />

Σ n i=1xi + c with c ∈ N, c � 1. Fur<strong>the</strong>rmore, each defined symbol is interpreted by a<br />

simple-mixed polynomial P (x1, . . . , xn) = Σij∈0,1ai1...inx i1<br />

1 . . . x in<br />

n + Σ n i=1bix 2 i with coefficients<br />

in N. For this class <strong>of</strong> polynomial interpretations it is trivial to check that <strong>the</strong>y<br />

induce polynomial bounds on <strong>the</strong> runtime complexity. To find <strong>the</strong>se interpretations automatically<br />

we employ cdiprover3 (Moser and Schnabl, 2008).<br />

12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!