Describir: Theorem Proving in Higher Order Logics