Страница 1 из 3 Предположим, что вы просматриваете доску объявлений университетской кафедры компьютерных наук и видите сообщение со словами: "Студентам будут предложены следующие курсы лекций: CS 101, CS 102, CS 106, ЕЕ 101". Итак, сколько курсов здесь предлагается? Если вы ответите "четыре", то поступите в соответствии с принципами работы типичной системы баз данных. После ввода информации в реляционную базу данных с помощью оператора, эквивалентного следующим четырем утверждениям: (10.2) запрос на языке SQL select count (*) from Course возвратит 4. С другой стороны, логическая система первого порядка, скорее всего, ответит примерно в том смысле, что количество предлагаемых курсов должно находиться в пределах от одного до бесконечности, но только не быть равно "четырем". Причина этого состоит в том, что эти утверждения Course не отрицают возможности, что могут также предлагаться другие не упомянутые здесь курсы, а также не позволяют сделать вывод, что все указанные курсы отличаются друг от друга. Этот пример показывает, что системы баз данных и соглашения, неявно применяемые людьми при общении, отличаются от логики первого порядка по меньшей мере в двух аспектах. Во-первых, в языках баз данных (и в языках общения людей) предполагается, что предоставленная информация является полной, поэтому предполагается, что базовые атомарные высказывания, не обозначенные как истинные, являются ложными. Такое предположение называется предположением о замкнутом мире, или CWA (Closed-World Assumption). Во-вторых, обычно предполагается, что разные имена относятся к различным объектам. В этом состоит предположение об уникальности имен, или UNA (Unique Names Assumption), которое было впервые описано в контексте имен действий в разделе 10.3. В логике первого порядка такие соглашения не приняты, и поэтому необходимо их определять явно. Чтобы сформулировать высказывание, что предлагаются четыре и только четыре разных курса, необходимо записать следующее: (10.3)
<< В начало < Предыдущая 1 2 3 Следующая > В конец >> |