Single-spaced version of my dissertation, 'Relational Programming in miniKanren: Techniques, Applications, and Implementations'