raise NoChoice
;;
+EliminationTactics.interactive_user_uri_choice :=
+ (fun ~selection_mode -> interactive_user_uri_choice ~selection_mode:selection_mode);;
+
let interactive_interpretation_choice interpretations =
let chosen = ref None in
let window =
let generalize = call_tactic_with_goal_input ProofEngine.generalize;;
let absurd = call_tactic_with_input ProofEngine.absurd;;
let contradiction = call_tactic ProofEngine.contradiction;;
-(* Galla chiede: come dare alla tattica la lista di termini da decomporre?
-let decompose = call_tactic_with_input_and_goal_input ProofEngine.decompose;;
-*)
+let decompose = call_tactic_with_input ProofEngine.decompose;;
let whd_in_scratch scratch_window =
call_tactic_with_goal_input_in_scratch ProofEngine.whd_in_scratch
let searchpatternb =
GButton.button ~label:"SearchPattern_Apply"
~packing:(hbox7#pack ~expand:false ~fill:false ~padding:5) () in
+ let decomposeb =
+ GButton.button ~label:"Decompose"
+ ~packing:(hbox7#pack ~expand:false ~fill:false ~padding:5) () in
ignore(exactb#connect#clicked exact) ;
ignore(applyb#connect#clicked apply) ;
ignore(introsb#connect#clicked intros) ;
ignore(searchpatternb#connect#clicked searchPattern) ;
ignore(proofw#connect#selection_changed (choose_selection proofw)) ;
+ ignore(decomposeb#connect#clicked decompose) ;
))
end
;;