Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
Logic Programming pair #487529653
details
property
value
status
complete
benchmark
flat.pl
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n109.star.cs.uiowa.edu
space
talp_talp
run statistics
property
value
solver
AProVE
configuration
standard
runtime (wallclock)
2.08283400536 seconds
cpu usage
4.669977377
max memory
3.7179392E8
stage attributes
key
value
output-size
10209
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: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Left Termination of the query pattern flat(g,a) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToPiTRSProof [SOUND, 0 ms] (2) PiTRS (3) DependencyPairsProof [EQUIVALENT, 0 ms] (4) PiDP (5) DependencyGraphProof [EQUIVALENT, 0 ms] (6) PiDP (7) UsableRulesProof [EQUIVALENT, 0 ms] (8) PiDP (9) PiDPToQDPProof [SOUND, 0 ms] (10) QDP (11) UsableRulesReductionPairsProof [EQUIVALENT, 9 ms] (12) QDP (13) PisEmptyProof [EQUIVALENT, 0 ms] (14) YES ---------------------------------------- (0) Obligation: Clauses: flat(niltree, nil). flat(tree(X, niltree, T), cons(X, Xs)) :- flat(T, Xs). flat(tree(X, tree(Y, T1, T2), T3), Xs) :- flat(tree(Y, T1, tree(X, T2, T3)), Xs). Query: flat(g,a) ---------------------------------------- (1) PrologToPiTRSProof (SOUND) We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: flat_in_2: (b,f) Transforming Prolog into the following Term Rewriting System: Pi-finite rewrite system: The TRS R consists of the following rules: flat_in_ga(niltree, nil) -> flat_out_ga(niltree, nil) flat_in_ga(tree(X, niltree, T), cons(X, Xs)) -> U1_ga(X, T, Xs, flat_in_ga(T, Xs)) flat_in_ga(tree(X, tree(Y, T1, T2), T3), Xs) -> U2_ga(X, Y, T1, T2, T3, Xs, flat_in_ga(tree(Y, T1, tree(X, T2, T3)), Xs)) U2_ga(X, Y, T1, T2, T3, Xs, flat_out_ga(tree(Y, T1, tree(X, T2, T3)), Xs)) -> flat_out_ga(tree(X, tree(Y, T1, T2), T3), Xs) U1_ga(X, T, Xs, flat_out_ga(T, Xs)) -> flat_out_ga(tree(X, niltree, T), cons(X, Xs)) The argument filtering Pi contains the following mapping: flat_in_ga(x1, x2) = flat_in_ga(x1) niltree = niltree flat_out_ga(x1, x2) = flat_out_ga(x2) tree(x1, x2, x3) = tree(x1, x2, x3) U1_ga(x1, x2, x3, x4) = U1_ga(x1, x4) U2_ga(x1, x2, x3, x4, x5, x6, x7) = U2_ga(x7) cons(x1, x2) = cons(x1, x2) Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog ---------------------------------------- (2) Obligation: Pi-finite rewrite system: The TRS R consists of the following rules: flat_in_ga(niltree, nil) -> flat_out_ga(niltree, nil) flat_in_ga(tree(X, niltree, T), cons(X, Xs)) -> U1_ga(X, T, Xs, flat_in_ga(T, Xs)) flat_in_ga(tree(X, tree(Y, T1, T2), T3), Xs) -> U2_ga(X, Y, T1, T2, T3, Xs, flat_in_ga(tree(Y, T1, tree(X, T2, T3)), Xs)) U2_ga(X, Y, T1, T2, T3, Xs, flat_out_ga(tree(Y, T1, tree(X, T2, T3)), Xs)) -> flat_out_ga(tree(X, tree(Y, T1, T2), T3), Xs) U1_ga(X, T, Xs, flat_out_ga(T, Xs)) -> flat_out_ga(tree(X, niltree, T), cons(X, Xs))
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to Logic Programming