Describir: Mathematical Aspects of Logic Programming Semantics