519 research outputs found
The exp-log normal form of types
Lambda calculi with algebraic data types lie at the core of functional
programming languages and proof assistants, but conceal at least two
fundamental theoretical problems already in the presence of the simplest
non-trivial data type, the sum type. First, we do not know of an explicit and
implemented algorithm for deciding the beta-eta-equality of terms---and this in
spite of the first decidability results proven two decades ago. Second, it is
not clear how to decide when two types are essentially the same, i.e.
isomorphic, in spite of the meta-theoretic results on decidability of the
isomorphism.
In this paper, we present the exp-log normal form of types---derived from the
representation of exponential polynomials via the unary exponential and
logarithmic functions---that any type built from arrows, products, and sums,
can be isomorphically mapped to. The type normal form can be used as a simple
heuristic for deciding type isomorphism, thanks to the fact that it is a
systematic application of the high-school identities.
We then show that the type normal form allows to reduce the standard beta-eta
equational theory of the lambda calculus to a specialized version of itself,
while preserving the completeness of equality on terms. We end by describing an
alternative representation of normal terms of the lambda calculus with sums,
together with a Coq-implemented converter into/from our new term calculus. The
difference with the only other previously implemented heuristic for deciding
interesting instances of eta-equality by Balat, Di Cosmo, and Fiore, is that we
exploit the type information of terms substantially and this often allows us to
obtain a canonical representation of terms without performing sophisticated
term analyses
Logic of Intuitionistic Interactive Proofs (Formal Theory of Perfect Knowledge Transfer)
We produce a decidable super-intuitionistic normal modal logic of
internalised intuitionistic (and thus disjunctive and monotonic) interactive
proofs (LIiP) from an existing classical counterpart of classical monotonic
non-disjunctive interactive proofs (LiP). Intuitionistic interactive proofs
effect a durable epistemic impact in the possibly adversarial communication
medium CM (which is imagined as a distinguished agent), and only in that, that
consists in the permanent induction of the perfect and thus disjunctive
knowledge of their proof goal by means of CM's knowledge of the proof: If CM
knew my proof then CM would persistently and also disjunctively know that my
proof goal is true. So intuitionistic interactive proofs effect a lasting
transfer of disjunctive propositional knowledge (disjunctively knowable facts)
in the communication medium of multi-agent distributed systems via the
transmission of certain individual knowledge (knowable intuitionistic proofs).
Our (necessarily) CM-centred notion of proof is also a disjunctive explicit
refinement of KD45-belief, and yields also such a refinement of standard
S5-knowledge. Monotonicity but not communality is a commonality of LiP, LIiP,
and their internalised notions of proof. As a side-effect, we offer a short
internalised proof of the Disjunction Property of Intuitionistic Logic
(originally proved by Goedel).Comment: continuation of arXiv:1201.3667; extended start of Section 1 and 2.1;
extended paragraph after Fact 1; dropped the N-rule as primitive and proved
it derivable; other, non-intuitionistic family members: arXiv:1208.1842,
arXiv:1208.591
Data Definitions in the ACL2 Sedan
We present a data definition framework that enables the convenient
specification of data types in ACL2s, the ACL2 Sedan. Our primary motivation
for developing the data definition framework was pedagogical. We were teaching
undergraduate students how to reason about programs using ACL2s and wanted to
provide them with an effective method for defining, testing, and reasoning
about data types in the context of an untyped theorem prover. Our framework is
now routinely used not only for pedagogical purposes, but also by advanced
users.
Our framework concisely supports common data definition patterns, e.g. list
types, map types, and record types. It also provides support for polymorphic
functions. A distinguishing feature of our approach is that we maintain both a
predicative and an enumerative characterization of data definitions.
In this paper we present our data definition framework via a sequence of
examples. We give a complete characterization in terms of tau rules of the
inclusion/exclusion relations a data definition induces, under suitable
restrictions. The data definition framework is a key component of
counterexample generation support in ACL2s, but can be independently used in
ACL2, and is available as a community book.Comment: In Proceedings ACL2 2014, arXiv:1406.123
Formal management of object behavior with statechart DNA
We introduce and explore a new statechart (sc) abstraction method. We define simplified statecharts (ssc) and discuss the use of action abstraction in ssc models. We isolate sc DNA from UML sc models, and show how this sc DNA can be used to define behavior model metrics and more generally, to manage object behavior
Evaluating Knowledge Representation and Reasoning Capabilites of Ontology Specification Languages
The interchange of ontologies across the World Wide Web (WWW) and the cooperation among heterogeneous agents placed on it is the main reason for the development of a new set of ontology specification languages, based on new web standards such as XML or RDF. These languages (SHOE, XOL, RDF, OIL, etc) aim to represent the knowledge contained in an ontology in a simple and human-readable way, as well as allow for the interchange of ontologies across the web. In this paper, we establish a common framework to compare the expressiveness of "traditional" ontology languages (Ontolingua, OKBC, OCML, FLogic, LOOM) and "web-based" ontology languages. As a result of this study, we conclude that different needs in KR and reasoning may exist in the building of an ontology-based application, and these needs must be evaluated in order to choose the most suitable ontology language(s)
- …