/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) QTRSRRRProof [EQUIVALENT, 30 ms] (2) QTRS (3) RisEmptyProof [EQUIVALENT, 0 ms] (4) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: __(__(X, Y), Z) -> __(X, __(Y, Z)) __(X, nil) -> X __(nil, X) -> X and(tt, X) -> activate(X) isList(V) -> isNeList(activate(V)) isList(n__nil) -> tt isList(n____(V1, V2)) -> and(isList(activate(V1)), n__isList(activate(V2))) isNeList(V) -> isQid(activate(V)) isNeList(n____(V1, V2)) -> and(isList(activate(V1)), n__isNeList(activate(V2))) isNeList(n____(V1, V2)) -> and(isNeList(activate(V1)), n__isList(activate(V2))) isNePal(V) -> isQid(activate(V)) isNePal(n____(I, n____(P, I))) -> and(isQid(activate(I)), n__isPal(activate(P))) isPal(V) -> isNePal(activate(V)) isPal(n__nil) -> tt isQid(n__a) -> tt isQid(n__e) -> tt isQid(n__i) -> tt isQid(n__o) -> tt isQid(n__u) -> tt nil -> n__nil __(X1, X2) -> n____(X1, X2) isList(X) -> n__isList(X) isNeList(X) -> n__isNeList(X) isPal(X) -> n__isPal(X) a -> n__a e -> n__e i -> n__i o -> n__o u -> n__u activate(n__nil) -> nil activate(n____(X1, X2)) -> __(activate(X1), activate(X2)) activate(n__isList(X)) -> isList(X) activate(n__isNeList(X)) -> isNeList(X) activate(n__isPal(X)) -> isPal(X) activate(n__a) -> a activate(n__e) -> e activate(n__i) -> i activate(n__o) -> o activate(n__u) -> u activate(X) -> X Q is empty. ---------------------------------------- (1) QTRSRRRProof (EQUIVALENT) Used ordering: Knuth-Bendix order [KBO] with precedence:activate_1 > u > o > i > isList_1 > and_2 > ___2 > n__isList_1 > e > a > n__o > n__i > n__e > n_____2 > n__u > n__a > isPal_1 > n__isPal_1 > isNePal_1 > nil > isNeList_1 > n__isNeList_1 > isQid_1 > n__nil > tt and weight map: nil=2 tt=2 n__nil=2 n__a=1 n__e=1 n__i=1 n__o=1 n__u=2 a=1 e=1 i=1 o=1 u=2 activate_1=0 isList_1=1 isNeList_1=1 n__isList_1=1 isQid_1=1 n__isNeList_1=1 isNePal_1=1 n__isPal_1=1 isPal_1=1 ___2=2 and_2=0 n_____2=2 The variable weight is 1With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: __(__(X, Y), Z) -> __(X, __(Y, Z)) __(X, nil) -> X __(nil, X) -> X and(tt, X) -> activate(X) isList(V) -> isNeList(activate(V)) isList(n__nil) -> tt isList(n____(V1, V2)) -> and(isList(activate(V1)), n__isList(activate(V2))) isNeList(V) -> isQid(activate(V)) isNeList(n____(V1, V2)) -> and(isList(activate(V1)), n__isNeList(activate(V2))) isNeList(n____(V1, V2)) -> and(isNeList(activate(V1)), n__isList(activate(V2))) isNePal(V) -> isQid(activate(V)) isNePal(n____(I, n____(P, I))) -> and(isQid(activate(I)), n__isPal(activate(P))) isPal(V) -> isNePal(activate(V)) isPal(n__nil) -> tt isQid(n__a) -> tt isQid(n__e) -> tt isQid(n__i) -> tt isQid(n__o) -> tt isQid(n__u) -> tt nil -> n__nil __(X1, X2) -> n____(X1, X2) isList(X) -> n__isList(X) isNeList(X) -> n__isNeList(X) isPal(X) -> n__isPal(X) a -> n__a e -> n__e i -> n__i o -> n__o u -> n__u activate(n__nil) -> nil activate(n____(X1, X2)) -> __(activate(X1), activate(X2)) activate(n__isList(X)) -> isList(X) activate(n__isNeList(X)) -> isNeList(X) activate(n__isPal(X)) -> isPal(X) activate(n__a) -> a activate(n__e) -> e activate(n__i) -> i activate(n__o) -> o activate(n__u) -> u activate(X) -> X ---------------------------------------- (2) Obligation: Q restricted rewrite system: R is empty. Q is empty. ---------------------------------------- (3) RisEmptyProof (EQUIVALENT) The TRS R is empty. Hence, termination is trivially proven. ---------------------------------------- (4) YES