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.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Boespflug, M., Dénès, M., Grégoire, B.: Full reduction at full throttle. In: Certified Programs and Proofs, CPP (2011)
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)
Çağman, N., Hindley, J.R.: Combinatory weak reduction in lambda calculus. Theoretical Computer Science 198(1), 239–247 (1998)
Cardelli, L.: An implementation of FSub. Research Report 97 (1993)
Cretin, J.: Erasable coercions: a unified approach to type systems. PhD thesis, Université Paris-Diderot, Paris 7 (2014)
Cretin, J., Rémy, D.: System F with Coercion Constraints. In: Logics In Computer Science (LICS), ACM (July 2014)
Grégoire, B., Leroy, X.: A compiled implementation of strong reduction. ACM SIGPLAN Notices 37(9), 235–246 (2002)
Hendriks, D., van Oostrom, V.: adbmal. In: CADE (2003)
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)
Le Botlan, D., Rémy, D.: MLF: Raising ML to the power of System-F. In: ICFP 1980 (August 2003)
Letouzey, P.: A New Extraction for Coq. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646, pp. 200–219. Springer, Heidelberg (2003)
Mitchell, J.C.: Polymorphic type inference and containment. Information and Computation 2/3(76) (1988)
Nordström, B., Petersson, K., Smith, J.M.: Programming in Martin-Löfs type theory. Oxford University Press, Oxford (1990)
Pottier, F.: A versatile constraint-based type inference system. Nordic Journal of Computing 7(4), 312–347 (2000)
Simonet, V., Pottier, F.: A constraint-based approach to guarded algebraic data types. TOPLAS 29(1) (2007)
Sulzmann, M., Chakravarty, M.M.T., Jones, S.L.P., Donnelly, K.: System f with type equality coercions. In: TLDI, pp. 53–66 (2007)
Takahashi, M.: Parallel reductions in lambda-calculus. Inf. Comput. 118(1), 120–127 (1995)
Vytiniotis, D., Jones, S.P.: Practical aspects of evidence-based compilation in system FC (2011)
Weirich, S., Hsu, J., Eisenberg, R.A.: System FC with explicit kind equality. In: ICFP, pp. 275–286 (2013)
Xi, H.: Dependent ml an approach to practical programming with dependent types. J. Funct. Program. 17(2), 215–286 (2007)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Scherer, G., Rémy, D. (2015). Full Reduction in the Face of Absurdity. In: Vitek, J. (eds) Programming Languages and Systems. ESOP 2015. Lecture Notes in Computer Science(), vol 9032. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-46669-8_28
Download citation
DOI: https://doi.org/10.1007/978-3-662-46669-8_28
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-46668-1
Online ISBN: 978-3-662-46669-8
eBook Packages: Computer ScienceComputer Science (R0)