/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: forall, exists Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (1) and(P,forall(x46.Q[x46])) => forall(x45.and(P,Q[x45])) (fun and>forall) (fun and=and) subterm comparison of args w. LR LR (meta P)[is acc in P,forall(x46.Q[x46])] [is acc in P] (meta Q)[is acc in P,forall(x46.Q[x46])] [is positive in forall(x46.Q[x46])] [is acc in Q[x46]] >>True Checking (2) and(forall(x48.Q[x48]),P) => forall(x47.and(Q[x47],P)) (fun and>forall) (fun and=and) subterm comparison of args w. LR LR (meta Q)[is acc in forall(x48.Q[x48]),P] [is positive in forall(x48.Q[x48])] [is acc in Q[x48]] (meta P)[is acc in forall(x48.Q[x48]),P] [is positive in forall(x48.Q[x48])] [is acc in P] >>True Checking (3) and(P,exists(x50.Q[x50])) => exists(x49.and(P,Q[x49])) (fun and>exists) (fun and=and) subterm comparison of args w. LR LR (meta P)[is acc in P,exists(x50.Q[x50])] [is acc in P] (meta Q)[is acc in P,exists(x50.Q[x50])] [is positive in exists(x50.Q[x50])] [is acc in Q[x50]] >>True Checking (4) and(exists(x52.Q[x52]),P) => exists(x51.and(Q[x51],P)) (fun and>exists) (fun and=and) subterm comparison of args w. LR LR (meta Q)[is acc in exists(x52.Q[x52]),P] [is positive in exists(x52.Q[x52])] [is acc in Q[x52]] (meta P)[is acc in exists(x52.Q[x52]),P] [is positive in exists(x52.Q[x52])] [is acc in P] >>True Checking (5) or(P,forall(x54.Q[x54])) => forall(x53.or(P,Q[x53])) (fun or>forall) (fun or=or) subterm comparison of args w. LR LR (meta P)[is acc in P,forall(x54.Q[x54])] [is acc in P] (meta Q)[is acc in P,forall(x54.Q[x54])] [is positive in forall(x54.Q[x54])] [is acc in Q[x54]] >>True Checking (6) or(forall(x56.Q[x56]),P) => forall(x55.or(Q[x55],P)) (fun or>forall) (fun or=or) subterm comparison of args w. LR LR (meta Q)[is acc in forall(x56.Q[x56]),P] [is positive in forall(x56.Q[x56])] [is acc in Q[x56]] (meta P)[is acc in forall(x56.Q[x56]),P] [is positive in forall(x56.Q[x56])] [is acc in P] >>True Checking (7) or(P,exists(x58.Q[x58])) => exists(x57.or(P,Q[x57])) (fun or>exists) (fun or=or) subterm comparison of args w. LR LR (meta P)[is acc in P,exists(x58.Q[x58])] [is acc in P] (meta Q)[is acc in P,exists(x58.Q[x58])] [is positive in exists(x58.Q[x58])] [is acc in Q[x58]] >>True Checking (8) or(exists(x60.Q[x60]),P) => exists(x59.or(Q[x59],P)) (fun or>exists) (fun or=or) subterm comparison of args w. LR LR (meta Q)[is acc in exists(x60.Q[x60]),P] [is positive in exists(x60.Q[x60])] [is acc in Q[x60]] (meta P)[is acc in exists(x60.Q[x60]),P] [is positive in exists(x60.Q[x60])] [is acc in P] >>True Checking (9) not(forall(x62.Q[x62])) => exists(x61.not(Q[x61])) (fun not>exists) (fun not=not) subterm comparison of args w. LR LR (meta Q)[is acc in forall(x62.Q[x62])] [is positive in forall(x62.Q[x62])] [is acc in Q[x62]] >>True Checking (10) not(exists(x64.Q[x64])) => forall(x63.not(Q[x63])) (fun not>forall) (fun not=not) subterm comparison of args w. LR LR (meta Q)[is acc in exists(x64.Q[x64])] [is positive in exists(x64.Q[x64])] [is acc in Q[x64]] >>True #SN! ******** Signature ******** or : (form,form) -> form not : form -> form forall : (term -> form) -> form exists : (term -> form) -> form and : (form,form) -> form ******** Computation Rules ******** (1) and(P,forall(x46.Q[x46])) => forall(x45.and(P,Q[x45])) (2) and(forall(x48.Q[x48]),P) => forall(x47.and(Q[x47],P)) (3) and(P,exists(x50.Q[x50])) => exists(x49.and(P,Q[x49])) (4) and(exists(x52.Q[x52]),P) => exists(x51.and(Q[x51],P)) (5) or(P,forall(x54.Q[x54])) => forall(x53.or(P,Q[x53])) (6) or(forall(x56.Q[x56]),P) => forall(x55.or(Q[x55],P)) (7) or(P,exists(x58.Q[x58])) => exists(x57.or(P,Q[x57])) (8) or(exists(x60.Q[x60]),P) => exists(x59.or(Q[x59],P)) (9) not(forall(x62.Q[x62])) => exists(x61.not(Q[x61])) (10) not(exists(x64.Q[x64])) => forall(x63.not(Q[x63])) YES