/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Using the interpretation [[filtersub]](B,Z,cons(U,V)) = ifo(B,cons(U,filter(Z,V)),filter(Z,V)) given system is strictly simulated by (1) filter(F,nil) => nil (2if) filter(Z,cons(U,V)) => ifo(Z[U],cons(U,filter(Z,V)),filter(Z,V)) (ift) ifo(true,T,E) => T (iff) ifo(false,T,E) => E Hene we try to show SN of this. ******** General Schema criterion ******** Found constructors: cons, false, nil, true Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>Regared as equal: filtersub, filter Checking (1) filter(F,nil) => nil (fun filter>nil) >>True Checking (2) filter(Z,cons(U,V)) => filtersub(Z[U],Z,cons(U,V)) (fun filter=filtersub) subterm comparison of args w. Arg [1,2] Arg [2,3,1] >>False Try again using status RL Checking (1) filter(F,nil) => nil (fun filter>nil) >>True Checking (2) filter(Z,cons(U,V)) => filtersub(Z[U],Z,cons(U,V)) (fun filter=filtersub) subterm comparison of args w. Arg [1,2] Arg [2,3,1] >>False Try again using status Mul Checking (1) filter(F,nil) => nil (fun filter>nil) >>True Checking (2) filter(Z,cons(U,V)) => filtersub(Z[U],Z,cons(U,V)) (fun filter=filtersub) subterm comparison of args w. Arg [1,2] Arg [2,3,1] >>False Found constructors: cons, false, filtersub, nil, true Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (1) filter(F,nil) => nil (fun filter>nil) >>True Checking (2if) filter(Z,cons(U,V)) => ifo(Z[U],cons(U,filter(Z,V)),filter(Z,V)) (fun filter>ifo) (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta U)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in U] (fun filter>cons) (meta U)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in U] (fun filter=filter) subterm comparison of args w. Arg [1,2] Arg [1,2] (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta V)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in V] (fun filter=filter) subterm comparison of args w. Arg [1,2] Arg [1,2] (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta V)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in V] >>True Checking (ift) ifo(true,T,E) => T (meta T)[is acc in true,T,E] [is positive in true] [is acc in T] >>True Checking (iff) ifo(false,T,E) => E (meta E)[is acc in false,T,E] [is positive in false] [is acc in E] >>True #SN! ******** Signature ******** cons : (b,c) -> c false : a filter : ((b -> a),c) -> c filtersub : (a,(b -> a),c) -> c nil : c true : a ******** Computation Rules ******** (1) filter(F,nil) => nil (2) filter(Z,cons(U,V)) => filtersub(Z[U],Z,cons(U,V)) (3) filtersub(true,I,cons(P,X1)) => cons(P,filter(I,X1)) (4) filtersub(false,Z1,cons(U1,V1)) => filter(Z1,V1) YES