diff --git a/specification/hugr.md b/specification/hugr.md index ebcb599ce..5f07fb276 100644 --- a/specification/hugr.md +++ b/specification/hugr.md @@ -557,7 +557,7 @@ Each of these localities have additional constraints as follows: parenti(n2) for some i\>1, *and* for Value edges only: * there must be a order edge from n1 to parenti-1(n2). - * None of the parentj(n2), for 1\>=j\>i, + * None of the parentj(n2), for i\>j\>=1, may be a FuncDefn node The order edge records the @@ -582,6 +582,8 @@ Each of these localities have additional constraints as follows: i\>1 allows the node to target an arbitrarily-deep descendant of the dominated block, similar to an Ext edge.) + The same FuncDefn restriction also applies here, on the parent(j)(n2) for i\>j\>=1 (of course j=i is the CFG and j=i-1 is the basic block). + Specifically, these rules allow for edges where in a given execution of the HUGR the source of the edge executes once, but the target may execute \>=0 times.