/export/starexec/sandbox2/solver/bin/starexec_run_default /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES ******** General Schema criterion ******** Found constructors: inl, inr Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (1) casea(inl(X),Fa,Ga) => Fa[X] (meta Fa)[is acc in inl(X),Fa,Ga] [is positive in inl(X)] [is acc in Fa] (meta X)[is acc in inl(X),Fa,Ga] [is positive in inl(X)] [is acc in X] >>True Checking (2) casea(inr(Y),Fa,Ga) => Ga[Y] (meta Ga)[is acc in inr(Y),Fa,Ga] [is positive in inr(Y)] [is acc in Ga] (meta Y)[is acc in inr(Y),Fa,Ga] [is positive in inr(Y)] [is acc in Y] >>True Checking (3) casea(Z,x.ap(Ha,inl(x)),y.ap(Ha,inr(y))) => ap(Ha,Z) (fun casea>ap) (meta Ha)[is acc in Z,x.ap(Ha,inl(x)),y.ap(Ha,inr(y))] [is acc in Ha] (meta Z)[is acc in Z,x.ap(Ha,inl(x)),y.ap(Ha,inr(y))] [is acc in Z] >>True Checking (ap) ap(x.M[x],N) => M[N] (meta M)[is acc in x.M[x],N] [is acc in M[x]] (meta N)[is acc in x.M[x],N] [is acc in N] >>True Checking (ap0) ap(M,N) => M[N] (meta M)[is acc in M,N] [is acc in M] (meta N)[is acc in M,N] [is acc in N] >>True Checking (4) caseb(inl(X),Fb,Gb) => Fb[X] (meta Fb)[is acc in inl(X),Fb,Gb] [is positive in inl(X)] [is acc in Fb] (meta X)[is acc in inl(X),Fb,Gb] [is positive in inl(X)] [is acc in X] >>True Checking (5) caseb(inr(Y),Fb,Gb) => Gb[Y] (meta Gb)[is acc in inr(Y),Fb,Gb] [is positive in inr(Y)] [is acc in Gb] (meta Y)[is acc in inr(Y),Fb,Gb] [is positive in inr(Y)] [is acc in Y] >>True Checking (6) caseb(Z,x.ap(Hb,inl(x)),y.ap(Hb,inr(y))) => ap(Hb,Z) (fun caseb>ap) (meta Hb)[is acc in Z,x.ap(Hb,inl(x)),y.ap(Hb,inr(y))] [is acc in Hb] (meta Z)[is acc in Z,x.ap(Hb,inl(x)),y.ap(Hb,inr(y))] [is acc in Z] >>True Checking (7) caseu(inl(X),Fu,Gu) => Fu[X] (meta Fu)[is acc in inl(X),Fu,Gu] [is positive in inl(X)] [is acc in Fu] (meta X)[is acc in inl(X),Fu,Gu] [is positive in inl(X)] [is acc in X] >>True Checking (8) caseu(inr(Y),Fu,Gu) => Gu[Y] (meta Gu)[is acc in inr(Y),Fu,Gu] [is positive in inr(Y)] [is acc in Gu] (meta Y)[is acc in inr(Y),Fu,Gu] [is positive in inr(Y)] [is acc in Y] >>True Checking (9) caseu(Z,x.ap(Hu,inl(x)),y.ap(Hu,inr(y))) => ap(Hu,Z) (fun caseu>ap) (meta Hu)[is acc in Z,x.ap(Hu,inl(x)),y.ap(Hu,inr(y))] [is acc in Hu] (meta Z)[is acc in Z,x.ap(Hu,inl(x)),y.ap(Hu,inr(y))] [is acc in Z] >>True #SN! ******** Signature ******** inl : a -> u inr : b -> u casea : (u,(a -> a),(b -> a)) -> a caseb : (u,(a -> b),(b -> b)) -> b caseu : (u,(a -> u),(b -> u)) -> u ap : ((a -> b),a) -> b ******** Computation Rules ******** (1) casea(inl(X),Fa,Ga) => Fa[X] (2) casea(inr(Y),Fa,Ga) => Ga[Y] (3) casea(Z,x.ap(Ha,inl(x)),y.ap(Ha,inr(y))) => ap(Ha,Z) (ap) ap(x.M[x],N) => M[N] (ap0) ap(M,N) => M[N] (4) caseb(inl(X),Fb,Gb) => Fb[X] (5) caseb(inr(Y),Fb,Gb) => Gb[Y] (6) caseb(Z,x.ap(Hb,inl(x)),y.ap(Hb,inr(y))) => ap(Hb,Z) (7) caseu(inl(X),Fu,Gu) => Fu[X] (8) caseu(inr(Y),Fu,Gu) => Gu[Y] (9) caseu(Z,x.ap(Hu,inl(x)),y.ap(Hu,inr(y))) => ap(Hu,Z) YES