Advertisement

Nominal Inversion Principles

  • Stefan Berghofer
  • Christian Urban
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5170)

Abstract

When reasoning about inductively defined predicates, such as typing judgements or reduction relations, proofs are often done by inversion, that is by a case analysis on the last rule of a derivation. In HOL and other formal frameworks this case analysis involves solving equational constraints on the arguments of the inductively defined predicates. This is well-understood when the arguments consist of variables or injective term-constructors. However, when alpha-equivalence classes are involved, that is when term-constructors are not injective, these equational constraints give rise to annoying variable renamings. In this paper, we show that more convenient inversion principles can be derived where one does not have to deal with variable renamings. An interesting observation is that our result relies on the fact that inductive predicates must satisfy the variable convention compatibility condition, which was introduced to justify the admissibility of Barendregt’s variable convention in rule inductions.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aczel, P.: An Introduction to Inductive Definitions. In: Barwise, J. (ed.) Handbook of Mathematical Logic, pp. 739–782. Elsevier, Amsterdam (1977)CrossRefGoogle Scholar
  2. 2.
    Aydemir, B.E., Bohannon, A., Fairbairn, M., Foster, J.N., Pierce, B.C., Sewell, P., Vytiniotis, D., Washburn, G., Weirich, S., Zdancewic, S.: Mechanized Metatheory for the Masses: The poplmark Challenge. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603. Springer, Heidelberg (2005), http://www.cis.upenn.edu/plclub/wiki-static/poplmark.pdf CrossRefGoogle Scholar
  3. 3.
    Aydemir, B.E., Charguéraud, A., Pierce, B.C., Pollack, R., Weirich, S.: Engineering formal metatheory. In: Necula, G.C., Wadler, P. (eds.) Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2008, San Francisco, California, USA, January 7-12, 2008, pp. 3–15. ACM Press, New York (2008)Google Scholar
  4. 4.
    Cornes, C., Terrasse, D.: Automating Inversion of Inductive Predicates in Coq. In: Berardi, S., Coppo, M. (eds.) TYPES 1995. LNCS, vol. 1158, pp. 85–104. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  5. 5.
    McBride, C.: Inverting Inductively Defined Relations in LEGO. In: Giménez, E. (ed.) TYPES 1996. LNCS, vol. 1512, pp. 236–253. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  6. 6.
    Paulson, L.C.: A fixedpoint approach to (co)inductive and (co)datatype definitions. In: Plotkin, G., Stirling, C., Tofte, M. (eds.) Proof, Language, and Interaction: Essays in Honor of Robin Milner, pp. 187–211. MIT Press, Cambridge (2000)Google Scholar
  7. 7.
    Pitts, A.M.: Nominal Logic, A First Order Theory of Names and Binding. Information and Computation 186, 165–193 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Urban, C., Berghofer, S., Norrish, M.: Barendregt’s Variable Convention in Rule Inductions. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 35–50. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  9. 9.
    Urban, C., Tasson, C.: Nominal Techniques in Isabelle/HOL. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 38–53. Springer, Heidelberg (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Stefan Berghofer
    • 1
  • Christian Urban
    • 1
  1. 1.Institut für InformatikTechnische Universität MünchenGarchingGermany

Personalised recommendations