Idea about using dependent type languages for hardware verification