X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaProof.mli;h=566777fc1c8e3e61135127b1c1014a1e33f162e6;hb=ef9ec8cb57d15426a96fe40d056eb07804753bb9;hp=97551eb8ce719c749ada69943f96c8566ecea570;hpb=481992ea591bf53cba758a96e7d42e9cdce7e129;p=helm.git diff --git a/helm/matita/matitaProof.mli b/helm/matita/matitaProof.mli index 97551eb8c..566777fc1 100644 --- a/helm/matita/matitaProof.mli +++ b/helm/matita/matitaProof.mli @@ -23,33 +23,32 @@ * http://helm.cs.unibo.it/ *) -val proofStatus: - typ:Cic.term -> ?metasenv:Cic.metasenv -> ?uri:UriManager.uri -> unit -> - MatitaTypes.proofStatus - - (** inverse function of proofStatus#toString / proofStatus#toOutchan *) -val proofStatus_of_string: string -> MatitaTypes.proofStatus - + (** create a new proof object. Typecheck the resulting sequent. + * @param typ goal type + * @param metasenv metasenv returned by the disambiguator, this will not be + * the final metasenv of the first sequence, meta corresponding to typ will + * be added + * @param uri new proof uri *) val proof: - typ:Cic.term -> ?metasenv:Cic.metasenv -> ?uri:UriManager.uri -> unit -> + ?uri:UriManager.uri -> + metasenv:Cic.metasenv -> typ:Cic.term -> + unit -> MatitaTypes.proof -(** {2 tactic commands builders} *) - -(* TODO Zack: these are just some examples, a lot of other tactics/tacticals - * must be added here *) - -val intros: ?namer:MatitaTypes.namer -> - MatitaTypes.proofStatus -> MatitaTypes.command - -val reflexivity: MatitaTypes.proofStatus -> MatitaTypes.command -val symmetry: MatitaTypes.proofStatus -> MatitaTypes.command -val transitivity: Cic.term -> MatitaTypes.proofStatus -> MatitaTypes.command - -val exists: MatitaTypes.proofStatus -> MatitaTypes.command -val split: MatitaTypes.proofStatus -> MatitaTypes.command -val left: MatitaTypes.proofStatus -> MatitaTypes.command -val right: MatitaTypes.proofStatus -> MatitaTypes.command - -val assumption: MatitaTypes.proofStatus -> MatitaTypes.command + (** current proof handler *) +class currentProof: + object + inherit MatitaTypes.currentProof + + (** add an observer to the current observer list. All observers will be + * attached to each new proof (method "start") created by this object + *) + method addObserver: unit StatefulProofEngine.observer -> unit + + (** connect as the first event handler for a given event (abort or quit). + * If the event handler returns true, handler processing stops, otherwise + * continue with the next handler + *) + method connect: [`Abort|`Quit] -> (unit -> bool) -> unit + end