New control constructs are proposed to replace Prolog's notorious cut. Totality assertions are introduced to enable a language-oriented editor to display the control structure of a procedure. Functional notation is presented as a syntactic extension. Data flow assertions are proposed to assert data flow properties and restrictions of logic procedures. Algorithms for their verification are given.