Abstract
A decision procedure for the Barendregt-Coppo-Dezani subtype relation on intersection types (“BCD subtyping”) is presented and formally verified in Coq. Types are extended with unary, covariant, distributing, preordered type constructors and binary products. A quadratic upper bound on the algorithm runtime is established. The formalization can be compiled to executable OCaml or Haskell code using the extraction mechanism of Coq.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Avigad, J., Donnelly, K.: Formalizing O notation in Isabelle/HOL. In: Basin, D., Rusinowitch, M. (eds.) IJCAR 2004. LNCS (LNAI), vol. 3097, pp. 357–371. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-25984-8_27
van Bakel, S.: Complete restrictions of the intersection type discipline. Theor. Comput. Sci. 102(1), 135–163 (1992). https://doi.org/10.1016/0304-3975(92)90297-S
Barendregt, H.P., Dekkers, W., Statman, R.: Lambda Calculus with Types. Perspectives in logic. Cambridge University Press (2013). http://www.cambridge.org/de/academic/subjects/mathematics/logic-categories-and-sets/lambda-calculus-types
Barendregt, H., Coppo, M., Dezani-Ciancaglini, M.: A filter lambda model and the completeness of type assignment. J. Symb. Log. 48(4), 931–940 (1983). https://doi.org/10.2307/2273659
Bessai, J., Dudenhefner, A., Düdder, B., Martens, M., Rehof, J.: Combinatory logic synthesizer. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014. LNCS, vol. 8802, pp. 26–40. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-45234-9_3
Bessai, J., Dudenhefner, A., Düdder, B., Rehof, J.: Extracting a formally verified Subtyping algorithm for intersection types from ideals and filters. Types (2016)
Bi, X., Oliveira, B.C.d.S., Schrijvers, T.: The essence of nested composition. In: 32nd European Conference on Object-Oriented Programming, ECOOP 2018, Amsterdam, The Netherlands, 16–21 July 2018, pp. 22:1–22:33 (2018). https://doi.org/10.4230/LIPIcs.ECOOP.2018.22
Damm, F.M.: Subtyping with union types, intersection types and recursive types. In: Hagiya, M., Mitchell, J.C. (eds.) TACS 1994. LNCS, vol. 789, pp. 687–706. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-57887-0_121
Damm, F.M.: Subtyping with union types, intersection types and recursive types II. Ph.D. thesis, INRIA (1994)
Dudenhefner, A., Martens, M., Rehof, J.: The algebraic intersection type unification problem. Log. Methods Comput. Sci. 13(3) (2017). https://doi.org/10.23638/LMCS-13(3:9)2017
Dunfield, J.: A unified system of type refinements. Ph.D. thesis, Carnegie Mellon University (2007)
Grigore, R.: Java generics are turing complete. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, Paris, France, 18–20 January 2017, pp. 73–85 (2017). http://dl.acm.org/citation.cfm?id=3009871
Guéneau, A., Charguéraud, A., Pottier, F.: A fistful of dollars: formalizing asymptotic complexity claims via deductive program verification. In: Ahmed, A. (ed.) ESOP 2018. LNCS, vol. 10801, pp. 533–560. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-89884-1_19
Hindley, J.R.: The simple semantics for Coppo-Dezani-Sallé types. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) Programming 1982. LNCS, vol. 137, pp. 212–226. Springer, Heidelberg (1982). https://doi.org/10.1007/3-540-11494-7_15
Hoffmann, J., Das, A., Weng, S.: Towards automatic resource bound analysis for OCaml. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, Paris, France, 18–20 January 2017, pp. 359–373 (2017). http://dl.acm.org/citation.cfm?id=3009842
Honsell, F., Liquori, L., Stolze, C., Scagnetto, I.: The Delta-framework. CoRR abs/1808.04193 (2018). http://arxiv.org/abs/1808.04193
Kennedy, A., Pierce, B.C.: On decidability of nominal subtyping with variance. In: International Workshop on Foundations and Developments of Object-Oriented Languages (FOOL/WOOD), January 2007
Kurata, T., Takahashi, M.: Decidable properties of intersection type systems. In: Dezani-Ciancaglini, M., Plotkin, G. (eds.) TLCA 1995. LNCS, vol. 902, pp. 297–311. Springer, Heidelberg (1995). https://doi.org/10.1007/BFb0014060
Larchey-Wendling, D., Monin, J.F.: Simulating induction-recursion for partial algorithms. In: TYPES (2018)
Laurent, O.: Intersection subtyping with constructors. In: Pagani, M. (ed.) Proceedings of the Ninth Workshop on Intersection Types and Related Systems (2018)
Magaud, N.: Transferring arithmetic decision procedures (on Z) to alternative representations. In: CoqPL 2017: The Third International Workshop on Coq for Programming Languages (2017)
Pierce, B.C.: A decision procedure for the subtype relation on intersection types with bounded variables. Citeseer (1989)
Rehof, J., Urzyczyn, P.: Finite combinatory logic with intersection types. In: Ong, L. (ed.) TLCA 2011. LNCS, vol. 6690, pp. 169–183. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21691-6_15
Statman, R.: A finite model property for intersection types. In: Proceedings Seventh Workshop on Intersection Types and Related Systems, ITRS 2014, Vienna, Austria, 18 July 2014, pp. 1–9 (2014). https://doi.org/10.4204/EPTCS.177.1
Steffen, B., Cleaveland, R.: When is “partial” adequate? A logic-based proof technique using partial specifications. In: Proceedings of the Fifth Annual Symposium on Logic in Computer Science (LICS 1990), Philadelphia, Pennsylvania, USA, 4–7 June 1990, pp. 440–449 (1990). https://doi.org/10.1109/LICS.1990.113768
Acknowledgments
The authors would like to thank Olivier Laurent, as well as Andrej Dudenhefner, Tristan Schäfer, Anna Vasileva, and Jan Winkels for the prior work, and patient as well as enlightening discussions without which the results in this paper would have been impossible.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Bessai, J., Rehof, J., Düdder, B. (2019). Fast Verified BCD Subtyping. In: Margaria, T., Graf, S., Larsen, K. (eds) Models, Mindsets, Meta: The What, the How, and the Why Not?. Lecture Notes in Computer Science(), vol 11200. Springer, Cham. https://doi.org/10.1007/978-3-030-22348-9_21
Download citation
DOI: https://doi.org/10.1007/978-3-030-22348-9_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-22347-2
Online ISBN: 978-3-030-22348-9
eBook Packages: Computer ScienceComputer Science (R0)