252 research outputs found
Let's plan it deductively!
AbstractThe paper describes a transition logic, TL, and a deductive formalism for it. It shows how various important aspects (such as ramification, qualification, specificity, simultaneity, indeterminism etc.) involved in planning (or in reasoning about action and causality for that matter) can be modelled in TL in a rather natural way. (The deductive formalism for) TL extends the linear connection method proposed earlier by the author by embedding the latter into classical logic, so that classical and resource-sensitive reasoning coexist within TL. The attraction of a logical and deductive approach to planning is emphasized and the state of automated deduction briefly described
Type Inference for Records in a Natural Extension of ML
We describe an extension of ML with records where inheritance is given by ML generic polymorphism. All operations on records introduced by Wand in [Wan87] are supported, in particular the unrestricted extension of a field, and other operations such as renaming of fields are added. The solution relies on both an extension of ML, where the language of types is sorted and considered modulo equations [Rem9Ob], and on a record extension of types [Rem9Oc]. The solution is simple and modular and the type inference algorithm is efficient in practice
Calculational Proofs in ACL2s
Teaching college students how to write rigorous proofs is a critical
objective in courses that introduce formal reasoning. Over the course of
several years, we have developed a mechanically-checkable style of
calculational reasoning that we used to teach over a thousand freshman-level
undergraduate students how to reason about computation in our "Logic and
Computation" class at Northeastern University. We were inspired by Dijkstra,
who advocated the use of calculational proofs, writing "calculational proofs
are almost always more effective than all informal alternatives, ..., the
design of calculational proofs seems much more teachable than the elusive art
of discovering an informal proof." Our calculational proof checker is
integrated into ACL2s and is available as an Eclipse IDE plugin, via a Web
interface, and as a stand-alone tool. It automatically checks proofs for
correctness and provides useful feedback. We describe the architecture of the
checker, its proof format, its underlying algorithms, its correctness and
provide examples using proofs from our undergraduate class and from Dijkstra.
We also describe our experiences using the proof checker to teach
undergraduates how to formally reason about computation
Termination of rewriting strategies: a generic approach
We propose a generic termination proof method for rewriting under strategies,
based on an explicit induction on the termination property. Rewriting trees on
ground terms are modeled by proof trees, generated by alternatively applying
narrowing and abstracting steps. The induction principle is applied through the
abstraction mechanism, where terms are replaced by variables representing any
of their normal forms. The induction ordering is not given a priori, but
defined with ordering constraints, incrementally set during the proof.
Abstraction constraints can be used to control the narrowing mechanism, well
known to easily diverge. The generic method is then instantiated for the
innermost, outermost and local strategies.Comment: 49 page
Diagrammatic Representations in Domain-Specific Languages
One emerging approach to reducing the labour and costs of software development
favours the specialisation of techniques to particular application domains.
The rationale is that programs within a given domain often share enough common
features and assumptions to enable the incorporation of substantial support
mechanisms into domain-specific programming languages and associated tools.
Instead of being machine-oriented, algorithmic implementations, programs in
many domain-specific languages (DSLs) are rather user-level, problem-oriented
specifications of solutions. Taken further, this view suggests that the most appropriate
representation of programs in many domains is diagrammatic, in a way
which derives from existing design notations in the domain.
This thesis conducts an investigation, using mathematical techniques and supported
by case studies, of issues arising from the use of diagrammatic representations
in DSLs. Its structure is conceptually divided into two parts: the first is
concerned with semantic and reasoning issues; the second introduces an approach
to describing the syntax and layout of diagrams, in a way which addresses some
pragmatic aspects of their use.
The empirical context of our work is that of IEC 1131-3, an industry standard
programming language for embedded control systems. The diagrammatic syntax
of IEC 1131-3 consists of circuit (i.e. box-and-wire) diagrams, emphasising a data-
flow view, and variants of Petri net diagrams, suited to a control-flow view.
The first contribution of the thesis is the formalisation of the diagrammatic
syntax and the semantics of IEC 1131-3 languages, as a prerequisite to the application
of algebraic techniques. More generally, we outline an approach to the
design of diagrammatic DSLs, emphasising compositionality in the semantics of
the language so as to allow the development of simple proof systems for inferring
properties which are deemed essential in the domain. The control-flow subset
of IEC 1131-3 is carefully evaluated, and is subsequently re-designed, to yield a
straightforward proof system for a restricted, yet commonly occurring, class of
safety properties.
A substantial part of the thesis deals with DSLs in which programs may be
represented both textually and diagrammatically, as indeed is the case with IEC
1131-3. We develop a formalisation of the data-flow diagrams in IEC 1131-
Automated Deduction – CADE 28
This open access book constitutes the proceeding of the 28th International Conference on Automated Deduction, CADE 28, held virtually in July 2021. The 29 full papers and 7 system descriptions presented together with 2 invited papers were carefully reviewed and selected from 76 submissions. CADE is the major forum for the presentation of research in all aspects of automated deduction, including foundations, applications, implementations, and practical experience. The papers are organized in the following topics: Logical foundations; theory and principles; implementation and application; ATP and AI; and system descriptions
- …