Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
) or<br />
exists nlvar_arg:new_lvcn_map . (<br />
nlvar_arg.orig.one = param1 <strong>and</strong><br />
nlvar_arg.orig.two = param2 <strong>and</strong><br />
result has Args(mk_app.copy, nlvar_arg.copy,<br />
indexOf(param1, mk_app.orig.one, "Args"))<br />
) or<br />
(param1 = param2 <strong>and</strong><br />
result has Args(mk_app.copy, param1,<br />
indexOf(param1, mk_app.orig.one, "Args"))<br />
)))) <strong>and</strong><br />
/* copy appls */<br />
exists new_copy_appl_map:map orig:copy_appl_set<br />
to copy:new Appl . (<br />
forall ncappm1:new_copy_appl_map .<br />
forall ncappm2:new_copy_appl_map . (<br />
ncappm1.orig = ncappm2.orig equiv ncappm1.copy = ncappm2.copy<br />
) <strong>and</strong><br />
forall cp_app:new_copy_appl_map . (<br />
(exists ncon_head2:new_constructor_map . (<br />
(cp_app.orig.Head = ncon_head2.orig.one or<br />
cp_app.orig.Head = ncon_head2.orig.two<br />
) <strong>and</strong><br />
result has Head(cp_app.copy, ncon_head2.copy)<br />
) or<br />
/* normal const */<br />
result has Head(cp_app.copy, cp_app.orig.Head)<br />
) <strong>and</strong><br />
forall param:(cp_app.orig.Args) . (<br />
exists ncapp_arg:new_copy_appl_map . (<br />
ncapp_arg.orig = param <strong>and</strong><br />
result has Args(cp_app.copy, ncapp_arg.copy,<br />
indexOf(param, cp_app.orig, "Args"))<br />
) or<br />
exists ncon_arg2:new_constructor_map . (<br />
(ncon_arg2.orig.one = param or<br />
ncon_arg2.orig.two = param<br />
) <strong>and</strong><br />
result has Args(cp_app.copy, ncon_arg2.copy,<br />
indexOf(param, cp_app.orig, "Args"))<br />
) or<br />
exists nlvar_arg2:new_lvcn_map . (<br />
(nlvar_arg2.orig.one = param or<br />
nlvar_arg2.orig.two = param<br />
) <strong>and</strong><br />
result has Args(cp_app.copy, nlvar_arg2.copy,<br />
indexOf(param, cp_app.orig, "Args"))<br />
) or<br />
exists nlvarcopy_arg:new_copy_lvcn_map . (<br />
87