Instantiation of the existentially qualified goal
se(v1,…,vn)
with:
This command allows to chose the instantiation of variables, under the scope of an existential quantifier which appears in the current goal. If the goal is as follows:
∃(w1,…,wn).P(w1,…,wn)
then the goal becomes:
P(v1,…,vn)
This command is not protected against ill-typing (see chapter 2.2 page §) nor ill-definedness (see chapter 2.3 page §) of the values with which we instantiate variables. Thus one must be careful to not introduce ill-typed or ill-defined expressions.
This can be checked with hindsight thanks to the mdelta tool (cf. User Manual Version 1.0.).
If the value of one or several variables is unknown or must remain undetermined, it is possible to use the keyword _h, so as not to instantiate the chosen variables. For example, if the goal is:
then
will transform the goal into
Given the following situation:
Hypothesis ENS = {e1,e2,e3,e4,e5} & uu: ENS & zz: ENS & Goal #kk.(kk: ENS & not(kk = uu) & not(kk = zz))
|
The user may replace the kk variable by a judiciously chosen value.
PRI> se(e1) Starting Suggest for Exist
|
In this case, the current goal is replaced by the goal containing the instantiated kk variable.
Goal e1: ENS & not(e1 = uu) & not(e1 = zz)
|