Racket logi c оценка предикатов - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь написать функцию предиката, которая работает с универсальными и экзистенциальными кванторами. Если бы у меня был оператор с именем function, который реализует p-> q, я бы хотел иметь возможность получить его в более широком масштабе с универсальным или экзистенциальным квантификатором.

Итак, если у меня есть оператор с именем check1 : isHuman (x) -> isHappy (x)

Универсальный квантификатор:

check1 (x);

Какой в конечном итоге будет оцениваться как false в экземпляре P и ~ Q.

Of, если бы я хотел оценить выражение разницы, например check2 : isHuman (x) -> isHappy (x) ^ isParent (y).

∃check2 (x) - который будет оценивать как истину, если в моем заранее определенном списке есть человек, который был родителем и был счастлив.

Я бы хотел чтобы предварительно определить список, а затем проверить этот список, чтобы определить, выполняются ли квантификаторы, и вернуть значение истинности на основе всех или существует для такого количества вложенных квантификаторов, которое сочтут нужным.

Я хотел бы что-то реализовать следующим образом:

(определить универсальный квантификатор MasterList (списки для квантификатора s) функция)

...