Ltac est utilisé pour automating proofs and modifying proof environment, outputting strings et defining complex notations. Peut-il également être utilisé pour des modifications «intelligentes» de l'environnement Coq? Voici deux tentatives ratées:Modification intelligente de l'environnement Coq
Variable Phy: Set.
Fail Let pp (x:Type) := ltac: (match type of x with
| Set => constr: (Reset Phy)
| _ => idtac end).
(*Cannot infer an internal placeholder of type "Type" in environment: x : Type*)
Fail Ltac pp x := match type of x with
| Set => constr: (Reset Phy)
| _ => idtac end.
(*The reference Reset was not found in the current environment.*)
De plus, si ce n'est pas un emploi pour Ltac, peut-être il y a une autre façon?
Je ne pouvais pas comprendre ce que les extraits essayaient d'accomplir; pourriez-vous élaborer? –
Ils essaient de libérer la variable 'Phy' si une condition est remplie – jaam