prolog-mode

設定が間違っていた。prolog.elは/usr/share/emacs/site-lisp/prolog-el/prolog.el
にあって、こっちを利用する。.emacsは以下のとおり。

(autoload 'run-prolog "prolog" "Start a Prolog sub-process." t)
(autoload 'prolog-mode "prolog" "Major mode for editing Prolog programs." t)
(autoload 'mercury-mode "prolog" "Major mode for editing Mercury programs." t)
(setq prolog-system 'gnu)  ; optional, the system you are using;
                           ; see `prolog-system' below for possible values
;; (setq auto-mode-alist (append '(("\\.pl$" . prolog-mode)
;;                                 ("\\.m$" . mercury-mode))
;;                                auto-mode-alist))

SWI-Prologを利用する場合はgnuの部分をswiに変更すれば良い。
キーマップはhttp://www.takeoka.org/~take/ailabo/prolog/prolog-emacs.htmlが参考になる。