The use of smart cards to run software modules on demand has become a major business concern for application issuers. Such downloadable executable content requires to be trusted by the card execution environment in order to ensure that an instruction on a memory area is compliant with the definition of the data stored in this area.
Static verification is more efficient and flexible than dynamic techniques.
Nevertheless, as Java verifier cannot fit into a card the trust is dependent on an external third party. In this way, the card security has been partly turned to the outside. In this paper, we focus on the verification process for which a formalization is given. A model in the B language exhibits the type safety propertiesto be checked. This work is aimed at proving the correctness of the verification.