Module Refiner
Legacy proof engine. Do not use in newly written code.
type tactic= Proofview.V82.tacThe refiner (handles primitive rules and high-level tactics).
val sig_it : 'a Evd.sigma -> 'aval project : 'a Evd.sigma -> Evd.evar_mapval pf_env : Goal.goal Evd.sigma -> Environ.envval pf_hyps : Goal.goal Evd.sigma -> EConstr.named_contextval refiner : check:bool -> Constr.t -> tactic
Tacticals.
val tclIDTAC : tactictclIDTACis the identity tactic without message printing
val tclIDTAC_MESSAGE : Pp.t -> tacticval tclEVARS : Evd.evar_map -> tactictclEVARS sigmachanges the current evar map
val tclEVARUNIVCONTEXT : UState.t -> tacticval tclPUSHCONTEXT : Evd.rigid -> Univ.ContextSet.t -> tactic -> tacticval tclPUSHEVARUNIVCONTEXT : UState.t -> tacticval tclPUSHCONSTRAINTS : Univ.Constraint.t -> tacticval tclTHEN : tactic -> tactic -> tactictclTHEN tac1 tac2 glsapplies the tactictac1toglsand appliestac2to every resulting subgoals
val tclTHENLIST : tactic list -> tactictclTHENLIST [t1;..;tn]appliest1THENt2... THENtn. More convenient thantclTHENwhennis large
val tclTHEN_i : tactic -> (int -> tactic) -> tactictclTHEN_i tac1 tac2 glsapplies the tactictac1toglsand applies(tac2 i)to theith resulting subgoal (starting from 1)
val tclTHENLAST : tactic -> tactic -> tactictclTHENLAST tac1 tac2 glsapplies the tactictac1toglsandtac2to the last resulting subgoal (previously calledtclTHENL)
val tclTHENFIRST : tactic -> tactic -> tactictclTHENFIRST tac1 tac2 glsapplies the tactictac1toglsandtac2to the first resulting subgoal
val tclTHENSV : tactic -> tactic array -> tactictclTHENS tac1 [|t1 ; ... ; tn|] glsapplies the tactictac1toglsand appliest1,...,tnto thenresulting subgoals. Raises an error if the number of resulting subgoals is notn
val tclTHENS3PARTS : tactic -> tactic array -> tactic -> tactic array -> tactictclTHENS3PARTS tac1 [|t1 ; ... ; tn|] tac2 [|t'1 ; ... ; t'm|] glsapplies the tactictac1toglsthen, appliest1, ...,tnto the firstnresulting subgoals,t'1, ...,t'mto the lastmsubgoals andtac2to the rest of the subgoals in the middle. Raises an error if the number of resulting subgoals is strictly less thann+m
val tclTHENSLASTn : tactic -> tactic -> tactic array -> tactictclTHENSLASTn tac1 [t1 ; ... ; tn] tac2 glsappliest1,...,tnon the lastnresulting subgoals andtac2on the remaining first subgoals
val tclTHENSFIRSTn : tactic -> tactic array -> tactic -> tactictclTHENSFIRSTn tac1 [t1 ; ... ; tn] tac2 glsfirst appliestac1, then appliest1,...,tnon the firstnresulting subgoals andtac2for the remaining last subgoals (previously called tclTHENST)
val tclTHENLASTn : tactic -> tactic array -> tactictclTHENLASTn tac1 [t1 ; ... ; tn] glsfirst appliestac1then, appliest1,...,tnon the lastnresulting subgoals and leaves unchanged the other subgoals
val tclTHENFIRSTn : tactic -> tactic array -> tactictclTHENFIRSTn tac1 [t1 ; ... ; tn] glsfirst appliestac1then, appliest1,...,tnon the firstnresulting subgoals and leaves unchanged the other subgoals (previously calledtclTHENSI)
exceptionFailError of int * Pp.t Stdlib.Lazy.tA special exception for levels for the Fail tactic
val catch_failerror : Exninfo.iexn -> unitTakes an exception and either raise it at the next level or do nothing.
val tclORELSE0 : tactic -> tactic -> tacticval tclORELSE : tactic -> tactic -> tacticval tclREPEAT : tactic -> tacticval tclREPEAT_MAIN : tactic -> tacticval tclFIRST : tactic list -> tacticval tclSOLVE : tactic list -> tacticval tclTRY : tactic -> tacticval tclTHENTRY : tactic -> tactic -> tacticval tclCOMPLETE : tactic -> tacticval tclAT_LEAST_ONCE : tactic -> tacticval tclFAIL : int -> Pp.t -> tacticval tclFAIL_lazy : int -> Pp.t Stdlib.Lazy.t -> tacticval tclDO : int -> tactic -> tacticval tclPROGRESS : tactic -> tacticval tclSHOWHYPS : tactic -> tacticval tclIFTHENELSE : tactic -> tactic -> tactic -> tactictclIFTHENELSE tac1 tac2 tac3 glsfirst appliestac1toglsthen, if it succeeds, appliestac2to the resulting subgoals, and if not appliestac3to the initial goalgls