Supposons que j'ai une somme comme a + (b + (c + d))
, que je souhaite transformer en a + b + c + d
pour appliquer un lemme.Coq: Supprimer toutes les parenthèses (imbriquées) d'une somme
Le faire manuellement avec Nat.add_assoc
est extrêmement fastidieux. Y a-t-il un moyen plus intelligent?
Pourquoi n'est-ce pas agréable? En outre, vous pouvez également faire 'par auto avec *'. –
Si vous avez déjà regardé le terme de sortie créé par 'omega', vous comprendrez. La plupart du temps c'est trop compliqué, et une petite preuve utilisant la réécriture sera beaucoup plus petite. Mais c'est une question d'opinion personnelle;) – Vinz
'par omega' fonctionnerait aussi bien; et 'by ring' résout également le problème. Le premier a besoin d'un module "Omega" à importer; ce dernier - 'Arith'. –