Hi,

there is "GEN_EXISTS_TAC "y" `5`" from bossLib. It is more general than
what was asked for here originally. It also knows about the usual
boolean connectives.

For example, it can instantiate also

?x. P x /\ ?z y. ... y ...

or with negation

?x. (P x /\ (!z y. ... y ...)) ==> Q x

"GEN_EXISTS_TAC" is a special case of  quantHeuristicsLib.QUANT_TAC.
This one allows _partially_ instantiating multiple variables in one go,
whereas "GEN_EXISTS_TAC" allows _completely_ instantiating_ one var.

With QUANT_TAC you can for example instantiate "l" in the following

`?x l. (HD l > x /\ P x l)`

with "QUANT_TAC [("l", `(SUC x)::(l1++l2)` [`l1`])]" to get

`?x l1. HD ((SUC x) :: (l1++l2)) /\ P x ((SUC x) :: (l1++l2))`

notice that "QUANT_TAC [("l", `(SUC x)::(l1++l2)` [`x`, `l1`])]" would
lead to

`?x x' l1. HD ((SUC x') :: (l1++l2)) /\ P x ((SUC x') :: (l1++l2))`

Best

Thomas


On 22.03.2016 04:08, Yong Kiam wrote:
> Out of curiosity:
> 
> How would one do the instantiation that Magnus doesn't need i.e.
> instantiate using (and under) and existential?
> 
> On Tue, Mar 22, 2016 at 4:12 AM, Ramana Kumar <ramana.ku...@cl.cam.ac.uk
> <mailto:ramana.ku...@cl.cam.ac.uk>> wrote:
> 
>     Yes there is:
>     CONV_TAC(RESORT_EXISTS_CONV(sort_vars["y"])) \\ qexists_tac`5`
> 
>     On 22 March 2016 at 07:08, Magnus Myreen <mo...@cam.ac.uk
>     <mailto:mo...@cam.ac.uk>> wrote:
> 
>         Hi hol-info,
> 
>         Quick question: is there a tactic for instantiating a nested
>         existential based on a name? Example: for a goal such as
> 
>           ?x y z. ... y ...
> 
>         I want to use a tactic foo_tac `y` `5` and get:
> 
>           ?x z. ... 5 ...
> 
>         Is there such a foo_tac tactic? I suspect this functionality is
>         there
>         somewhere already. If not, then I'll implement it.
> 
>         Note: I don't need the advanced feature of being able to instantiate
>         it with `x+z+1` where the variables refer to the other existentially
>         quantified variables.
> 
>         Many thanks,
>         Magnus
> 
>         
> ------------------------------------------------------------------------------
>         Transform Data into Opportunity.
>         Accelerate data analysis in your applications with
>         Intel Data Analytics Acceleration Library.
>         Click to learn more.
>         http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
>         _______________________________________________
>         hol-info mailing list
>         hol-info@lists.sourceforge.net
>         <mailto:hol-info@lists.sourceforge.net>
>         https://lists.sourceforge.net/lists/listinfo/hol-info
> 
> 
> 
>     
> ------------------------------------------------------------------------------
>     Transform Data into Opportunity.
>     Accelerate data analysis in your applications with
>     Intel Data Analytics Acceleration Library.
>     Click to learn more.
>     http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
>     _______________________________________________
>     hol-info mailing list
>     hol-info@lists.sourceforge.net <mailto:hol-info@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/hol-info
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
> 
> 
> 
> _______________________________________________
> hol-info mailing list
> hol-info@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/hol-info
> 

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to