860,786 research outputs found

    The Logic of Language Change

    Get PDF
    A discussion of the relation of dialectical transitions in Hegel's speculative logic to changes in categories and grammar in the empirical historical languages

    Language Idling and Language in Use Wittgenstein on Following Rules

    Get PDF
    This paper has a simple goal: it aims to present the difference between static logic and dynamic grammar. At the same time I will stress another difference which traverses logic and grammar: the difference between language idling and language in use. There is a development from static logic to dynamic grammar in Wittgenstein"s philosophy from early to late, whereas the difference between language idling and language in use pervades the whole oeuvre. Therefore I shall distinguish between four different conditions pertaining to the attempt to render the relations that hold language together. We find in early Wittgenstein "idle static logic" and "static logic in use," and in late Wittgenstein "idle dynamic grammar" and "dynamic grammar in use." This four-fold distinction serves to emphasize that the crucial shift to "use," which is usually claimed to be a feature of the Philosophical Investigations, already takes place in the Tractatus. A negligence of this "double shift" from logic to grammar and from idle language to language in use brought about a vast amount of misapprehensions of Wittgenstein"s philosophy, especially of the account of rule following

    Maude: specification and programming in rewriting logic

    Get PDF
    Maude is a high-level language and a high-performance system supporting executable specification and declarative programming in rewriting logic. Since rewriting logic contains equational logic, Maude also supports equational specification and programming in its sublanguage of functional modules and theories. The underlying equational logic chosen for Maude is membership equational logic, that has sorts, subsorts, operator overloading, and partiality definable by membership and equality conditions. Rewriting logic is reflective, in the sense of being able to express its own metalevel at the object level. Reflection is systematically exploited in Maude endowing the language with powerful metaprogramming capabilities, including both user-definable module operations and declarative strategies to guide the deduction process. This paper explains and illustrates with examples the main concepts of Maude's language design, including its underlying logic, functional, system and object-oriented modules, as well as parameterized modules, theories, and views. We also explain how Maude supports reflection, metaprogramming and internal strategies. The paper outlines the principles underlying the Maude system implementation, including its semicompilation techniques. We conclude with some remarks about applications, work on a formal environment for Maude, and a mobile language extension of Maude

    Disjunctive Logic Programs with Inheritance

    Full text link
    The paper proposes a new knowledge representation language, called DLP<, which extends disjunctive logic programming (with strong negation) by inheritance. The addition of inheritance enhances the knowledge modeling features of the language providing a natural representation of default reasoning with exceptions. A declarative model-theoretic semantics of DLP< is provided, which is shown to generalize the Answer Set Semantics of disjunctive logic programs. The knowledge modeling features of the language are illustrated by encoding classical nonmonotonic problems in DLP<. The complexity of DLP< is analyzed, proving that inheritance does not cause any computational overhead, as reasoning in DLP< has exactly the same complexity as reasoning in disjunctive logic programming. This is confirmed by the existence of an efficient translation from DLP< to plain disjunctive logic programming. Using this translation, an advanced KR system supporting the DLP< language has been implemented on top of the DLV system and has subsequently been integrated into DLV.Comment: 28 pages; will be published in Theory and Practice of Logic Programmin

    A Rewrite Framework for Language Definitions and for Generation of Efficient Interpreters

    Get PDF
    A rewrite logic semantic definitional framework for programming languages is introduced, called K, together with partially automated translations of K language definitions into rewriting logic and into C. The framework is exemplified by defining SILF, a simple imperative language with functions. The translation of K definitions into rewriting logic enables the use of the various analysis tools developed for rewrite logic specifications, while the translation into C allows for very efficient interpreters. A suite of tests show the performance of interpreters compiled from K definitions

    Linear-Logic Based Analysis of Constraint Handling Rules with Disjunction

    Full text link
    Constraint Handling Rules (CHR) is a declarative committed-choice programming language with a strong relationship to linear logic. Its generalization CHR with Disjunction (CHRv) is a multi-paradigm declarative programming language that allows the embedding of horn programs. We analyse the assets and the limitations of the classical declarative semantics of CHR before we motivate and develop a linear-logic declarative semantics for CHR and CHRv. We show how to apply the linear-logic semantics to decide program properties and to prove operational equivalence of CHRv programs across the boundaries of language paradigms
    • …
    corecore