<p>On Dec 6, 2011 11:02 PM, "Michael Norrish" <<a href="mailto:Michael.Norrish@nicta.com.au">Michael.Norrish@nicta.com.au</a>> wrote:<br>
><br>
> I think the mistake here is mapping the Abbrev constant to Unwanted. I'd say it was probably worth preserving.</p>
<p>Why? What does it mean outside of HOL4?</p>
<p>><br>
> Michael<br>
><br>
> On 07/12/11 09:35, Joe Hurd wrote:<br>
> > Hi Ramana,<br>
> ><br>
> > Good job digging up a counter-example to my claim about how tags are<br>
> > used, but I think it's probably not worth the effort to handle exotic<br>
> > cases. Perhaps the theorem you found could be deduced from a form with<br>
> > a fully applied tag?<br>
> ><br>
> > Cheers,<br>
> ><br>
> > Joe<br>
> ><br>
> > On Tue, Dec 6, 2011 at 11:53 AM, Ramana Kumar <<a href="mailto:ramana.kumar@gmail.com">ramana.kumar@gmail.com</a>> wrote:<br>
> >> On Tue, Dec 6, 2011 at 7:36 PM, Joe Hurd <<a href="mailto:joe@gilith.com">joe@gilith.com</a>> wrote:<br>
> >>> The solution is to ensure that every instance of Unwanted.id in theory<br>
> >>> assumptions and theorems is fully applied. This should always be the<br>
> >>> case for constants used to tag terms, which are the main use-case of<br>
> >>> Unwanted.id.<br>
> >><br>
> >> I'm not so sure about that. This theorem is from the HOL4 library<br>
> >> (combinTheory.literal_case_FORALL_ELIM):<br>
> >><br>
> >> |- literal_case f v ⇔ (!) (S ((==>) o Abbrev o C (=) v) f)<br>
> >><br>
> >> The "Abbrev" constant in the middle there is a tag for abbreviations<br>
> >> (which I map to Unwanted.id).<br>
> >> (This is where, I believe, my axiom in the lazy list theory was coming from.)<br>
> >><br>
> >> I'm not sure why this theorem has the form it does, but it could be an<br>
> >> example of a useful not-fully-applied tag.<br>
> >> Perhaps someone who knows more about that theorem could clarify...<br>
> >><br>
> >>><br>
> >>> Cheers,<br>
> >>><br>
> >>> Joe<br>
> >>><br>
> >>> On Tue, Dec 6, 2011 at 11:18 AM, Ramana Kumar <<a href="mailto:ramana.kumar@gmail.com">ramana.kumar@gmail.com</a>> wrote:<br>
> >>>> Will your scheme for eliminating Unwanted.id work in terms where it<br>
> >>>> does not appear fully applied, but can still be eliminated?<br>
> >>>> Specifically, when Unwanted.id is composed with another function.<br>
> >>>><br>
> >>>> On Tue, Dec 6, 2011 at 6:44 PM, Ramana Kumar <<a href="mailto:ramana.kumar@gmail.com">ramana.kumar@gmail.com</a>> wrote:<br>
> >>>>> Thanks for making it quicker :)<br>
> >>>>><br>
> >>>>> Now, the only place where Unwanted.id seems not to be erased is in an<br>
> >>>>> apparent axiom required by my article.<br>
> >>>>> Can you confirm that the article is actually trying to define Unwanted.id?<br>
> >>>>> I generated the article from a HOL4 theory that I don't think should<br>
> >>>>> be defining anything mapped to Unwanted.id, so I'm a bit confused<br>
> >>>>> about that at the moment...<br>
> >>>>><br>
> >>>>> On Tue, Dec 6, 2011 at 4:58 AM, Joe Hurd <<a href="mailto:joe@gilith.com">joe@gilith.com</a>> wrote:<br>
> >>>>>> Hi Ramana,<br>
> >>>>>><br>
> >>>>>> I fixed a performance bug in the proof rewriting, and your example<br>
> >>>>>> goes through pretty quickly now (see below). The fix is both pushed<br>
> >>>>>> and released in the latest version of the opentheory tool.<br>
> >>>>>><br>
> >>>>>> Cheers,<br>
> >>>>>><br>
> >>>>>> Joe<br>
> >>>>>><br>
> >>>>>> ________________________________________________________________<br>
> >>>>>><br>
> >>>>>> dimholt:~/dev/opentheory$ gzcat ~/Desktop/ll.art.gz | time<br>
> >>>>>> bin/mlton/opentheory info --inference article:-<br>
> >>>>>> WARNING: 38 objects left on the stack by -<br>
> >>>>>> WARNING: 473,658 objects left in the dictionary by -<br>
> >>>>>> Primitive inferences:<br>
> >>>>>> eqMp ............ 150,377<br>
> >>>>>> deductAntisym ... 129,584<br>
> >>>>>> subst ............ 76,065<br>
> >>>>>> appThm ........... 20,748<br>
> >>>>>> assume ........... 18,086<br>
> >>>>>> refl .............. 9,363<br>
> >>>>>> betaConv .......... 7,461<br>
> >>>>>> absThm ............ 4,564<br>
> >>>>>> axiom ............... 193<br>
> >>>>>> defineConst .......... 25<br>
> >>>>>> defineTypeOp .......... 1<br>
> >>>>>> Total ........... 416,467<br>
> >>>>>> 24.40 real<br>
> >>>>>> 15.30 user<br>
> >>>>>> 9.07 sys<br>
> >>>>>><br>
> >>>>>> dimholt:~/dev/opentheory$ time bin/mlton/opentheory info --inference<br>
> >>>>>> foo.art Primitive inferences:<br>
> >>>>>> eqMp ............. 68,100<br>
> >>>>>> subst ............ 56,228<br>
> >>>>>> deductAntisym .... 51,689<br>
> >>>>>> appThm ........... 17,378<br>
> >>>>>> betaConv .......... 6,866<br>
> >>>>>> refl .............. 6,325<br>
> >>>>>> absThm ............ 4,267<br>
> >>>>>> assume ............ 1,608<br>
> >>>>>> axiom ............... 190<br>
> >>>>>> defineConst .......... 26<br>
> >>>>>> defineTypeOp .......... 1<br>
> >>>>>> Total ........... 212,678<br>
> >>>>>><br>
> >>>>>> real 0m5.289s<br>
> >>>>>> user 0m5.027s<br>
> >>>>>> sys 0m0.256s<br>
> >>>>>><br>
> >>>>>> _______________________________________________<br>
> >>>>>> opentheory-users mailing list<br>
> >>>>>> <a href="mailto:opentheory-users@gilith.com">opentheory-users@gilith.com</a><br>
> >>>>>> <a href="http://www.gilith.com/mailman/listinfo/opentheory-users">http://www.gilith.com/mailman/listinfo/opentheory-users</a><br>
> >>>><br>
> >>>> _______________________________________________<br>
> >>>> opentheory-users mailing list<br>
> >>>> <a href="mailto:opentheory-users@gilith.com">opentheory-users@gilith.com</a><br>
> >>>> <a href="http://www.gilith.com/mailman/listinfo/opentheory-users">http://www.gilith.com/mailman/listinfo/opentheory-users</a><br>
> >>><br>
> >>> _______________________________________________<br>
> >>> opentheory-users mailing list<br>
> >>> <a href="mailto:opentheory-users@gilith.com">opentheory-users@gilith.com</a><br>
> >>> <a href="http://www.gilith.com/mailman/listinfo/opentheory-users">http://www.gilith.com/mailman/listinfo/opentheory-users</a><br>
> >><br>
> >> _______________________________________________<br>
> >> opentheory-users mailing list<br>
> >> <a href="mailto:opentheory-users@gilith.com">opentheory-users@gilith.com</a><br>
> >> <a href="http://www.gilith.com/mailman/listinfo/opentheory-users">http://www.gilith.com/mailman/listinfo/opentheory-users</a><br>
> ><br>
> > _______________________________________________<br>
> > opentheory-users mailing list<br>
> > <a href="mailto:opentheory-users@gilith.com">opentheory-users@gilith.com</a><br>
> > <a href="http://www.gilith.com/mailman/listinfo/opentheory-users">http://www.gilith.com/mailman/listinfo/opentheory-users</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> opentheory-users mailing list<br>
> <a href="mailto:opentheory-users@gilith.com">opentheory-users@gilith.com</a><br>
> <a href="http://www.gilith.com/mailman/listinfo/opentheory-users">http://www.gilith.com/mailman/listinfo/opentheory-users</a><br>
><br>
</p>