home *** CD-ROM | disk | FTP | other *** search
- /************************************************************************
- * *
- * The SB-Prolog System *
- * Copyright SUNY at Stony Brook, 1986; University of Arizona, 1987 *
- * *
- ************************************************************************/
-
- /*-----------------------------------------------------------------
- SB-Prolog is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY. No author or distributor
- accepts responsibility to anyone for the consequences of using it
- or for whether it serves any particular purpose or works at all,
- unless he says so in writing. Refer to the SB-Prolog General Public
- License for full details.
-
- Everyone is granted permission to copy, modify and redistribute
- SB-Prolog, but only under the conditions described in the
- SB-Prolog General Public License. A copy of this license is
- supposed to have been given to you along with SB-Prolog so you
- can know your rights and responsibilities. It should be in a
- file named COPYING. Among other things, the copyright notice
- and this notice must be preserved on all copies.
- ------------------------------------------------------------------ */
- /* op.P */
-
- op(X,Y,Z) :- Z = [_|_] -> op0(X,Y,Z) ; op1(X,Y,Z).
-
- op0(_,_,[]).
- op0(X,Y,[H|L]) :- op1(X,Y,H), op0(X,Y,L).
-
- op1(X,Y,Z) :-
- (var(X) ; var(Y) ; var(Z)) ->
- $read_curr_op(X,Y,Z) ;
- op2(X,Y,Z).
-
- op2(X,Y,Z) :-
- $read_curr_op(X,Y,Z) -> true ; asserta($read_curr_op(X,Y,Z)).
-
-