Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
Logic Progr 19030 pair #381919998
details
property
value
status
complete
benchmark
money.pl
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n027.star.cs.uiowa.edu
space
talp_maria
run statistics
property
value
solver
AProVE
configuration
standard
runtime (wallclock)
2.67604804039 seconds
cpu usage
7.68681265
max memory
1.100009472E9
stage attributes
key
value
output-size
74420
starexec-result
YES
output
/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.pl /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.pl # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Left Termination of the query pattern money(a,a,a,a,a,a,a,a) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) UnifyTransformerProof [EQUIVALENT, 0 ms] (2) Prolog (3) UndefinedPredicateHandlerProof [SOUND, 0 ms] (4) Prolog (5) PrologToPiTRSProof [SOUND, 93 ms] (6) PiTRS (7) DependencyPairsProof [EQUIVALENT, 46 ms] (8) PiDP (9) DependencyGraphProof [EQUIVALENT, 2 ms] (10) AND (11) PiDP (12) UsableRulesProof [EQUIVALENT, 0 ms] (13) PiDP (14) PiDPToQDPProof [SOUND, 0 ms] (15) QDP (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] (17) YES (18) PiDP (19) UsableRulesProof [EQUIVALENT, 0 ms] (20) PiDP (21) PiDPToQDPProof [SOUND, 0 ms] (22) QDP (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] (24) YES ---------------------------------------- (0) Obligation: Clauses: demo :- ','(nl, ','(write('Cryptarithmetic puzzle'), ','(nl, ','(nl, ','(write(' SEND'), ','(nl, ','(write(' + MORE'), ','(nl, ','(write(' --------'), ','(nl, ','(write(' MONEY'), ','(nl, ','(nl, ','(nl, ','(time(X2), ','(money(S, E, N, D, M, O, R, Y), ','(time(T), ','(write('The solution is:'), ','(nl, ','(nl, ','(write(' '), ','(write(S), ','(write(E), ','(write(N), ','(write(D), ','(nl, ','(write(' + '), ','(write(M), ','(write(O), ','(write(R), ','(write(E), ','(nl, ','(write(' --------'), ','(nl, ','(write(' '), ','(write(M), ','(write(O), ','(write(N), ','(write(E), ','(write(Y), ','(nl, ','(nl, ','(write('Solved in '), ','(write(T), ','(write(' msec.'), nl))))))))))))))))))))))))))))))))))))))))))))). time(0). solve(.(S, .(E, .(N, .(D, .(M, .(O, .(R, .(Y, []))))))))) :- money(S, E, N, D, M, O, R, Y). money(S, E, N, D, M, O, R, Y) :- ','(carry(C1), ','(carry(C2), ','(carry(C3), ','(carry(C4), ','(=(C4, M), ','(=\=(M, 0), ','(domain(.(S, .(E, .(N, .(D, .(M, .(O, .(R, .(Y, [])))))))), .(0, .(1, .(2, .(3, .(4, .(5, .(6, .(7, .(8, .(9, []))))))))))), ','(=\=(S, 0), ','(calc(C3, S, M, C4, O), ','(calc(C2, E, O, C3, N), ','(calc(C1, N, R, C2, E), calc(0, D, E, C1, Y)))))))))))). calc(C0, D, E, C1, Y) :- ','(sum(C0, D, CD), ','(sum(CD, E, S), ','(carry10(C1, C10), sum(C10, Y, S)))). sum(X, Y, Z) :- is(Z, +(X, Y)). domain([], X3). domain(.(X1, R), L) :- ','(del(X1, L, NL), domain(R, NL)). del(X, .(X, T), T). del(X, .(Y, T), .(Y, NT)) :- del(X, T, NT). carry(1). carry(0). carry10(0, 0). carry10(1, 10). Query: money(a,a,a,a,a,a,a,a) ---------------------------------------- (1) UnifyTransformerProof (EQUIVALENT) Added a fact for the built-in = predicate [PROLOG]. ---------------------------------------- (2) Obligation: Clauses: demo :- ','(nl, ','(write('Cryptarithmetic puzzle'), ','(nl, ','(nl, ','(write(' SEND'), ','(nl, ','(write(' + MORE'), ','(nl, ','(write(' --------'), ','(nl, ','(write(' MONEY'), ','(nl, ','(nl, ','(nl, ','(time(X2), ','(money(S, E, N, D, M, O, R, Y), ','(time(T), ','(write('The solution is:'), ','(nl, ','(nl, ','(write(' '), ','(write(S), ','(write(E), ','(write(N), ','(write(D), ','(nl, ','(write(' + '), ','(write(M), ','(write(O), ','(write(R), ','(write(E), ','(nl, ','(write(' --------'), ','(nl, ','(write(' '), ','(write(M), ','(write(O), ','(write(N), ','(write(E), ','(write(Y), ','(nl, ','(nl, ','(write('Solved in '), ','(write(T), ','(write(' msec.'), nl))))))))))))))))))))))))))))))))))))))))))))). time(0). solve(.(S, .(E, .(N, .(D, .(M, .(O, .(R, .(Y, []))))))))) :- money(S, E, N, D, M, O, R, Y). money(S, E, N, D, M, O, R, Y) :- ','(carry(C1), ','(carry(C2), ','(carry(C3), ','(carry(C4), ','(=(C4, M), ','(=\=(M, 0), ','(domain(.(S, .(E, .(N, .(D, .(M, .(O, .(R, .(Y, [])))))))), .(0, .(1, .(2, .(3, .(4, .(5, .(6, .(7, .(8, .(9, []))))))))))), ','(=\=(S, 0), ','(calc(C3, S, M, C4, O), ','(calc(C2, E, O, C3, N), ','(calc(C1, N, R, C2, E), calc(0, D, E, C1, Y)))))))))))). calc(C0, D, E, C1, Y) :- ','(sum(C0, D, CD), ','(sum(CD, E, S), ','(carry10(C1, C10), sum(C10, Y, S)))). sum(X, Y, Z) :- is(Z, +(X, Y)). domain([], X3). domain(.(X1, R), L) :- ','(del(X1, L, NL), domain(R, NL)). del(X, .(X, T), T). del(X, .(Y, T), .(Y, NT)) :- del(X, T, NT). carry(1). carry(0). carry10(0, 0). carry10(1, 10). =(X, X). Query: money(a,a,a,a,a,a,a,a) ---------------------------------------- (3) UndefinedPredicateHandlerProof (SOUND) Added facts for all undefined predicates [PROLOG]. ----------------------------------------
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to Logic Progr 19030