let pp tag fmt s =
  let (r, t) = partition s in
    match tag with
      | R -> 
          Pretty.set Fact.Equal.pp fmt r;
      | T ->
          Pretty.set Fact.Equal.pp fmt t;
          if !index then
            begin
              Pretty.string fmt "\nZero Index: ";
              Pretty.set Term.pp fmt (Term.Var.Set.elements (S.ext s));
            end