Describir: Algebra of Logic Programming