[opentheory-users] the Unwanted namespace

Joe Hurd joe at gilith.com
Tue Dec 6 19:36:38 UTC 2011


Hi Ramana,

The elimination procedure only knows the definition

Unwanted.id = \x. x

which it uses to reduce terms

Unwanted.id x --> x

This is the reason that an instance of Unwanted.id is not being
eliminated in your article (the elimination procedure knows nothing
about the Function.o constant), although it does instantiate the
undefined Unwanted.id constant to the definition above (which is why
it appears to be defined in the resulting article).

The solution is to ensure that every instance of Unwanted.id in theory
assumptions and theorems is fully applied. This should always be the
case for constants used to tag terms, which are the main use-case of
Unwanted.id.

Cheers,

Joe

On Tue, Dec 6, 2011 at 11:18 AM, Ramana Kumar <ramana.kumar at gmail.com> wrote:
> Will your scheme for eliminating Unwanted.id work in terms where it
> does not appear fully applied, but can still be eliminated?
> Specifically, when Unwanted.id is composed with another function.
>
> On Tue, Dec 6, 2011 at 6:44 PM, Ramana Kumar <ramana.kumar at gmail.com> wrote:
>> Thanks for making it quicker :)
>>
>> Now, the only place where Unwanted.id seems not to be erased is in an
>> apparent axiom required by my article.
>> Can you confirm that the article is actually trying to define Unwanted.id?
>> I generated the article from a HOL4 theory that I don't think should
>> be defining anything mapped to Unwanted.id, so I'm a bit confused
>> about that at the moment...
>>
>> On Tue, Dec 6, 2011 at 4:58 AM, Joe Hurd <joe at gilith.com> wrote:
>>> Hi Ramana,
>>>
>>> I fixed a performance bug in the proof rewriting, and your example
>>> goes through pretty quickly now (see below). The fix is both pushed
>>> and released in the latest version of the opentheory tool.
>>>
>>> Cheers,
>>>
>>> Joe
>>>
>>> ________________________________________________________________
>>>
>>> dimholt:~/dev/opentheory$ gzcat ~/Desktop/ll.art.gz | time
>>> bin/mlton/opentheory info --inference article:-
>>> WARNING: 38 objects left on the stack by -
>>> WARNING: 473,658 objects left in the dictionary by -
>>> Primitive inferences:
>>> eqMp ............ 150,377
>>> deductAntisym ... 129,584
>>> subst ............ 76,065
>>> appThm ........... 20,748
>>> assume ........... 18,086
>>> refl .............. 9,363
>>> betaConv .......... 7,461
>>> absThm ............ 4,564
>>> axiom ............... 193
>>> defineConst .......... 25
>>> defineTypeOp .......... 1
>>> Total ........... 416,467
>>>       24.40 real
>>>       15.30 user
>>>         9.07 sys
>>>
>>> dimholt:~/dev/opentheory$ time bin/mlton/opentheory info --inference
>>> foo.art Primitive inferences:
>>> eqMp ............. 68,100
>>> subst ............ 56,228
>>> deductAntisym .... 51,689
>>> appThm ........... 17,378
>>> betaConv .......... 6,866
>>> refl .............. 6,325
>>> absThm ............ 4,267
>>> assume ............ 1,608
>>> axiom ............... 190
>>> defineConst .......... 26
>>> defineTypeOp .......... 1
>>> Total ........... 212,678
>>>
>>> real    0m5.289s
>>> user    0m5.027s
>>> sys     0m0.256s
>>>
>>> _______________________________________________
>>> opentheory-users mailing list
>>> opentheory-users at gilith.com
>>> http://www.gilith.com/opentheory/mailing-list
>
> _______________________________________________
> opentheory-users mailing list
> opentheory-users at gilith.com
> http://www.gilith.com/opentheory/mailing-list



More information about the opentheory-users mailing list