From 2e57a3497f7fcad8aae622781631d56adbb929fd Mon Sep 17 00:00:00 2001
From: Stefano Zacchiroli
Date: Sun, 23 Dec 2007 11:57:07 +0100
Subject: [PATCH] relative link for the pdf logo
---
research/publications.mdwn | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/research/publications.mdwn b/research/publications.mdwn
index 015499ad..e30de607 100644
--- a/research/publications.mdwn
+++ b/research/publications.mdwn
@@ -4,7 +4,7 @@ in reverse chronological order.
[[toc ]]
# journal publications
- 1. [.pdf] Andrea Asperti, Claudio Sacerdoti Coen, Enrico Tassi, Stefano Zacchiroli.
+ 1. [.pdf] Andrea Asperti, Claudio Sacerdoti Coen, Enrico Tassi, Stefano Zacchiroli.
**User Interaction with the Matita Proof Assistant**
. *
In Journal of Automated
@@ -19,7 +19,7 @@ in reverse chronological order.
# conference proceedings
- 1. [.pdf] Paolo Marinelli, Fabio Vitali, Stefano Zacchiroli.
+ 1. [.pdf] Paolo Marinelli, Fabio Vitali, Stefano Zacchiroli.
**Streaming Validation of Schemata: the Lazy Typing Discipline**
. **
In Proceedings of Extreme Markup
@@ -30,7 +30,7 @@ in reverse chronological order.
*Abstract:* Assertions, identity constraints, and conditional type assignments are (planned) features of XML Schema which rely on XPath evaluation to various ends. The allowed XPath subset exploitable in those features is trimmed down for streamability concerns partly understandable (the apparent wish to avoid buffering to determine the evaluation of an expression) and partly artificial. In this paper we dissect the XPath language in subsets with varying streamability characteristics. We also identify the larger subset which is compatible with the typing discipline we believe underlies some of the choices currently present in the XML Schema specifications. We describe such a discipline as imposing that the type of an element has to be decided when its start tag is encountered and its validity has to be when its end tag is. We also propose an alternative lazy typing discipline where both type assignment and validity assessment are fired as soon as they are available in a best effort manner. We believe our discipline is more flexible and delegate to schema authors the choice of where to place in the trade-off between using larger XPath subsets and increasing buffering requirements or expeditiousness of typing information availability.
"""]]
- 1. [.pdf] Claudio Sacerdoti Coen, Stefano Zacchiroli.
+ 1. [.pdf] Claudio Sacerdoti Coen, Stefano Zacchiroli.
**Spurious Disambiguation Error Detection**
. **
In Proceedings of MKM 2007: The
@@ -43,7 +43,7 @@ in reverse chronological order.
*Abstract:* The disambiguation approach to the input of formulae enables the user to type correct formulae in a terse syntax close to the usual ambiguous mathematical notation. When it comes to incorrect formulae we want to present only errors related to the interpretation meant by the user, hiding errors related to other interpretations (spurious errors). We propose a heuristic to recognize spurious errors, which has been integrated with the disambiguation algorithm of [1].
"""]]
- 1. [.pdf] Paolo Marinelli, Stefano Zacchiroli.
+ 1. [.pdf] Paolo Marinelli, Stefano Zacchiroli.
**Co-Constraint Validation in a Streaming Context**
. **
In Proceedings of XML 2006,
@@ -56,7 +56,7 @@ in reverse chronological order.
*Abstract:* In many use cases applications are bound to be run consuming only a limited amount of memory. When they need to validate large XML documents, they have to adopt streaming validation, which does not rely on an in-memory representation of the whole input document. In order to validate an XML document, different kinds of constraints need to be verified. Co-constraints---which relate the content of elements to the presence and values of other attributes or elements---are one such kind of constraints. In this paper we propose an approach to the problem of validating in a streaming fashion an XML document against a schema also specifying co-constraints. We describe how the streaming evaluation of co-constraints influences the output of the validation process. Our proposal makes use of the validation language SchemaPath, a light extension to XML Schema, adding conditional type assignment for the support of co-constraints. The paper is based on the description of our streaming SchemaPath validator.
"""]]
- 1. [.pdf] Andrea Asperti, Claudio Sacerdoti Coen, Enrico Tassi, Stefano Zacchiroli.
+ 1. [.pdf] Andrea Asperti, Claudio Sacerdoti Coen, Enrico Tassi, Stefano Zacchiroli.
**Crafting a Proof Assistant**
. **
In Proceedings of Types
@@ -69,7 +69,7 @@ in reverse chronological order.
*Abstract:* Proof assistants are complex applications whose development has never been properly systematized or documented. This work is a contribution in this direction, based on our experience with the development of Matita: a new interactive theorem prover based---as Coq---on the Calculus of Inductive Constructions (CIC). In particular, we analyze its architecture focusing on the dependencies of its components, how they implement the main functionalities, and their degree of reusability. The work is a first attempt to provide a ground for a more direct comparison between different systems and to highlight the common functionalities, not only in view of reusability but also to encourage a more systematic comparison of different softwares and architectural solutions.
"""]]
- 1. [.pdf] Claudio Sacerdoti Coen, Enrico Tassi, Stefano Zacchiroli.
+ 1. [.pdf] Claudio Sacerdoti Coen, Enrico Tassi, Stefano Zacchiroli.
**Tinycals: Step by Step Tacticals**
. **
In Proceedings of
@@ -81,7 +81,7 @@ in reverse chronological order.
*Abstract:* Most of the state-of-the-art proof assistants are based on procedural proof languages, scripts, and rely on LCF tacticals as the primary tool for tactics composition. In this paper we discuss how these ingredients do not interact well with user interfaces based on the same interaction paradigm of Proof General (the de facto standard in this field), identifying in the coarse-grainedness of tactical evaluation the key problem. We propose Tinycals as an alternative to a subset of LCF tacticals, showing that the user does not experience the same problem if tacticals are evaluated in a more fine-grained manner. We present the formal operational semantics of tinycals as well as their implementation in the Matita proof assistant.
"""]]
- 1. [.pdf] Angelo Di Iorio, Stefano Zacchiroli.
+ 1. [.pdf] Angelo Di Iorio, Stefano Zacchiroli.
**Constrained Wiki: an Oxymoron?**
. **
In Proceedings of
@@ -95,7 +95,7 @@ in reverse chronological order.
*Abstract:* In this paper we propose a new wiki concept -- light constraints -- designed to encode community best practices and domain-specific requirements, and to assist in their application. While the idea of constraining user editing of wiki content seems to inherently contradict "The Wiki Way", it is well-known that communities of users involved in wiki sites have the habit of establishing best authoring practices. For domain-specific wiki systems which process wiki content, it is often useful to enforce some well-formedness conditions on specific page contents. This paper describes a general framework to think about the interaction of wiki system with constraints, and presents a generic architecture which can be easily incorporated into existing wiki systems to exploit the capabilities enabled by light constraints.
"""]]
- 1. [.pdf] Luca Padovani, Stefano Zacchiroli.
+ 1. [.pdf] Luca Padovani, Stefano Zacchiroli.
**From Notation to Semantics: There and Back Again**
. **
In Proceedings of MKM
@@ -108,7 +108,7 @@ in reverse chronological order.
*Abstract:* Mathematical notation is a structured, open, and ambiguous language. In order to support mathematical notation in MKM applications one must necessarily take into account presentational as well as semantic aspects. The former are required to create a familiar, comfortable, and usable interface to interact with. The latter are necessary in order to process the information meaningfully. In this paper we investigate a framework for dealing with mathematical notation in a meaningful, extensible way, and we show an effective instantiation of its architecture to the field of interactive theorem proving. The framework builds upon well-known concepts and widely-used technologies and it can be easily adopted by other MKM applications.
"""]]
- 1. [.pdf] Andrea Asperti, Ferruccio Guidi, Claudio Sacerdoti Coen, Enrico Tassi, Stefano Zacchiroli.
+ 1. [.pdf] Andrea Asperti, Ferruccio Guidi, Claudio Sacerdoti Coen, Enrico Tassi, Stefano Zacchiroli.
**A Content Based Mathematical Search Engine: Whelp**
. **
In Proceedings of
@@ -122,7 +122,7 @@ in reverse chronological order.
*Abstract:* The prototype of a content based search engine for mathematical knowledge supporting a small set of queries requiring matching and/or typing operations is described. The prototype, called Whelp, exploits a metadata approach for indexing the information that looks far more flexible than traditional indexing techniques for structured expressions like substitution, discrimination, or context trees. The prototype has been instantiated to the standard library of the Coq proof assistant extended with many user contributions.
"""]]
- 1. [.pdf] Luca Padovani, Claudio Sacerdoti Coen, Stefano Zacchiroli.
+ 1. [.pdf] Luca Padovani, Claudio Sacerdoti Coen, Stefano Zacchiroli.
**A Generative Approach to the Implementation of Language Bindings for the Document Object Model**
. **
In Proceedings of GPCE'04 Third
@@ -137,7 +137,7 @@ in reverse chronological order.
*Abstract:* The availability of a C implementation for the Document Object Model (DOM) gives the interesting opportunity of generating bindings for different programming languages automatically. Because of the DOM bias towards Java-like languages, a C implementation that fakes objects, inheritance, polymorphism, exceptions and uses reference-counting introduces a gap between the API specification and its actual implementation that the bindings should try to close. In this paper we overview the generative approach in this particular context and apply it for the generation of C++ and OCaml bindings.
"""]]
- 1. [.pdf] Andrea Asperti, Stefano Zacchiroli.
+ 1. [.pdf] Andrea Asperti, Stefano Zacchiroli.
**Searching Mathematics on the Web: State of the Art and Future Developments**
. **
In Proceedings of
@@ -149,7 +149,7 @@ in reverse chronological order.
*Abstract:* A huge amount of mathematical knowledge is nowadays available on the World Wide Web. Many different solutions and technologies for searching that knowledge have been developed as well. We present the state of the art of searching mathematics on the Web, giving some insight on future developments in this area.
"""]]
- 1. [.pdf] Claudio Sacerdoti Coen, Stefano Zacchiroli.
+ 1. [.pdf] Claudio Sacerdoti Coen, Stefano Zacchiroli.
**Efficient Ambiguous Parsing of Mathematical Formulae**
. **
In Proceedings of MKM
@@ -164,7 +164,7 @@ in reverse chronological order.
*Abstract:* Mathematical notation has the characteristic of being ambiguous: operators can be overloaded and information that can be deduced is often omitted. Mathematicians are used to this ambiguity and can easily disambiguate a formula making use of the context and of their ability to find the right interpretation. Software applications that have to deal with formulae usually avoid these issues by fixing an unambiguous input notation. This solution is annoying for mathematicians because of the resulting tricky syntaxes and becomes a show stopper to the simultaneous adoption of tools characterized by different input languages. In this paper we present an efficient algorithm suitable for ambiguous parsing of mathematical formulae. The only requirement of the algorithm is the existence of a validity predicate over abstract syntax trees of incomplete formulae with placeholders. This requirement can be easily fulfilled in the applicative area of interactive proof assistants, and in several other areas of Mathematical Knowledge Management.
"""]]
- 1. [.pdf] Claudio Sacerdoti Coen, Stefano Zacchiroli.
+ 1. [.pdf] Claudio Sacerdoti Coen, Stefano Zacchiroli.
**Brokers and Web-Services for Automatic Deduction: a Case Study**
. **
In Proceedings of
@@ -180,7 +180,7 @@ in reverse chronological order.
# technical reports
- 1. [.pdf] Luca Padovani, Stefano Zacchiroli.
+ 1. [.pdf] Luca Padovani, Stefano Zacchiroli.
**Stream Processing of XML Documents Made Easy with LALR(1) Parser Generators**
. **
Technical
@@ -190,7 +190,7 @@ in reverse chronological order.
*Abstract:* Because of their fully annotated structure, XML documents are normally believed to require a straightforward parsing phase. However, the standard APIs for accessing their content (the Document Object Model and the Simple API for XML) provide a programming interface that is very low-level and is thus inadequate for the recognition of any structure that is not isomorphic to its XML encoding. Even when the document undergoes validation, its unmarshalling into application-specific data using these APIs requires poorly maintainable, tedious-to-write, and possibly inefficient code. We describe a technique for the simultaneous parsing, validation, and unmarshalling of XML documents that combines a stream-oriented XML parser with a LALR(1) parser in order to guarantee efficient stream processing, expressive validation capabilities, and the possibility to associate user-provided actions with specific patterns occurring in the source documents.
"""]]
- 1. [.pdf] Angelo Di Iorio, Fabio Vitali, Stefano Zacchiroli.
+ 1. [.pdf] Angelo Di Iorio, Fabio Vitali, Stefano Zacchiroli.
**Templating Wiki Content for Fun and Profit**
. **
Technical
@@ -202,7 +202,7 @@ in reverse chronological order.
# dissertations
- 1. [.pdf] Stefano Zacchiroli.
+ 1. [.pdf] Stefano Zacchiroli.
**User Interaction Widgets for Interactive Theorem Proving**
. **
Ph.D. dissertation, Technical
@@ -215,7 +215,7 @@ in reverse chronological order.
*Abstract:* Matita (that means pencil in Italian) is a new interactive theorem prover under development at the University of Bologna. When compared with state-of-the-art proof assistants, Matita presents both traditional and innovative aspects. The underlying calculus of the system, namely the Calculus of (Co)Inductive Constructions (CIC for short), is well-known and is used as the basis of another mainstream proof assistant---Coq---with which Matita is to some extent compatible. In the same spirit of several other systems, proof authoring is conducted by the user as a goal directed proof search, using a script for storing textual commands for the system. In the tradition of LCF, the proof language of Matita is procedural and relies on tactic and tacticals to proceed toward proof completion. The interaction paradigm offered to the user is based on the script management technique at the basis of the popularity of the Proof General generic interface for interactive theorem provers: while editing a script the user can move forth the execution point to deliver commands to the system, or back to retract (or "undo") past commands. Matita has been developed from scratch in the past 8 years by several members of the Helm research group, this thesis author is one of such members. Matita is now a full-fledged proof assistant with a library of about 1.000 concepts. Several innovative solutions spun-off from this development effort. This thesis is about the design and implementation of some of those solutions, in particular those relevant for the topic of user interaction with theorem provers, and of which this thesis author was a major contributor. Joint work with other members of the research group is pointed out where needed. The main topics discussed in this thesis are briefly summarized below. Disambiguation. Most activities connected with interactive proving require the user to input mathematical formulae. Being mathematical notation ambiguous, parsing formulae typeset as mathematicians like to write down on paper is a challenging task; a challenge neglected by several theorem provers which usually prefer to fix an unambiguous input syntax. Exploiting features of the underlying calculus, Matita offers an efficient disambiguation engine which permit to type formulae in the familiar mathematical notation. Step-by-step tacticals. Tacticals are higher-order constructs used in proof scripts to combine tactics together. With tacticals scripts can be made shorter, readable, and more resilient to changes. Unfortunately they are de facto incompatible with state-of-the-art user interfaces based on script management. Such interfaces indeed do not permit to position the execution point inside complex tacticals, thus introducing a trade-off between the usefulness of structuring scripts and a tedious big step execution behavior during script replaying. In Matita we break this trade-off with tinycals: an alternative to a subset of LCF tacticals which can be evaluated in a more fine-grained manner. Extensible yet meaningful notation. Proof assistant users often face the need of creating new mathematical notation in order to ease the use of new concepts. The framework used in Matita for dealing with extensible notation both accounts for high quality bidimensional rendering of formulae (with the expressivity of MathML-Presentation) and provides meaningful notation, where presentational fragments are kept synchronized with semantic representation of terms. Using our approach interoperability with other systems can be achieved at the content level, and direct manipulation of formulae acting on their rendered forms is possible too. Publish/subscribe hints. Automation plays an important role in interactive proving as users like to delegate tedious proving sub-tasks to decision procedures or external reasoners. Exploiting the Web-friendliness of Matita we experimented with a broker and a network of web services (called tutors) which can try independently to complete open sub-goals of a proof, currently being authored in Matita. The user receives hints from the tutors on how to complete sub-goals and can interactively or automatically apply them to the current proof. Another innovative aspect of Matita, only marginally touched by this thesis, is the embedded content-based search engine Whelp which is exploited to various ends, from automatic theorem proving to avoiding duplicate work for the user. We also discuss the (potential) reusability in other systems of the widgets presented in this thesis and how we envisage the evolution of user interfaces for interactive theorem provers in the Web 2.0 era.
"""]]
- 1. [.pdf] Stefano Zacchiroli.
+ 1. [.pdf] Stefano Zacchiroli.
**Web services per il supporto alla dimostrazione interattiva (Web services for interactive theorem proving)**
. **
Master thesis (Italian only), March 2003, Department of Computer Science, University of Bologna (advisor: Andrea Asperti; refereed
--
2.20.1
*