method property ip st =
    begin
      Format.fprintf out "%a @[%a@]@\n" pp_status (self#category st) 
        (Description.pp_localized ~kf:`Never ~ki:true) ip ;
      match st with
        | Never_tried -> ()
        | Unknown emitters -> self#tried_emitters emitters
        | Valid emitters -> self#emitters emitters
        | Invalid emitters -> self#emitters emitters
        | Invalid_but_dead pending ->
            Format.fprintf out "%sLocally invalid, but unreachable.@\n" tab ;
            self#dead_reasons pending
        | Valid_but_dead pending ->
            Format.fprintf out "%sLocally valid, but unreachable.@\n" tab ;
            self#dead_reasons pending
        | Unknown_but_dead pending ->
            Format.fprintf out "%sLocally unknown, but unreachable.@\n"tab ;
            self#dead_reasons pending
        | Invalid_under_hyp pending | Valid_under_hyp pending -> 
            self#partial_pending pending
        | Considered_valid -> 
            Format.fprintf out "%sUnverifiable but considered Valid.@\n" tab
        | Inconsistent s -> 
            let p = ref 0 in
            let n = String.length s in
            while !p < n do
              try
                let k = String.index_from s !p '\n' in
                Format.fprintf out "%s%s@\n" tab (String.sub s !p (k - !p)) ;
                p := succ k ;
              with Not_found ->
                Format.fprintf out "%s%s@\n" tab (String.sub s !p (n - !p)) ;
                p := n ;
            done
            
    end