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 meta_in_atom : Constr.metavariable -> atom -> booltype right_pattern = | Rarrow| Rand| Ror| Rfalse| Rforall| Rexists of Constr.metavariable * EConstr.constr * booltype 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.constrtype left_pattern = | Lfalse| Land of Constr.pinductive| Lor of Constr.pinductive| Lforall of Constr.metavariable * EConstr.constr * bool| Lexists of Constr.pinductive| LA of left_arrow_patterntype _ identifier = private | GoalId : [ `Goal ] identifier| FormulaId : Names.GlobRef.t -> [ `Hyp ] identifierval goal_id : [ `Goal ] identifierval formula_id : Environ.env -> Names.GlobRef.t -> [ `Hyp ] identifiertype _ pattern = | LeftPattern : left_pattern -> [ `Hyp ] pattern| RightPattern : right_pattern -> [ `Goal ] patternval build_formula :
flags:flags ->
Env.t ->
Environ.env ->
Evd.evar_map ->
'a side ->
'a identifier ->
EConstr.types ->
counter ->
Env.t * ('a t, atom) sum