sig
  type set = SlicingTypes.Fct_user_crit.t Cil_datatype.Varinfo.Map.t
  val get_select_kf : SlicingTypes.sl_select -> Cil_types.kernel_function
  val topologic_propagation : unit -> unit
  val select_pdg_nodes :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    PdgTypes.Node.t list -> Cil_types.kernel_function -> SlicingCmds.set
  val select_stmt :
    SlicingCmds.set ->
    spare:bool ->
    Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
  val select_func_calls_to :
    SlicingCmds.set -> spare:bool -> Kernel_function.t -> SlicingCmds.set
  val select_func_calls_into :
    SlicingCmds.set -> spare:bool -> Kernel_function.t -> SlicingCmds.set
  val select_func_zone :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    Locations.Zone.t -> Cil_types.kernel_function -> SlicingCmds.set
  val select_func_return :
    SlicingCmds.set -> spare:bool -> Kernel_function.t -> SlicingCmds.set
  val select_stmt_ctrl :
    SlicingCmds.set ->
    spare:bool ->
    Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
  val select_stmt_zone :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    Locations.Zone.t ->
    before:bool ->
    Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
  val select_stmt_lval :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    Datatype.String.Set.t ->
    before:bool ->
    Cil_types.stmt ->
    eval:Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
  val select_stmt_lval_rw :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    rd:Datatype.String.Set.t ->
    wr:Datatype.String.Set.t ->
    Cil_types.stmt ->
    eval:Cil_types.stmt -> Kernel_function.t -> SlicingCmds.set
  val select_stmt_pred :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    Cil_types.predicate ->
    Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
  val select_stmt_term :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    Cil_types.term ->
    Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
  val select_stmt_annot :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    spare:bool ->
    Cil_types.code_annotation ->
    Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
  val select_stmt_annots :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    spare:bool ->
    threat:bool ->
    user_assert:bool ->
    slicing_pragma:bool ->
    loop_inv:bool ->
    loop_var:bool ->
    Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
  val select_func_annots :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    spare:bool ->
    threat:bool ->
    user_assert:bool ->
    slicing_pragma:bool ->
    loop_inv:bool ->
    loop_var:bool -> Cil_types.kernel_function -> SlicingCmds.set
  val select_func_lval :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    Datatype.String.Set.t -> Kernel_function.t -> SlicingCmds.set
  val select_func_lval_rw :
    SlicingCmds.set ->
    SlicingTypes.sl_mark ->
    rd:Datatype.String.Set.t ->
    wr:Datatype.String.Set.t ->
    eval:Cil_types.stmt -> Kernel_function.t -> SlicingCmds.set
  val add_selection : SlicingCmds.set -> unit
  val add_persistent_selection : SlicingCmds.set -> unit
  val add_persistent_cmdline : unit -> unit
  val apply_all : propagate_to_callers:bool -> unit
  val apply_all_actions : unit -> unit
  val apply_next_action : unit -> unit
end