4,287 research outputs found

    Proof-checking Euclid

    Get PDF
    We used computer proof-checking methods to verify the correctness of our proofs of the propositions in Euclid Book I. We used axioms as close as possible to those of Euclid, in a language closely related to that used in Tarski's formal geometry. We used proofs as close as possible to those given by Euclid, but filling Euclid's gaps and correcting errors. Euclid Book I has 48 propositions, we proved 235 theorems. The extras were partly "Book Zero", preliminaries of a very fundamental nature, partly propositions that Euclid omitted but were used implicitly, partly advanced theorems that we found necessary to fill Euclid's gaps, and partly just variants of Euclid's propositions. We wrote these proofs in a simple fragment of first-order logic corresponding to Euclid's logic, debugged them using a custom software tool, and then checked them in the well-known and trusted proof checkers HOL Light and Coq.Comment: 53 page

    A Historical Perspective on Runtime Assertion Checking in Software Development

    Get PDF
    This report presents initial results in the area of software testing and analysis produced as part of the Software Engineering Impact Project. The report describes the historical development of runtime assertion checking, including a description of the origins of and significant features associated with assertion checking mechanisms, and initial findings about current industrial use. A future report will provide a more comprehensive assessment of development practice, for which we invite readers of this report to contribute information

    A deterministic version of Pollard's p-1 algorithm

    Full text link
    In this article we present applications of smooth numbers to the unconditional derandomization of some well-known integer factoring algorithms. We begin with Pollard's p1p-1 algorithm, which finds in random polynomial time the prime divisors pp of an integer nn such that p1p-1 is smooth. We show that these prime factors can be recovered in deterministic polynomial time. We further generalize this result to give a partial derandomization of the kk-th cyclotomic method of factoring (k2k\ge 2) devised by Bach and Shallit. We also investigate reductions of factoring to computing Euler's totient function ϕ\phi. We point out some explicit sets of integers nn that are completely factorable in deterministic polynomial time given ϕ(n)\phi(n). These sets consist, roughly speaking, of products of primes pp satisfying, with the exception of at most two, certain conditions somewhat weaker than the smoothness of p1p-1. Finally, we prove that O(lnn)O(\ln n) oracle queries for values of ϕ\phi are sufficient to completely factor any integer nn in less than exp((1+o(1))(lnn)1/3(lnlnn)2/3)\exp\Bigl((1+o(1))(\ln n)^{{1/3}} (\ln\ln n)^{{2/3}}\Bigr) deterministic time.Comment: Expanded and heavily revised version, to appear in Mathematics of Computation, 21 page

    Enhancing Reuse of Constraint Solutions to Improve Symbolic Execution

    Full text link
    Constraint solution reuse is an effective approach to save the time of constraint solving in symbolic execution. Most of the existing reuse approaches are based on syntactic or semantic equivalence of constraints; e.g. the Green framework is able to reuse constraints which have different representations but are semantically equivalent, through canonizing constraints into syntactically equivalent normal forms. However, syntactic/semantic equivalence is not a necessary condition for reuse--some constraints are not syntactically or semantically equivalent, but their solutions still have potential for reuse. Existing approaches are unable to recognize and reuse such constraints. In this paper, we present GreenTrie, an extension to the Green framework, which supports constraint reuse based on the logical implication relations among constraints. GreenTrie provides a component, called L-Trie, which stores constraints and solutions into tries, indexed by an implication partial order graph of constraints. L-Trie is able to carry out logical reduction and logical subset and superset querying for given constraints, to check for reuse of previously solved constraints. We report the results of an experimental assessment of GreenTrie against the original Green framework, which shows that our extension achieves better reuse of constraint solving result and saves significant symbolic execution time.Comment: this paper has been submitted to conference ISSTA 201

    The Uses of Argument in Mathematics

    Get PDF
    Stephen Toulmin once observed that `it has never been customary for philosophers to pay much attention to the rhetoric of mathematical debate'. Might the application of Toulmin's layout of arguments to mathematics remedy this oversight? Toulmin's critics fault the layout as requiring so much abstraction as to permit incompatible reconstructions. Mathematical proofs may indeed be represented by fundamentally distinct layouts. However, cases of genuine conflict characteristically reflect an underlying disagreement about the nature of the proof in question.Comment: 10 pages, 5 figures. To be presented at the Ontario Society for the Study of Argumentation Conference, McMaster University, May 2005 and LOGICA 2005, Hejnice, Czech Republic, June 200

    From Euclidean Geometry to Knots and Nets

    Get PDF
    This document is the Accepted Manuscript of an article accepted for publication in Synthese. Under embargo until 19 September 2018. The final publication is available at Springer via https://doi.org/10.1007/s11229-017-1558-x.This paper assumes the success of arguments against the view that informal mathematical proofs secure rational conviction in virtue of their relations with corresponding formal derivations. This assumption entails a need for an alternative account of the logic of informal mathematical proofs. Following examination of case studies by Manders, De Toffoli and Giardino, Leitgeb, Feferman and others, this paper proposes a framework for analysing those informal proofs that appeal to the perception or modification of diagrams or to the inspection or imaginative manipulation of mental models of mathematical phenomena. Proofs relying on diagrams can be rigorous if (a) it is easy to draw a diagram that shares or otherwise indicates the structure of the mathematical object, (b) the information thus displayed is not metrical and (c) it is possible to put the inferences into systematic mathematical relation with other mathematical inferential practices. Proofs that appeal to mental models can be rigorous if the mental models can be externalised as diagrammatic practice that satisfies these three conditions.Peer reviewe

    The Euclid-Mullin graph

    Get PDF
    We introduce the Euclid-Mullin graph, which encodes all instances of Euclid's proof of the infinitude of primes. We investigate structural properties of the graph both theoretically and numerically; in particular, we prove that it is not a tree.Comment: 24 pages, 2 figures, to appear in Journal of Number Theor
    corecore