Module Equality
type dep_proof_flag= booltype freeze_evars_flag= booltype orientation= booltype conditions=|Naive|FirstSolved|AllMatches
val eq_elimination_ref : orientation -> Sorts.family -> Names.GlobRef.t optionval general_rewrite_bindings : orientation -> Locus.occurrences -> freeze_evars_flag -> dep_proof_flag -> ?tac:(unit Proofview.tactic * conditions) -> EConstr.constr Tactypes.with_bindings -> Tactics.evars_flag -> unit Proofview.tacticval general_rewrite : orientation -> Locus.occurrences -> freeze_evars_flag -> dep_proof_flag -> ?tac:(unit Proofview.tactic * conditions) -> EConstr.constr -> unit Proofview.tacticval rewriteLR : ?tac:(unit Proofview.tactic * conditions) -> EConstr.constr -> unit Proofview.tacticval rewriteRL : ?tac:(unit Proofview.tactic * conditions) -> EConstr.constr -> unit Proofview.tacticval general_setoid_rewrite_clause : (Names.Id.t option -> orientation -> Locus.occurrences -> EConstr.constr Tactypes.with_bindings -> new_goals:EConstr.constr list -> unit Proofview.tactic) Hook.tval general_rewrite_ebindings_clause : Names.Id.t option -> orientation -> Locus.occurrences -> freeze_evars_flag -> dep_proof_flag -> ?tac:(unit Proofview.tactic * conditions) -> EConstr.constr Tactypes.with_bindings -> Tactics.evars_flag -> unit Proofview.tacticval general_rewrite_bindings_in : orientation -> Locus.occurrences -> freeze_evars_flag -> dep_proof_flag -> ?tac:(unit Proofview.tactic * conditions) -> Names.Id.t -> EConstr.constr Tactypes.with_bindings -> Tactics.evars_flag -> unit Proofview.tacticval general_rewrite_in : orientation -> Locus.occurrences -> freeze_evars_flag -> dep_proof_flag -> ?tac:(unit Proofview.tactic * conditions) -> Names.Id.t -> EConstr.constr -> Tactics.evars_flag -> unit Proofview.tacticval general_rewrite_clause : orientation -> Tactics.evars_flag -> ?tac:(unit Proofview.tactic * conditions) -> EConstr.constr Tactypes.with_bindings -> Locus.clause -> unit Proofview.tactic
val general_multi_rewrite : Tactics.evars_flag -> (bool * multi * Tactics.clear_flag * Tactypes.delayed_open_constr_with_bindings) list -> Locus.clause -> (unit Proofview.tactic * conditions) option -> unit Proofview.tacticval replace_in_clause_maybe_by : EConstr.constr -> EConstr.constr -> Locus.clause -> unit Proofview.tactic option -> unit Proofview.tacticval replace : EConstr.constr -> EConstr.constr -> unit Proofview.tacticval replace_by : EConstr.constr -> EConstr.constr -> unit Proofview.tactic -> unit Proofview.tactic
type inj_flags={keep_proof_equalities : bool;injection_in_context : bool;injection_pattern_l2r_order : bool;}
val discr : Tactics.evars_flag -> EConstr.constr Tactypes.with_bindings -> unit Proofview.tacticval discrConcl : unit Proofview.tacticval discrHyp : Names.Id.t -> unit Proofview.tacticval discrEverywhere : Tactics.evars_flag -> unit Proofview.tacticval discr_tac : Tactics.evars_flag -> EConstr.constr Tactypes.with_bindings Tactics.destruction_arg option -> unit Proofview.tacticval inj : inj_flags option -> Tactypes.intro_patterns option -> Tactics.evars_flag -> Tactics.clear_flag -> EConstr.constr Tactypes.with_bindings -> unit Proofview.tacticval injClause : inj_flags option -> Tactypes.intro_patterns option -> Tactics.evars_flag -> EConstr.constr Tactypes.with_bindings Tactics.destruction_arg option -> unit Proofview.tacticval injHyp : inj_flags option -> Tactics.clear_flag -> Names.Id.t -> unit Proofview.tacticval injConcl : inj_flags option -> unit Proofview.tacticval simpleInjClause : inj_flags option -> Tactics.evars_flag -> EConstr.constr Tactypes.with_bindings Tactics.destruction_arg option -> unit Proofview.tacticval dEq : keep_proofs:bool option -> Tactics.evars_flag -> EConstr.constr Tactypes.with_bindings Tactics.destruction_arg option -> unit Proofview.tacticval dEqThen : keep_proofs:bool option -> Tactics.evars_flag -> (Tactics.clear_flag -> EConstr.constr -> int -> unit Proofview.tactic) -> EConstr.constr Tactypes.with_bindings Tactics.destruction_arg option -> unit Proofview.tacticval make_iterated_tuple : Environ.env -> Evd.evar_map -> EConstr.constr -> (EConstr.constr * EConstr.types) -> Evd.evar_map * (EConstr.constr * EConstr.constr * EConstr.constr)val cutRewriteInHyp : bool -> EConstr.types -> Names.Id.t -> unit Proofview.tacticval cutRewriteInConcl : bool -> EConstr.constr -> unit Proofview.tacticval rewriteInHyp : bool -> EConstr.constr -> Names.Id.t -> unit Proofview.tacticval rewriteInConcl : bool -> EConstr.constr -> unit Proofview.tacticval discriminable : Environ.env -> Evd.evar_map -> EConstr.constr -> EConstr.constr -> boolval injectable : Environ.env -> Evd.evar_map -> keep_proofs:bool option -> EConstr.constr -> EConstr.constr -> bool
val subst_gen : bool -> Names.Id.t list -> unit Proofview.tacticval subst : Names.Id.t list -> unit Proofview.tacticval subst_all : ?flags:subst_tactic_flags -> unit -> unit Proofview.tacticval replace_term : bool option -> EConstr.constr -> Locus.clause -> unit Proofview.tacticval set_eq_dec_scheme_kind : Ind_tables.mutual Ind_tables.scheme_kind -> unitval build_selector : Environ.env -> Evd.evar_map -> int -> EConstr.constr -> EConstr.types -> EConstr.constr -> EConstr.constr -> EConstr.constr