Firstorder_core_plugin.Formulatype counter = bool -> Constr.metavariableval construct_nhyps : Environ.env -> Constr.pinductive -> int arrayval ind_hyps : Environ.env -> Evd.evar_map -> int -> Constr.pinductive -> EConstr.constr list -> EConstr.rel_context arraymodule Env : sig ... endval hole_atom : atomtype right_pattern = | Rarrow |
| Rand |
| Ror |
| Rfalse |
| Rforall |
| Rexists of Constr.metavariable * EConstr.constr * bool |
type left_arrow_pattern = | LLatom |
| LLfalse of Constr.pinductive * EConstr.constr list |
| LLand of Constr.pinductive * EConstr.constr list |
| LLor of Constr.pinductive * EConstr.constr list |
| LLforall of EConstr.constr |
| LLexists of Constr.pinductive * EConstr.constr list |
| LLarrow of EConstr.constr * EConstr.constr * EConstr.constr |
type left_pattern = | Lfalse |
| Land of Constr.pinductive |
| Lor of Constr.pinductive |
| Lforall of Constr.metavariable * EConstr.constr * bool |
| Lexists of Constr.pinductive |
| LA of atom * left_arrow_pattern |
type _ identifier = private | GoalId : [ `Goal ] identifier |
| FormulaId : Names.GlobRef.t -> [ `Hyp ] identifier |
val goal_id : [ `Goal ] identifierval formula_id : Environ.env -> Names.GlobRef.t -> [ `Hyp ] identifiertype _ pattern = | LeftPattern : left_pattern -> [ `Hyp ] pattern |
| RightPattern : right_pattern -> [ `Goal ] pattern |
val build_formula : flags:flags -> Env.t -> Environ.env -> Evd.evar_map -> 'a side -> 'a identifier -> EConstr.types -> counter -> Env.t * ('a t, atom) sum