or indicate URL below. - Help, Benchmarks, current directory.
TNANTIComp.Options:
[Clear]
Using http://www.complang.tuwien.ac.at/cti/bench/apt_flptp/PERMUTATION ...

2021-04-11 03:39:05 (CEST) cTI start

% cTI_lt 0.25 using 23.619 MLIPS SICStus 3.8.5 (x86-linux-glibc2.1): Mon Oct 30 16:34:14 CET 2000.
% cTI: Rt=80ms, Wt=80ms. NTI: Rt=0ms, Wt=2ms at most 75 inferences for useful informations.
% NTI summary:  Complete result is optimal.
app(A,B,C)terminates_if b(A);b(C).
    % optimal. loops found: [app([A|_],x,[A|_])]. NTI took    0ms,72i,72i
perm(A,B)terminates_if b(A).
    % optimal. loops found: [perm([A|_],[A|_]),perm([_|_],[y|y])]. NTI took    0ms,75i,75i

% Comparison with termination analyzers
% A termination analyser of identical power would verify
% with the following 5 proofs the 2 inferred conditions:

app(f, f, b).
    % ==> termination proof established
app(b, f, f).
    % ==> termination proof established
app(f, b, f).
    % ==> no proof found
perm(b, f).
    % ==> termination proof established
perm(f, b).
    % ==> no proof found
2021-04-11 03:39:05 (CEST) cTI finished

Tooltip: You can skip this comparison with termination analyzers by selecting "Comp. skipped" above

Analyzed program located at URL http://www.complang.tuwien.ac.at/cti/bench/apt_flptp/PERMUTATION:

% perm(Xs, Ys) :- Ys is a permutation of the list Xs.
perm([], []).
perm(Xs, [X | Ys]) :-
	app(X1s, [X | X2s], Xs),
	app(X1s, X2s, Zs),
	perm(Zs, Ys).

% augmented by the APPEND program
app([], Ys, Ys).
app([X | Xs], Ys, [X | Zs]) :- app(Xs, Ys, Zs).

Valid HTML 4.0cTI, Fred Mesnard (Université de La Réunion), Ulrich Neumerkel (Technische Universität Wien)