diff options
| author | Brian Campbell | 2018-12-11 11:54:36 +0000 |
|---|---|---|
| committer | Brian Campbell | 2018-12-11 12:05:34 +0000 |
| commit | 4f20163965e7c336f28740628fa9d64528006861 (patch) | |
| tree | 56601922410d37677f9f95cc2c93fec4ee56a7f7 /language | |
| parent | 25ab845211e3df24386a0573b517a01dab879b03 (diff) | |
Initial attempt at using termination measures in Coq
This only applies to recursive functions and uses the termination measure
merely as a limit to the recursive call depth, rather than proving the
measure correct.
Diffstat (limited to 'language')
| -rw-r--r-- | language/sail.ott | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/language/sail.ott b/language/sail.ott index a0b02a1c..04207658 100644 --- a/language/sail.ott +++ b/language/sail.ott @@ -847,9 +847,11 @@ tannot_opt :: 'Typ_annot_opt_' ::= rec_opt :: 'Rec_' ::= {{ com optional recursive annotation for functions }} + {{ auxparam 'a }} {{ aux _ l }} | :: :: nonrec {{ com non-recursive }} - | rec :: :: rec {{ com recursive }} + | rec :: :: rec {{ com recursive without termination measure }} + | { pat -> exp } :: :: measure {{ com recursive with termination measure }} effect_opt :: 'Effect_opt_' ::= {{ com optional effect annotation for functions }} |
