Applications of Constructive Logics in Analysis , Verification and Synthesis of Programs