X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FgTopLevel%2FproofEngine.mli;h=a38a0294761e48abe3da94fe666732eef7234f30;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=f5c31067f8f44ce5adaa19f0e64861e7a27b7986;hpb=fe07fcacb7060dddc6542b04bc1168f444ceaebf;p=helm.git diff --git a/helm/gTopLevel/proofEngine.mli b/helm/gTopLevel/proofEngine.mli index f5c31067f..a38a02947 100644 --- a/helm/gTopLevel/proofEngine.mli +++ b/helm/gTopLevel/proofEngine.mli @@ -24,28 +24,38 @@ *) (* proof engine status *) -val proof : ProofEngineTypes.proof option ref +val get_proof : unit -> ProofEngineTypes.proof option +val set_proof : ProofEngineTypes.proof option -> unit val goal : ProofEngineTypes.goal option ref + (** return a pair of "xml" (as defined in Xml module) representing the current + proof type and body, respectively *) +val get_current_status_as_xml : unit -> Xml.token Stream.t * Xml.token Stream.t + (* start a new goal undoing part of the proof *) val perforate : Cic.context -> Cic.term -> Cic.term -> unit (* reduction tactics *) -val whd : Cic.term -> unit -val reduce : Cic.term -> unit -val simpl : Cic.term -> unit -val fold : Cic.term -> unit +val whd : Cic.term list -> unit +val reduce : Cic.term list -> unit +val simpl : Cic.term list -> unit +val fold_whd : Cic.term -> unit +val fold_reduce : Cic.term -> unit +val fold_simpl : Cic.term -> unit (* scratch area reduction tactics *) -val whd_in_scratch : Cic.term -> Cic.term -> Cic.term -val reduce_in_scratch : Cic.term -> Cic.term -> Cic.term -val simpl_in_scratch : Cic.term -> Cic.term -> Cic.term +val whd_in_scratch : Cic.term list -> Cic.term -> Cic.term +val reduce_in_scratch : Cic.term list -> Cic.term -> Cic.term +val simpl_in_scratch : Cic.term list -> Cic.term -> Cic.term (* "primitive" tactics *) val apply : Cic.term -> unit -val intros : unit -> unit -val cut : Cic.term -> unit -val letin : Cic.term -> unit +val intros : + ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> unit -> unit +val cut : + ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> Cic.term -> unit +val letin : + ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> Cic.term -> unit val exact : Cic.term -> unit val elim_intros_simpl : Cic.term -> unit val change : goal_input:Cic.term -> input:Cic.term -> unit @@ -59,3 +69,35 @@ val elim_type : Cic.term -> unit val ring : unit -> unit val fourier : unit -> unit val rewrite_simpl : Cic.term -> unit +val rewrite_back_simpl : Cic.term -> unit +val replace : goal_input:Cic.term -> input:Cic.term -> unit +val auto : dbd:Mysql.dbd -> unit -> unit + +val reflexivity : unit -> unit +val symmetry : unit -> unit +val transitivity : Cic.term -> unit + +val exists : unit -> unit +val split : unit -> unit +val left : unit -> unit +val right : unit -> unit + +val assumption : unit -> unit + +val generalize : + ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> + Cic.term list -> unit + +val absurd : Cic.term -> unit +val contradiction : unit -> unit + +val decompose : + uris_choice_callback: + ((UriManager.uri * int * (UriManager.uri * Cic.term) list) list -> + (UriManager.uri * int * (UriManager.uri * Cic.term) list) list) -> + Cic.term -> unit + +val injection : Cic.term -> unit +val discriminate : Cic.term -> unit +val decide_equality : unit -> unit +val compare : Cic.term -> unit