diff options
Diffstat (limited to 'language')
| -rw-r--r-- | language/l2.lem | 3 | ||||
| -rw-r--r-- | language/l2_typ.ott | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/language/l2.lem b/language/l2.lem index 4921c16b..fb8b7731 100644 --- a/language/l2.lem +++ b/language/l2.lem @@ -450,6 +450,7 @@ end type ne = (* internal numeric expressions *) | Ne_var of x | Ne_const of integer + | Ne_inf | Ne_mult of ne * ne | Ne_add of list ne | Ne_exp of ne @@ -470,6 +471,8 @@ type nec = (* Numeric expression constraints *) | Nec_eq of ne * ne | Nec_gteq of ne * ne | Nec_in of x * list integer + | Nec_cond of list nec * list nec + | Nec_branch of list nec type kinf = (* Whether a kind is default or from a local binding *) diff --git a/language/l2_typ.ott b/language/l2_typ.ott index 894ac328..a5346d8f 100644 --- a/language/l2_typ.ott +++ b/language/l2_typ.ott @@ -71,6 +71,7 @@ ne :: 'Ne_' ::= {{ com internal numeric expressions }} | ' x :: :: var | num :: :: const + | infinity :: :: inf | ne1 * ne2 :: :: mult | ne1 + ... + nen :: :: add | 2 ** ne :: :: exp @@ -111,6 +112,8 @@ ne :: 'Ne_' ::= | ne = ne' :: :: eq | ne >= ne' :: :: gteq | ' x 'IN' { num1 , ... , numn } :: :: in + | nec0 .. necn -> nec'0 ... nec'm :: :: cond + | nec0 ... necn :: :: branch S_N {{ tex {\Sigma^{\textsc{N} } } }} :: '' ::= {{ phantom }} {{ hol nec list }} |
