612 research outputs found
Smart matching
One of the most annoying aspects in the formalization of mathematics is the
need of transforming notions to match a given, existing result. This kind of
transformations, often based on a conspicuous background knowledge in the given
scientific domain (mostly expressed in the form of equalities or isomorphisms),
are usually implicit in the mathematical discourse, and it would be highly
desirable to obtain a similar behavior in interactive provers. The paper
describes the superposition-based implementation of this feature inside the
Matita interactive theorem prover, focusing in particular on the so called
smart application tactic, supporting smart matching between a goal and a given
result.Comment: To appear in The 9th International Conference on Mathematical
Knowledge Management: MKM 201
Superposition as a logical glue
The typical mathematical language systematically exploits notational and
logical abuses whose resolution requires not just the knowledge of domain
specific notation and conventions, but not trivial skills in the given
mathematical discipline. A large part of this background knowledge is expressed
in form of equalities and isomorphisms, allowing mathematicians to freely move
between different incarnations of the same entity without even mentioning the
transformation. Providing ITP-systems with similar capabilities seems to be a
major way to improve their intelligence, and to ease the communication between
the user and the machine. The present paper discusses our experience of
integration of a superposition calculus within the Matita interactive prover,
providing in particular a very flexible, "smart" application tactic, and a
simple, innovative approach to automation.Comment: In Proceedings TYPES 2009, arXiv:1103.311
Proving termination through conditional termination
We present a constraint-based method for proving conditional termination of integer programs. Building on this, we construct a framework to prove (unconditional) program termination using a powerful mechanism to combine conditional termination proofs. Our key insight is that a conditional termination proof shows termination for a subset of program execution states which do not need to be considered in the remaining analysis. This facilitates more effective termination as well as non-termination analyses, and allows handling loops with different execution phases naturally. Moreover, our method can deal with sequences of loops compositionally. In an empirical evaluation, we show that our implementation VeryMax outperforms state-of-the-art tools on a range of standard benchmarks.Peer ReviewedPostprint (author's final draft
Two Decades of Maude
This paper is a tribute to José Meseguer, from the rest of us in the Maude team, reviewing the past, the present, and the future of the language and system with which we have been working for around two decades under his leadership. After reviewing the origins and the language's main features, we present the latest additions to the language and some features currently under development. This paper is not an introduction to Maude, and some familiarity with it and with rewriting logic are indeed assumed.Universidad de Málaga. Campus de Excelencia Internacional AndalucÃa Tech
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
Tree-oriented interactive processing with an application to theorem-proving, appendix E
The concept of unstructured structure editing and ted, an editor for unstructured trees, is described. Ted is used to manipulate hierarchies of information in an unrestricted manner. The tool was implemented and applied to the problem of organizing formal proofs. As a proof management tool, it maintains the validity of a proof and its constituent lemmas independently from the methods used to validate the proof. It includes an adaptable interface which may be used to invoke theorem provers and other aids to proof construction. Using ted, a user may construct, maintain, and verify formal proofs using a variety of theorem provers, proof checkers, and formatters
- …