もっとも簡単な KL1 プログラムの例として, 入力の 0, 1 を反転して出力す るインバータを考えてみる. プログラムは以下のように書ける.
not(In, Out):- In = 0 | Out = 1. not(In, Out):- In = 1 | Out = 0.
この二行のプログラムは, それぞれ:
それぞれの節の冒頭部分にある `` not(In, Out)'' は, この節が述語 not に関する定義であること, 引数はふたつで, この節の中ではそれぞれ In, Out と呼ぶことを宣言している. この部分を節の ヘッド (head) と呼 ぶ. 述語という名前は KL1 の論理型言語としての生い立ちから来るの だが, ここでは単に手続き, あるいはサブルーチンのことだと思ってさしつか えない.
ヘッドに続く `` :-'' の後, 縦棒 (``|'') の前までを ガー
ド (guard) と呼ぶ. ガードはその節を選んで良いかどうかの条件を指定す
る条件部である.
縦棒の後, フルストップ (`` .'') までを ボディ (body) と呼ぶ. ボディはその節を選んだときに何をするかを指定する部分である. ボディに はいろいろなものが書けるが, この例では出力用の引数の値を決める操作であ る `` Out = 1'' などを行なっている.