62,882 research outputs found
Introduction to Categories and Categorical Logic
The aim of these notes is to provide a succinct, accessible introduction to
some of the basic ideas of category theory and categorical logic. The notes are
based on a lecture course given at Oxford over the past few years. They contain
numerous exercises, and hopefully will prove useful for self-study by those
seeking a first introduction to the subject, with fairly minimal prerequisites.
The coverage is by no means comprehensive, but should provide a good basis for
further study; a guide to further reading is included. The main prerequisite is
a basic familiarity with the elements of discrete mathematics: sets, relations
and functions. An Appendix contains a summary of what we will need, and it may
be useful to review this first. In addition, some prior exposure to abstract
algebra - vector spaces and linear maps, or groups and group homomorphisms -
would be helpful.Comment: 96 page
The use of data-mining for the automatic formation of tactics
This paper discusses the usse of data-mining for the automatic formation of tactics. It was presented at the Workshop on Computer-Supported Mathematical Theory Development held at IJCAR in 2004. The aim of this project is to evaluate the applicability of data-mining techniques to the automatic formation of tactics from large corpuses of proofs. We data-mine information from large proof corpuses to find commonly occurring patterns. These patterns are then evolved into tactics using genetic programming techniques
An approach to basic set theory and logic
The purpose of this paper is to outline a simple set of axioms for basic set
theory from which most fundamental facts can be derived. The key to the whole
project is a new axiom of set theory which I dubbed "The Law of Extremes". It
allows for quick proofs of basic set-theoretic identities and logical
tautologies, so it is also a good tool to aid one's memory.
I do not assume any exposure to euclidean geometry via axioms. Only an
experience with transforming algebraic identities is required.
The idea is to get students to do proofs right from the get-go. In
particular, I avoid entangling students in nuances of logic early on. Basic
facts of logic are derived from set theory, not the other way around.Comment: 22 page
Physics, Topology, Logic and Computation: A Rosetta Stone
In physics, Feynman diagrams are used to reason about quantum processes. In
the 1980s, it became clear that underlying these diagrams is a powerful analogy
between quantum physics and topology: namely, a linear operator behaves very
much like a "cobordism". Similar diagrams can be used to reason about logic,
where they represent proofs, and computation, where they represent programs.
With the rise of interest in quantum cryptography and quantum computation, it
became clear that there is extensive network of analogies between physics,
topology, logic and computation. In this expository paper, we make some of
these analogies precise using the concept of "closed symmetric monoidal
category". We assume no prior knowledge of category theory, proof theory or
computer science.Comment: 73 pages, 8 encapsulated postscript figure
Trustworthy Refactoring via Decomposition and Schemes: A Complex Case Study
Widely used complex code refactoring tools lack a solid reasoning about the
correctness of the transformations they implement, whilst interest in proven
correct refactoring is ever increasing as only formal verification can provide
true confidence in applying tool-automated refactoring to industrial-scale
code. By using our strategic rewriting based refactoring specification
language, we present the decomposition of a complex transformation into smaller
steps that can be expressed as instances of refactoring schemes, then we
demonstrate the semi-automatic formal verification of the components based on a
theoretical understanding of the semantics of the programming language. The
extensible and verifiable refactoring definitions can be executed in our
interpreter built on top of a static analyser framework.Comment: In Proceedings VPT 2017, arXiv:1708.0688
Encoding TLA+ set theory into many-sorted first-order logic
We present an encoding of Zermelo-Fraenkel set theory into many-sorted
first-order logic, the input language of state-of-the-art SMT solvers. This
translation is the main component of a back-end prover based on SMT solvers in
the TLA+ Proof System
Using ACL2 to Verify Loop Pipelining in Behavioral Synthesis
Behavioral synthesis involves compiling an Electronic System-Level (ESL)
design into its Register-Transfer Level (RTL) implementation. Loop pipelining
is one of the most critical and complex transformations employed in behavioral
synthesis. Certifying the loop pipelining algorithm is challenging because
there is a huge semantic gap between the input sequential design and the output
pipelined implementation making it infeasible to verify their equivalence with
automated sequential equivalence checking techniques. We discuss our ongoing
effort using ACL2 to certify loop pipelining transformation. The completion of
the proof is work in progress. However, some of the insights developed so far
may already be of value to the ACL2 community. In particular, we discuss the
key invariant we formalized, which is very different from that used in most
pipeline proofs. We discuss the needs for this invariant, its formalization in
ACL2, and our envisioned proof using the invariant. We also discuss some
trade-offs, challenges, and insights developed in course of the project.Comment: In Proceedings ACL2 2014, arXiv:1406.123
- âŠ