Домашнее задание №9

Проект «Трёхзначная логика»

  1. Определить класс Logic3 с одним полем типа enum с тремя значениями: True (истина), Unknown (неизвестно) и False (ложь). Данный enum можно определить непосредственно в теле класса.

  2. Определить для класса Logic3 конструктор, операции ввода и вывода, операции сравнения на равенство и неравенство.

  3. Реализовать для этого типа логические операции !, && и ||. Унарную операцию ! опишем обычной таблицей истинности, а для задания бинарных операций потребуется следующее соглашение: первый столбец каждой части таблицы соответствует левому аргументу операции, а первая строка (заголовок) — правому аргументу.

    a !a a && b F U T a || b F U T
    F T F F F F F F U T
    U F U F U U U U U T
    T U T F U T T T T T
  4. Пользуясь введенными операциями и перебирая все возможные значения аргументов доказать тождественную истинность следующей формулы:

    x V ⅂x V ⅂⅂x

    («закон исключенного четвёртого», ⅂ — отрицание, V — дизъюнкция).