let TTD = PTE
let Device-GRE = try PTEDevice-GRE with emptyset
let Device-nGRE = try PTEDevice-nGRE with emptyset
let Device-nGnRE = try PTEDevice-nGnRE with emptyset
let Device-nGnRnE = try PTEDevice-nGnRnE with emptyset
let Device = Device-GRE | Device-nGRE | Device-nGnRE | Device-nGnRnE
assert empty Device-GRE & Device-nGRE & Device-nGnRE & Device-nGnRnE as Conflicting-Device-types
let NSH = try PTENSH with emptyset
let ISH = try PTEISH with emptyset
let OSH = try PTEOSH with emptyset
let Shareability = NSH | ISH | OSH
let iWB = try PTEiWB with emptyset
let iWT = try PTEiWT with emptyset
let iNC = try PTEiNC with emptyset
let InnerCacheability = iWB | iWT | iNC
let oWB = try PTEoWB with emptyset
let oWT = try PTEoWT with emptyset
let oNC = try PTEoNC with emptyset
let OuterCacheability = oWB | oWT | oNC
let TaggedNormal = try PTETaggedNormal with emptyset
let Normal = try PTENormal with emptyset
let PTEXS = try PTEXS with emptyset