% The syntactic kernel of Prolog pred {goal :- goal}. % e.g., used in assert((head:-body)) pred {goal,goal}. % , = conjunction pred {goal;goal}. % ; = disjunction pred {goal->goal}. % -> = if-then pred !. pred \+ goal. pred not(goal). type list(T) --> [] ; [ T | list(T) ]. pred @T = @T. pred @T == @T. pred_neg @T1 \== @T2. % control pred abort. pred false. pred true. pred fail. pred succeed. pred ensure_loaded(top).