Trace-Based Coinductive Operational Semantics for While

We present four coinductive operational semantics for the While language accounting for both terminating and non-terminating program runs: big-step and small-step relational semantics and big-step and small-step functional semantics. The semantics employ traces (possibly infinite sequences of states) to record the states that program runs go through. The relational semantics relate statement-state pairs to traces, whereas the functional semantics return traces for statement-state pairs. All four semantics are equivalent. We formalize the semantics and their equivalence proofs in the constructive setting of Coq.

[1]  Jan J. M. M. Rutten,et al.  A note on coinduction and weak bisimilarity for while programs , 1998, RAIRO Theor. Informatics Appl..

[2]  Härmel Nestra Fractional Semantics , 2006, AMAST.

[3]  Hervé Grall,et al.  Coinductive big-step operational semantics , 2009, Inf. Comput..

[4]  Eduardo Giménez,et al.  Structural Recursive Definitions in Type Theory , 1998, ICALP.

[5]  Venanzio Capretta,et al.  General recursion via coinductive types , 2005, Log. Methods Comput. Sci..

[6]  Sabine Glesner A Proof Calculus for Natural Semantics Based on Greatest Fixed Point Semantics , 2005, Electron. Notes Theor. Comput. Sci..

[7]  Maribel Fernández,et al.  Curry-Style Types for Nominal Terms , 2006, TYPES.

[8]  Bas Luttik,et al.  Split-2 bisimilarity has a finite axiomatization over CCS with Hennessy's merge , 2004, Log. Methods Comput. Sci..

[9]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

[10]  Patrick Cousot,et al.  Inductive definitions, semantics and abstract interpretations , 1992, POPL '92.

[11]  Yves Bertot,et al.  Filters on CoInductive Streams, an Application to Eratosthenes' Sieve , 2005, TLCA.

[12]  Conor McBride,et al.  Elimination with a Motive , 2000, TYPES.

[13]  Enrico Tassi,et al.  A Small Scale Reflection Extension for the Coq system , 2008 .

[14]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[15]  Sam Lindley,et al.  Extensional Rewriting with Sums , 2007, TLCA.

[16]  Eduardo Giménez,et al.  Codifying Guarded Definitions with Recursive Schemes , 1994, TYPES.

[17]  Ana Sokolova,et al.  Generic Trace Semantics via Coinduction , 2007, Log. Methods Comput. Sci..

[18]  Härmel Nestra,et al.  Transfinite Semantics in the Form of Greatest Fixpoint , 2009, J. Log. Algebraic Methods Program..

[19]  Patrick Cousot,et al.  Bi-inductive structural semantics , 2009, Inf. Comput..

[20]  Sabine Glesner,et al.  Coinductive Verification of Program Optimizations Using Similarity Relations , 2007, Electron. Notes Theor. Comput. Sci..