This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/regression/cyclics.yap

105 lines
1.9 KiB
Plaintext
Raw Normal View History

2019-02-04 01:08:18 +00:00
%, copy_term(X,Y), writeln('....'), writeln(X), writeln(Y).
2019-02-05 10:31:17 +00:00
:- linitialization(main).
2019-02-04 01:08:18 +00:00
main :-
main( cyclic_term(X), X).
main :-
writeln('-----------------------'),
fail.
main :-
main( ground(X), X).
main :-
writeln('-----------------------'),
fail.
2019-02-05 13:59:33 +00:00
main :-
main2( (terms:variables_in_term(X, O), writeln(X=O) ), X, L, O).
main :-
writeln('-----------------------'),
fail.
2019-02-04 01:08:18 +00:00
main :-
2019-02-05 10:31:17 +00:00
main2( (terms:new_variables_in_term(L,X, O), writeln(X+L=O) ), X, L, O).
main :-
writeln('-----------------------'),
fail.
2019-02-05 13:59:33 +00:00
main :-
main2( (terms:variables_within_term(L,X, O), writeln(X+L=O) ), X, L, O).
main :-
writeln('-----------------------'),
fail.
2019-02-05 10:31:17 +00:00
main :-
main( writeln(X), X).
2019-02-04 10:42:23 +00:00
main :-
writeln('-----------------------'),
fail.
main :-
2019-02-04 15:10:06 +00:00
main((rational_term_to_tree(X,A,B,[]), numbervars(A+B,1,_),
writeln((A->B))), X).
2019-02-04 01:08:18 +00:00
main.
main(G, X) :-
d(X),
m(G).
2019-02-05 10:31:17 +00:00
main2(G, X, L, O) :-
e(X,L),
m(G).
2019-02-04 01:08:18 +00:00
m( G ) :-
G,
!,
writeln(yes),
end.
m( G ) :-
writeln(no),
end.
d(X) :- X = [_A].
d(X) :- X = [a,_A].
d(X) :- X = [X].
d(X) :- X = [_|X].
d(X) :- X = [_,X].
d(X) :- X = [_,x].
d(X) :- X = [_,x(X)].
d(X) :- X= f(X).
d(X) :- X= f(X,X).
d(X) :- X= f(_,X).
d(X) :- X= f(A,A,X).
d(X) :- X= f(A,A,g(A)).
d(X) :- X= f(A,g(X,[A|A]),X).
d(X) :- X= f(X,[X,X]).
d(X) :- X= f(X,[X,g(X)]).
d(X) :- X= f(_,X/[X]).
d(X) :- X= f(_,A/[A]), A= f(X,[X,g(X)]).
2019-02-04 15:10:06 +00:00
d(X) :- X= f(_,A/[A]), A= f(X,[A,g(X)]).
d(X) :- X= f(_,A/[A]), A= f(B,[X,g(A)]), B=[C|B], C=[X].
2019-02-04 01:08:18 +00:00
end :- writeln('....'), fail.
2019-02-05 10:31:17 +00:00
e(X,Y) :- X = t(_A,B,_C,D), Y = [B,E].
e(X,Y) :- X = t(_A,_B,_C,_D), Y = [_,_E].
2019-02-05 13:59:33 +00:00
e(X,Y) :- X = t(A,_B,C,_D), Y = [ A,C].
e(X,Y) :- X = t(A,[X,_D]), Y = [A,_C,_E].
e(X,Y) :- X = t(A,[X,C]), Y = [A,C,_E].
2019-02-05 10:31:17 +00:00
e(X,Y) :- X = t(A,X,_B,[X,C,_D]), Y = [A,C,E].
2019-02-04 01:08:18 +00:00
a(no, no).
a(no, no).
a(yes, yes).
a(yes, no).
a(yes, no).
a( no, no).
a(yes, no).
a(yes, yes).
a(yes, yes).
a(yes, no).
a(yes, no).
a( no, no).
a(yes, no).
a(yes, yes).
a(yes, yes).
a(yes, no).
a(yes, no).