Я хочу изменить гипотезу H из формы ниже
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
Я думаю, они оба могут решить одну и ту же задачу, но мне нужна гипотеза в более поздней форме. Или, точнее, дальнейшее разделение k на его элементы, как показано ниже. Как я могу преобразовать гипотезы H в эти две формы?
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