Zulip Chat Archive
Stream: Is there code for X?
Topic: Replacing common subexpression
Ayhon (Aug 18 2024 at 16:02):
If I have a common subexpression which appears in many different places in my proof, how can I substitute it with a common variable? For instance, if I have (a+b)/2
in different areas of my codebase, I would like to do let mid := (a+b)/2
and have all appearances of (a+b)/2
substituted with mid
. I have "loogled" for substitute
, rename
and fold
(since it's opposite of unfold
), but they don't seem to fit my usecase.
Adomas Baliuka (Aug 18 2024 at 16:04):
Use the tactic set
Ayhon (Aug 18 2024 at 16:06):
I feel like I should have found this sooner. Is there a glosary of tactics or a proper way to search for them? Because I couldn't find it at all, and it now seems to be pretty basic
Ruben Van de Velde (Aug 18 2024 at 16:43):
Not yet
Ayhon (Aug 18 2024 at 17:13):
And what is the opposite of set
? Because unfold
doesn't seem to be working for me, it says unknown constant 'mid'
Daniel Weber (Aug 18 2024 at 17:24):
You can use unfold_let
Ruben Van de Velde (Aug 18 2024 at 18:13):
Or use set x := .. with hx
and rewrite with hx
Last updated: May 02 2025 at 03:31 UTC