Module Logic
Legacy proof engine. Do not use in newly written code.
val refiner : check:bool -> Constr.constr -> unit Proofview.tactic
Refiner errors.
type refiner_error=|BadType of Constr.constr * Constr.constr * EConstr.t|UnresolvedBindings of Names.Name.t list|CannotApply of Constr.constr * Constr.constr|NonLinearProof of Constr.constr|MetaInType of EConstr.constr|IntroNeedsProduct|NoSuchHyp of Names.Id.t
exceptionRefinerError of Environ.env * Evd.evar_map * refiner_error
val error_no_such_hypothesis : Environ.env -> Evd.evar_map -> Names.Id.t -> 'a
type 'id move_location=|MoveAfter of 'id|MoveBefore of 'id|MoveFirst|MoveLastcan be seen as "no move" when doing intro
val pr_move_location : ('a -> Pp.t) -> 'a move_location -> Pp.tval convert_hyp : check:bool -> reorder:bool -> Environ.env -> Evd.evar_map -> EConstr.named_declaration -> Environ.named_context_val
exceptionCannotMoveHyp of cannot_move_hyp
val move_hyp_in_named_context : Environ.env -> Evd.evar_map -> Names.Id.t -> Names.Id.t move_location -> Environ.named_context_val -> Environ.named_context_valval insert_decl_in_named_context : Environ.env -> Evd.evar_map -> EConstr.named_declaration -> Names.Id.t move_location -> Environ.named_context_val -> Environ.named_context_val