Module Pattern
Patterns
- type patvar- = Names.Id.t
- Cases pattern variables 
- type case_info_pattern- =- {- cip_style : Constr.case_style;- cip_ind : Names.inductive option;- cip_ind_tags : bool list option;- indicates LetIn/Lambda in arity - cip_extensible : bool;- does this match end with _ => _ ? - }
- type constr_pattern- =- |- PRef of Names.GlobRef.t- |- PVar of Names.Id.t- |- PEvar of constr_pattern Constr.pexistential- |- PRel of int- |- PApp of constr_pattern * constr_pattern array- |- PSoApp of patvar * constr_pattern list- |- PProj of Names.Projection.t * constr_pattern- |- PLambda of Names.Name.t * constr_pattern * constr_pattern- |- PProd of Names.Name.t * constr_pattern * constr_pattern- |- PLetIn of Names.Name.t * constr_pattern * constr_pattern option * constr_pattern- |- PSort of Sorts.family- |- PMeta of patvar option- |- PIf of constr_pattern * constr_pattern * constr_pattern- |- PCase of case_info_pattern * constr_pattern * constr_pattern * (int * bool list * constr_pattern) list- index of constructor, nb of args - |- PFix of int array * int * Names.Name.t array * constr_pattern array * constr_pattern array- |- PCoFix of int * Names.Name.t array * constr_pattern array * constr_pattern array- |- PInt of Uint63.t- |- PFloat of Float64.t- |- PArray of constr_pattern array * constr_pattern * constr_pattern