Mercurial > urweb
diff src/coq/Syntax.v @ 620:d828b143e147
Finish semantics for Featherweight Ur
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 21 Feb 2009 14:10:06 -0500 |
parents | f38e009009bb |
children | 75c7a69354d6 |
line wrap: on
line diff
--- a/src/coq/Syntax.v Sat Feb 21 13:22:30 2009 -0500 +++ b/src/coq/Syntax.v Sat Feb 21 14:10:06 2009 -0500 @@ -25,15 +25,12 @@ * POSSIBILITY OF SUCH DAMAGE. *) -Require Import String. +Require Import Name. +Export Name. Set Implicit Arguments. -Definition name : Type := string. -Definition name_eq_dec : forall (x y : name), {x = y} + {x <> y} := string_dec. - - (** Syntax of Featherweight Ur *) Inductive kind : Type := @@ -160,9 +157,12 @@ -> deq (CApp (CApp (CMap k1 k2) f) (CConcat (CSingle c1 c2) c3)) (CConcat (CSingle c1 (CApp f c2)) (CApp (CApp (CMap k1 k2) f) c3)) - | Eq_Guarded : forall k1 k2 (c1 c2 : con (KRecord k1)) (c : con k2), - (*disj c1 c2 - ->*) deq (CGuarded c1 c2 c) c + | Eq_Guarded_Remove : forall k1 k2 (c1 c2 : con (KRecord k1)) (c : con k2), + disj c1 c2 + -> deq (CGuarded c1 c2 c) c + | Eq_Guarded_Cong : forall k1 k2 (c1 c2 : con (KRecord k1)) (c c' : con k2), + (dvar c1 c2 -> deq c c') + -> deq (CGuarded c1 c2 c) (CGuarded c1 c2 c') | Eq_Map_Ident : forall k c, deq (CApp (CApp (CMap k k) (CAbs (fun x => CVar x))) c) c