2つのゴールのうち、一つを実行する。
';'/2 は、ゴール1 かゴール2 が成功すれば、成功する。
もし、ゴール1 が成功すれば、ゴール2 は実行されない。ゴール2 は、ゴール1 が失敗した時のみ、実行される。
バックトラックによって、ゴール1 も ゴール2 も一つ以上の解を持つことができる。最初に ゴール1 がバックトラックされる。ゴール1の全解がでてから、ゴール2 はバックトラックされる。
';'/2 は、優先順位クラス 1100、右結合性の、組み込み挿入演算子である。
(関連 current_op/3).
ゴール1 ゴール ゴール2 ゴール
| ;(integer(2.2), integer(3)). | 成功. |
| write(goal1),write(' and goal2'). | 成功して、'goal1'を出力する。 |
この述語は、ISO-Prolog標準に含まれる。