1. Trang chủ
  2. » Thể loại khác

Logic as a tool a guide to formal logical reasoning ( PDFDrive ) 284

1 1 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 1
Dung lượng 60,78 KB

Nội dung

260 Logic as a Tool search strategy inbuilt to the SLD-resolution, pure Prolog does not always terminate even when a derivation exists; it is therefore practically incomplete To remedy that problem, Prolog employs some non-logical features such as cut and fail, implementing “Negation-by-Failure” in a more aggressive way This feature introduces an obvious problem: a Prolog program implicitly assumes that only what can be derived from its facts and rules is true; everything else is declared to be false Negation-by-failure therefore yields a non-standard semantics of the negation: notA succeeds iff deriving A fails This semantics is non-monotonic: adding more facts or rules to the program may enable more derivations and therefore falsify some negated statements which were previously declared true Another problem with the semantics of Prolog programs arises from the control of the execution of such programs The execution, and sometimes the outcome, of a Prolog program can be sensitive to the order in which the rules are listed within the program or how the literals are ordered within a rule; the programmer must take this into account when ordering these Furthermore, the predicates cut and fail enable a mechanism for preventing the deductive engine from revisiting certain paths in the search space (by using cut) or for pruning them altogether (by using fail), which alters the purely logical semantics of a Prolog program However, skillful use of these features can produce very elegant and efficient Prolog programs Despite these strange effects, Prolog has remained one of the top choices of logic programming language for over 40 years References for further reading There is abundant literature on automated reasoning and theorem proving, including classical texts and references on the topic (some freely available on the internet) such as: Robinson and Voronkov (2001), Ben-Ari (2012), Fitting (1996), Chang and Lee (1997), Nerode and Shore (1993), and Gallier (1986) In addition, some specific useful references include: • https://en.wikipedia.org/wiki/Automated_reasoning; • Geoff Sutcliffe’s Overview of Automated Theorem Proving http://www.cs.miami.edu/tptp/OverviewOfATP.html; and • The Thousand Problems for Theorem Provers (TPTP) library www.tptp.org For more on the history, theory, and art of logic programming and Prolog, see Nilsson and Małuszy´nski (1995), Spivey (1995), Ebbinghaus et al (1996), Fitting (1996), and Ben-Ari (2012) Exercises 5.4.1 Use the online version WebSPASS of the automated theorem prover SPASS http://www.spass-prover.org, or any other implementation of an automated theorem prover of your choice, to formalize and solve exercises 7, 8, 9, and 14 from Section 4.5.8, as well as the formalized exercises from Section 5.2.7

Ngày đăng: 28/10/2022, 15:44