Confidentiality for Multi-threaded Programs and Its Logic-Based Verification -- A Formal