More On Implicit Syntax

Proof assistants based on type theories, such as COQ and Lego, allow users to omit subterms on input that can be inferred automatically. While those mechanisms are well known, ad-hoc algorithms are used to suppress subterms on output. As a result, terms might be printed identically although they differ in hidden parts. Such ambiguous representations may confuse users. Additionally, terms might be rejected by the type checker because the printer has erased too much type information. This paper addresses these problems by proposing effective erasure methods that guarantee successful term reconstruction, similar to the ones developed for the compression of proof-terms in Proof-Carrying Code environments. Experiences with the implementation in TYPELAB proved them both efficient and practical.

[1]  Joe B. Wells,et al.  Typability and Type Checking in System F are Equivalent and Undecidable , 1999, Ann. Pure Appl. Log..

[2]  Warren D. Goldfarb,et al.  The Undecidability of the Second-Order Unification Problem , 1981, Theor. Comput. Sci..

[3]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[4]  Marieke Huisman,et al.  A Comparison of PVS and Isabelle/HOL , 1998, TPHOLs.

[5]  Benjamin C. Pierce,et al.  Local type inference , 1998, POPL '98.

[6]  Christine Paulin-Mohring,et al.  The coq proof assistant reference manual , 2000 .

[7]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

[8]  Tobias Nipkow,et al.  Proof Terms for Simply Typed Higher Order Logic , 2000, TPHOLs.

[9]  Frank Pfenning,et al.  Algorithms for Equality and Unification in the Presence of Notational Definitions , 1998, Proof Search in Type-Theoretic Languages@CADE.

[10]  Martin Strecker,et al.  Interactive and Automated Proof Construction in Type Theory , 1998 .

[11]  H. Geuvers The Church-Rosser property for βη-reduction in typed λ-calculi , 1992, LICS 1992.

[12]  Martin Strecker,et al.  Typelab: An Environment for Modular Program Development , 1997, TAPSOFT.

[13]  Martin Strecker,et al.  Construction and deduction in type theories , 1999 .

[14]  Gérard P. Huet,et al.  The Constructive Engine , 1989, A Perspective in Theoretical Computer Science.

[15]  Kwangkeun Yi,et al.  Proofs about a folklore let-polymorphic type inference algorithm , 1998, TOPL.

[16]  Csar Muoz Proof-term Synthesis on Dependent-type Systems via Explicit Substitutions , .

[17]  Masami Hagiya,et al.  On Implicit Arguments , 1994, Logic, Language and Computation.

[18]  George C. Necula,et al.  Efficient representation and validation of proofs , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[19]  Alexandre Miquel The Implicit Calculus of Constructions , 2001, TLCA.