6,476 research outputs found
Improving QED-Tutrix by Automating the Generation of Proofs
The idea of assisting teachers with technological tools is not new.
Mathematics in general, and geometry in particular, provide interesting
challenges when developing educative softwares, both in the education and
computer science aspects. QED-Tutrix is an intelligent tutor for geometry
offering an interface to help high school students in the resolution of
demonstration problems. It focuses on specific goals: 1) to allow the student
to freely explore the problem and its figure, 2) to accept proofs elements in
any order, 3) to handle a variety of proofs, which can be customized by the
teacher, and 4) to be able to help the student at any step of the resolution of
the problem, if the need arises. The software is also independent from the
intervention of the teacher. QED-Tutrix offers an interesting approach to
geometry education, but is currently crippled by the lengthiness of the process
of implementing new problems, a task that must still be done manually.
Therefore, one of the main focuses of the QED-Tutrix' research team is to ease
the implementation of new problems, by automating the tedious step of finding
all possible proofs for a given problem. This automation must follow
fundamental constraints in order to create problems compatible with QED-Tutrix:
1) readability of the proofs, 2) accessibility at a high school level, and 3)
possibility for the teacher to modify the parameters defining the
"acceptability" of a proof. We present in this paper the result of our
preliminary exploration of possible avenues for this task. Automated theorem
proving in geometry is a widely studied subject, and various provers exist.
However, our constraints are quite specific and some adaptation would be
required to use an existing prover. We have therefore implemented a prototype
of automated prover to suit our needs. The future goal is to compare
performances and usability in our specific use-case between the existing
provers and our implementation.Comment: In Proceedings ThEdu'17, arXiv:1803.0072
Automating Inductive Proofs using Theory Exploration
HipSpec is a system for automatically deriving and proving properties about functional programs. It uses a novel approach, combining theory exploration, counterexample testing and inductive theorem proving. HipSpec automatically generates a set of equational theorems about the available recursive functions of a program. These equational properties make up an algebraic specification for the program and can in addition be used as a background theory for proving additional user-stated properties. Experimental results are encouraging: HipSpec compares favourably to other inductive theorem provers and theory exploration systems
On Automating Diagrammatic Proofs of Arithmetic Arguments
. Theorems in automated theorem proving are usually proved by formal logical proofs. However, there is a subset of problems which humans can prove by the use of geometric operations on diagrams, so called diagrammatic proofs. Insight is often more clearly perceived in these proofs than in the corresponding algebraic proofs; they capture an intuitive notion of truthfulness that humans find easy to see and understand. We are investigating and automating such diagrammatic reasoning about mathematical theorems. Concrete, rather than general diagrams are used to prove particular concrete instances of the universally quantified theorem. The diagrammatic proof is captured by the use of geometric operations on the diagram. These operations are the "inference steps" of the proof. An abstracted schematic proof of the universally quantified theorem is induced from these proof instances. The constructive !-rule provides the mathematical basis for this step from schematic proofs to theoremhood. In ..
Automating Resolution is NP-Hard
We show that the problem of finding a Resolution refutation that is at most
polynomially longer than a shortest one is NP-hard. In the parlance of proof
complexity, Resolution is not automatizable unless P = NP. Indeed, we show it
is NP-hard to distinguish between formulas that have Resolution refutations of
polynomial length and those that do not have subexponential length refutations.
This also implies that Resolution is not automatizable in subexponential time
or quasi-polynomial time unless NP is included in SUBEXP or QP, respectively
Automating Deductive Verification for Weak-Memory Programs
Writing correct programs for weak memory models such as the C11 memory model
is challenging because of the weak consistency guarantees these models provide.
The first program logics for the verification of such programs have recently
been proposed, but their usage has been limited thus far to manual proofs.
Automating proofs in these logics via first-order solvers is non-trivial, due
to reasoning features such as higher-order assertions, modalities and rich
permission resources. In this paper, we provide the first implementation of a
weak memory program logic using existing deductive verification tools. We
tackle three recent program logics: Relaxed Separation Logic and two forms of
Fenced Separation Logic, and show how these can be encoded using the Viper
verification infrastructure. In doing so, we illustrate several novel encoding
techniques which could be employed for other logics. Our work is implemented,
and has been evaluated on examples from existing papers as well as the Facebook
open-source Folly library.Comment: Extended version of TACAS 2018 publicatio
A Vision of Collaborative Verification-Driven Engineering of Hybrid Systems
Abstract. Hybrid systems with both discrete and continuous dynamics are an important model for real-world physical systems. The key challenge is how to ensure their correct functioning w.r.t. safety requirements. Promising techniques to ensure safety seem to be model-driven engineering to develop hybrid systems in a well-defined and traceable manner, and formal verification to prove their correctness. Their combination forms the vision of verification-driven engineering. Despite the remarkable progress in automating formal verification of hybrid systems, the construction of proofs of complex systems often requires significant human guidance, since hybrid systems verification tools solve undecidable problems. It is thus not uncommon for verification teams to consist of many players with diverse expertise. This paper introduces a verification-driven engineering toolset that extends our previous work on hybrid and arithmetic verification with tools for (i) modeling hybrid systems, (ii) exchanging and comparing models and proofs, and (iii) managing verification tasks. This toolset makes it easier to tackle large-scale verification tasks.
Recommended from our members
Automated verification of refinement laws
Demonic refinement algebras are variants of Kleene algebras. Introduced by von Wright as a light-weight variant of the refinement calculus, their intended semantics are positively disjunctive predicate transformers, and their calculus is entirely within first-order equational logic. So, for the first time, off-the-shelf automated theorem proving (ATP) becomes available for refinement proofs. We used ATP to verify a toolkit of basic refinement laws. Based on this toolkit, we then verified two classical complex refinement laws for action systems by ATP: a data refinement law and Back's atomicity refinement law. We also present a refinement law for infinite loops that has been discovered through automated analysis. Our proof experiments not only demonstrate that refinement can effectively be automated, they also compare eleven different ATP systems and suggest that program verification with variants of Kleene algebras yields interesting theorem proving benchmarks. Finally, we apply hypothesis learning techniques that seem indispensable for automating more complex proofs
- …