These files accompany the paper "A Better x86 Memory Model: x86-TSO" by Scott Owens, Susmit Sarkar, and Peter Sewell. This was developed on HOL version svn 6657 running under PolyML 5.2 and contains the following files: README This document axiomatic_memory_modelScript.sml lts_memory_modelScript.sml The two different styles of specification of x86-TSO, corresponding to sections 3.1 and 3.2. axiomatic_memory_modelScript.sml additionally contains the basic types, and the definition of a well-formed event structure. HolDoc.sig HolDoc.sml Holmakefile Makefile set_relationScript.sml Misc. helper files proofs/basic_lemmasScript.sml Some basic lemmas proofs/executable_checkerScript.sml Defines the executable checker of section 4, and proves it correct. The extracted OCaml code does not run under HOL version 6637 due to bugs introduced in HOL since 6514, when it worked. proofs/linear_valid_executionScript.sml The proof of Theorem 2. proofs/lts_axiomatic_equivScript.sml The proof of Theorem 3, and the mechanized part of the proof of theorem 4. proofs/lts_axiomatic_equivHand The by-hand part of the proof of theorem 4. proofs/lts_erasureScript.sml The proof of Theorem 1. proofs/lts_traceScript.sml Lemmas about the traces of machine executions. ocaml/executable_checkerML.ml ocaml/executable_checkerML.mli The extracted executable checker, with some identifiers capitalized to compensate for the HOL bug mentioned above. utilLib.sig utilLib.sml utilScript.sml General utilities.