<bibliography>
 <citation type="article" key="appel:mcallester">
  <author>Andrew W. <surname>Appel</surname></author>
  <author>David <surname>McAllester</surname></author>
  <year>2001</year>
  <title>An indexed model of recursive types for foundational proof-carrying code</title>
  <journal>ACM Trans. Program. Lang. Syst.</journal>
  <volume>23</volume>
  <number>5</number>
  <pages>657&#8211;683</pages>
  <doi>10.1145/504709.504712</doi>
 </citation>
 <citation type="incollection" key="barthe:recdef">
  <author>Gilles <surname>Barthe</surname></author>
  <author>Julien <surname>Forest</surname></author>
  <author>David <surname>Pichardie</surname></author>
  <author>Vlad <surname>Rusu</surname></author>
  <year>2006</year>
  <title>Defining and Reasoning About Recursive Functions: A Practical Tool for the Coq Proof Assistant</title>
  <editor>Masami <surname>Hagiya</surname></editor>
  <editor>Philip <surname>Wadler</surname></editor>
  <booktitle>Functional and Logic Programming</booktitle>
  <series>Lecture Notes in Computer Science</series>
  <volume>3945</volume>
  <publisher>Springer Berlin Heidelberg</publisher>
  <pages>114&#8211;129</pages>
  <doi>10.1007/11737414_9</doi>
 </citation>
 <citation type="inbook" key="boyer_moore:wos-schrift">
  <author>Robert S. <surname>Boyer</surname></author>
  <author>J Strother <surname>Moore</surname></author>
  <year>1997</year>
  <title>Automated reasoning and its applications</title>
  <chapter>Mechanized formal reasoning about programs and computing machines</chapter>
  <pages>147&#8211;176</pages>
  <publisher>MIT Press</publisher>
  <address>Cambridge, MA, USA</address>
  <url>http://dl.acm.org/citation.cfm?id=271101.271126</url>
 </citation>
 <citation type="inproceedings" key="greve:assuming">
  <author>David <surname>Greve</surname></author>
  <year>2009</year>
  <title>Assuming termination</title>
  <booktitle>Proceedings of the Eighth International Workshop on the ACL2 Theorem Prover and its Applications</booktitle>
  <series>ACL2 '09</series>
  <publisher>ACM</publisher>
  <address>New York, NY, USA</address>
  <pages>114&#8211;122</pages>
  <doi>10.1145/1637837.1637856</doi>
 </citation>
 <citation type="article" key="ACL2:theories">
  <author>Matt <surname>Kaufmann</surname></author>
  <author>J. Strother <surname>Moore</surname></author>
  <year>2001</year>
  <title>Structured Theory Development for a Mechanized Logic</title>
  <journal>J. Autom. Reason.</journal>
  <volume>26</volume>
  <number>2</number>
  <pages>161&#8211;203</pages>
  <doi>10.1023/A:1026517200045</doi>
 </citation>
 <citation type="article" key="krauss:phd">
  <author>Alexander <surname>Krauss</surname></author>
  <year>2010</year>
  <title>Partial and Nested Recursive Function Definitions in Higher-order Logic</title>
  <journal>J. Autom. Reason.</journal>
  <volume>44</volume>
  <number>4</number>
  <pages>303&#8211;336</pages>
  <doi>10.1007/s10817-009-9157-2</doi>
 </citation>
 <citation type="article" key="manolios_moore:pfun">
  <author>Panagiotis <surname>Manolios</surname></author>
  <author>J. Strother <surname>Moore</surname></author>
  <year>2003</year>
  <title>Partial Functions in ACL2</title>
  <journal>J. Autom. Reason.</journal>
  <volume>31</volume>
  <number>2</number>
  <pages>107&#8211;127</pages>
  <doi>10.1023/B:JARS.0000009505.07087.34</doi>
 </citation>
 <citation type="article" key="moggi:notions">
  <author>Eugenio <surname>Moggi</surname></author>
  <year>1991</year>
  <title>Notions of computation and monads</title>
  <journal>Inf. Comput.</journal>
  <volume>93</volume>
  <number>1</number>
  <pages>55&#8211;92</pages>
  <doi>10.1016/0890-5401(91)90052-4</doi>
 </citation>
 <citation type="phdthesis" key="slind:phd">
  <author>Konrad <surname>Slind</surname></author>
  <year>1999</year>
  <title>Reasoning about Terminating Functional Programs</title>
  <school>Institut f&#252;r Informatik, Technische Universit&#228;t M&#252;nchen</school>
 </citation>
</bibliography>
