Cc_plugin.Ccproof
type rule =
| Ax of Constr.constr |
| SymAx of Constr.constr |
| Refl of Ccalgo.ATerm.t |
| Trans of proof * proof |
| Congr of proof * proof |
| Inject of proof * Constr.pconstructor * int * int |
Proof smart constructors
val prefl : Ccalgo.ATerm.t -> proof
val pax : (Ccalgo.ATerm.t * Ccalgo.ATerm.t) Cc_plugin.Ccalgo.Constrhash.t -> Cc_plugin.Ccalgo.Constrhash.key -> proof
val psymax : (Ccalgo.ATerm.t * Ccalgo.ATerm.t) Cc_plugin.Ccalgo.Constrhash.t -> Cc_plugin.Ccalgo.Constrhash.key -> proof
val pinject : proof -> Constr.pconstructor -> int -> int -> proof
Proof building functions
val equal_proof : Environ.env -> Evd.evar_map -> Ccalgo.forest -> int -> int -> proof
val edge_proof : Environ.env -> Evd.evar_map -> Ccalgo.forest -> ((int * int) * Ccalgo.equality) -> proof
val path_proof : Environ.env -> Evd.evar_map -> Ccalgo.forest -> int -> ((int * int) * Ccalgo.equality) list -> proof
val congr_proof : Environ.env -> Evd.evar_map -> Ccalgo.forest -> int -> int -> proof
val ind_proof : Environ.env -> Evd.evar_map -> Ccalgo.forest -> int -> Ccalgo.pa_constructor -> int -> Ccalgo.pa_constructor -> proof
Main proof building function
val build_proof : Environ.env -> Evd.evar_map -> Ccalgo.forest -> [ `Discr of int * Ccalgo.pa_constructor * int * Ccalgo.pa_constructor | `Prove of int * int ] -> proof