Dear Chantal,<br><br>Now I agree your example is surprising and may point to a flaw in the inference kernel.<br>However, I will wait for Joe to comment.<br><br>One other possibility is that we're equivocating on the semantics of a theory package.<br>
>From the OpenTheory webpage: "A higher order logic theory package Γ ⊳ Δ consists of a proof that the theorems in Δ logically derive from the assumptions in Γ".<br>In higher-order logic it's conventional to treat free variables as universally quantified.<br>
Hence it is reasonable to deduce falsity from the assumption |- x <=> T, just as it would be unsurprising if you were to assume |- !x. x <=> T and deduce falsity.<br><br>To put it another way, is there any context in which you could use your test.art to prove falsity while only assuming the axioms of HOL? Is it possible to create an article that satisfies the assumption |- x <=> T, without again assuming something equivalent?<br>
<br>Cheers,<br>R[a]mana<br><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Nov 19, 2012 at 2:14 PM, Chantal Keller <span dir="ltr"><<a href="mailto:chantal.keller@wanadoo.fr" target="_blank">chantal.keller@wanadoo.fr</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Rumana,<br>
<br>
I forgot to mention the key point leading to such a problem: it consists<br>
in applying [absThm] to an assumption with open terms. [absThm] check<br>
that we do not abstract over a free variable of the context, but not<br>
over a free variable of the assumptions.<br>
<br>
I do not understand your problem with the "x"s: the theorem is closed, I<br>
could as well have obtained<br>
<div class="im"><br>
2 input type operators: -> bool<br>
2 input constants: = T<br>
1 assumption:<br>
|- x <=> T<br>
1 theorem:<br>
</div> |- (\y. y) = \y. T<br>
<br>
(see attached).<br>
<br>
An interpretation that satisfies the assumptions but not the<br>
theorems is simple : [x ↦ T].<br>
<br>
<br>
<br>
Le 19/11/2012 14:53, Ramana Kumar a écrit :<br>
<div class="im HOEnZb">> Hi Chantal,<br>
><br>
> I haven't looked at your article yet, but one possibility that comes to<br>
> mind is that the two "x"s on the left hand side of the theorem are distinct.<br>
> What is your interpretation that satisfies the assumptions but not the<br>
> theorem?<br>
> Does it still work if the x under the binder has a variable type (while the<br>
> x in the body has type bool)?<br>
><br>
> Ramana<br>
><br>
><br>
> On Mon, Nov 19, 2012 at 1:46 PM, Chantal Keller<br>
> <<a href="mailto:chantal.keller@wanadoo.fr">chantal.keller@wanadoo.fr</a>>wrote:<br>
><br>
>> Dear OpenTheory users and developers,<br>
>><br>
>> It appears to me that opentheory checks as correct wrong certificates.<br>
>><br>
>> Attached is an example. opentheory answers:<br>
>><br>
>> 2 input type operators: -> bool<br>
>> 2 input constants: = T<br>
>> 1 assumption:<br>
>> |- x <=> T<br>
>> 1 theorem:<br>
>> |- (\x. x) = \x. T<br>
>><br>
>> But I think this should be forbidden: there is an interpretation of the<br>
>> variables that satisfies the assumptions but not the theorems.<br>
>><br>
>> Perhaps you should restrict assumptions to close terms, or add a side<br>
>> condition to the absThm rule?<br>
>><br>
>> Thanks,<br>
>><br>
>><br>
</div><div class="HOEnZb"><div class="h5">>> _______________________________________________<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/opentheory/mailing-list" target="_blank">http://www.gilith.com/opentheory/mailing-list</a><br>
>><br>
>><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/opentheory/mailing-list" target="_blank">http://www.gilith.com/opentheory/mailing-list</a><br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Chantal KELLER<br>
</font></span></blockquote></div><br></div>