Formalisation of B in Isabelle/HOL

We describe a semantic embedding of the basic concepts of the B language in the higher-order logic instance of the generic theorem prover Isabelle (Isabelle/HOL). This work aims at a foundation to formalise the full abstract machine notation, in order to produce a formally checked proof obligation generator. The formalisation is based on the B-Book. First we present an encoding of the mathematical basis. Then we formalise generalised substitutions by the before-after model and we prove the equivalence with the weakest precondition axiomatic model. Finally we define operations and abstract machines.