431 research outputs found
Theory Morphisms in Church's Type Theory with Quotation and Evaluation
is a version of Church's type theory with global
quotation and evaluation operators that is engineered to reason about the
interplay of syntax and semantics and to formalize syntax-based mathematical
algorithms. is a variant of that
admits undefined expressions, partial functions, and multiple base types of
individuals. It is better suited than as a logic for
building networks of theories connected by theory morphisms. This paper
presents the syntax and semantics of , defines a notion of
a theory morphism from one theory to another, and gives
two simple examples that illustrate the use of theory morphisms in .Comment: 17 page
Recursive Definitions of Monadic Functions
Using standard domain-theoretic fixed-points, we present an approach for
defining recursive functions that are formulated in monadic style. The method
works both in the simple option monad and the state-exception monad of
Isabelle/HOL's imperative programming extension, which results in a convenient
definition principle for imperative programs, which were previously hard to
define.
For such monadic functions, the recursion equation can always be derived
without preconditions, even if the function is partial. The construction is
easy to automate, and convenient induction principles can be derived
automatically.Comment: In Proceedings PAR 2010, arXiv:1012.455
Binary Relations as a Foundation of Mathematics
We describe a theory for binary relations in the Zermelo-Fraenkel style. We choose for ZFCU, a variant of ZFC Set theory in which the Axiom of Foundation is replaced by an axiom allowing for non-wellfounded sets. The theory of binary relations is shown to be equi-consistent ZFCU by constructing a model for the theory of binary relations in ZFU and vice versa. Thus, binary relations are a foundation for mathematics in the same sense as sets are
On the mechanisation of the logic of partial functions
PhD ThesisIt is well known that partial functions arise frequently in formal reasoning
about programs. A partial function may not yield a value for every member
of its domain. Terms that apply partial functions thus may not denote, and
coping with such terms is problematic in two-valued classical logic. A question
is raised: how can reasoning about logical formulae that can contain references
to terms that may fail to denote (partial terms) be conducted formally? Over
the years a number of approaches to coping with partial terms have been
documented. Some of these approaches attempt to stay within the realm
of two-valued classical logic, while others are based on non-classical logics.
However, as yet there is no consensus on which approach is the best one to
use. A comparison of numerous approaches to coping with partial terms is
presented based upon formal semantic definitions.
One approach to coping with partial terms that has received attention over
the years is the Logic of Partial Functions (LPF), which is the logic underlying
the Vienna Development Method. LPF is a non-classical three-valued logic
designed to cope with partial terms, where both terms and propositions may
fail to denote. As opposed to using concrete undfined values, undefinedness
is treated as a \gap", that is, the absence of a defined value. LPF is based
upon Strong Kleene logic, where the interpretations of the logical operators
are extended to cope with truth value \gaps".
Over the years a large body of research and engineering has gone into the
development of proof based tool support for two-valued classical logic. This
has created a major obstacle that affects the adoption of LPF, since such proof
support cannot be carried over directly to LPF. Presently, there is a lack of
direct proof support for LPF.
An aim of this work is to investigate the applicability of mechanised (automated)
proof support for reasoning about logical formulae that can contain
references to partial terms in LPF. The focus of the investigation is on the basic
but fundamental two-valued classical logic proof procedure: resolution and
the associated technique proof by contradiction. Advanced proof techniques
are built on the foundation that is provided by these basic fundamental proof
techniques. Looking at the impact of these basic fundamental proof techniques
in LPF is thus the essential and obvious starting point for investigating proof
support for LPF. The work highlights the issues that arise when applying
these basic techniques in LPF, and investigates the extent of the modifications needed to carry them over to LPF. This work provides the essential foundation
on which to facilitate research into the modification of advanced proof
techniques for LPF.EPSR
An algebraic basis for specifying and enforcing access control in security systems
Security services in a multi-user environment are often based on access control mechanisms. Static aspects of an access control policy can be formalised using abstract algebraic models. We integrate these static aspects into a dynamic framework considering requesting access to resources as a process aiming at the prevention of access control violations when a program is executed. We use another algebraic technique, monads, as a meta-language to integrate access control operations into a functional
programming language. The integration of monads and concepts from a denotational model for process algebras provides a framework for programming of access control in security systems
Syntactic definitions of undefined: On defining the undefined
In the lambda-calculus, there is a standard notion of what terms should be considered to be “undefined”: the unsolvable terms. There are various equivalent characterisations of this property of terms. We attempt to find a similar notion for orthogonal term rewrite systems. We find that in general the properties of terms analogous to the various characterisations of solvability differ. We give two axioms that a notion of undefinedness should satisfy, and explore some of their consequences. The axioms lead to a concept analogous to the Böhm trees of the λ-calculus. Each term has a unique B5hm tree, and the set of such trees forms a domain which provides a denotational semantics for the rewrite system. We consider several particular notions of undefinedness satisfying the axioms, and compare them
Abstraction Logic: A New Foundation for (Computer) Mathematics
Abstraction logic is a new logic, serving as a foundation of mathematics. It
combines features of both predicate logic and higher-order logic: abstraction
logic can be viewed both as higher-order logic minus static types as well as
predicate logic plus operators and variable binding. We argue that abstraction
logic is the best foundational logic possible because it maximises both
simplicity and practical expressivity. This argument is supported by the
observation that abstraction logic has simpler terms and a simpler notion of
proof than all other general logics. At the same time, abstraction logic can
formalise both intuitionistic and classical abstraction logic, and is sound and
complete for these logics and all other logics extending deduction logic with
equality
- …