0 CpxTRS
↳1 TrsToWeightedTrsProof (BOTH BOUNDS(ID, ID), 0 ms)
↳2 CpxWeightedTrs
↳3 TypeInferenceProof (BOTH BOUNDS(ID, ID), 0 ms)
↳4 CpxTypedWeightedTrs
↳5 CompletionProof (UPPER BOUND(ID), 0 ms)
↳6 CpxTypedWeightedCompleteTrs
↳7 NarrowingProof (BOTH BOUNDS(ID, ID), 16 ms)
↳8 CpxTypedWeightedCompleteTrs
↳9 CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID), 0 ms)
↳10 CpxRNTS
↳11 InliningProof (UPPER BOUND(ID), 897 ms)
↳12 CpxRNTS
↳13 SimplificationProof (BOTH BOUNDS(ID, ID), 10 ms)
↳14 CpxRNTS
↳15 CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID), 0 ms)
↳16 CpxRNTS
↳17 IntTrsBoundProof (UPPER BOUND(ID), 314 ms)
↳18 CpxRNTS
↳19 IntTrsBoundProof (UPPER BOUND(ID), 103 ms)
↳20 CpxRNTS
↳21 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳22 CpxRNTS
↳23 IntTrsBoundProof (UPPER BOUND(ID), 399 ms)
↳24 CpxRNTS
↳25 IntTrsBoundProof (UPPER BOUND(ID), 147 ms)
↳26 CpxRNTS
↳27 ResultPropagationProof (UPPER BOUND(ID), 2 ms)
↳28 CpxRNTS
↳29 IntTrsBoundProof (UPPER BOUND(ID), 146 ms)
↳30 CpxRNTS
↳31 IntTrsBoundProof (UPPER BOUND(ID), 107 ms)
↳32 CpxRNTS
↳33 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳34 CpxRNTS
↳35 IntTrsBoundProof (UPPER BOUND(ID), 267 ms)
↳36 CpxRNTS
↳37 IntTrsBoundProof (UPPER BOUND(ID), 94 ms)
↳38 CpxRNTS
↳39 ResultPropagationProof (UPPER BOUND(ID), 2 ms)
↳40 CpxRNTS
↳41 IntTrsBoundProof (UPPER BOUND(ID), 396 ms)
↳42 CpxRNTS
↳43 IntTrsBoundProof (UPPER BOUND(ID), 107 ms)
↳44 CpxRNTS
↳45 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳46 CpxRNTS
↳47 IntTrsBoundProof (UPPER BOUND(ID), 2912 ms)
↳48 CpxRNTS
↳49 IntTrsBoundProof (UPPER BOUND(ID), 1564 ms)
↳50 CpxRNTS
↳51 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳52 CpxRNTS
↳53 IntTrsBoundProof (UPPER BOUND(ID), 1548 ms)
↳54 CpxRNTS
↳55 IntTrsBoundProof (UPPER BOUND(ID), 1137 ms)
↳56 CpxRNTS
↳57 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳58 CpxRNTS
↳59 IntTrsBoundProof (UPPER BOUND(ID), 501 ms)
↳60 CpxRNTS
↳61 IntTrsBoundProof (UPPER BOUND(ID), 51 ms)
↳62 CpxRNTS
↳63 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳64 CpxRNTS
↳65 IntTrsBoundProof (UPPER BOUND(ID), 216 ms)
↳66 CpxRNTS
↳67 IntTrsBoundProof (UPPER BOUND(ID), 9 ms)
↳68 CpxRNTS
↳69 FinalProof (⇔, 0 ms)
↳70 BOUNDS(1, n^2)
if(true, t, e) → t
if(false, t, e) → e
member(x, nil) → false
member(x, cons(y, ys)) → if(eq(x, y), true, member(x, ys))
eq(nil, nil) → true
eq(O(x), 0(y)) → eq(x, y)
eq(0(x), 1(y)) → false
eq(1(x), 0(y)) → false
eq(1(x), 1(y)) → eq(x, y)
negate(0(x)) → 1(x)
negate(1(x)) → 0(x)
choice(cons(x, xs)) → x
choice(cons(x, xs)) → choice(xs)
guess(nil) → nil
guess(cons(clause, cnf)) → cons(choice(clause), guess(cnf))
verify(nil) → true
verify(cons(l, ls)) → if(member(negate(l), ls), false, verify(ls))
sat(cnf) → satck(cnf, guess(cnf))
satck(cnf, assign) → if(verify(assign), assign, unsat)
if(true, t, e) → t [1]
if(false, t, e) → e [1]
member(x, nil) → false [1]
member(x, cons(y, ys)) → if(eq(x, y), true, member(x, ys)) [1]
eq(nil, nil) → true [1]
eq(O(x), 0(y)) → eq(x, y) [1]
eq(0(x), 1(y)) → false [1]
eq(1(x), 0(y)) → false [1]
eq(1(x), 1(y)) → eq(x, y) [1]
negate(0(x)) → 1(x) [1]
negate(1(x)) → 0(x) [1]
choice(cons(x, xs)) → x [1]
choice(cons(x, xs)) → choice(xs) [1]
guess(nil) → nil [1]
guess(cons(clause, cnf)) → cons(choice(clause), guess(cnf)) [1]
verify(nil) → true [1]
verify(cons(l, ls)) → if(member(negate(l), ls), false, verify(ls)) [1]
sat(cnf) → satck(cnf, guess(cnf)) [1]
satck(cnf, assign) → if(verify(assign), assign, unsat) [1]
if(true, t, e) → t [1]
if(false, t, e) → e [1]
member(x, nil) → false [1]
member(x, cons(y, ys)) → if(eq(x, y), true, member(x, ys)) [1]
eq(nil, nil) → true [1]
eq(O(x), 0(y)) → eq(x, y) [1]
eq(0(x), 1(y)) → false [1]
eq(1(x), 0(y)) → false [1]
eq(1(x), 1(y)) → eq(x, y) [1]
negate(0(x)) → 1(x) [1]
negate(1(x)) → 0(x) [1]
choice(cons(x, xs)) → x [1]
choice(cons(x, xs)) → choice(xs) [1]
guess(nil) → nil [1]
guess(cons(clause, cnf)) → cons(choice(clause), guess(cnf)) [1]
verify(nil) → true [1]
verify(cons(l, ls)) → if(member(negate(l), ls), false, verify(ls)) [1]
sat(cnf) → satck(cnf, guess(cnf)) [1]
satck(cnf, assign) → if(verify(assign), assign, unsat) [1]
if :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat true :: true:false:nil:cons:O:0:1:unsat false :: true:false:nil:cons:O:0:1:unsat member :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat nil :: true:false:nil:cons:O:0:1:unsat cons :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat eq :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat O :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat 0 :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat 1 :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat negate :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat choice :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat guess :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat verify :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat sat :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat satck :: true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat → true:false:nil:cons:O:0:1:unsat unsat :: true:false:nil:cons:O:0:1:unsat |
(a) The obligation is a constructor system where every type has a constant constructor,
(b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols:
sat
satck
verify
member
negate
eq
guess
if
choice
verify(v0) → null_verify [0]
member(v0, v1) → null_member [0]
negate(v0) → null_negate [0]
eq(v0, v1) → null_eq [0]
guess(v0) → null_guess [0]
if(v0, v1, v2) → null_if [0]
choice(v0) → null_choice [0]
null_verify, null_member, null_negate, null_eq, null_guess, null_if, null_choice
Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules:
The TRS has the following type information:
Rewrite Strategy: INNERMOST |
Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules:
The TRS has the following type information:
Rewrite Strategy: INNERMOST |
true => 2
false => 0
nil => 1
unsat => 3
null_verify => 0
null_member => 0
null_negate => 0
null_eq => 0
null_guess => 0
null_if => 0
null_choice => 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ choice(xs) :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
eq(z, z') -{ 1 }→ eq(x, y) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x
eq(z, z') -{ 0 }→ 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
guess(z) -{ 1 }→ 1 + choice(clause) + guess(cnf) :|: cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ e :|: z' = t, t >= 0, e >= 0, z = 0, z'' = e
if(z, z', z'') -{ 1 }→ t :|: z = 2, z' = t, t >= 0, e >= 0, z'' = e
if(z, z', z'') -{ 0 }→ 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0
member(z, z') -{ 3 }→ if(eq(x', y'), 2, if(eq(1 + x', y4), 2, member(1 + x', ys''))) :|: z = 1 + x', z' = 1 + (1 + y') + (1 + y4 + ys''), x' >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 3 }→ if(eq(x', y'), 2, 0) :|: z = 1 + x', x' >= 0, y' >= 0, z' = 1 + (1 + y') + 1
member(z, z') -{ 2 }→ if(eq(x', y'), 2, 0) :|: z = 1 + x', z' = 1 + (1 + y') + ys, ys >= 0, x' >= 0, y' >= 0
member(z, z') -{ 3 }→ if(eq(x2, y2), 2, if(eq(1 + x2, y7), 2, member(1 + x2, ys3))) :|: z = 1 + x2, y7 >= 0, ys3 >= 0, y2 >= 0, x2 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 3 }→ if(eq(x2, y2), 2, 0) :|: z = 1 + x2, z' = 1 + (1 + y2) + 1, y2 >= 0, x2 >= 0
member(z, z') -{ 2 }→ if(eq(x2, y2), 2, 0) :|: z' = 1 + (1 + y2) + ys, ys >= 0, z = 1 + x2, y2 >= 0, x2 >= 0
member(z, z') -{ 3 }→ if(2, 2, if(eq(1, y3), 2, member(1, ys'))) :|: z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 }→ if(2, 2, 0) :|: z' = 1 + 1 + 1, z = 1
member(z, z') -{ 2 }→ if(2, 2, 0) :|: z = 1, ys >= 0, z' = 1 + 1 + ys
member(z, z') -{ 2 }→ if(0, 2, if(eq(x, y8), 2, member(x, ys4))) :|: z' = 1 + y + (1 + y8 + ys4), y8 >= 0, x >= 0, y >= 0, ys4 >= 0, z = x
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + x'', y5), 2, member(1 + x'', ys1))) :|: z = 1 + x'', y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, x'' >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + x1, y6), 2, member(1 + x1, ys2))) :|: y1 >= 0, x1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, z = 1 + x1, ys2 >= 0
member(z, z') -{ 3 }→ if(0, 2, 0) :|: z = 1 + x'', z' = 1 + (1 + y'') + 1, y'' >= 0, x'' >= 0
member(z, z') -{ 2 }→ if(0, 2, 0) :|: z = 1 + x'', z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, x'' >= 0
member(z, z') -{ 3 }→ if(0, 2, 0) :|: y1 >= 0, x1 >= 0, z' = 1 + (1 + y1) + 1, z = 1 + x1
member(z, z') -{ 2 }→ if(0, 2, 0) :|: y1 >= 0, x1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, z = 1 + x1
member(z, z') -{ 2 }→ if(0, 2, 0) :|: z' = 1 + y + 1, x >= 0, y >= 0, z = x
member(z, z') -{ 1 }→ if(0, 2, 0) :|: ys >= 0, x >= 0, y >= 0, z = x, z' = 1 + y + ys
member(z, z') -{ 1 }→ 0 :|: x >= 0, z' = 1, z = x
member(z, z') -{ 0 }→ 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1
negate(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
negate(z) -{ 1 }→ 1 + x :|: x >= 0, z = 1 + x
sat(z) -{ 1 }→ satck(cnf, 0) :|: cnf >= 0, z = cnf
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 2 }→ satck(1 + clause' + cnf', 1 + choice(clause') + guess(cnf')) :|: clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ if(if(member(negate(l2), ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, cnf >= 0, z = cnf, l2 >= 0, ls2 >= 0
satck(z, z') -{ 2 }→ if(2, 1, 3) :|: cnf >= 0, z' = 1, z = cnf
satck(z, z') -{ 1 }→ if(0, assign, 3) :|: cnf >= 0, z' = assign, z = cnf, assign >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z = 1 + l + 1, l >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(negate(l1), ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1), 0, 2) :|: z = 1 + (1 + x3) + 1, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(negate(l'), ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1), 0, 2) :|: x4 >= 0, z = 1 + (1 + x4) + 1
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(negate(l''), ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
if(z, z', z'') -{ 1 }→ t :|: z = 2, z' = t, t >= 0, e >= 0, z'' = e
if(z, z', z'') -{ 1 }→ e :|: z' = t, t >= 0, e >= 0, z = 0, z'' = e
if(z, z', z'') -{ 0 }→ 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0
negate(z) -{ 1 }→ 1 + x :|: x >= 0, z = 1 + x
negate(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ choice(xs) :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
eq(z, z') -{ 1 }→ eq(x, y) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x
eq(z, z') -{ 0 }→ 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
guess(z) -{ 1 }→ 1 + choice(clause) + guess(cnf) :|: cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ e :|: z' = t, t >= 0, e >= 0, z = 0, z'' = e
if(z, z', z'') -{ 1 }→ t :|: z = 2, z' = t, t >= 0, e >= 0, z'' = e
if(z, z', z'') -{ 0 }→ 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0
member(z, z') -{ 4 }→ e :|: z = 1 + x'', z' = 1 + (1 + y'') + 1, y'' >= 0, x'' >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z = 1 + x'', z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, x'' >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ e :|: y1 >= 0, x1 >= 0, z' = 1 + (1 + y1) + 1, z = 1 + x1, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, x1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, z = 1 + x1, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + y + 1, x >= 0, y >= 0, z = x, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, x >= 0, y >= 0, z = x, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, ys >= 0, z' = 1 + 1 + ys, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ if(eq(x', y'), 2, if(eq(1 + x', y4), 2, member(1 + x', ys''))) :|: z = 1 + x', z' = 1 + (1 + y') + (1 + y4 + ys''), x' >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 3 }→ if(eq(x', y'), 2, 0) :|: z = 1 + x', x' >= 0, y' >= 0, z' = 1 + (1 + y') + 1
member(z, z') -{ 2 }→ if(eq(x', y'), 2, 0) :|: z = 1 + x', z' = 1 + (1 + y') + ys, ys >= 0, x' >= 0, y' >= 0
member(z, z') -{ 3 }→ if(eq(x2, y2), 2, if(eq(1 + x2, y7), 2, member(1 + x2, ys3))) :|: z = 1 + x2, y7 >= 0, ys3 >= 0, y2 >= 0, x2 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 3 }→ if(eq(x2, y2), 2, 0) :|: z = 1 + x2, z' = 1 + (1 + y2) + 1, y2 >= 0, x2 >= 0
member(z, z') -{ 2 }→ if(eq(x2, y2), 2, 0) :|: z' = 1 + (1 + y2) + ys, ys >= 0, z = 1 + x2, y2 >= 0, x2 >= 0
member(z, z') -{ 3 }→ if(2, 2, if(eq(1, y3), 2, member(1, ys'))) :|: z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 2 }→ if(0, 2, if(eq(x, y8), 2, member(x, ys4))) :|: z' = 1 + y + (1 + y8 + ys4), y8 >= 0, x >= 0, y >= 0, ys4 >= 0, z = x
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + x'', y5), 2, member(1 + x'', ys1))) :|: z = 1 + x'', y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, x'' >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + x1, y6), 2, member(1 + x1, ys2))) :|: y1 >= 0, x1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, z = 1 + x1, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: x >= 0, z' = 1, z = x
member(z, z') -{ 0 }→ 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, ys >= 0, z' = 1 + 1 + ys, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z = 1 + x'', z' = 1 + (1 + y'') + 1, y'' >= 0, x'' >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1 + x'', z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, x'' >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: y1 >= 0, x1 >= 0, z' = 1 + (1 + y1) + 1, z = 1 + x1, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, x1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, z = 1 + x1, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + y + 1, x >= 0, y >= 0, z = x, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, x >= 0, y >= 0, z = x, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
negate(z) -{ 1 }→ 1 + x :|: x >= 0, z = 1 + x
sat(z) -{ 1 }→ satck(cnf, 0) :|: cnf >= 0, z = cnf
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 2 }→ satck(1 + clause' + cnf', 1 + choice(clause') + guess(cnf')) :|: clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: cnf >= 0, z' = assign, z = cnf, assign >= 0, assign = t, t >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: cnf >= 0, z' = 1, z = cnf, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, cnf >= 0, z = cnf, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, cnf >= 0, z = cnf, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: cnf >= 0, z' = 1, z = cnf, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: cnf >= 0, z' = assign, z = cnf, assign >= 0, v0 >= 0, 3 = v2, v1 >= 0, 0 = v0, assign = v1, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z = 1 + l + 1, l >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1), 0, 2) :|: z = 1 + (1 + x3) + 1, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1), 0, 2) :|: x4 >= 0, z = 1 + (1 + x4) + 1
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ choice(xs) :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 }→ eq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 1 }→ 1 + choice(clause) + guess(cnf) :|: cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ if(eq(z - 1, y'), 2, if(eq(1 + (z - 1), y4), 2, member(1 + (z - 1), ys''))) :|: z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 2 }→ if(eq(z - 1, y'), 2, 0) :|: z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, y2), 2, if(eq(1 + (z - 1), y7), 2, member(1 + (z - 1), ys3))) :|: y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 2 }→ if(eq(z - 1, y2), 2, 0) :|: z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, z' - 3), 2, 0) :|: z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 3 }→ if(2, 2, if(eq(1, y3), 2, member(1, ys'))) :|: z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 2 }→ if(0, 2, if(eq(z, y8), 2, member(z, ys4))) :|: z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y5), 2, member(1 + (z - 1), ys1))) :|: y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y6), 2, member(1 + (z - 1), ys2))) :|: y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 2 }→ satck(1 + clause' + cnf', 1 + choice(clause') + guess(cnf')) :|: clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
{ choice } { eq } { negate } { if } { guess } { member } { verify } { satck } { sat } |
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ choice(xs) :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 }→ eq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 1 }→ 1 + choice(clause) + guess(cnf) :|: cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ if(eq(z - 1, y'), 2, if(eq(1 + (z - 1), y4), 2, member(1 + (z - 1), ys''))) :|: z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 2 }→ if(eq(z - 1, y'), 2, 0) :|: z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, y2), 2, if(eq(1 + (z - 1), y7), 2, member(1 + (z - 1), ys3))) :|: y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 2 }→ if(eq(z - 1, y2), 2, 0) :|: z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, z' - 3), 2, 0) :|: z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 3 }→ if(2, 2, if(eq(1, y3), 2, member(1, ys'))) :|: z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 2 }→ if(0, 2, if(eq(z, y8), 2, member(z, ys4))) :|: z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y5), 2, member(1 + (z - 1), ys1))) :|: y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y6), 2, member(1 + (z - 1), ys2))) :|: y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 2 }→ satck(1 + clause' + cnf', 1 + choice(clause') + guess(cnf')) :|: clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ choice(xs) :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 }→ eq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 1 }→ 1 + choice(clause) + guess(cnf) :|: cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ if(eq(z - 1, y'), 2, if(eq(1 + (z - 1), y4), 2, member(1 + (z - 1), ys''))) :|: z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 2 }→ if(eq(z - 1, y'), 2, 0) :|: z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, y2), 2, if(eq(1 + (z - 1), y7), 2, member(1 + (z - 1), ys3))) :|: y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 2 }→ if(eq(z - 1, y2), 2, 0) :|: z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, z' - 3), 2, 0) :|: z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 3 }→ if(2, 2, if(eq(1, y3), 2, member(1, ys'))) :|: z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 2 }→ if(0, 2, if(eq(z, y8), 2, member(z, ys4))) :|: z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y5), 2, member(1 + (z - 1), ys1))) :|: y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y6), 2, member(1 + (z - 1), ys2))) :|: y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 2 }→ satck(1 + clause' + cnf', 1 + choice(clause') + guess(cnf')) :|: clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: ?, size: O(n1) [z] |
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ choice(xs) :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 }→ eq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 1 }→ 1 + choice(clause) + guess(cnf) :|: cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ if(eq(z - 1, y'), 2, if(eq(1 + (z - 1), y4), 2, member(1 + (z - 1), ys''))) :|: z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 2 }→ if(eq(z - 1, y'), 2, 0) :|: z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, y2), 2, if(eq(1 + (z - 1), y7), 2, member(1 + (z - 1), ys3))) :|: y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 2 }→ if(eq(z - 1, y2), 2, 0) :|: z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, z' - 3), 2, 0) :|: z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 3 }→ if(2, 2, if(eq(1, y3), 2, member(1, ys'))) :|: z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 2 }→ if(0, 2, if(eq(z, y8), 2, member(z, ys4))) :|: z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y5), 2, member(1 + (z - 1), ys1))) :|: y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y6), 2, member(1 + (z - 1), ys2))) :|: y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 2 }→ satck(1 + clause' + cnf', 1 + choice(clause') + guess(cnf')) :|: clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 }→ eq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ if(eq(z - 1, y'), 2, if(eq(1 + (z - 1), y4), 2, member(1 + (z - 1), ys''))) :|: z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 2 }→ if(eq(z - 1, y'), 2, 0) :|: z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, y2), 2, if(eq(1 + (z - 1), y7), 2, member(1 + (z - 1), ys3))) :|: y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 2 }→ if(eq(z - 1, y2), 2, 0) :|: z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, z' - 3), 2, 0) :|: z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 3 }→ if(2, 2, if(eq(1, y3), 2, member(1, ys'))) :|: z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 2 }→ if(0, 2, if(eq(z, y8), 2, member(z, ys4))) :|: z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y5), 2, member(1 + (z - 1), ys1))) :|: y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y6), 2, member(1 + (z - 1), ys2))) :|: y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 }→ eq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ if(eq(z - 1, y'), 2, if(eq(1 + (z - 1), y4), 2, member(1 + (z - 1), ys''))) :|: z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 2 }→ if(eq(z - 1, y'), 2, 0) :|: z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, y2), 2, if(eq(1 + (z - 1), y7), 2, member(1 + (z - 1), ys3))) :|: y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 2 }→ if(eq(z - 1, y2), 2, 0) :|: z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, z' - 3), 2, 0) :|: z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 3 }→ if(2, 2, if(eq(1, y3), 2, member(1, ys'))) :|: z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 2 }→ if(0, 2, if(eq(z, y8), 2, member(z, ys4))) :|: z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y5), 2, member(1 + (z - 1), ys1))) :|: y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y6), 2, member(1 + (z - 1), ys2))) :|: y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: ?, size: O(1) [2] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 }→ eq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ if(eq(z - 1, y'), 2, if(eq(1 + (z - 1), y4), 2, member(1 + (z - 1), ys''))) :|: z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 2 }→ if(eq(z - 1, y'), 2, 0) :|: z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, y2), 2, if(eq(1 + (z - 1), y7), 2, member(1 + (z - 1), ys3))) :|: y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 2 }→ if(eq(z - 1, y2), 2, 0) :|: z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(eq(z - 1, z' - 3), 2, 0) :|: z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 3 }→ if(2, 2, if(eq(1, y3), 2, member(1, ys'))) :|: z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 2 }→ if(0, 2, if(eq(z, y8), 2, member(z, ys4))) :|: z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y5), 2, member(1 + (z - 1), ys1))) :|: y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 3 }→ if(0, 2, if(eq(1 + (z - 1), y6), 2, member(1 + (z - 1), ys2))) :|: y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 + y2 }→ if(s11, 2, 0) :|: s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 1 + z' }→ if(s3, 2, 0) :|: s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 3 + y' }→ if(s6, 2, 0) :|: s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 + y2 }→ if(s11, 2, 0) :|: s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 1 + z' }→ if(s3, 2, 0) :|: s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 3 + y' }→ if(s6, 2, 0) :|: s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: ?, size: O(n1) [z] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 + y2 }→ if(s11, 2, 0) :|: s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 1 + z' }→ if(s3, 2, 0) :|: s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 3 + y' }→ if(s6, 2, 0) :|: s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 + y2 }→ if(s11, 2, 0) :|: s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 1 + z' }→ if(s3, 2, 0) :|: s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 3 + y' }→ if(s6, 2, 0) :|: s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 + y2 }→ if(s11, 2, 0) :|: s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 1 + z' }→ if(s3, 2, 0) :|: s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 3 + y' }→ if(s6, 2, 0) :|: s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: ?, size: O(n1) [z' + z''] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 + y2 }→ if(s11, 2, 0) :|: s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 1 + z' }→ if(s3, 2, 0) :|: s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 3 + y' }→ if(s6, 2, 0) :|: s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: ?, size: O(n1) [z] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 2 + clause }→ 1 + s' + guess(cnf) :|: s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 3 + clause' }→ satck(1 + clause' + cnf', 1 + s'' + guess(cnf')) :|: s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 6 + clause' + 2·cnf' }→ satck(1 + clause' + cnf', 1 + s'' + s17) :|: s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 6 + clause' + 2·cnf' }→ satck(1 + clause' + cnf', 1 + s'' + s17) :|: s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] member: runtime: ?, size: O(n1) [2·z'] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 5 + y' + y4 }→ if(s4, 2, if(s5, 2, member(1 + (z - 1), ys''))) :|: s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 5 + y2 + y7 }→ if(s9, 2, if(s10, 2, member(1 + (z - 1), ys3))) :|: s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 4 + y3 }→ if(2, 2, if(s2, 2, member(1, ys'))) :|: s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 3 + y8 }→ if(0, 2, if(s12, 2, member(z, ys4))) :|: s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 + y5 }→ if(0, 2, if(s7, 2, member(1 + (z - 1), ys1))) :|: s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 4 + y6 }→ if(0, 2, if(s8, 2, member(1 + (z - 1), ys2))) :|: s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 6 + clause' + 2·cnf' }→ satck(1 + clause' + cnf', 1 + s'' + s17) :|: s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ if(if(member(0, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ if(if(member(1 + x, ls2), 0, verify(ls2)), 1 + l2 + ls2, 3) :|: z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 1 }→ if(member(0, ls), 0, 0) :|: l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 2 }→ if(member(0, 1), 0, 2) :|: z - 2 >= 0
verify(z) -{ 2 }→ if(member(0, 1 + l1 + ls1), 0, if(member(0, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 3 }→ if(member(0, 1 + l1 + ls1), 0, if(member(1 + x, ls1), 0, verify(ls1))) :|: z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 2 }→ if(member(1 + x3, ls), 0, 0) :|: z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 3 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(0, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 4 }→ if(member(1 + x3, 1 + l' + ls'), 0, if(member(1 + x, ls'), 0, verify(ls'))) :|: ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 2 }→ if(member(1 + x4, ls), 0, 0) :|: x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 3 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(0, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 4 }→ if(member(1 + x4, 1 + l'' + ls''), 0, if(member(1 + x, ls''), 0, verify(ls''))) :|: x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 3 }→ if(member(1 + (z - 3), 1), 0, 2) :|: z - 3 >= 0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] member: runtime: O(n1) [31 + 16·z'], size: O(n1) [2·z'] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 37 + y3 + 16·ys' }→ s20 :|: s18 >= 0, s18 <= 2 * ys', s19 >= 0, s19 <= 1 * s18 + 1 * 2, s20 >= 0, s20 <= 1 * s19 + 1 * 2, s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 38 + y' + y4 + 16·ys'' }→ s23 :|: s21 >= 0, s21 <= 2 * ys'', s22 >= 0, s22 <= 1 * s21 + 1 * 2, s23 >= 0, s23 <= 1 * s22 + 1 * 2, s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 37 + y5 + 16·ys1 }→ s26 :|: s24 >= 0, s24 <= 2 * ys1, s25 >= 0, s25 <= 1 * s24 + 1 * 2, s26 >= 0, s26 <= 1 * s25 + 1 * 2, s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 37 + y6 + 16·ys2 }→ s29 :|: s27 >= 0, s27 <= 2 * ys2, s28 >= 0, s28 <= 1 * s27 + 1 * 2, s29 >= 0, s29 <= 1 * s28 + 1 * 2, s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 38 + y2 + y7 + 16·ys3 }→ s32 :|: s30 >= 0, s30 <= 2 * ys3, s31 >= 0, s31 <= 1 * s30 + 1 * 2, s32 >= 0, s32 <= 1 * s31 + 1 * 2, s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 36 + y8 + 16·ys4 }→ s35 :|: s33 >= 0, s33 <= 2 * ys4, s34 >= 0, s34 <= 1 * s33 + 1 * 2, s35 >= 0, s35 <= 1 * s34 + 1 * 2, s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 6 + clause' + 2·cnf' }→ satck(1 + clause' + cnf', 1 + s'' + s17) :|: s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 34 + 16·ls2 }→ if(if(s58, 0, verify(ls2)), 1 + l2 + ls2, 3) :|: s58 >= 0, s58 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 33 + 16·ls2 }→ if(if(s59, 0, verify(ls2)), 1 + l2 + ls2, 3) :|: s59 >= 0, s59 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 51 }→ s37 :|: s36 >= 0, s36 <= 2 * 1, s37 >= 0, s37 <= 1 * 2 + 1 * 0, z - 3 >= 0
verify(z) -{ 34 + 16·ls }→ s39 :|: s38 >= 0, s38 <= 2 * ls, s39 >= 0, s39 <= 1 * 0 + 1 * 0, z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 34 + 16·ls }→ s41 :|: s40 >= 0, s40 <= 2 * ls, s41 >= 0, s41 <= 1 * 0 + 1 * 0, x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 50 }→ s43 :|: s42 >= 0, s42 <= 2 * 1, s43 >= 0, s43 <= 1 * 2 + 1 * 0, z - 2 >= 0
verify(z) -{ 33 + 16·ls }→ s45 :|: s44 >= 0, s44 <= 2 * ls, s45 >= 0, s45 <= 1 * 0 + 1 * 0, l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 82 + 16·l' + 32·ls' }→ if(s46, 0, if(s47, 0, verify(ls'))) :|: s46 >= 0, s46 <= 2 * (1 + l' + ls'), s47 >= 0, s47 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 81 + 16·l' + 32·ls' }→ if(s48, 0, if(s49, 0, verify(ls'))) :|: s48 >= 0, s48 <= 2 * (1 + l' + ls'), s49 >= 0, s49 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 82 + 16·l'' + 32·ls'' }→ if(s50, 0, if(s51, 0, verify(ls''))) :|: s50 >= 0, s50 <= 2 * (1 + l'' + ls''), s51 >= 0, s51 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 81 + 16·l'' + 32·ls'' }→ if(s52, 0, if(s53, 0, verify(ls''))) :|: s52 >= 0, s52 <= 2 * (1 + l'' + ls''), s53 >= 0, s53 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 81 + 16·l1 + 32·ls1 }→ if(s54, 0, if(s55, 0, verify(ls1))) :|: s54 >= 0, s54 <= 2 * (1 + l1 + ls1), s55 >= 0, s55 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 80 + 16·l1 + 32·ls1 }→ if(s56, 0, if(s57, 0, verify(ls1))) :|: s56 >= 0, s56 <= 2 * (1 + l1 + ls1), s57 >= 0, s57 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] member: runtime: O(n1) [31 + 16·z'], size: O(n1) [2·z'] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 37 + y3 + 16·ys' }→ s20 :|: s18 >= 0, s18 <= 2 * ys', s19 >= 0, s19 <= 1 * s18 + 1 * 2, s20 >= 0, s20 <= 1 * s19 + 1 * 2, s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 38 + y' + y4 + 16·ys'' }→ s23 :|: s21 >= 0, s21 <= 2 * ys'', s22 >= 0, s22 <= 1 * s21 + 1 * 2, s23 >= 0, s23 <= 1 * s22 + 1 * 2, s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 37 + y5 + 16·ys1 }→ s26 :|: s24 >= 0, s24 <= 2 * ys1, s25 >= 0, s25 <= 1 * s24 + 1 * 2, s26 >= 0, s26 <= 1 * s25 + 1 * 2, s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 37 + y6 + 16·ys2 }→ s29 :|: s27 >= 0, s27 <= 2 * ys2, s28 >= 0, s28 <= 1 * s27 + 1 * 2, s29 >= 0, s29 <= 1 * s28 + 1 * 2, s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 38 + y2 + y7 + 16·ys3 }→ s32 :|: s30 >= 0, s30 <= 2 * ys3, s31 >= 0, s31 <= 1 * s30 + 1 * 2, s32 >= 0, s32 <= 1 * s31 + 1 * 2, s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 36 + y8 + 16·ys4 }→ s35 :|: s33 >= 0, s33 <= 2 * ys4, s34 >= 0, s34 <= 1 * s33 + 1 * 2, s35 >= 0, s35 <= 1 * s34 + 1 * 2, s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 6 + clause' + 2·cnf' }→ satck(1 + clause' + cnf', 1 + s'' + s17) :|: s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 34 + 16·ls2 }→ if(if(s58, 0, verify(ls2)), 1 + l2 + ls2, 3) :|: s58 >= 0, s58 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 33 + 16·ls2 }→ if(if(s59, 0, verify(ls2)), 1 + l2 + ls2, 3) :|: s59 >= 0, s59 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 51 }→ s37 :|: s36 >= 0, s36 <= 2 * 1, s37 >= 0, s37 <= 1 * 2 + 1 * 0, z - 3 >= 0
verify(z) -{ 34 + 16·ls }→ s39 :|: s38 >= 0, s38 <= 2 * ls, s39 >= 0, s39 <= 1 * 0 + 1 * 0, z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 34 + 16·ls }→ s41 :|: s40 >= 0, s40 <= 2 * ls, s41 >= 0, s41 <= 1 * 0 + 1 * 0, x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 50 }→ s43 :|: s42 >= 0, s42 <= 2 * 1, s43 >= 0, s43 <= 1 * 2 + 1 * 0, z - 2 >= 0
verify(z) -{ 33 + 16·ls }→ s45 :|: s44 >= 0, s44 <= 2 * ls, s45 >= 0, s45 <= 1 * 0 + 1 * 0, l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 82 + 16·l' + 32·ls' }→ if(s46, 0, if(s47, 0, verify(ls'))) :|: s46 >= 0, s46 <= 2 * (1 + l' + ls'), s47 >= 0, s47 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 81 + 16·l' + 32·ls' }→ if(s48, 0, if(s49, 0, verify(ls'))) :|: s48 >= 0, s48 <= 2 * (1 + l' + ls'), s49 >= 0, s49 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 82 + 16·l'' + 32·ls'' }→ if(s50, 0, if(s51, 0, verify(ls''))) :|: s50 >= 0, s50 <= 2 * (1 + l'' + ls''), s51 >= 0, s51 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 81 + 16·l'' + 32·ls'' }→ if(s52, 0, if(s53, 0, verify(ls''))) :|: s52 >= 0, s52 <= 2 * (1 + l'' + ls''), s53 >= 0, s53 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 81 + 16·l1 + 32·ls1 }→ if(s54, 0, if(s55, 0, verify(ls1))) :|: s54 >= 0, s54 <= 2 * (1 + l1 + ls1), s55 >= 0, s55 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 80 + 16·l1 + 32·ls1 }→ if(s56, 0, if(s57, 0, verify(ls1))) :|: s56 >= 0, s56 <= 2 * (1 + l1 + ls1), s57 >= 0, s57 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] member: runtime: O(n1) [31 + 16·z'], size: O(n1) [2·z'] verify: runtime: ?, size: O(1) [2] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 37 + y3 + 16·ys' }→ s20 :|: s18 >= 0, s18 <= 2 * ys', s19 >= 0, s19 <= 1 * s18 + 1 * 2, s20 >= 0, s20 <= 1 * s19 + 1 * 2, s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 38 + y' + y4 + 16·ys'' }→ s23 :|: s21 >= 0, s21 <= 2 * ys'', s22 >= 0, s22 <= 1 * s21 + 1 * 2, s23 >= 0, s23 <= 1 * s22 + 1 * 2, s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 37 + y5 + 16·ys1 }→ s26 :|: s24 >= 0, s24 <= 2 * ys1, s25 >= 0, s25 <= 1 * s24 + 1 * 2, s26 >= 0, s26 <= 1 * s25 + 1 * 2, s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 37 + y6 + 16·ys2 }→ s29 :|: s27 >= 0, s27 <= 2 * ys2, s28 >= 0, s28 <= 1 * s27 + 1 * 2, s29 >= 0, s29 <= 1 * s28 + 1 * 2, s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 38 + y2 + y7 + 16·ys3 }→ s32 :|: s30 >= 0, s30 <= 2 * ys3, s31 >= 0, s31 <= 1 * s30 + 1 * 2, s32 >= 0, s32 <= 1 * s31 + 1 * 2, s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 36 + y8 + 16·ys4 }→ s35 :|: s33 >= 0, s33 <= 2 * ys4, s34 >= 0, s34 <= 1 * s33 + 1 * 2, s35 >= 0, s35 <= 1 * s34 + 1 * 2, s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 6 + clause' + 2·cnf' }→ satck(1 + clause' + cnf', 1 + s'' + s17) :|: s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 34 + 16·ls2 }→ if(if(s58, 0, verify(ls2)), 1 + l2 + ls2, 3) :|: s58 >= 0, s58 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 33 + 16·ls2 }→ if(if(s59, 0, verify(ls2)), 1 + l2 + ls2, 3) :|: s59 >= 0, s59 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 51 }→ s37 :|: s36 >= 0, s36 <= 2 * 1, s37 >= 0, s37 <= 1 * 2 + 1 * 0, z - 3 >= 0
verify(z) -{ 34 + 16·ls }→ s39 :|: s38 >= 0, s38 <= 2 * ls, s39 >= 0, s39 <= 1 * 0 + 1 * 0, z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 34 + 16·ls }→ s41 :|: s40 >= 0, s40 <= 2 * ls, s41 >= 0, s41 <= 1 * 0 + 1 * 0, x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 50 }→ s43 :|: s42 >= 0, s42 <= 2 * 1, s43 >= 0, s43 <= 1 * 2 + 1 * 0, z - 2 >= 0
verify(z) -{ 33 + 16·ls }→ s45 :|: s44 >= 0, s44 <= 2 * ls, s45 >= 0, s45 <= 1 * 0 + 1 * 0, l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 82 + 16·l' + 32·ls' }→ if(s46, 0, if(s47, 0, verify(ls'))) :|: s46 >= 0, s46 <= 2 * (1 + l' + ls'), s47 >= 0, s47 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 81 + 16·l' + 32·ls' }→ if(s48, 0, if(s49, 0, verify(ls'))) :|: s48 >= 0, s48 <= 2 * (1 + l' + ls'), s49 >= 0, s49 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 82 + 16·l'' + 32·ls'' }→ if(s50, 0, if(s51, 0, verify(ls''))) :|: s50 >= 0, s50 <= 2 * (1 + l'' + ls''), s51 >= 0, s51 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 81 + 16·l'' + 32·ls'' }→ if(s52, 0, if(s53, 0, verify(ls''))) :|: s52 >= 0, s52 <= 2 * (1 + l'' + ls''), s53 >= 0, s53 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 81 + 16·l1 + 32·ls1 }→ if(s54, 0, if(s55, 0, verify(ls1))) :|: s54 >= 0, s54 <= 2 * (1 + l1 + ls1), s55 >= 0, s55 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 80 + 16·l1 + 32·ls1 }→ if(s56, 0, if(s57, 0, verify(ls1))) :|: s56 >= 0, s56 <= 2 * (1 + l1 + ls1), s57 >= 0, s57 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] member: runtime: O(n1) [31 + 16·z'], size: O(n1) [2·z'] verify: runtime: O(n2) [282 + 262·z + 64·z2], size: O(1) [2] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 37 + y3 + 16·ys' }→ s20 :|: s18 >= 0, s18 <= 2 * ys', s19 >= 0, s19 <= 1 * s18 + 1 * 2, s20 >= 0, s20 <= 1 * s19 + 1 * 2, s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 38 + y' + y4 + 16·ys'' }→ s23 :|: s21 >= 0, s21 <= 2 * ys'', s22 >= 0, s22 <= 1 * s21 + 1 * 2, s23 >= 0, s23 <= 1 * s22 + 1 * 2, s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 37 + y5 + 16·ys1 }→ s26 :|: s24 >= 0, s24 <= 2 * ys1, s25 >= 0, s25 <= 1 * s24 + 1 * 2, s26 >= 0, s26 <= 1 * s25 + 1 * 2, s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 37 + y6 + 16·ys2 }→ s29 :|: s27 >= 0, s27 <= 2 * ys2, s28 >= 0, s28 <= 1 * s27 + 1 * 2, s29 >= 0, s29 <= 1 * s28 + 1 * 2, s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 38 + y2 + y7 + 16·ys3 }→ s32 :|: s30 >= 0, s30 <= 2 * ys3, s31 >= 0, s31 <= 1 * s30 + 1 * 2, s32 >= 0, s32 <= 1 * s31 + 1 * 2, s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 36 + y8 + 16·ys4 }→ s35 :|: s33 >= 0, s33 <= 2 * ys4, s34 >= 0, s34 <= 1 * s33 + 1 * 2, s35 >= 0, s35 <= 1 * s34 + 1 * 2, s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 6 + clause' + 2·cnf' }→ satck(1 + clause' + cnf', 1 + s'' + s17) :|: s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 318 + 278·ls2 + 64·ls22 }→ s80 :|: s78 >= 0, s78 <= 2, s79 >= 0, s79 <= 1 * s78 + 1 * 0, s80 >= 0, s80 <= 1 * 3 + 1 * (1 + l2 + ls2), s58 >= 0, s58 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 317 + 278·ls2 + 64·ls22 }→ s83 :|: s81 >= 0, s81 <= 2, s82 >= 0, s82 <= 1 * s81 + 1 * 0, s83 >= 0, s83 <= 1 * 3 + 1 * (1 + l2 + ls2), s59 >= 0, s59 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 51 }→ s37 :|: s36 >= 0, s36 <= 2 * 1, s37 >= 0, s37 <= 1 * 2 + 1 * 0, z - 3 >= 0
verify(z) -{ 34 + 16·ls }→ s39 :|: s38 >= 0, s38 <= 2 * ls, s39 >= 0, s39 <= 1 * 0 + 1 * 0, z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 34 + 16·ls }→ s41 :|: s40 >= 0, s40 <= 2 * ls, s41 >= 0, s41 <= 1 * 0 + 1 * 0, x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 50 }→ s43 :|: s42 >= 0, s42 <= 2 * 1, s43 >= 0, s43 <= 1 * 2 + 1 * 0, z - 2 >= 0
verify(z) -{ 33 + 16·ls }→ s45 :|: s44 >= 0, s44 <= 2 * ls, s45 >= 0, s45 <= 1 * 0 + 1 * 0, l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 366 + 16·l' + 294·ls' + 64·ls'2 }→ s62 :|: s60 >= 0, s60 <= 2, s61 >= 0, s61 <= 1 * s60 + 1 * 0, s62 >= 0, s62 <= 1 * s61 + 1 * 0, s46 >= 0, s46 <= 2 * (1 + l' + ls'), s47 >= 0, s47 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 365 + 16·l' + 294·ls' + 64·ls'2 }→ s65 :|: s63 >= 0, s63 <= 2, s64 >= 0, s64 <= 1 * s63 + 1 * 0, s65 >= 0, s65 <= 1 * s64 + 1 * 0, s48 >= 0, s48 <= 2 * (1 + l' + ls'), s49 >= 0, s49 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 366 + 16·l'' + 294·ls'' + 64·ls''2 }→ s68 :|: s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 1 * s66 + 1 * 0, s68 >= 0, s68 <= 1 * s67 + 1 * 0, s50 >= 0, s50 <= 2 * (1 + l'' + ls''), s51 >= 0, s51 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 365 + 16·l'' + 294·ls'' + 64·ls''2 }→ s71 :|: s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 1 * s69 + 1 * 0, s71 >= 0, s71 <= 1 * s70 + 1 * 0, s52 >= 0, s52 <= 2 * (1 + l'' + ls''), s53 >= 0, s53 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 365 + 16·l1 + 294·ls1 + 64·ls12 }→ s74 :|: s72 >= 0, s72 <= 2, s73 >= 0, s73 <= 1 * s72 + 1 * 0, s74 >= 0, s74 <= 1 * s73 + 1 * 0, s54 >= 0, s54 <= 2 * (1 + l1 + ls1), s55 >= 0, s55 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 364 + 16·l1 + 294·ls1 + 64·ls12 }→ s77 :|: s75 >= 0, s75 <= 2, s76 >= 0, s76 <= 1 * s75 + 1 * 0, s77 >= 0, s77 <= 1 * s76 + 1 * 0, s56 >= 0, s56 <= 2 * (1 + l1 + ls1), s57 >= 0, s57 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] member: runtime: O(n1) [31 + 16·z'], size: O(n1) [2·z'] verify: runtime: O(n2) [282 + 262·z + 64·z2], size: O(1) [2] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 37 + y3 + 16·ys' }→ s20 :|: s18 >= 0, s18 <= 2 * ys', s19 >= 0, s19 <= 1 * s18 + 1 * 2, s20 >= 0, s20 <= 1 * s19 + 1 * 2, s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 38 + y' + y4 + 16·ys'' }→ s23 :|: s21 >= 0, s21 <= 2 * ys'', s22 >= 0, s22 <= 1 * s21 + 1 * 2, s23 >= 0, s23 <= 1 * s22 + 1 * 2, s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 37 + y5 + 16·ys1 }→ s26 :|: s24 >= 0, s24 <= 2 * ys1, s25 >= 0, s25 <= 1 * s24 + 1 * 2, s26 >= 0, s26 <= 1 * s25 + 1 * 2, s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 37 + y6 + 16·ys2 }→ s29 :|: s27 >= 0, s27 <= 2 * ys2, s28 >= 0, s28 <= 1 * s27 + 1 * 2, s29 >= 0, s29 <= 1 * s28 + 1 * 2, s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 38 + y2 + y7 + 16·ys3 }→ s32 :|: s30 >= 0, s30 <= 2 * ys3, s31 >= 0, s31 <= 1 * s30 + 1 * 2, s32 >= 0, s32 <= 1 * s31 + 1 * 2, s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 36 + y8 + 16·ys4 }→ s35 :|: s33 >= 0, s33 <= 2 * ys4, s34 >= 0, s34 <= 1 * s33 + 1 * 2, s35 >= 0, s35 <= 1 * s34 + 1 * 2, s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 6 + clause' + 2·cnf' }→ satck(1 + clause' + cnf', 1 + s'' + s17) :|: s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 318 + 278·ls2 + 64·ls22 }→ s80 :|: s78 >= 0, s78 <= 2, s79 >= 0, s79 <= 1 * s78 + 1 * 0, s80 >= 0, s80 <= 1 * 3 + 1 * (1 + l2 + ls2), s58 >= 0, s58 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 317 + 278·ls2 + 64·ls22 }→ s83 :|: s81 >= 0, s81 <= 2, s82 >= 0, s82 <= 1 * s81 + 1 * 0, s83 >= 0, s83 <= 1 * 3 + 1 * (1 + l2 + ls2), s59 >= 0, s59 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 51 }→ s37 :|: s36 >= 0, s36 <= 2 * 1, s37 >= 0, s37 <= 1 * 2 + 1 * 0, z - 3 >= 0
verify(z) -{ 34 + 16·ls }→ s39 :|: s38 >= 0, s38 <= 2 * ls, s39 >= 0, s39 <= 1 * 0 + 1 * 0, z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 34 + 16·ls }→ s41 :|: s40 >= 0, s40 <= 2 * ls, s41 >= 0, s41 <= 1 * 0 + 1 * 0, x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 50 }→ s43 :|: s42 >= 0, s42 <= 2 * 1, s43 >= 0, s43 <= 1 * 2 + 1 * 0, z - 2 >= 0
verify(z) -{ 33 + 16·ls }→ s45 :|: s44 >= 0, s44 <= 2 * ls, s45 >= 0, s45 <= 1 * 0 + 1 * 0, l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 366 + 16·l' + 294·ls' + 64·ls'2 }→ s62 :|: s60 >= 0, s60 <= 2, s61 >= 0, s61 <= 1 * s60 + 1 * 0, s62 >= 0, s62 <= 1 * s61 + 1 * 0, s46 >= 0, s46 <= 2 * (1 + l' + ls'), s47 >= 0, s47 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 365 + 16·l' + 294·ls' + 64·ls'2 }→ s65 :|: s63 >= 0, s63 <= 2, s64 >= 0, s64 <= 1 * s63 + 1 * 0, s65 >= 0, s65 <= 1 * s64 + 1 * 0, s48 >= 0, s48 <= 2 * (1 + l' + ls'), s49 >= 0, s49 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 366 + 16·l'' + 294·ls'' + 64·ls''2 }→ s68 :|: s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 1 * s66 + 1 * 0, s68 >= 0, s68 <= 1 * s67 + 1 * 0, s50 >= 0, s50 <= 2 * (1 + l'' + ls''), s51 >= 0, s51 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 365 + 16·l'' + 294·ls'' + 64·ls''2 }→ s71 :|: s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 1 * s69 + 1 * 0, s71 >= 0, s71 <= 1 * s70 + 1 * 0, s52 >= 0, s52 <= 2 * (1 + l'' + ls''), s53 >= 0, s53 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 365 + 16·l1 + 294·ls1 + 64·ls12 }→ s74 :|: s72 >= 0, s72 <= 2, s73 >= 0, s73 <= 1 * s72 + 1 * 0, s74 >= 0, s74 <= 1 * s73 + 1 * 0, s54 >= 0, s54 <= 2 * (1 + l1 + ls1), s55 >= 0, s55 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 364 + 16·l1 + 294·ls1 + 64·ls12 }→ s77 :|: s75 >= 0, s75 <= 2, s76 >= 0, s76 <= 1 * s75 + 1 * 0, s77 >= 0, s77 <= 1 * s76 + 1 * 0, s56 >= 0, s56 <= 2 * (1 + l1 + ls1), s57 >= 0, s57 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] member: runtime: O(n1) [31 + 16·z'], size: O(n1) [2·z'] verify: runtime: O(n2) [282 + 262·z + 64·z2], size: O(1) [2] satck: runtime: ?, size: O(n1) [3 + z'] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 37 + y3 + 16·ys' }→ s20 :|: s18 >= 0, s18 <= 2 * ys', s19 >= 0, s19 <= 1 * s18 + 1 * 2, s20 >= 0, s20 <= 1 * s19 + 1 * 2, s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 38 + y' + y4 + 16·ys'' }→ s23 :|: s21 >= 0, s21 <= 2 * ys'', s22 >= 0, s22 <= 1 * s21 + 1 * 2, s23 >= 0, s23 <= 1 * s22 + 1 * 2, s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 37 + y5 + 16·ys1 }→ s26 :|: s24 >= 0, s24 <= 2 * ys1, s25 >= 0, s25 <= 1 * s24 + 1 * 2, s26 >= 0, s26 <= 1 * s25 + 1 * 2, s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 37 + y6 + 16·ys2 }→ s29 :|: s27 >= 0, s27 <= 2 * ys2, s28 >= 0, s28 <= 1 * s27 + 1 * 2, s29 >= 0, s29 <= 1 * s28 + 1 * 2, s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 38 + y2 + y7 + 16·ys3 }→ s32 :|: s30 >= 0, s30 <= 2 * ys3, s31 >= 0, s31 <= 1 * s30 + 1 * 2, s32 >= 0, s32 <= 1 * s31 + 1 * 2, s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 36 + y8 + 16·ys4 }→ s35 :|: s33 >= 0, s33 <= 2 * ys4, s34 >= 0, s34 <= 1 * s33 + 1 * 2, s35 >= 0, s35 <= 1 * s34 + 1 * 2, s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1 }→ satck(z, 0) :|: z >= 0
sat(z) -{ 2 }→ satck(1, 1) :|: z = 1
sat(z) -{ 6 + clause' + 2·cnf' }→ satck(1 + clause' + cnf', 1 + s'' + s17) :|: s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 318 + 278·ls2 + 64·ls22 }→ s80 :|: s78 >= 0, s78 <= 2, s79 >= 0, s79 <= 1 * s78 + 1 * 0, s80 >= 0, s80 <= 1 * 3 + 1 * (1 + l2 + ls2), s58 >= 0, s58 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 317 + 278·ls2 + 64·ls22 }→ s83 :|: s81 >= 0, s81 <= 2, s82 >= 0, s82 <= 1 * s81 + 1 * 0, s83 >= 0, s83 <= 1 * 3 + 1 * (1 + l2 + ls2), s59 >= 0, s59 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 51 }→ s37 :|: s36 >= 0, s36 <= 2 * 1, s37 >= 0, s37 <= 1 * 2 + 1 * 0, z - 3 >= 0
verify(z) -{ 34 + 16·ls }→ s39 :|: s38 >= 0, s38 <= 2 * ls, s39 >= 0, s39 <= 1 * 0 + 1 * 0, z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 34 + 16·ls }→ s41 :|: s40 >= 0, s40 <= 2 * ls, s41 >= 0, s41 <= 1 * 0 + 1 * 0, x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 50 }→ s43 :|: s42 >= 0, s42 <= 2 * 1, s43 >= 0, s43 <= 1 * 2 + 1 * 0, z - 2 >= 0
verify(z) -{ 33 + 16·ls }→ s45 :|: s44 >= 0, s44 <= 2 * ls, s45 >= 0, s45 <= 1 * 0 + 1 * 0, l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 366 + 16·l' + 294·ls' + 64·ls'2 }→ s62 :|: s60 >= 0, s60 <= 2, s61 >= 0, s61 <= 1 * s60 + 1 * 0, s62 >= 0, s62 <= 1 * s61 + 1 * 0, s46 >= 0, s46 <= 2 * (1 + l' + ls'), s47 >= 0, s47 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 365 + 16·l' + 294·ls' + 64·ls'2 }→ s65 :|: s63 >= 0, s63 <= 2, s64 >= 0, s64 <= 1 * s63 + 1 * 0, s65 >= 0, s65 <= 1 * s64 + 1 * 0, s48 >= 0, s48 <= 2 * (1 + l' + ls'), s49 >= 0, s49 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 366 + 16·l'' + 294·ls'' + 64·ls''2 }→ s68 :|: s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 1 * s66 + 1 * 0, s68 >= 0, s68 <= 1 * s67 + 1 * 0, s50 >= 0, s50 <= 2 * (1 + l'' + ls''), s51 >= 0, s51 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 365 + 16·l'' + 294·ls'' + 64·ls''2 }→ s71 :|: s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 1 * s69 + 1 * 0, s71 >= 0, s71 <= 1 * s70 + 1 * 0, s52 >= 0, s52 <= 2 * (1 + l'' + ls''), s53 >= 0, s53 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 365 + 16·l1 + 294·ls1 + 64·ls12 }→ s74 :|: s72 >= 0, s72 <= 2, s73 >= 0, s73 <= 1 * s72 + 1 * 0, s74 >= 0, s74 <= 1 * s73 + 1 * 0, s54 >= 0, s54 <= 2 * (1 + l1 + ls1), s55 >= 0, s55 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 364 + 16·l1 + 294·ls1 + 64·ls12 }→ s77 :|: s75 >= 0, s75 <= 2, s76 >= 0, s76 <= 1 * s75 + 1 * 0, s77 >= 0, s77 <= 1 * s76 + 1 * 0, s56 >= 0, s56 <= 2 * (1 + l1 + ls1), s57 >= 0, s57 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] member: runtime: O(n1) [31 + 16·z'], size: O(n1) [2·z'] verify: runtime: O(n2) [282 + 262·z + 64·z2], size: O(1) [2] satck: runtime: O(n2) [643 + 556·z' + 128·z'2], size: O(n1) [3 + z'] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 37 + y3 + 16·ys' }→ s20 :|: s18 >= 0, s18 <= 2 * ys', s19 >= 0, s19 <= 1 * s18 + 1 * 2, s20 >= 0, s20 <= 1 * s19 + 1 * 2, s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 38 + y' + y4 + 16·ys'' }→ s23 :|: s21 >= 0, s21 <= 2 * ys'', s22 >= 0, s22 <= 1 * s21 + 1 * 2, s23 >= 0, s23 <= 1 * s22 + 1 * 2, s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 37 + y5 + 16·ys1 }→ s26 :|: s24 >= 0, s24 <= 2 * ys1, s25 >= 0, s25 <= 1 * s24 + 1 * 2, s26 >= 0, s26 <= 1 * s25 + 1 * 2, s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 37 + y6 + 16·ys2 }→ s29 :|: s27 >= 0, s27 <= 2 * ys2, s28 >= 0, s28 <= 1 * s27 + 1 * 2, s29 >= 0, s29 <= 1 * s28 + 1 * 2, s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 38 + y2 + y7 + 16·ys3 }→ s32 :|: s30 >= 0, s30 <= 2 * ys3, s31 >= 0, s31 <= 1 * s30 + 1 * 2, s32 >= 0, s32 <= 1 * s31 + 1 * 2, s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 36 + y8 + 16·ys4 }→ s35 :|: s33 >= 0, s33 <= 2 * ys4, s34 >= 0, s34 <= 1 * s33 + 1 * 2, s35 >= 0, s35 <= 1 * s34 + 1 * 2, s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1329 }→ s84 :|: s84 >= 0, s84 <= 1 * 1 + 3, z = 1
sat(z) -{ 1333 + clause' + 2·cnf' + 812·s'' + 256·s''·s17 + 128·s''2 + 812·s17 + 128·s172 }→ s85 :|: s85 >= 0, s85 <= 1 * (1 + s'' + s17) + 3, s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
sat(z) -{ 644 }→ s86 :|: s86 >= 0, s86 <= 1 * 0 + 3, z >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 318 + 278·ls2 + 64·ls22 }→ s80 :|: s78 >= 0, s78 <= 2, s79 >= 0, s79 <= 1 * s78 + 1 * 0, s80 >= 0, s80 <= 1 * 3 + 1 * (1 + l2 + ls2), s58 >= 0, s58 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 317 + 278·ls2 + 64·ls22 }→ s83 :|: s81 >= 0, s81 <= 2, s82 >= 0, s82 <= 1 * s81 + 1 * 0, s83 >= 0, s83 <= 1 * 3 + 1 * (1 + l2 + ls2), s59 >= 0, s59 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 51 }→ s37 :|: s36 >= 0, s36 <= 2 * 1, s37 >= 0, s37 <= 1 * 2 + 1 * 0, z - 3 >= 0
verify(z) -{ 34 + 16·ls }→ s39 :|: s38 >= 0, s38 <= 2 * ls, s39 >= 0, s39 <= 1 * 0 + 1 * 0, z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 34 + 16·ls }→ s41 :|: s40 >= 0, s40 <= 2 * ls, s41 >= 0, s41 <= 1 * 0 + 1 * 0, x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 50 }→ s43 :|: s42 >= 0, s42 <= 2 * 1, s43 >= 0, s43 <= 1 * 2 + 1 * 0, z - 2 >= 0
verify(z) -{ 33 + 16·ls }→ s45 :|: s44 >= 0, s44 <= 2 * ls, s45 >= 0, s45 <= 1 * 0 + 1 * 0, l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 366 + 16·l' + 294·ls' + 64·ls'2 }→ s62 :|: s60 >= 0, s60 <= 2, s61 >= 0, s61 <= 1 * s60 + 1 * 0, s62 >= 0, s62 <= 1 * s61 + 1 * 0, s46 >= 0, s46 <= 2 * (1 + l' + ls'), s47 >= 0, s47 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 365 + 16·l' + 294·ls' + 64·ls'2 }→ s65 :|: s63 >= 0, s63 <= 2, s64 >= 0, s64 <= 1 * s63 + 1 * 0, s65 >= 0, s65 <= 1 * s64 + 1 * 0, s48 >= 0, s48 <= 2 * (1 + l' + ls'), s49 >= 0, s49 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 366 + 16·l'' + 294·ls'' + 64·ls''2 }→ s68 :|: s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 1 * s66 + 1 * 0, s68 >= 0, s68 <= 1 * s67 + 1 * 0, s50 >= 0, s50 <= 2 * (1 + l'' + ls''), s51 >= 0, s51 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 365 + 16·l'' + 294·ls'' + 64·ls''2 }→ s71 :|: s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 1 * s69 + 1 * 0, s71 >= 0, s71 <= 1 * s70 + 1 * 0, s52 >= 0, s52 <= 2 * (1 + l'' + ls''), s53 >= 0, s53 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 365 + 16·l1 + 294·ls1 + 64·ls12 }→ s74 :|: s72 >= 0, s72 <= 2, s73 >= 0, s73 <= 1 * s72 + 1 * 0, s74 >= 0, s74 <= 1 * s73 + 1 * 0, s54 >= 0, s54 <= 2 * (1 + l1 + ls1), s55 >= 0, s55 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 364 + 16·l1 + 294·ls1 + 64·ls12 }→ s77 :|: s75 >= 0, s75 <= 2, s76 >= 0, s76 <= 1 * s75 + 1 * 0, s77 >= 0, s77 <= 1 * s76 + 1 * 0, s56 >= 0, s56 <= 2 * (1 + l1 + ls1), s57 >= 0, s57 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] member: runtime: O(n1) [31 + 16·z'], size: O(n1) [2·z'] verify: runtime: O(n2) [282 + 262·z + 64·z2], size: O(1) [2] satck: runtime: O(n2) [643 + 556·z' + 128·z'2], size: O(n1) [3 + z'] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 37 + y3 + 16·ys' }→ s20 :|: s18 >= 0, s18 <= 2 * ys', s19 >= 0, s19 <= 1 * s18 + 1 * 2, s20 >= 0, s20 <= 1 * s19 + 1 * 2, s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 38 + y' + y4 + 16·ys'' }→ s23 :|: s21 >= 0, s21 <= 2 * ys'', s22 >= 0, s22 <= 1 * s21 + 1 * 2, s23 >= 0, s23 <= 1 * s22 + 1 * 2, s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 37 + y5 + 16·ys1 }→ s26 :|: s24 >= 0, s24 <= 2 * ys1, s25 >= 0, s25 <= 1 * s24 + 1 * 2, s26 >= 0, s26 <= 1 * s25 + 1 * 2, s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 37 + y6 + 16·ys2 }→ s29 :|: s27 >= 0, s27 <= 2 * ys2, s28 >= 0, s28 <= 1 * s27 + 1 * 2, s29 >= 0, s29 <= 1 * s28 + 1 * 2, s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 38 + y2 + y7 + 16·ys3 }→ s32 :|: s30 >= 0, s30 <= 2 * ys3, s31 >= 0, s31 <= 1 * s30 + 1 * 2, s32 >= 0, s32 <= 1 * s31 + 1 * 2, s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 36 + y8 + 16·ys4 }→ s35 :|: s33 >= 0, s33 <= 2 * ys4, s34 >= 0, s34 <= 1 * s33 + 1 * 2, s35 >= 0, s35 <= 1 * s34 + 1 * 2, s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1329 }→ s84 :|: s84 >= 0, s84 <= 1 * 1 + 3, z = 1
sat(z) -{ 1333 + clause' + 2·cnf' + 812·s'' + 256·s''·s17 + 128·s''2 + 812·s17 + 128·s172 }→ s85 :|: s85 >= 0, s85 <= 1 * (1 + s'' + s17) + 3, s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
sat(z) -{ 644 }→ s86 :|: s86 >= 0, s86 <= 1 * 0 + 3, z >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 318 + 278·ls2 + 64·ls22 }→ s80 :|: s78 >= 0, s78 <= 2, s79 >= 0, s79 <= 1 * s78 + 1 * 0, s80 >= 0, s80 <= 1 * 3 + 1 * (1 + l2 + ls2), s58 >= 0, s58 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 317 + 278·ls2 + 64·ls22 }→ s83 :|: s81 >= 0, s81 <= 2, s82 >= 0, s82 <= 1 * s81 + 1 * 0, s83 >= 0, s83 <= 1 * 3 + 1 * (1 + l2 + ls2), s59 >= 0, s59 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 51 }→ s37 :|: s36 >= 0, s36 <= 2 * 1, s37 >= 0, s37 <= 1 * 2 + 1 * 0, z - 3 >= 0
verify(z) -{ 34 + 16·ls }→ s39 :|: s38 >= 0, s38 <= 2 * ls, s39 >= 0, s39 <= 1 * 0 + 1 * 0, z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 34 + 16·ls }→ s41 :|: s40 >= 0, s40 <= 2 * ls, s41 >= 0, s41 <= 1 * 0 + 1 * 0, x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 50 }→ s43 :|: s42 >= 0, s42 <= 2 * 1, s43 >= 0, s43 <= 1 * 2 + 1 * 0, z - 2 >= 0
verify(z) -{ 33 + 16·ls }→ s45 :|: s44 >= 0, s44 <= 2 * ls, s45 >= 0, s45 <= 1 * 0 + 1 * 0, l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 366 + 16·l' + 294·ls' + 64·ls'2 }→ s62 :|: s60 >= 0, s60 <= 2, s61 >= 0, s61 <= 1 * s60 + 1 * 0, s62 >= 0, s62 <= 1 * s61 + 1 * 0, s46 >= 0, s46 <= 2 * (1 + l' + ls'), s47 >= 0, s47 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 365 + 16·l' + 294·ls' + 64·ls'2 }→ s65 :|: s63 >= 0, s63 <= 2, s64 >= 0, s64 <= 1 * s63 + 1 * 0, s65 >= 0, s65 <= 1 * s64 + 1 * 0, s48 >= 0, s48 <= 2 * (1 + l' + ls'), s49 >= 0, s49 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 366 + 16·l'' + 294·ls'' + 64·ls''2 }→ s68 :|: s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 1 * s66 + 1 * 0, s68 >= 0, s68 <= 1 * s67 + 1 * 0, s50 >= 0, s50 <= 2 * (1 + l'' + ls''), s51 >= 0, s51 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 365 + 16·l'' + 294·ls'' + 64·ls''2 }→ s71 :|: s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 1 * s69 + 1 * 0, s71 >= 0, s71 <= 1 * s70 + 1 * 0, s52 >= 0, s52 <= 2 * (1 + l'' + ls''), s53 >= 0, s53 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 365 + 16·l1 + 294·ls1 + 64·ls12 }→ s74 :|: s72 >= 0, s72 <= 2, s73 >= 0, s73 <= 1 * s72 + 1 * 0, s74 >= 0, s74 <= 1 * s73 + 1 * 0, s54 >= 0, s54 <= 2 * (1 + l1 + ls1), s55 >= 0, s55 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 364 + 16·l1 + 294·ls1 + 64·ls12 }→ s77 :|: s75 >= 0, s75 <= 2, s76 >= 0, s76 <= 1 * s75 + 1 * 0, s77 >= 0, s77 <= 1 * s76 + 1 * 0, s56 >= 0, s56 <= 2 * (1 + l1 + ls1), s57 >= 0, s57 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] member: runtime: O(n1) [31 + 16·z'], size: O(n1) [2·z'] verify: runtime: O(n2) [282 + 262·z + 64·z2], size: O(1) [2] satck: runtime: O(n2) [643 + 556·z' + 128·z'2], size: O(n1) [3 + z'] sat: runtime: ?, size: O(n1) [3 + z] |
choice(z) -{ 2 + xs }→ s :|: s >= 0, s <= 1 * xs, z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 1 }→ x :|: z = 1 + x + xs, xs >= 0, x >= 0
choice(z) -{ 0 }→ 0 :|: z >= 0
eq(z, z') -{ 1 + z' }→ s1 :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 1 }→ 2 :|: z = 1, z' = 1
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' - 1 >= 0
eq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
guess(z) -{ 1 }→ 1 :|: z = 1
guess(z) -{ 0 }→ 0 :|: z >= 0
guess(z) -{ 5 + clause + 2·cnf }→ 1 + s' + s16 :|: s16 >= 0, s16 <= 1 * cnf, s' >= 0, s' <= 1 * clause, cnf >= 0, z = 1 + clause + cnf, clause >= 0
if(z, z', z'') -{ 1 }→ z' :|: z = 2, z' >= 0, z'' >= 0
if(z, z', z'') -{ 1 }→ z'' :|: z' >= 0, z'' >= 0, z = 0
if(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
member(z, z') -{ 4 }→ e :|: z' - 3 >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 3 }→ e :|: z >= 0, z' - 2 >= 0, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 }→ e :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, 2 = t, t >= 0, e >= 0, 0 = 0, 0 = e
member(z, z') -{ 2 + z' }→ s13 :|: s13 >= 0, s13 <= 1 * 0 + 1 * 2, s3 >= 0, s3 <= 2, z - 1 >= 0, z' - 3 >= 0
member(z, z') -{ 4 + y' }→ s14 :|: s14 >= 0, s14 <= 1 * 0 + 1 * 2, s6 >= 0, s6 <= 2, z' = 1 + (1 + y') + ys, ys >= 0, z - 1 >= 0, y' >= 0
member(z, z') -{ 4 + y2 }→ s15 :|: s15 >= 0, s15 <= 1 * 0 + 1 * 2, s11 >= 0, s11 <= 2, z' = 1 + (1 + y2) + ys, ys >= 0, y2 >= 0, z - 1 >= 0
member(z, z') -{ 37 + y3 + 16·ys' }→ s20 :|: s18 >= 0, s18 <= 2 * ys', s19 >= 0, s19 <= 1 * s18 + 1 * 2, s20 >= 0, s20 <= 1 * s19 + 1 * 2, s2 >= 0, s2 <= 2, z = 1, ys' >= 0, z' = 1 + 1 + (1 + y3 + ys'), y3 >= 0
member(z, z') -{ 38 + y' + y4 + 16·ys'' }→ s23 :|: s21 >= 0, s21 <= 2 * ys'', s22 >= 0, s22 <= 1 * s21 + 1 * 2, s23 >= 0, s23 <= 1 * s22 + 1 * 2, s4 >= 0, s4 <= 2, s5 >= 0, s5 <= 2, z' = 1 + (1 + y') + (1 + y4 + ys''), z - 1 >= 0, y' >= 0, ys'' >= 0, y4 >= 0
member(z, z') -{ 37 + y5 + 16·ys1 }→ s26 :|: s24 >= 0, s24 <= 2 * ys1, s25 >= 0, s25 <= 1 * s24 + 1 * 2, s26 >= 0, s26 <= 1 * s25 + 1 * 2, s7 >= 0, s7 <= 2, y5 >= 0, ys1 >= 0, z' = 1 + (1 + y'') + (1 + y5 + ys1), y'' >= 0, z - 1 >= 0
member(z, z') -{ 37 + y6 + 16·ys2 }→ s29 :|: s27 >= 0, s27 <= 2 * ys2, s28 >= 0, s28 <= 1 * s27 + 1 * 2, s29 >= 0, s29 <= 1 * s28 + 1 * 2, s8 >= 0, s8 <= 2, y1 >= 0, z - 1 >= 0, z' = 1 + (1 + y1) + (1 + y6 + ys2), y6 >= 0, ys2 >= 0
member(z, z') -{ 38 + y2 + y7 + 16·ys3 }→ s32 :|: s30 >= 0, s30 <= 2 * ys3, s31 >= 0, s31 <= 1 * s30 + 1 * 2, s32 >= 0, s32 <= 1 * s31 + 1 * 2, s9 >= 0, s9 <= 2, s10 >= 0, s10 <= 2, y7 >= 0, ys3 >= 0, y2 >= 0, z - 1 >= 0, z' = 1 + (1 + y2) + (1 + y7 + ys3)
member(z, z') -{ 36 + y8 + 16·ys4 }→ s35 :|: s33 >= 0, s33 <= 2 * ys4, s34 >= 0, s34 <= 1 * s33 + 1 * 2, s35 >= 0, s35 <= 1 * s34 + 1 * 2, s12 >= 0, s12 <= 2, z' = 1 + y + (1 + y8 + ys4), y8 >= 0, z >= 0, y >= 0, ys4 >= 0
member(z, z') -{ 4 }→ t :|: z' = 1 + 1 + 1, z = 1, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 3 }→ t :|: z = 1, z' - 2 >= 0, 2 = 2, 2 = t, t >= 0, e >= 0, 0 = e
member(z, z') -{ 1 }→ 0 :|: z >= 0, z' = 1
member(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
member(z, z') -{ 3 }→ 0 :|: z' = 1 + 1 + 1, z = 1, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z = 1, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 2 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 3 }→ 0 :|: z' - 3 >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z' = 1 + (1 + y'') + ys, ys >= 0, y'' >= 0, z - 1 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: y1 >= 0, z - 1 >= 0, ys >= 0, z' = 1 + (1 + y1) + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 2 }→ 0 :|: z >= 0, z' - 2 >= 0, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
member(z, z') -{ 1 }→ 0 :|: ys >= 0, z >= 0, y >= 0, z' = 1 + y + ys, v0 >= 0, 0 = v2, v1 >= 0, 0 = v0, 2 = v1, v2 >= 0
negate(z) -{ 0 }→ 0 :|: z >= 0
negate(z) -{ 1 }→ 1 + (z - 1) :|: z - 1 >= 0
sat(z) -{ 1329 }→ s84 :|: s84 >= 0, s84 <= 1 * 1 + 3, z = 1
sat(z) -{ 1333 + clause' + 2·cnf' + 812·s'' + 256·s''·s17 + 128·s''2 + 812·s17 + 128·s172 }→ s85 :|: s85 >= 0, s85 <= 1 * (1 + s'' + s17) + 3, s17 >= 0, s17 <= 1 * cnf', s'' >= 0, s'' <= 1 * clause', clause' >= 0, z = 1 + clause' + cnf', cnf' >= 0
sat(z) -{ 644 }→ s86 :|: s86 >= 0, s86 <= 1 * 0 + 3, z >= 0
satck(z, z') -{ 2 }→ e :|: z >= 0, z' >= 0, e >= 0, 0 = 0, 3 = e
satck(z, z') -{ 318 + 278·ls2 + 64·ls22 }→ s80 :|: s78 >= 0, s78 <= 2, s79 >= 0, s79 <= 1 * s78 + 1 * 0, s80 >= 0, s80 <= 1 * 3 + 1 * (1 + l2 + ls2), s58 >= 0, s58 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, x >= 0, l2 = 1 + x
satck(z, z') -{ 317 + 278·ls2 + 64·ls22 }→ s83 :|: s81 >= 0, s81 <= 2, s82 >= 0, s82 <= 1 * s81 + 1 * 0, s83 >= 0, s83 <= 1 * 3 + 1 * (1 + l2 + ls2), s59 >= 0, s59 <= 2 * ls2, z' = 1 + l2 + ls2, z >= 0, l2 >= 0, ls2 >= 0, v0 >= 0, l2 = v0
satck(z, z') -{ 3 }→ t :|: z >= 0, z' = 1, 2 = 2, 1 = t, t >= 0, e >= 0, 3 = e
satck(z, z') -{ 2 }→ 0 :|: z >= 0, z' = 1, v0 >= 0, 3 = v2, v1 >= 0, 2 = v0, 1 = v1, v2 >= 0
satck(z, z') -{ 1 }→ 0 :|: z >= 0, z' >= 0, v0 >= 0, 3 = v2, 0 = v0, v2 >= 0
verify(z) -{ 51 }→ s37 :|: s36 >= 0, s36 <= 2 * 1, s37 >= 0, s37 <= 1 * 2 + 1 * 0, z - 3 >= 0
verify(z) -{ 34 + 16·ls }→ s39 :|: s38 >= 0, s38 <= 2 * ls, s39 >= 0, s39 <= 1 * 0 + 1 * 0, z = 1 + (1 + x3) + ls, ls >= 0, x3 >= 0
verify(z) -{ 34 + 16·ls }→ s41 :|: s40 >= 0, s40 <= 2 * ls, s41 >= 0, s41 <= 1 * 0 + 1 * 0, x4 >= 0, ls >= 0, z = 1 + (1 + x4) + ls
verify(z) -{ 50 }→ s43 :|: s42 >= 0, s42 <= 2 * 1, s43 >= 0, s43 <= 1 * 2 + 1 * 0, z - 2 >= 0
verify(z) -{ 33 + 16·ls }→ s45 :|: s44 >= 0, s44 <= 2 * ls, s45 >= 0, s45 <= 1 * 0 + 1 * 0, l >= 0, ls >= 0, z = 1 + l + ls
verify(z) -{ 366 + 16·l' + 294·ls' + 64·ls'2 }→ s62 :|: s60 >= 0, s60 <= 2, s61 >= 0, s61 <= 1 * s60 + 1 * 0, s62 >= 0, s62 <= 1 * s61 + 1 * 0, s46 >= 0, s46 <= 2 * (1 + l' + ls'), s47 >= 0, s47 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, x >= 0, l' = 1 + x
verify(z) -{ 365 + 16·l' + 294·ls' + 64·ls'2 }→ s65 :|: s63 >= 0, s63 <= 2, s64 >= 0, s64 <= 1 * s63 + 1 * 0, s65 >= 0, s65 <= 1 * s64 + 1 * 0, s48 >= 0, s48 <= 2 * (1 + l' + ls'), s49 >= 0, s49 <= 2 * ls', ls' >= 0, l' >= 0, z = 1 + (1 + x3) + (1 + l' + ls'), x3 >= 0, v0 >= 0, l' = v0
verify(z) -{ 366 + 16·l'' + 294·ls'' + 64·ls''2 }→ s68 :|: s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 1 * s66 + 1 * 0, s68 >= 0, s68 <= 1 * s67 + 1 * 0, s50 >= 0, s50 <= 2 * (1 + l'' + ls''), s51 >= 0, s51 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, x >= 0, l'' = 1 + x
verify(z) -{ 365 + 16·l'' + 294·ls'' + 64·ls''2 }→ s71 :|: s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 1 * s69 + 1 * 0, s71 >= 0, s71 <= 1 * s70 + 1 * 0, s52 >= 0, s52 <= 2 * (1 + l'' + ls''), s53 >= 0, s53 <= 2 * ls'', x4 >= 0, l'' >= 0, z = 1 + (1 + x4) + (1 + l'' + ls''), ls'' >= 0, v0 >= 0, l'' = v0
verify(z) -{ 365 + 16·l1 + 294·ls1 + 64·ls12 }→ s74 :|: s72 >= 0, s72 <= 2, s73 >= 0, s73 <= 1 * s72 + 1 * 0, s74 >= 0, s74 <= 1 * s73 + 1 * 0, s54 >= 0, s54 <= 2 * (1 + l1 + ls1), s55 >= 0, s55 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, x >= 0, l1 = 1 + x
verify(z) -{ 364 + 16·l1 + 294·ls1 + 64·ls12 }→ s77 :|: s75 >= 0, s75 <= 2, s76 >= 0, s76 <= 1 * s75 + 1 * 0, s77 >= 0, s77 <= 1 * s76 + 1 * 0, s56 >= 0, s56 <= 2 * (1 + l1 + ls1), s57 >= 0, s57 <= 2 * ls1, z = 1 + l + (1 + l1 + ls1), l >= 0, l1 >= 0, ls1 >= 0, v0 >= 0, l1 = v0
verify(z) -{ 1 }→ 2 :|: z = 1
verify(z) -{ 0 }→ 0 :|: z >= 0
choice: runtime: O(n1) [1 + z], size: O(n1) [z] eq: runtime: O(n1) [1 + z'], size: O(1) [2] negate: runtime: O(1) [1], size: O(n1) [z] if: runtime: O(1) [1], size: O(n1) [z' + z''] guess: runtime: O(n1) [3 + 2·z], size: O(n1) [z] member: runtime: O(n1) [31 + 16·z'], size: O(n1) [2·z'] verify: runtime: O(n2) [282 + 262·z + 64·z2], size: O(1) [2] satck: runtime: O(n2) [643 + 556·z' + 128·z'2], size: O(n1) [3 + z'] sat: runtime: O(n2) [3306 + 1627·z + 512·z2], size: O(n1) [3 + z] |