Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
Logic Progr 19030 pair #381920027
details
property
value
status
complete
benchmark
countstack.pl
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n051.star.cs.uiowa.edu
space
Stroeder_09
run statistics
property
value
solver
AProVE
configuration
standard
runtime (wallclock)
2.01240992546 seconds
cpu usage
4.948967375
max memory
4.16907264E8
stage attributes
key
value
output-size
45092
starexec-result
YES
output
/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.pl /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.pl # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Left Termination of the query pattern countstack(g,a) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToDTProblemTransformerProof [SOUND, 47 ms] (2) TRIPLES (3) TriplesToPiDPProof [SOUND, 0 ms] (4) PiDP (5) DependencyGraphProof [EQUIVALENT, 0 ms] (6) PiDP (7) PiDPToQDPProof [SOUND, 10 ms] (8) QDP (9) UsableRulesReductionPairsProof [EQUIVALENT, 6 ms] (10) QDP (11) PisEmptyProof [EQUIVALENT, 0 ms] (12) YES ---------------------------------------- (0) Obligation: Clauses: countstack(empty, X) :- ','(!, eq(X, 0)). countstack(S, X) :- ','(pop(S, nil), ','(!, ','(popped(S, Pd), countstack(Pd, X)))). countstack(S, s(X)) :- ','(pop(S, P), ','(head(P, H), ','(tail(P, T), ','(popped(S, Pd), countstack(push(H, push(T, Pd)), X))))). pop(empty, X1). pop(push(P, X2), P). popped(empty, empty). popped(push(X3, Pd), Pd). head(nil, X4). head(cons(H, X5), H). tail(nil, nil). tail(cons(X6, T), T). eq(X, X). Query: countstack(g,a) ---------------------------------------- (1) PrologToDTProblemTransformerProof (SOUND) Built DT problem from termination graph DT10. { "root": 1, "program": { "directives": [], "clauses": [ [ "(countstack (empty) X)", "(',' (!) (eq X (0)))" ], [ "(countstack S X)", "(',' (pop S (nil)) (',' (!) (',' (popped S Pd) (countstack Pd X))))" ], [ "(countstack S (s X))", "(',' (pop S P) (',' (head P H) (',' (tail P T) (',' (popped S Pd) (countstack (push H (push T Pd)) X)))))" ], [ "(pop (empty) X1)", null ], [ "(pop (push P X2) P)", null ], [ "(popped (empty) (empty))", null ], [ "(popped (push X3 Pd) Pd)", null ], [ "(head (nil) X4)", null ], [ "(head (cons H X5) H)", null ], [
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to Logic Progr 19030