Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
«Логик-теоретик»
Так была названа программа для ЭВМ, созданная в середине шестидесятых годов американским кибернетиком А. Ньюэллом в содружестве с психологом Г. Саймоном. Она была предназначена для доказательства теорем в исчислении высказываний, т.е. для поиска обоснования тождественной истинности некоторых утверждений. Для того чтобы перейти к описанию программы «Логик-теоретик», введем предварительно понятие о равенстве двух выражений исчисления высказываний. Будем говорить, что выражения ? 1 и ? 2 равны между собой, и записывать этот факт обычным образом ? 1 =? 2 , если на всех возможных наборах интерпретации истинности входящих в них элементарных высказываний истинность ? 1 и ? 2 одинакова.
Появление знака равенства, которого не было в исчислении высказываний, не должно нас смущать. Его легко можно исключить из рассмотрения, введя формулу ((? 1 &? 2 )
(
? 1 &
? 2 )). Читатели могут проверить, что эта формула будет истинной только в том случае, когда оценки истинности ? 1 и ? 2 одинаковы. Тогда утверждение, что ? 1 =? 2 , становится эквивалентным утверждению, что формула ((? 1 &? 2 )
(
? 1 &
? 2 )) является истинной.
«Логик-теоретик» должен был доказывать справедливость утверждений вида ? 1 =? 2 для различных ? 1 и ? 2 . Однако авторы «Логика-теоретика» не пошли по прямому пути. Не стали строить таблицы для ? 1 и ? 2 и проверять совпадение истинности ? 1 и ? 2 на всех возможных интерпретациях истинности их аргументов. Ведь с ростом числа аргументов n число строк в этих таблицах растет как 2 n . А. Ньюэлл и Г. Саймон пошли по пути приближения процедуры доказательства к тому, как это делают люди.
В основу процесса доказательства они положили идею ликвидации различий в формульной записи ? 1 и ? 2 . Авторы программы составили перечень из шести различий.
1. В ? 1 и ? 2 различное число членов в формулах. Например, ? 1 =?
?, а ? 2 =?
? [6] .
2. В ? 1 и ? 2 имеется различие в основной связке (т.е. в связке, которая выполняется последней). Например, ? 1 =(??)