Abstract
This chapter presents the example of Prolog that has shown the possible success of high-level programming with some powerful mathematical notation as language and an automated theorem-prover as an interpreter for its execution. One of the few serious challenges to this combination of first-order predicate logic and resolution theorem proving is provided to date by the language of term-equations together with rewrite-rule machines and the Knuth–Bendix completion procedure. The latter approach has important applications in the area of data-type specification, where term equations provide a natural specification language, whose expressive power and usefulness is well known from modern Algebra and the theory of recursive functions. Software specification through term-equations has the advantage that, by interpreting the equations as directed rewrite-rules, an easy to implement rewrite-rule machine allows their efficient application and, therefore, some means of rapid prototyping. The category of all models forms an equational variety, for which the usual equational reasoning is a complete proof procedure. In the variety, there are also certain initial or standard models that are important in practice because they capture some standard intuition; all data items in these models are denoted by terms without variables formed from the operators in the equations and, hence, they are finitely constructible.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.