Таблицы истинности подходят для логики пропозициональной логики (PL) (так называемой логики без кванторов, отношений и идентичности) с небольшим числом нелогичных предикатов. Проблема заключается в n не логических терминах (все пропозициональные переменные с PL), вам требуются 2^n оценки.
Предполагая классическую логику, другим способом является распространение в нормальную форму, тогда вы обычно можете просто «прочитать», что каждая оценка истинна.
(S or (G and ¬S)) or ¬G
((S or G) and (S or ¬S)) or ¬G
(по дистрибутивности)
(((S or G) or ¬G) and ((S or ¬S) or ¬G))
(по distibutivity снова)
T
(по решению clauses- думать "прочитывать")
Чтобы объяснить, что это «чтение» составляет: все предложения в этой конъюнктивной нормальной форме оцениваются по-настоящему, поскольку каждая дизъюнкция содержит в не менее одной пары вида phi
и ¬phi
.
http://www.wolframalpha.com/input/?i=(S+or+ (G+and+not+S))+or+not+G – georg
Является ли это программной ситуацией или у вас просто есть проблема с упрощением этого одного выражения. Если ваш язык L содержит логические символы или, ¬, а затем это распространено для любого количества упрощений, возможно, нормальной формы. – Tom
@ thg435 Oh awesome, спасибо! – WUBWUBS