/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES ******** General Schema criterion ******** Found constructors: 0, plus, nil, cons Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (1) foldl(F,X,nil) => X (meta X)[is acc in F,X,nil] [is acc in X] >>True Checking (2) foldl(F,X,cons(Y,L)) => foldl(F,F[X,Y],L) (fun foldl=foldl) subterm comparison of args w. LR LR >>False Try again using status RL Checking (1) foldl(F,X,nil) => X (meta X)[is acc in F,X,nil] [is acc in X] >>True Checking (2) foldl(F,X,cons(Y,L)) => foldl(F,F[X,Y],L) (fun foldl=foldl) subterm comparison of args w. RL RL (meta F)[is acc in F,X,cons(Y,L)] [is acc in F] (meta F)[is acc in F,X,cons(Y,L)] [is acc in F] (meta X)[is acc in F,X,cons(Y,L)] [is acc in X] (meta Y)[is acc in F,X,cons(Y,L)] [is positive in cons(Y,L)] [is acc in Y] (meta L)[is acc in F,X,cons(Y,L)] [is positive in cons(Y,L)] [is acc in L] >>True Checking (3) plusc => x.y.(x + y) (fun plusc>plus) >>True Checking (4) sum(L) => foldl(plusc,0,L) (fun sum>foldl) (fun sum>plusc) (fun sum>0) (meta L)[is acc in L] [is acc in L] >>True #SN! ******** Signature ******** 0 : nat plus : (nat,nat) -> nat nil : list cons : (nat,list) -> list foldl : (((nat,nat) -> nat),nat,list) -> nat sum : list -> nat plusc : (nat,nat) -> nat ******** Computation Rules ******** (1) foldl(F,X,nil) => X (2) foldl(F,X,cons(Y,L)) => foldl(F,F[X,Y],L) (3) plusc => x.y.(x + y) (4) sum(L) => foldl(plusc,0,L) YES