A formalization of regular languages in agda with a focus on making use of dependent types