"TSO"

let fr = rf^-1;co
let com = rf | co | fr
let po-loc = po & loc

acyclic po-loc | com as sc-per-location

let ppo = po \ W*R
let rfe = rf & ext

acyclic ppo | rfe | co | fr as tso
(*note: 
  this forbids thin-air cycles*)
