477 research outputs found
Partial Horn logic and cartesian categories
A logic is developed in which function symbols are allowed to represent partial functions. It has the usual rules of logic (in the form of a sequent calculus) except that the substitution rule has to be modified. It is developed here in its minimal form, with equality and conjunction, as “partial Horn logic”.
Various kinds of logical theory are equivalent: partial Horn theories, “quasi-equational” theories (partial Horn theories without predicate symbols), cartesian theories and essentially algebraic theories.
The logic is sound and complete with respect to models in , and sound with respect to models in any cartesian (finite limit) category.
The simplicity of the quasi-equational form allows an easy predicative constructive proof of the free partial model theorem for cartesian theories: that if a theory morphism is given from one cartesian theory to another, then the forgetful (reduct) functor from one model category to the other has a left adjoint.
Various examples of quasi-equational theory are studied, including those of cartesian categories and of other classes of categories. For each quasi-equational theory another, , is constructed, whose models are cartesian categories equipped with models of . Its initial model, the “classifying category” for , has properties similar to those of the syntactic category, but more precise with respect to strict cartesian functors
Abstract Canonical Inference
An abstract framework of canonical inference is used to explore how different
proof orderings induce different variants of saturation and completeness.
Notions like completion, paramodulation, saturation, redundancy elimination,
and rewrite-system reduction are connected to proof orderings. Fairness of
deductive mechanisms is defined in terms of proof orderings, distinguishing
between (ordinary) "fairness," which yields completeness, and "uniform
fairness," which yields saturation.Comment: 28 pages, no figures, to appear in ACM Trans. on Computational Logi
Recommended from our members
Algebraic specification : syntax, semantics, structure
Algebraic specification is the technique of using algebras to model properties of a system and using axioms to characterize such algebras. Algebraic specification comprises two aspects: the underlying logic used in the axioms and algebras, and the use of a small, general set of operators to build specifications in a structured manner. We describe these two aspects using the unifying notion of institutions. An institution is an abstraction of a logical system, describing the vocabulary, the kinds of axioms, the kinds of algebras, and the relation between them. Using institutions, one can define general structuring operators which are independent of the underlying logic. In this paper, we survey the different kind of logics, syntax, semantics, and structuring operators that have been used in algebraic specification
Recommended from our members
Automated verification of refinement laws
Demonic refinement algebras are variants of Kleene algebras. Introduced by von Wright as a light-weight variant of the refinement calculus, their intended semantics are positively disjunctive predicate transformers, and their calculus is entirely within first-order equational logic. So, for the first time, off-the-shelf automated theorem proving (ATP) becomes available for refinement proofs. We used ATP to verify a toolkit of basic refinement laws. Based on this toolkit, we then verified two classical complex refinement laws for action systems by ATP: a data refinement law and Back's atomicity refinement law. We also present a refinement law for infinite loops that has been discovered through automated analysis. Our proof experiments not only demonstrate that refinement can effectively be automated, they also compare eleven different ATP systems and suggest that program verification with variants of Kleene algebras yields interesting theorem proving benchmarks. Finally, we apply hypothesis learning techniques that seem indispensable for automating more complex proofs
Unification Theory - An Introduction
Aus der Einleitung:
„Equational unification is a generalization of syntactic unification in which semantic properties of function symbols are taken into account. For example, assume that the function symbol '+' is known to be commutative. Given the unication problem x + y ≐ a + b (where x and y are variables, and a and b are constants), an algorithm for syntactic unification would return the substitution {x ↦ a; y ↦ b} as the only (and most general) unifier: to make x + y and a + b syntactically equal, one must replace the variable x by a and y by b. However, commutativity of '+' implies that {x ↦ b; y ↦ b} also is a unifier in the sense that the terms obtained by its application, namely b + a and a + b, are equal modulo commutativity of '+'. More generally, equational unification is concerned with the problem of how to make terms equal modulo a given equational theory, which specifies semantic properties of the function symbols that occur in the terms to be unified.
Fuzzy inequational logic
We present a logic for reasoning about graded inequalities which generalizes
the ordinary inequational logic used in universal algebra. The logic deals with
atomic predicate formulas of the form of inequalities between terms and
formalizes their semantic entailment and provability in graded setting which
allows to draw partially true conclusions from partially true assumptions. We
follow the Pavelka approach and define general degrees of semantic entailment
and provability using complete residuated lattices as structures of truth
degrees. We prove the logic is Pavelka-style complete. Furthermore, we present
a logic for reasoning about graded if-then rules which is obtained as
particular case of the general result
Theorem proving with built-in hybrid theories
A growing number of applications of automated reasoning exhibits the necessity of flexible deduction systems. A deduction system should be able to execute inference rules which are appropriate to the given problem. One way to achieve this behavior is the integration of different calculi. This led to so called hybrid reasoning [22, 1, 10, 20] which means the integration of a general purpose foreground reasoner with a specialized background reasoner. A typical task of a background reasoner is to perform special purpose inference rules according to a built-in theory. The aim of this paper is to go a step further, i.e. to treat the background reasoner as a hybrid system itself. The paper formulates sufficient criteria for the construction of complete calculi which enable reasoning under hybrid theories combined from sub-theories. For this purpose we use a generic approach described in [20]. This more detailed view on built-in theories is not covered by the known general approaches [1, 3, 6, 20] for building in theories into theorem provers. The approach is demonstrated by its application to the target calculi of the algebraic translation [9] of multi-modal and extended multi-modal [7] logic to first-order logic
Maude: specification and programming in rewriting logic
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
- …