Original sentence: (Here  is some predicate that tells us whether to 'stop';  is any function from a thing to a pair of things;  and  are the standard 'projections' to the first and second element of a pair respectively.else fst(r x): unfold r p (snd(r x)).if p x.unfold r p  x =
Edited sentence: (Here  is some predicate that tells us whether to 'stop';  is any function from a thing to a pair of things.(a, b)     =  r x.else  a : unfold r p b.unfold r p x                =  if p x