Skip to content

Commit d083677

Browse files
committed
Add case expression syntax
1 parent f229041 commit d083677

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

Syntax.thy

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@ nominal_datatype "term" =
3030
| Lam x::"var" "\<tau>" e::"term" binds x in e ("\<lambda> _ : _ . _" 50)
3131
| TyLam a::"tyvar" "\<kappa>" e::"term" binds a in e ("\<Lambda> _ : _ . _" 50)
3232
| Let x::"var" "\<tau>" "term" e2::"term" binds x in e2
33+
| Case "term" "alt_list"
34+
and "alt_list" =
35+
ANil
36+
| ACons "alt" "alt_list"
37+
and "alt" =
38+
MatchCtor "ctor_name" tys::"tyvar list" vals::"var list" e::"term" binds tys vals in e
39+
| MatchVar x::"var" e::"term" binds x in e
3340

3441
nominal_datatype "binder" =
3542
BVar "var" "\<tau>"

0 commit comments

Comments
 (0)