let havoc_inductive hs p =
    let xs,d = domain [] [] hs in
    let sigma_0 = List.map (fun x -> x,freshen x) d in
    let sigma_F = List.map (fun x -> x,freshen x) d in
    let bindings,sigma_N = compute_bindings [] sigma_F sigma_0 hs in
     forall ( xs @ List.map snd sigma_F )
      (rename (reverse sigma_0)
         (apply_bindings bindings
            (fixpoint sigma_F sigma_N
               (rename sigma_F p))))