  Weak memory presents a new challenge for program verification and has
resulted in the development of a variety of specialised logics. For C11-style
memory models, our previous work has shown that it is possible to extend Hoare
logic and Owicki-Gries reasoning to verify correctness of weak memory programs.
The technique introduces a set of high-level assertions over C11 states
together with a set of basic Hoare-style axioms over atomic weak memory
statements (e.g., reads/writes), but retains all other standard proof
obligations for compound statements. This paper takes this line of work further
by showing Nipkow and Nieto's encoding of Owicki-Gries in the Isabelle theorem
prover can be extended to handle C11-style weak memory models in a
straightforward manner. We exemplify our techniques over several litmus tests
from the literature and a non-trivial example: Peterson's algorithm adapted for
C11. For the examples we consider, the proof outlines can be automatically
discharged using the existing Isabelle tactics developed by Nipkow and Nieto.
The benefit here is that programs can be written using a familiar pseudocode
syntax with assertions embedded directly into the program.
