module Equivalence: sig
.. end
type
t = {
|
carrier : EConstr.constr ; |
|
eq : EConstr.constr ; |
|
equivalence : EConstr.constr ; |
}
val make : EConstr.constr -> EConstr.constr -> EConstr.constr -> t
val infer : Coq.goal_sigma ->
EConstr.constr -> EConstr.constr -> t * Coq.goal_sigma
val from_relation : Coq.goal_sigma -> Coq.Relation.t -> t * Coq.goal_sigma
val cps_from_relation : Coq.Relation.t ->
(t -> Proof_type.tactic) -> Proof_type.tactic
val to_relation : t -> Coq.Relation.t
val split : t -> EConstr.constr * EConstr.constr * EConstr.constr