CPP 2011: Certified Programs and Proofs pp 87-102

# Reasoning about Constants in Nominal Isabelle or How to Formalize the Second Fixed Point Theorem

• Cezary Kaliszyk
• Henk Barendregt
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7086)

## Abstract

Nominal Isabelle is a framework for reasoning about programming languages with named bound variables (as opposed to de Bruijn indices). It is a definitional extension of the HOL object logic of the Isabelle theorem prover. Nominal Isabelle supports the definition of term languages of calculi with bindings, functions on the terms of these calculi and provides mechanisms that automatically rename binders. Functions defined in Nominal Isabelle can be defined with assumptions: The binders can be assumed fresh for any arguments of the functions. Defining functions is often one of the more complicated part of reasoning with Nominal Isabelle, and together with analysing freshness is the part that differs most from paper proofs. In this paper we show how to define terms from λ-calculus and reason about them without having to carry around the freshness conditions. As a case study we formalize the second fixed point theorem of the λ-calculus.

## Keywords

Point Theorem Proof Obligation Lambda Calculus Closed Term Nominal Logic
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

1. 1.
Barendregt, H.P.: The Lambda Calculus: Its Syntax and Semantics. Studies in Logic and the Foundations of Mathematics, vol. 103. Elsevier (2001)Google Scholar
2. 2.
Bengtson, J., Johansson, M., Parrow, J., Victor, B.: Psi-calculi: a framework for mobile processes with nominal data and logic. Logical Methods in Computer Science 7(1) (2011)Google Scholar
3. 3.
Bengtson, J., Parrow, J.: Formalising the pi-calculus using nominal logic. Logical Methods in Computer Science 5(2) (2008)Google Scholar
4. 4.
Blanchette, J.C., Böhme, S., Paulson, L.C.: Extending sledgehammer with smt solvers. Automated Deduction (2011) (accepted)Google Scholar
5. 5.
Böhm, C., Piperno, A., Guerrini, S.: Lambda-definition of function(al)s by normal forms. In: Sannella, D. (ed.) ESOP 1994. LNCS, vol. 788, pp. 135–149. Springer, Heidelberg (1994)
6. 6.
Hankin, C.: Lambda Calculi: A Guide for Computer Scientists. Graduate Texts in Computer Science, vol. 3. Clarendon Press (1993)Google Scholar
7. 7.
Huffman, B., Urban, C.: A New Foundation for Nominal Isabelle. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 35–50. Springer, Heidelberg (2010)
8. 8.
Kaliszyk, C., Urban, C.: Quotients revisited for Isabelle/HOL. In: Chu, W.C., Wong, W.E., Palakal, M.J., Hung, C.-C. (eds.) Proc. of the 26th ACM Symposium on Applied Computing (SAC 2011), pp. 1639–1644. ACM (2011)Google Scholar
9. 9.
Minamide, Y., Okuma, K.: Verifying CPS transformations in Isabelle/HOL. In: Proc. of the Workshop on Mechanized reasoning about languages with variable binding (MERLIN 2003). ACM (2003)Google Scholar
10. 10.
Norrish, M.: Mechanising λ-calculus using a classical first order theory of terms with permutations. Higher-Order and Symbolic Computation 19, 169–195 (2006)
11. 11.
Norrish, M.: Mechanised Computability Theory. In: van Eekelen, M., Geuvers, H., Schmaltz, J., Wiedijk, F. (eds.) ITP 2011. LNCS, vol. 6898, pp. 297–311. Springer, Heidelberg (2011)
12. 12.
Pitts, A.M.: Nominal Logic, A First Order Theory of Names and Binding. Information and Computation 183, 165–193 (2003)
13. 13.
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)
14. 14.
Urban, C., Berghofer, S.: A Recursion Combinator for Nominal Datatypes Implemented in Isabelle/HOL. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 498–512. Springer, Heidelberg (2006)
15. 15.
Urban, C., Cheney, J., Berghofer, S.: Mechanizing the Metatheory of LF. In: Proc. of the 23rd LICS Symposium, pp. 45–56 (2008)Google Scholar
16. 16.
Urban, C., Kaliszyk, C.: General Bindings and Alpha-Equivalence in Nominal Isabelle. In: Barthe, G. (ed.) ESOP 2011. LNCS, vol. 6602, pp. 480–500. Springer, Heidelberg (2011)