/* Illustrates under-determinedness in a simple specification. */ module underdetermined sig Elt {} sig Index {} -- return an index of e in a fun Find (a: Index ->? Elt, e: Elt, r: Index) { a[r] = e } -- show two results for the same arguments fun Two (a: Index ->? Elt, e: Elt, r1, r2: Index) { Find (a, e, r1) Find (a, e, r2) r1 != r2 } run Two for 3