changeset 223:2a34c4dc6a10

Port Interps
author Adam Chlipala <adamc@hcoop.net>
date Mon, 16 Nov 2009 12:18:55 -0500
parents 13620dfd5f97
children 4b73ea13574d
files src/Impure.v src/Intensional.v src/Interps.v
diffstat 3 files changed, 13 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/Impure.v	Mon Nov 16 12:08:18 2009 -0500
+++ b/src/Impure.v	Mon Nov 16 12:18:55 2009 -0500
@@ -1,4 +1,4 @@
-(* Copyright (c) 2008, Adam Chlipala
+(* Copyright (c) 2008-2009, Adam Chlipala
  * 
  * This work is licensed under a
  * Creative Commons Attribution-Noncommercial-No Derivative Works 3.0
--- a/src/Intensional.v	Mon Nov 16 12:08:18 2009 -0500
+++ b/src/Intensional.v	Mon Nov 16 12:18:55 2009 -0500
@@ -1,4 +1,4 @@
-(* Copyright (c) 2008, Adam Chlipala
+(* Copyright (c) 2008-2009, Adam Chlipala
  * 
  * This work is licensed under a
  * Creative Commons Attribution-Noncommercial-No Derivative Works 3.0
--- a/src/Interps.v	Mon Nov 16 12:08:18 2009 -0500
+++ b/src/Interps.v	Mon Nov 16 12:18:55 2009 -0500
@@ -1,4 +1,4 @@
-(* Copyright (c) 2008, Adam Chlipala
+(* Copyright (c) 2008-2009, Adam Chlipala
  * 
  * This work is licensed under a
  * Creative Commons Attribution-Noncommercial-No Derivative Works 3.0
@@ -85,8 +85,8 @@
       | t1 --> t2 => typeDenote t1 -> typeDenote t2
     end.
 
-  Fixpoint expDenote t (e : exp typeDenote t) {struct e} : typeDenote t :=
-    match e in (exp _ t) return (typeDenote t) with
+  Fixpoint expDenote t (e : exp typeDenote t) : typeDenote t :=
+    match e with
       | Var _ v => v
         
       | Const n => n
@@ -113,8 +113,8 @@
   Section cfold.
     Variable var : type -> Type.
 
-    Fixpoint cfold t (e : exp var t) {struct e} : exp var t :=
-      match e in exp _ t return exp _ t with
+    Fixpoint cfold t (e : exp var t) : exp var t :=
+      match e with
         | Var _ v => #v
 
         | Const n => ^n
@@ -260,8 +260,8 @@
       | t1 ++ t2 => typeDenote t1 + typeDenote t2
     end%type.
 
-  Fixpoint expDenote t (e : exp typeDenote t) {struct e} : typeDenote t :=
-    match e in (exp _ t) return (typeDenote t) with
+  Fixpoint expDenote t (e : exp typeDenote t) : typeDenote t :=
+    match e with
       | Var _ v => v
         
       | Const n => n
@@ -312,14 +312,15 @@
         | _ => tt
       end.
 
-    Definition pairOut t1 t2 (e : exp var (t1 ** t2)) : option (exp var t1 * exp var t2) :=
+    Definition pairOut t1 t2 (e : exp var (t1 ** t2))
+      : option (exp var t1 * exp var t2) :=
       match e in exp _ t return pairOutType t with
         | Pair _ _ e1 e2 => Some (e1, e2)
         | _ => pairOutDefault _
       end.
 
-    Fixpoint cfold t (e : exp var t) {struct e} : exp var t :=
-      match e in exp _ t return exp _ t with
+    Fixpoint cfold t (e : exp var t) : exp var t :=
+      match e with
         | Var _ v => #v
 
         | Const n => ^n