Редактирование: Математическая Логика, 06 семинар (от 05 декабря)
Материал из eSyr's wiki.
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 77: | Строка 77: | ||
single(L<sub>1</sub>, L<sub>2</sub>) ← R(L<sub>1</sub>, nil, L<sub>2</sub>); | single(L<sub>1</sub>, L<sub>2</sub>) ← R(L<sub>1</sub>, nil, L<sub>2</sub>); | ||
R(nil, L<sub>2</sub>, nil) ← ; | R(nil, L<sub>2</sub>, nil) ← ; | ||
- | R(x . L<sub>2</sub>, L<sub>2</sub>, x . L<sub>3</sub>) ← nonelem( | + | R(x . L<sub>2</sub>, L<sub>2</sub>, x . L<sub>3</sub>) ← nonelem(L<sub>1</sub>), nonelem(L<sub>2</sub>), R(L<sub>1</sub>, L<sub>2</sub>, L<sub>3</sub>); |
- | R(x . L<sub>1</sub>, L<sub>2</sub>, L<sub>3</sub>) ← elem( | + | R(x . L<sub>1</sub>, L<sub>2</sub>, L<sub>3</sub>) ← elem(L<sub>1</sub>), R(L<sub>1</sub>, x . L<sub>2</sub>, L<sub>3</sub>) |
R(x . L<sub>1</sub>, L<sub>2</sub>, L<sub>3</sub>) ← elem(x, L<sub>2</sub>), R(L<sub>1</sub>, L<sub>2</sub>, L<sub>3</sub>); | R(x . L<sub>1</sub>, L<sub>2</sub>, L<sub>3</sub>) ← elem(x, L<sub>2</sub>), R(L<sub>1</sub>, L<sub>2</sub>, L<sub>3</sub>); | ||
В этом решении вводится дополнительный список, в котором хранятся те элементы, котрые входят в L<sub>1</sub> более одного раза. Для хранения этого списка вводится дополнительная функция R, где он передаётся в качестве параметра. | В этом решении вводится дополнительный список, в котором хранятся те элементы, котрые входят в L<sub>1</sub> более одного раза. Для хранения этого списка вводится дополнительная функция R, где он передаётся в качестве параметра. |