let annotations2state dft =
let rec aux = function
| [] -> dft
| s :: tl when s = Base.S.true_str -> inject pub (snd (aux tl))
| s :: tl when s = Base.S.false_str -> inject priv (snd (aux tl))
| s :: tl when s = S.true_str -> inject (fst (aux tl)) concr
| s :: tl when s = S.false_str -> inject (fst (aux tl)) abstr
| _ -> assert false
in
aux