Full Reduction in the Face of Absurdity

Part of the Lecture Notes in Computer Science book series (LNCS, volume 9032)

Abstract

Core calculi that model the essence of computations use full reduction semantics to be built on solid grounds. Expressive type systems for these calculi may use propositions to refine the notion of types, which allows abstraction over possibly inconsistent hypotheses. To preserve type soundness, reduction must then be delayed until logical hypotheses on which the computation depends have been proved consistent. When logical information is explicit inside terms, proposition variables delay the evaluation by construction. However, logical hypotheses may be left implicit, for the user’s convenience in a surface language or because they have been erased prior to computation in an internal language. It then becomes difficult to track the dependencies of computations over possibly inconsistent hypotheses.

We propose an expressive type system with implicit coercions, consistent and inconsistent abstraction over coercions, and assumption hiding, which provides a fine-grained control of dependencies between computations and the logical hypotheses they depend on. Assumption hiding opens a continuum between explicit and implicit use of hypotheses, and restores confluence when full and weak reductions are mixed.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Boespflug et al.(2011)Boespflug, Dénès, and Grégoire]
    Boespflug, M., Dénès, M., Grégoire, B.: Full reduction at full throttle. In: Certified Programs and Proofs, CPP (2011)Google Scholar
  2. [Brady et al.(2003)Brady, McBride, and McKinna]
    Brady, E., McBride, C., McKinna, J.: Inductive families need not store their indices. In: Berardi, S., Coppo, M., Damiani, F. (eds.) TYPES 2003. LNCS, vol. 3085, pp. 115–129. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. [Çağman and Hindley(1998)]
    Çağman, N., Hindley, J.R.: Combinatory weak reduction in lambda calculus. Theoretical Computer Science 198(1), 239–247 (1998)MATHMathSciNetGoogle Scholar
  4. [Cardelli(1993)]
    Cardelli, L.: An implementation of FSub. Research Report 97 (1993)Google Scholar
  5. [Cretin(2014)]
    Cretin, J.: Erasable coercions: a unified approach to type systems. PhD thesis, Université Paris-Diderot, Paris 7 (2014)Google Scholar
  6. [Cretin and Rémy(2014)]
    Cretin, J., Rémy, D.: System F with Coercion Constraints. In: Logics In Computer Science (LICS), ACM (July 2014)Google Scholar
  7. [Grégoire and Leroy(2002)]
    Grégoire, B., Leroy, X.: A compiled implementation of strong reduction. ACM SIGPLAN Notices 37(9), 235–246 (2002)CrossRefGoogle Scholar
  8. [Hendriks and van Oostrom(2003)]
    Hendriks, D., van Oostrom, V.: adbmal. In: CADE (2003)Google Scholar
  9. [Kesner(2007)]
    Kesner, D.: The theory of calculi with explicit substitutions revisited. In: Duparc, J., Henzinger, T.A. (eds.) CSL 2007. LNCS, vol. 4646, pp. 238–252. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  10. [Le Botlan and Rémy(2003)]
    Le Botlan, D., Rémy, D.: MLF: Raising ML to the power of System-F. In: ICFP 1980 (August 2003)Google Scholar
  11. [Letouzey(2004)]
    Letouzey, P.: A New Extraction for Coq. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646, pp. 200–219. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. [Mitchell(1988)]
    Mitchell, J.C.: Polymorphic type inference and containment. Information and Computation 2/3(76) (1988)Google Scholar
  13. [Nordström et al.(1990)Nordström, Petersson, and Smith]
    Nordström, B., Petersson, K., Smith, J.M.: Programming in Martin-Löfs type theory. Oxford University Press, Oxford (1990)Google Scholar
  14. [Pottier(2000)]
    Pottier, F.: A versatile constraint-based type inference system. Nordic Journal of Computing 7(4), 312–347 (2000)MATHMathSciNetGoogle Scholar
  15. [Simonet and Pottier(2007)]
    Simonet, V., Pottier, F.: A constraint-based approach to guarded algebraic data types. TOPLAS 29(1) (2007)Google Scholar
  16. [Sulzmann et al.(2007)Sulzmann, Chakravarty, Jones, and Donnelly]
    Sulzmann, M., Chakravarty, M.M.T., Jones, S.L.P., Donnelly, K.: System f with type equality coercions. In: TLDI, pp. 53–66 (2007)Google Scholar
  17. [Takahashi(1995)]
    Takahashi, M.: Parallel reductions in lambda-calculus. Inf. Comput. 118(1), 120–127 (1995)CrossRefMATHGoogle Scholar
  18. [Vytiniotis and Jones(2011)]
    Vytiniotis, D., Jones, S.P.: Practical aspects of evidence-based compilation in system FC (2011)Google Scholar
  19. [Weirich et al.(2013)Weirich, Hsu, and Eisenberg]
    Weirich, S., Hsu, J., Eisenberg, R.A.: System FC with explicit kind equality. In: ICFP, pp. 275–286 (2013)Google Scholar
  20. [Xi(2007)]
    Xi, H.: Dependent ml an approach to practical programming with dependent types. J. Funct. Program. 17(2), 215–286 (2007)CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.INRIAParisFrance

Personalised recommendations