Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
Logic Progr 19030 pair #381920009
details
property
value
status
complete
benchmark
ann.pl
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n047.star.cs.uiowa.edu
space
talp_maria
run statistics
property
value
solver
AProVE
configuration
standard
runtime (wallclock)
2.11859798431 seconds
cpu usage
4.837780604
max memory
2.4907776E8
stage attributes
key
value
output-size
174465
starexec-result
MAYBE
output
/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.pl /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- Graph construction failed Graph construction failed Graph construction failed MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.pl # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Left Termination of the query pattern analyze_all(g,a) w.r.t. the given Prolog program could not be shown: (0) Prolog (1) CutEliminatorProof [SOUND, 0 ms] (2) Prolog (3) FailTransformerProof [EQUIVALENT, 0 ms] (4) Prolog (5) UnifyTransformerProof [EQUIVALENT, 0 ms] (6) Prolog (7) OrTransformerProof [EQUIVALENT, 0 ms] (8) Prolog (9) UndefinedPredicateHandlerProof [SOUND, 0 ms] (10) Prolog (11) IntegerArithmeticTransformerProof [SOUND, 0 ms] (12) Prolog (13) CutEliminatorProof [SOUND, 0 ms] (14) Prolog (15) FailTransformerProof [EQUIVALENT, 0 ms] (16) Prolog (17) UnifyTransformerProof [EQUIVALENT, 0 ms] (18) Prolog (19) OrTransformerProof [EQUIVALENT, 0 ms] (20) Prolog (21) UndefinedPredicateHandlerProof [SOUND, 0 ms] (22) Prolog ---------------------------------------- (0) Obligation: Clauses: analyze_all(.(X, Y), .(X1, Y1)) :- ','(analyze(X, X1), analyze_all(Y, Y1)). analyze_all([], []). analyze(Source, NewSource) :- ','(=(Source, clause(_X, Body)), ;(','(=(Body, true), ','(!, =(NewSource, Source))), ','(=(I, []), ','(=(G, []), ','(rewrite_3(Source, New_Source, I, G, _Y), ','(un_number_vars(New_Source, NewSource, others), !)))))). rewrite_3(clause(H, B), clause(H, P), I, G, Info) :- ','(check_if_cge(B, Result), ;(','(=(Result, 0), =(P, B)), rewrite(clause(H, B), clause(H, P), I, G, Info))). rewrite(clause(H, B), clause(H, P), I, G, Info) :- ','(numbervars_2(H, 0, Lhv), ','(collect_info(B, Info, Lhv, _X, _Y), ','(add_annotations(Info, P, I, G), !))). add_annotations([], [], X5, X6). add_annotations(.(I, Is), .(P, Ps), Indep, Gnd) :- ','(!, ','(add_annotations(I, P, Indep, Gnd), add_annotations(Is, Ps, Indep, Gnd))). add_annotations(Info, Phrase, I, G) :- ','(!, ','(para_phrase(Info, Code, Type, Vars, I, G), ','(make_CGE_phrase(Type, Code, Vars, PCode, I, G), ;(;(','(var(Code), ','(!, =(Phrase, PCode))), ','(=(Vars, []), ','(!, =(Phrase, Code)))), =(Phrase, ','(PCode, Code)))))). collect_info(;(A, B), ','([], ','(sequential, ;(A, B))), Cin, Cout, _X) :- ','(!, ','(collect_info(A, _Y, Cin, C, _Z), collect_info(B, _N, C, Cout, _M))). collect_info(','(A, B), and(Ia, Ib), Cin, Cout, _X) :- ','(!, ','(collect_info(A, Ia, Cin, C, _Y), collect_info(B, Ib, C, Cout, _Z))). collect_info(A, ','(NewVars, ','(CInfo, A)), In, Out, _R) :- ','(find_vars(A, NewVars, In, Out), ','(;(;(','(functor(A, F, Arity), ','(builtin(/(F, Arity)), ','(!, =(CInfo, sequential)))), ','(\==(NewVars, []), ','(!, =(CInfo, suspect)))), true), !)). para_phrase(and(X, Y), Conjuncts, Type, BagofVars, I, G) :- ','(!, ','(para_phrase(X, Xcode, Xtype, XVars, I, G), ','(para_phrase(Y, Ycode, Ytype, YVars, I, G), ;(;(','(=(Xtype, sequential), ','(!, ','(make_CGE_phrase(Ytype, Ycode, YVars, CGE, I, G), ','(;(;(','(var(Ycode), ','(!, =(Conjuncts, ','(Xcode, CGE)))), ','(=(YVars, []), ','(!, =(Conjuncts, ','(Xcode, Ycode))))), =(Conjuncts, ','(Xcode, ','(CGE, Ycode)))), ','(=(BagofVars, []), =(Type, sequential)))))), ','(=(Ytype, sequential), ','(!, ','(=(Conjuncts, Ycode), ','(=(BagofVars, XVars), =(Type, Xtype)))))), ','(=(Conjuncts, Ycode), ','(append(XVars, YVars, BagofVars), =(Type, Xtype))))))). para_phrase(','(N, ','(T, Term)), This_term, Type, Vars, _X, _Y) :- ;(','(==(T, sequential), ','(!, ','(=(Type, T), ','(=(Vars, []), =(This_term, Term))))), ','(collect_vars(Term, Vs), ','(=(Type, par), =(Vars, .(','(','(T, ','(N, Term)), Vs), []))))). make_CGE_phrase(sequential, Code, X7, Code, X8, X9) :- !. make_CGE_phrase(_X, _Y, VarList, NewCode, I, G) :- ','(get_phrase(VarList, NewCode, I, G), !). get_phrase(VarList, Code, I, G) :- ','(length(VarList, L), ;(','(>(L, 1), ','(!, ','(eliminate_suspect_code(VarList, Rem, Vs, I, G), get_CGE_2(Vs, I, G, Code, Rem)))), =(VarList, .(','(','(_X, ','(_Y, Code)), _Z), [])))). eliminate_suspect_code(.(This_goal, .(Last_goal, [])), SeqCode, ParCode, _X, _Y) :- ','(!, ','(=(This_goal, ','(','(suspect, ','(FVars, _Z)), _W)), ;(','(found(FVars, .(Last_goal, [])), ','(!, ','(=(Last_goal, ','(','(_L, ','(_M, SeqCode)), _N)), =(ParCode, .(This_goal, []))))), =(ParCode, .(This_goal, .(Last_goal, [])))))). eliminate_suspect_code(.(This_goal, Subsequent_goals), Code, ParCode, I, G) :- ','(=(This_goal, ','(','(suspect, ','(FVars, _X)), _Y)), ','(eliminate_suspect_code(Subsequent_goals, SCode, PCode, I, G), ;(','(found(FVars, PCode), ','(!, ','(get_CGE_2(PCode, I, G, Code, SCode), =(ParCode, .(This_goal, []))))), ','(=(ParCode, .(This_goal, PCode)), =(Code, SCode))))). found([], _R) :- fail. found(.(H, T), Next_calls) :- ;(','(find_var(Next_calls, H), !), found(T, Next_calls)). find_var([], _R) :- fail. find_var(.(','(_R, NextCall), Others), V) :- ;(','(member(V, NextCall), !), find_var(Others, V)). get_CGE_2(.(','(','(_X, ','(_Y, Goal)), _Z), []), _W, _M, Goal, Others) :- ','(var(Others), !). get_CGE_2(.(','(','(X10, ','(X11, Goal)), X12), []), X13, X14, ','(Goal, Others), Others) :- !. get_CGE_2(Vs, I, G, Code, Rem) :- ','(get_conds(Vs, Conds, I, G), ','(make_norml_2(Vs, Parallel), babel_2(Conds, Parallel, Rem, Code))). get_conds(VARS, Y, I, G) :- ','(do_intersect(VARS, GS), ','(subtract(GS, G, Gnd), ','(singleton(VARS, VOIDS), ','(reduce_set(VARS, Gnd, VOIDS, I, RSET), ','(produce_tuples(RSET, Indep), get_text(Gnd, Indep, Y)))))). '$simplify_unconditional_cges'(off). babel_2(Conds, Parallel, C, Code) :- ','(;(','(=(Conds, true), ','('$simplify_unconditional_cges'(on), ','(!, =(Pcode, Parallel)))), =..(Pcode, .('=>', .(Conds, .(Parallel, []))))), ;(','(var(C), ','(!, =(Code, Pcode))), =(Code, ','(Pcode, C)))). reduce_set([], _X, _Y, _Z, []). reduce_set(.(','(Info, V), Vs), Gnd, VOIDS, Indep, .(','(Info, Rset), Rs)) :- ','(!, ','(reduce_set(Vs, Gnd, VOIDS, Indep, Rs), ','(subtract(V, Gnd, Rg), ','(subtract(Rg, VOIDS, Rv), subtract(Rv, Indep, Rset))))). produce_tuples([], []). produce_tuples(.(','(_N, V), Vs), Tuples) :- ','(!, ','(produce_tuples(Vs, Ts), ','(pair(Vs, V, Ps), merge(Ps, Ts, Tuples)))). pair([], X15, []). pair(.(','(_N, L), Ls), Vs, Tuples) :- ','(pair(Ls, Vs, Ps), ','(tuple(L, Vs, Ts), merge(Ts, Ps, Tuples))). tuple([], X16, []). tuple(X17, [], []). tuple(List, .(L, Ls), Tuples) :- ','(!, ','(tuple(List, Ls, T1), ','(tuple(List, L, T2), merge(T1, T2, Tuples)))). tuple(.(E, Es), L, Tuples) :- ','(tuple(Es, L, T1), ','(!, ','(;(','(@<(E, L), ','(!, =(Pair, .(.(E, .(L, [])), [])))), =(Pair, .(.(L, .(E, [])), []))), merge(Pair, T1, Tuples)))). make_norml(.(','(','(X18, ','(X19, T)), X20), []), T) :- !. make_norml(.(','(','(_X, ','(_Y, T)), _Z), Nxt), ','(T, Nc)) :- make_norml(Nxt, Nc). make_norml_2(.(','(','(X21, ','(X22, T)), X23), []), T) :- !. make_norml_2(.(','(','(_X, ','(_Y, T)), _Z), Nxt), '&'(T, Nc)) :- make_norml_2(Nxt, Nc). do_intersect([], []). do_intersect(.(','(_X, S1), .(','(_Y, S2), [])), IS) :- ','(!, intersect(S1, S2, IS)). do_intersect(.(S1, .(S2, Ss)), IS) :- ','(do_intersect(.(S2, Ss), IS1), ','(do_intersect(.(S1, Ss), IS2), ','(do_intersect(.(S1, .(S2, [])), IS3), ','(merge(IS1, IS2, T1), merge(IS3, T1, IS))))). get_text([], [], true). get_text([], X, indep(X)). get_text(X, [], ground(X)). get_text(X, Y, ','(ground(X), indep(Y))).
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to Logic Progr 19030