Abstract
This paper deals with formalizations and verifications in type theory that are abstracted with respect to a class of datatypes; i.e polytypic constructions. The main advantage of these developments are that they can not only be used to define functions in a generic way but also to formally state polytypic theorems and to synthesize polytypic proof objects in a formal way. This opens the door to mechanically proving many useful facts about large classes of datatypes once and for all.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
B. Barras, S. Boutin, and C. Cornes et. al. The Coq Proof Assistant Reference Manual — Vers. 6.2.4. INRIA, Rocquencourt, 1998.
R. Bird and O. de Moor. Algebra of Programming. International Series in Computer Science. Prentice Hall, 1997.
C. Böhm and A. Berarducci. Automatic Synthesis of Typed λ-Programs on Term Algebras. Theoretical Computer Science, 39:135–154, 1985.
T. Coquand and C. Paulin. Inductively Defined Types. In Proc. COLOG 88, volume 417 of LNCS, pages 50–66. Springer-Verlag, 1990.
P. Dybjer and A. Setzer. A Finite Axiomatization of Inductive-Recursive Definitions. In J.-Y. Girard, editor, Proc. 4th Int. Conf. on Typed Lambda Calculi and Applications, TLCA’99, volume 1581 of LNCS. Springer-Verlag, 1999.
M. J. C. Gordon and T. F. Melham (eds.). Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, 1993.
R. Harper and R. Pollack. Type Checking, Universal Polymorphism, and Type Ambiguity in the Calculus of Constructions. In TAPSOFT’89, volume II, LNCS, pages 240–256. Springer-Verlag, 1989.
G. Huet and A. Saïbi. Constructive Category Theory. In Proc. CLICS-TYPES Workshop on Categories and Type Theory, January 1995.
C.B. Jay and J.R.B. Cockett. Shapely Types and Shape Polymorphism. In D. Sannella, editor, Programming Languages and Systems — ESOP’94, volume 788 of LNCS, pages 302–316. Springer-Verlag, 1994.
J. Jeuring. Polytypic Pattern Matching. In Conf. Functional Programming Languages and Computer Architecture (FPCA’ 95), pages 238–248. ACM Press, 1995.
J. Jeuring and P. Jansson. Polytypic Programming. In T. Launchbury, E. Meijer, and T. Sheard, editors, Advanced Functional Programming, LNCS, pages 68–114. Springer-Verlag, 1996.
Z. Luo. An Extended Calculus of Constructions. Technical Report CST-65-90, University of Edinburgh, July 1990.
Z. Luo and R. Pollack. The Lego Proof Development System: A User’s Manual. Technical Report ECS-LFCS-92-211, University of Edinburgh, 1992.
G. Malcolm. Data Structures and Program Transformation. Science of Computer Programming, 14:255–279, 1990.
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413–425, 1992.
L. Meertens. Calculate Polytypically. In H. Kuchen and S.D. Swierstra, editors, Programming Languages, Implementations, Logics, and Programs (PLILP’96), LNCS, pages 1–16. Springer-Verlag, 1996.
E. Meijer, M. Fokkinga, and R. Paterson. Functional Programming with Bananas, Lenses, Envelopes, and Barbed Wire. In Proc. 5th Conf. on Functional Programming Languages and Computer Architecture, pages 124–144, 1991.
B. Nordström, K. Petersson, and J.M. Smith. Programming in Martin-Löf’s Type Theory. Monographs on Computer Science. Oxford Science Publications, 1990.
Ch.E. Ore. The Extended Calculus of Constructions (ECC) with Inductive Types. Information and Computation, 99,Nr. 2:231–264, 1992.
S. Owre, J. Rushby, N. Shankar, and F. von Henke. Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS. IEEE Transactions on Software Engineering, 21(2):107–125, 1995.
C. Paulin-Mohring. Inductive Definitions in the System Coq, Rules and Properties. In J.F. Groote M. Bezem, editor, Typed Lambda Calculi and Applications, volume 664 of LNCS, pages 328–345. Springer-Verlag, 1993.
L.C. Paulson. A Fixedpoint Approach to (Co)Inductive and (Co)Datatype Definition. Technical report, Computer Laboratory, University of Cambridge, 1996.
H. Rueβ. Computational Reflection in the Calculus of Constructions and Its Application to Theorem Proving. In J. R. Hindley P. de Groote, editor, Proc. 3rd Int. Conf. on Typed Lambda Calculi and Applications TLCA’97, volume 1210 of LNCS, pages 319–335. Springer-Verlag, 1997.
N. Shankar. Steps Towards Mechanizing Program Transformations Using PVS. Preprint submitted to Elsevier Science, 1996.
T. Sheard. Type Parametric Programming. Oregon Graduate Institute of Science and Technology, Portland, OR, USA, 1993.
The Lego team. The Lego Library. Distributed with Lego System, 1998.
D. Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Universität Ulm, 1996.
F. W. von Henke. An Algebraic Approach to Data Types, Program Verification, and Program Synthesis. In Mathematical Foundations of Computer Science, Proceedings, volume 45 of LNCS. Springer-Verlag, 1976.
F. W. von Henke, S. Pfab, H. Pfeifer, and H. Rueβ. Case Studies in Meta-Level Theorem Proving. In Jim Grundy and Malcolm Newey, editors, Proc. Intl. Conf. on Theorem Proving in Higher Order Logics, volume 1479 of LNCS, pages 461–478. Springer-Verlag, September 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pfeifer, H., Rueβ, H. (1999). Polytypic Proof Construction. In: Bertot, Y., Dowek, G., Théry, L., Hirschowitz, A., Paulin, C. (eds) Theorem Proving in Higher Order Logics. TPHOLs 1999. Lecture Notes in Computer Science, vol 1690. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48256-3_5
Download citation
DOI: https://doi.org/10.1007/3-540-48256-3_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66463-5
Online ISBN: 978-3-540-48256-7
eBook Packages: Springer Book Archive