I want to change the hypothesis H from the form below
mL : Map
mR : Map
H : forall (k : RecType) (e : String.string),
MapsTo k e (filter (is_vis_cookie l) mL) <->
MapsTo k e (filter (is_vis_cookie l) mR)
-------------------------------------------------------
Goal
to
mL : Map
mR : Map
k : RecType
e : String.string
H : MapsTo k e (filter (is_vis_cookie l) mL) <->
MapsTo k e (filter (is_vis_cookie l) mR)
-------------------------------------------------------
Goal
I think, they can both solve the same goal, but I need the hypothesis in the later form. Or more specifically, further separating k into its elements, like below. How can I change the hypotheses H to these two forms?
mL : Map
mR : Map
ks : String.string
kh : String.string
e : String.string
H : MapsTo {| elem1:= ks; elem2:= kh|} e (filter (is_vis_cookie l) mL) <->
MapsTo {| elem1:= ks; elem2:= kh|} e (filter (is_vis_cookie l) mR)
-------------------------------------------------------
Goal