We study strictly level-decreasing logic programs (sld-programs) as defined earlier by the present authors. It will be seen that sld-programs, unlike most other classes of logic programs, have both a highly intuitive declarative semantics, given as a unique supported model, and are computationally adequate in the sense that every partial recursive function can be represented by some sld-program P. Allowing for a safe use of cuts, an interpreter based on SLDNF-resolution, as implemented for example in standard Prolog systems, is shown to be sound and complete with respect to this class of programs. Furthermore, we study connections between topological dynamics and logic programming which are suggested by our approach to the declarative semantics of sld-programs.