Цель это ПравдаЛожь

                было 'выведено по' Прав из Ответ) :-

            Прав : если Условие то Цель,

                                    % Правило, относящееся к цели

            рассмотреть( Условие, [Цель по Прав | Трасса], Ответ),

            истинность( Ответ, ПравдаЛожь).

        рассмотреть( Цель1 и Цель2, Трасса, Ответ) :-  !,

                рассмотреть( Цель1, Трасса, Ответ1),

                продолжить( Ответ1, Цель1 и Цель2, Трасса, Ответ).

        рассмотреть( Цель1 или Цель2, Трасса, Ответ) :-

                рассм_да( Цель1, Трасса, Ответ);

                                    % Положительный ответ на Цель1

                рассм_да( Цель2, Трасса, Ответ).

                                    % Положительный ответ на Цель2

        рассмотреть( Цель1 или Цель2, Трасса,

                                                                Ответ1 и Ответ2) :-  !,

                not рассм_да( Цель1, Трасса, _ ),

                not рассм_да( Цель2, Трасса, _ ),

                                    % Нет положительного ответа

                рассмотреть( Цель1, Трасса, Ответ1),

                                    % Ответ1 отрицательный

                рассмотреть( Цель2, Трасса, Ответ2).

                                    % Ответ2 отрицательный

        рассмотреть( Цель, Трасса,

                                            Цель это Ответ было сказано) :-

                ответпольз( Цель, Трасса, Ответ).        % Ответ дан пользователем

        рассм_да( Цель, Трасса, Ответ) :-

                рассмотреть( Цель, Трасса, Ответ),

                положительный( Ответ).

        продолжить( Ответ1, Цель1 и Цель2, Трасса, Ответ) :-

                положительный( Ответ1),

                рассмотреть( Цель2, Трасса, Ответ2),

                ( положительный( Ответ2), Ответ = Ответ1 и Ответ2;

                отрицательный( Ответ2), Ответ = Ответ2).

        продолжить( Ответ1, Цель1 и Цель2, _, Ответ1) :-

                отрицательный( Ответ1).

        истинность( Вопрос это ПравдаЛожь было Найдено,

                                                                            ПравдаЛожь) :-  !.

        истинность( Ответ1 и Ответ2, ПравдаЛожь) :-

                истинность( Ответ1, правда),

                истинность( Ответ2, правда),  !,

                ПравдаЛожь = правда;

                ПравдаЛожь = ложь.

        положительный( Ответ) :-

               

Вы читаете Prolog
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ОБРАНЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату