Seeing(X)

Це цільове твердження узгоджується з базою даних, якщо ім'я поточного вхідного потоку даних (файлу) порівнянне з X, а інакше не узгоджується.

Seen

Цей предикат закриває поточний вхідний потік даних (файл) і визначає, що поточним вхідним потоком даних стає клавіатура терміналу (user).

Tell(X)

Цей предикат відкриває файл X, якщо він ще не відкритий, і визначає, що поточним вихідним потоком даних, в який робиться запис, є вказаний файл. Якщо X неконкретизована, то виникає помилка. Якщо файл з означуваним ім'ям X не існує, то файл з таким ім'ям створюється. Інакше, якщо файл, означуваним X, вже існує, то попередній вміст файлу знищується.

Telling(X)

Це цільове твердження узгоджується з базою даних, якщо X порівнянна з ім'ям поточного вихідного потоку даних, інакше воно не узгоджується.

Told

Цей предикат закриває поточний вихідний потік даних (файл) і записує маркер закінчення файлу у відповідний файл. Поточним вихідним потоком даних стає дисплей терміналу (user).

50.Обчислення арифметичних виразів

X is Y

Y має бути конкретизована структурою, яку можна інтерпретувати як арифметичний вираз. Спочатку обчислюється вираз, яким конкретизована Y, і виходить ціле число, що називається результатом. Результат зіставляється з X, і is вважається погодженим або неузгодженим залежно від результату зіставлення. Нижче описуються функтори, які можуть бути використані для побудови структури, розташованої праворуч від предиката is.

X+У

Оператор додавання. При обчисленні, ініційованому предикатом is, результатом є арифметична сума його аргументів. Аргументи мають бути конкретизовані структурами, які можна обчислити і отримати в якості результатів цілі числа.

X-Y

Оператор віднімання. При обчисленні, ініційованому предикатом is, результатом є арифметична різниця його аргументів. Аргументи мають бути конкретизовані структурами, які можна обчислити і отримати в якості результатів цілі числа.

X*Y

Оператор множення. При обчисленні, ініційованому предикатом is, його результатом є арифметичний добуток його аргументів. Аргументи мають бути конкретизовані структурами, які можна обчислити і отримати в якості результатів цілі числа.

X/Y

Оператор цілочисельного ділення. При обчисленні, ініційованому предикатом is, його результатом є ціла частина частки від ділення його аргументів. Аргументи мають бути конкретизовані структурами, які можна обчислити і отримати в якості результатів цілі числа.