From felix at fbreuer.de Mon Nov 19 06:41:49 2012
From: felix at fbreuer.de (Felix Breuer)
Date: Sun, 18 Nov 2012 22:41:49 -0800
Subject: [opentheory-users] Standalone Tactics using OpenTheory
Message-ID:
Hello Ramana, hello Joe,
I have read your article "Standalone Tactics using OpenTheory" with great
interest and I have two questions:
1) Is the code for the system you describe (both client and the HOL4 and
HOL Light "servers") available somewhere? I'd like to try this out myself.
2) I do not quite understand how the goals that are sent to the server are
encoded using OpenTheory. As far as I understand an OT article provides
facilities for encoding assumptions and theorems. How do goals fit into the
picture?
Thanks,
Felix
--
http://www.felixbreuer.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From Ramana.Kumar at cl.cam.ac.uk Mon Nov 19 08:40:28 2012
From: Ramana.Kumar at cl.cam.ac.uk (Ramana Kumar)
Date: Mon, 19 Nov 2012 08:40:28 +0000
Subject: [opentheory-users] Standalone Tactics using OpenTheory
In-Reply-To:
References:
Message-ID:
On Mon, Nov 19, 2012 at 6:41 AM, Felix Breuer wrote:
> Hello Ramana, hello Joe,
>
> I have read your article "Standalone Tactics using OpenTheory" with great
> interest and I have two questions:
>
Hi Felix, lovely to hear this.
1) Is the code for the system you describe (both client and the HOL4 and
> HOL Light "servers") available somewhere? I'd like to try this out myself.
>
Yes it is, but may be in a state of disrepair. I'd be happy to work with
you in understanding it and/or getting it to run.
For the HOL4 client, code is available in the src/opentheory/logging
directory of the (master branch of the) development version of HOL4.
For example, see the function url_conv here
https://github.com/mn200/HOL/blob/master/src/opentheory/logging/OpenTheoryIO.sml
.
For the HOL Light client, code is available in the opentheory/cloud
directory of Joe's proof-logging fork of HOL-Light.
I don't think it's browseable online, but instructions for getting it are
here http://src.gilith.com/hol-light.html
opentheory/cloud/cloud.ml has some examples of using the client.
For the HOL4 server, there are some examples in the same place as the
client code, namely:
https://github.com/mn200/HOL/blob/master/src/opentheory/logging/holdecide.smland
https://github.com/mn200/HOL/blob/master/src/opentheory/logging/skico.sml
The CGI script is also there:
https://github.com/mn200/HOL/blob/master/src/opentheory/logging/term2thm.cgi
The HOL Light client is also in the proof-logging fork of HOL-Light.
The examples are in the base directory, called: prover9{main,make}.ml, and
minisat{main,make}.ml.
The last commit message affecting those files (commit 93caf6b7) has some
information about them.
>
> 2) I do not quite understand how the goals that are sent to the server are
> encoded using OpenTheory. As far as I understand an OT article provides
> facilities for encoding assumptions and theorems. How do goals fit into the
> picture?
>
Ah this was originally described in detail in the paper but it appears we
cut some details from the final version.
If you look at page 3, the paragraph starting "An article file represents a
theory...", that describes some of the story.
Is it clear how articles can encode theorems? To encode a term, then one
just needs to encode a theorem that contains that term in it. We currently
use the theorem |- K tm to encode tm (where K is a constant). (Using |- tm
= X, where X is a variable, would probably be aesthetically nicer to
represent the argument to a conversion. But it doesn't matter as long as
both server and client agree.)
>
> Thanks,
> Felix
>
> --
> http://www.felixbreuer.net
>
> _______________________________________________
> opentheory-users mailing list
> opentheory-users at gilith.com
> http://www.gilith.com/mailman/listinfo/opentheory-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From chantal.keller at wanadoo.fr Mon Nov 19 13:46:14 2012
From: chantal.keller at wanadoo.fr (Chantal Keller)
Date: Mon, 19 Nov 2012 14:46:14 +0100
Subject: [opentheory-users] Wrong certificates
Message-ID: <50AA3826.70501@wanadoo.fr>
Dear OpenTheory users and developers,
It appears to me that opentheory checks as correct wrong certificates.
Attached is an example. opentheory answers:
2 input type operators: -> bool
2 input constants: = T
1 assumption:
|- x <=> T
1 theorem:
|- (\x. x) = \x. T
But I think this should be forbidden: there is an interpretation of the
variables that satisfies the assumptions but not the theorems.
Perhaps you should restrict assumptions to close terms, or add a side
condition to the absThm rule?
Thanks,
--
Chantal KELLER.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.art
Type: image/x-jg
Size: 801 bytes
Desc: not available
URL:
From Ramana.Kumar at cl.cam.ac.uk Mon Nov 19 13:53:48 2012
From: Ramana.Kumar at cl.cam.ac.uk (Ramana Kumar)
Date: Mon, 19 Nov 2012 13:53:48 +0000
Subject: [opentheory-users] Wrong certificates
In-Reply-To: <50AA3826.70501@wanadoo.fr>
References: <50AA3826.70501@wanadoo.fr>
Message-ID:
Hi Chantal,
I haven't looked at your article yet, but one possibility that comes to
mind is that the two "x"s on the left hand side of the theorem are distinct.
What is your interpretation that satisfies the assumptions but not the
theorem?
Does it still work if the x under the binder has a variable type (while the
x in the body has type bool)?
Ramana
On Mon, Nov 19, 2012 at 1:46 PM, Chantal Keller
wrote:
> Dear OpenTheory users and developers,
>
> It appears to me that opentheory checks as correct wrong certificates.
>
> Attached is an example. opentheory answers:
>
> 2 input type operators: -> bool
> 2 input constants: = T
> 1 assumption:
> |- x <=> T
> 1 theorem:
> |- (\x. x) = \x. T
>
> But I think this should be forbidden: there is an interpretation of the
> variables that satisfies the assumptions but not the theorems.
>
> Perhaps you should restrict assumptions to close terms, or add a side
> condition to the absThm rule?
>
> Thanks,
>
> --
> Chantal KELLER.
>
> _______________________________________________
> opentheory-users mailing list
> opentheory-users at gilith.com
> http://www.gilith.com/mailman/listinfo/opentheory-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From chantal.keller at wanadoo.fr Mon Nov 19 14:14:32 2012
From: chantal.keller at wanadoo.fr (Chantal Keller)
Date: Mon, 19 Nov 2012 15:14:32 +0100
Subject: [opentheory-users] Wrong certificates
In-Reply-To:
References: <50AA3826.70501@wanadoo.fr>
Message-ID: <50AA3EC8.20204@wanadoo.fr>
Hi Rumana,
I forgot to mention the key point leading to such a problem: it consists
in applying [absThm] to an assumption with open terms. [absThm] check
that we do not abstract over a free variable of the context, but not
over a free variable of the assumptions.
I do not understand your problem with the "x"s: the theorem is closed, I
could as well have obtained
2 input type operators: -> bool
2 input constants: = T
1 assumption:
|- x <=> T
1 theorem:
|- (\y. y) = \y. T
(see attached).
An interpretation that satisfies the assumptions but not the
theorems is simple : [x ? T].
Le 19/11/2012 14:53, Ramana Kumar a ?crit :
> Hi Chantal,
>
> I haven't looked at your article yet, but one possibility that comes to
> mind is that the two "x"s on the left hand side of the theorem are distinct.
> What is your interpretation that satisfies the assumptions but not the
> theorem?
> Does it still work if the x under the binder has a variable type (while the
> x in the body has type bool)?
>
> Ramana
>
>
> On Mon, Nov 19, 2012 at 1:46 PM, Chantal Keller
> wrote:
>
>> Dear OpenTheory users and developers,
>>
>> It appears to me that opentheory checks as correct wrong certificates.
>>
>> Attached is an example. opentheory answers:
>>
>> 2 input type operators: -> bool
>> 2 input constants: = T
>> 1 assumption:
>> |- x <=> T
>> 1 theorem:
>> |- (\x. x) = \x. T
>>
>> But I think this should be forbidden: there is an interpretation of the
>> variables that satisfies the assumptions but not the theorems.
>>
>> Perhaps you should restrict assumptions to close terms, or add a side
>> condition to the absThm rule?
>>
>> Thanks,
>>
>>
>> _______________________________________________
>> opentheory-users mailing list
>> opentheory-users at gilith.com
>> http://www.gilith.com/mailman/listinfo/opentheory-users
>>
>>
>
>
>
> _______________________________________________
> opentheory-users mailing list
> opentheory-users at gilith.com
> http://www.gilith.com/mailman/listinfo/opentheory-users
--
Chantal KELLER
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.art
Type: image/x-jg
Size: 801 bytes
Desc: not available
URL:
From Ramana.Kumar at cl.cam.ac.uk Mon Nov 19 14:34:20 2012
From: Ramana.Kumar at cl.cam.ac.uk (Ramana Kumar)
Date: Mon, 19 Nov 2012 14:34:20 +0000
Subject: [opentheory-users] Wrong certificates
In-Reply-To: <50AA3EC8.20204@wanadoo.fr>
References: <50AA3826.70501@wanadoo.fr>
<50AA3EC8.20204@wanadoo.fr>
Message-ID:
Dear Chantal,
Now I agree your example is surprising and may point to a flaw in the
inference kernel.
However, I will wait for Joe to comment.
One other possibility is that we're equivocating on the semantics of a
theory package.
>From the OpenTheory webpage: "A higher order logic theory package ? ? ?
consists of a proof that the theorems in ? logically derive from the
assumptions in ?".
In higher-order logic it's conventional to treat free variables as
universally quantified.
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.
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?
Cheers,
R[a]mana
On Mon, Nov 19, 2012 at 2:14 PM, Chantal Keller
wrote:
> Hi Rumana,
>
> I forgot to mention the key point leading to such a problem: it consists
> in applying [absThm] to an assumption with open terms. [absThm] check
> that we do not abstract over a free variable of the context, but not
> over a free variable of the assumptions.
>
> I do not understand your problem with the "x"s: the theorem is closed, I
> could as well have obtained
>
> 2 input type operators: -> bool
> 2 input constants: = T
> 1 assumption:
> |- x <=> T
> 1 theorem:
> |- (\y. y) = \y. T
>
> (see attached).
>
> An interpretation that satisfies the assumptions but not the
> theorems is simple : [x ? T].
>
>
>
> Le 19/11/2012 14:53, Ramana Kumar a ?crit :
> > Hi Chantal,
> >
> > I haven't looked at your article yet, but one possibility that comes to
> > mind is that the two "x"s on the left hand side of the theorem are
> distinct.
> > What is your interpretation that satisfies the assumptions but not the
> > theorem?
> > Does it still work if the x under the binder has a variable type (while
> the
> > x in the body has type bool)?
> >
> > Ramana
> >
> >
> > On Mon, Nov 19, 2012 at 1:46 PM, Chantal Keller
> > wrote:
> >
> >> Dear OpenTheory users and developers,
> >>
> >> It appears to me that opentheory checks as correct wrong certificates.
> >>
> >> Attached is an example. opentheory answers:
> >>
> >> 2 input type operators: -> bool
> >> 2 input constants: = T
> >> 1 assumption:
> >> |- x <=> T
> >> 1 theorem:
> >> |- (\x. x) = \x. T
> >>
> >> But I think this should be forbidden: there is an interpretation of the
> >> variables that satisfies the assumptions but not the theorems.
> >>
> >> Perhaps you should restrict assumptions to close terms, or add a side
> >> condition to the absThm rule?
> >>
> >> Thanks,
> >>
> >>
> >> _______________________________________________
> >> opentheory-users mailing list
> >> opentheory-users at gilith.com
> >> http://www.gilith.com/mailman/listinfo/opentheory-users
> >>
> >>
> >
> >
> >
> > _______________________________________________
> > opentheory-users mailing list
> > opentheory-users at gilith.com
> > http://www.gilith.com/mailman/listinfo/opentheory-users
>
> --
> Chantal KELLER
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From chantal.keller at wanadoo.fr Mon Nov 19 15:05:53 2012
From: chantal.keller at wanadoo.fr (Chantal Keller)
Date: Mon, 19 Nov 2012 16:05:53 +0100
Subject: [opentheory-users] Wrong certificates
In-Reply-To:
References: <50AA3826.70501@wanadoo.fr>
<50AA3EC8.20204@wanadoo.fr>
Message-ID: <50AA4AD1.3030104@wanadoo.fr>
Dear Ramana,
First excuse me for mistyping your name.
If we treat free variables as universally quantified, I imagine we
should understand the answers given by opentheory as : if each
assumption is valid (ie. true for any interpretation), then each theorem
is valid. This is weaker than my previous understanding, but with this
one my example does not break consistancy.
Le 19/11/2012 15:34, Ramana Kumar a ?crit :
> Dear Chantal,
>
> Now I agree your example is surprising and may point to a flaw in the
> inference kernel.
> However, I will wait for Joe to comment.
>
> One other possibility is that we're equivocating on the semantics of a
> theory package.
>>From the OpenTheory webpage: "A higher order logic theory package ? ? ?
> consists of a proof that the theorems in ? logically derive from the
> assumptions in ?".
> In higher-order logic it's conventional to treat free variables as
> universally quantified.
> 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.
>
> 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?
>
> Cheers,
> R[a]mana
>
>
>
> On Mon, Nov 19, 2012 at 2:14 PM, Chantal Keller
> wrote:
>
>> Hi Rumana,
>>
>> I forgot to mention the key point leading to such a problem: it consists
>> in applying [absThm] to an assumption with open terms. [absThm] check
>> that we do not abstract over a free variable of the context, but not
>> over a free variable of the assumptions.
>>
>> I do not understand your problem with the "x"s: the theorem is closed, I
>> could as well have obtained
>>
>> 2 input type operators: -> bool
>> 2 input constants: = T
>> 1 assumption:
>> |- x <=> T
>> 1 theorem:
>> |- (\y. y) = \y. T
>>
>> (see attached).
>>
>> An interpretation that satisfies the assumptions but not the
>> theorems is simple : [x ? T].
>>
>>
>>
>> Le 19/11/2012 14:53, Ramana Kumar a ?crit :
>>> Hi Chantal,
>>>
>>> I haven't looked at your article yet, but one possibility that comes to
>>> mind is that the two "x"s on the left hand side of the theorem are
>> distinct.
>>> What is your interpretation that satisfies the assumptions but not the
>>> theorem?
>>> Does it still work if the x under the binder has a variable type (while
>> the
>>> x in the body has type bool)?
>>>
>>> Ramana
>>>
>>>
>>> On Mon, Nov 19, 2012 at 1:46 PM, Chantal Keller
>>> wrote:
>>>
>>>> Dear OpenTheory users and developers,
>>>>
>>>> It appears to me that opentheory checks as correct wrong certificates.
>>>>
>>>> Attached is an example. opentheory answers:
>>>>
>>>> 2 input type operators: -> bool
>>>> 2 input constants: = T
>>>> 1 assumption:
>>>> |- x <=> T
>>>> 1 theorem:
>>>> |- (\x. x) = \x. T
>>>>
>>>> But I think this should be forbidden: there is an interpretation of the
>>>> variables that satisfies the assumptions but not the theorems.
>>>>
>>>> Perhaps you should restrict assumptions to close terms, or add a side
>>>> condition to the absThm rule?
>>>>
>>>> Thanks,
>>>>
>>>>
>>>> _______________________________________________
>>>> opentheory-users mailing list
>>>> opentheory-users at gilith.com
>>>> http://www.gilith.com/mailman/listinfo/opentheory-users
>>>>
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> opentheory-users mailing list
>>> opentheory-users at gilith.com
>>> http://www.gilith.com/mailman/listinfo/opentheory-users
>>
>> --
>> Chantal KELLER
>>
>
--
Chantal KELLER
From Ramana.Kumar at cl.cam.ac.uk Mon Nov 19 16:06:10 2012
From: Ramana.Kumar at cl.cam.ac.uk (Ramana Kumar)
Date: Mon, 19 Nov 2012 16:06:10 +0000
Subject: [opentheory-users] Wrong certificates
In-Reply-To: <50AA4AD1.3030104@wanadoo.fr>
References: <50AA3826.70501@wanadoo.fr>
<50AA3EC8.20204@wanadoo.fr>
<50AA4AD1.3030104@wanadoo.fr>
Message-ID:
Dear Chantal,
I believe the new understanding of OpenTheory theories you described is a
good one (if the assumptions are valid, then the theorems are valid),
although I'd be more inclined to think of it as "free variables are
implicitly universally quantified" (which may be equivalent).
There is also a convention to avoid free variables whenever possible, which
is mentioned a little bit in these threads:
http://www.gilith.com/pipermail/opentheory-users/2011-January/000037.html
http://www.gilith.com/pipermail/opentheory-users/2011-September/000111.html
Cheers,
Ramana
On Mon, Nov 19, 2012 at 3:05 PM, Chantal Keller
wrote:
> Dear Ramana,
>
> First excuse me for mistyping your name.
>
> If we treat free variables as universally quantified, I imagine we
> should understand the answers given by opentheory as : if each
> assumption is valid (ie. true for any interpretation), then each theorem
> is valid. This is weaker than my previous understanding, but with this
> one my example does not break consistancy.
>
>
>
>
>
>
> Le 19/11/2012 15:34, Ramana Kumar a ?crit :
> > Dear Chantal,
> >
> > Now I agree your example is surprising and may point to a flaw in the
> > inference kernel.
> > However, I will wait for Joe to comment.
> >
> > One other possibility is that we're equivocating on the semantics of a
> > theory package.
> >>From the OpenTheory webpage: "A higher order logic theory package ? ? ?
> > consists of a proof that the theorems in ? logically derive from the
> > assumptions in ?".
> > In higher-order logic it's conventional to treat free variables as
> > universally quantified.
> > 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.
> >
> > 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?
> >
> > Cheers,
> > R[a]mana
> >
> >
> >
> > On Mon, Nov 19, 2012 at 2:14 PM, Chantal Keller
> > wrote:
> >
> >> Hi Rumana,
> >>
> >> I forgot to mention the key point leading to such a problem: it consists
> >> in applying [absThm] to an assumption with open terms. [absThm] check
> >> that we do not abstract over a free variable of the context, but not
> >> over a free variable of the assumptions.
> >>
> >> I do not understand your problem with the "x"s: the theorem is closed, I
> >> could as well have obtained
> >>
> >> 2 input type operators: -> bool
> >> 2 input constants: = T
> >> 1 assumption:
> >> |- x <=> T
> >> 1 theorem:
> >> |- (\y. y) = \y. T
> >>
> >> (see attached).
> >>
> >> An interpretation that satisfies the assumptions but not the
> >> theorems is simple : [x ? T].
> >>
> >>
> >>
> >> Le 19/11/2012 14:53, Ramana Kumar a ?crit :
> >>> Hi Chantal,
> >>>
> >>> I haven't looked at your article yet, but one possibility that comes to
> >>> mind is that the two "x"s on the left hand side of the theorem are
> >> distinct.
> >>> What is your interpretation that satisfies the assumptions but not the
> >>> theorem?
> >>> Does it still work if the x under the binder has a variable type (while
> >> the
> >>> x in the body has type bool)?
> >>>
> >>> Ramana
> >>>
> >>>
> >>> On Mon, Nov 19, 2012 at 1:46 PM, Chantal Keller
> >>> wrote:
> >>>
> >>>> Dear OpenTheory users and developers,
> >>>>
> >>>> It appears to me that opentheory checks as correct wrong certificates.
> >>>>
> >>>> Attached is an example. opentheory answers:
> >>>>
> >>>> 2 input type operators: -> bool
> >>>> 2 input constants: = T
> >>>> 1 assumption:
> >>>> |- x <=> T
> >>>> 1 theorem:
> >>>> |- (\x. x) = \x. T
> >>>>
> >>>> But I think this should be forbidden: there is an interpretation of
> the
> >>>> variables that satisfies the assumptions but not the theorems.
> >>>>
> >>>> Perhaps you should restrict assumptions to close terms, or add a side
> >>>> condition to the absThm rule?
> >>>>
> >>>> Thanks,
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> opentheory-users mailing list
> >>>> opentheory-users at gilith.com
> >>>> http://www.gilith.com/mailman/listinfo/opentheory-users
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> opentheory-users mailing list
> >>> opentheory-users at gilith.com
> >>> http://www.gilith.com/mailman/listinfo/opentheory-users
> >>
> >> --
> >> Chantal KELLER
> >>
> >
>
> --
> Chantal KELLER
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From joe at gilith.com Mon Nov 19 17:17:33 2012
From: joe at gilith.com (Joe Leslie-Hurd)
Date: Mon, 19 Nov 2012 09:17:33 -0800
Subject: [opentheory-users] Wrong certificates
In-Reply-To:
References: <50AA3826.70501@wanadoo.fr>
<50AA3EC8.20204@wanadoo.fr>
<50AA4AD1.3030104@wanadoo.fr>
Message-ID:
Hi Chantal,
I think Ramana has already covered the essential point here, which is
that free variables (both type and term variables) are implicitly
quantified at the theorem/assumption level.
So your assumption |- x <=> T is indeed equivalent to |- !x. x <=> T
which is equivalent to |- F.
In general a theorem/assumption consists of a set of hypotheses and a
conclusion, written
{ hypotheses } |- conclusion
and any free type or term variables in the hypotheses and conclusion
are implicitly universally quantified at this level:
!frees. ({ hypotheses } |- conclusion)
A side condition of absThm is that the variable being abstracted is
not free in the hypotheses, since that would lead to the inconsistency
you describe.
As Ramana said, it is considered bad form for a theory to contain a
theorem/assumption with a non-empty set of hypotheses or free term
variables in the conclusion. Free type variables are unavoidable,
because there's no way to bind them in higher order logic.
While we're on this subject, I should mention that there's a potential
for terminology confusion, because what I call "hypotheses" above are
sometimes called "assumptions". I try to avoid this in OpenTheory,
because it confuses the theorem-level and the theory-level.
Cheers,
Joe
On Mon, Nov 19, 2012 at 8:06 AM, Ramana Kumar wrote:
> Dear Chantal,
>
> I believe the new understanding of OpenTheory theories you described is a
> good one (if the assumptions are valid, then the theorems are valid),
> although I'd be more inclined to think of it as "free variables are
> implicitly universally quantified" (which may be equivalent).
>
> There is also a convention to avoid free variables whenever possible, which
> is mentioned a little bit in these threads:
> http://www.gilith.com/pipermail/opentheory-users/2011-January/000037.html
> http://www.gilith.com/pipermail/opentheory-users/2011-September/000111.html
>
> Cheers,
> Ramana
>
>
> On Mon, Nov 19, 2012 at 3:05 PM, Chantal Keller
> wrote:
>>
>> Dear Ramana,
>>
>> First excuse me for mistyping your name.
>>
>> If we treat free variables as universally quantified, I imagine we
>> should understand the answers given by opentheory as : if each
>> assumption is valid (ie. true for any interpretation), then each theorem
>> is valid. This is weaker than my previous understanding, but with this
>> one my example does not break consistancy.
>>
>>
>>
>>
>>
>>
>> Le 19/11/2012 15:34, Ramana Kumar a ?crit :
>> > Dear Chantal,
>> >
>> > Now I agree your example is surprising and may point to a flaw in the
>> > inference kernel.
>> > However, I will wait for Joe to comment.
>> >
>> > One other possibility is that we're equivocating on the semantics of a
>> > theory package.
>> >>From the OpenTheory webpage: "A higher order logic theory package ? ? ?
>> > consists of a proof that the theorems in ? logically derive from the
>> > assumptions in ?".
>> > In higher-order logic it's conventional to treat free variables as
>> > universally quantified.
>> > 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.
>> >
>> > 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?
>> >
>> > Cheers,
>> > R[a]mana
>> >
>> >
>> >
>> > On Mon, Nov 19, 2012 at 2:14 PM, Chantal Keller
>> > wrote:
>> >
>> >> Hi Rumana,
>> >>
>> >> I forgot to mention the key point leading to such a problem: it
>> >> consists
>> >> in applying [absThm] to an assumption with open terms. [absThm] check
>> >> that we do not abstract over a free variable of the context, but not
>> >> over a free variable of the assumptions.
>> >>
>> >> I do not understand your problem with the "x"s: the theorem is closed,
>> >> I
>> >> could as well have obtained
>> >>
>> >> 2 input type operators: -> bool
>> >> 2 input constants: = T
>> >> 1 assumption:
>> >> |- x <=> T
>> >> 1 theorem:
>> >> |- (\y. y) = \y. T
>> >>
>> >> (see attached).
>> >>
>> >> An interpretation that satisfies the assumptions but not the
>> >> theorems is simple : [x ? T].
>> >>
>> >>
>> >>
>> >> Le 19/11/2012 14:53, Ramana Kumar a ?crit :
>> >>> Hi Chantal,
>> >>>
>> >>> I haven't looked at your article yet, but one possibility that comes
>> >>> to
>> >>> mind is that the two "x"s on the left hand side of the theorem are
>> >> distinct.
>> >>> What is your interpretation that satisfies the assumptions but not the
>> >>> theorem?
>> >>> Does it still work if the x under the binder has a variable type
>> >>> (while
>> >> the
>> >>> x in the body has type bool)?
>> >>>
>> >>> Ramana
>> >>>
>> >>>
>> >>> On Mon, Nov 19, 2012 at 1:46 PM, Chantal Keller
>> >>> wrote:
>> >>>
>> >>>> Dear OpenTheory users and developers,
>> >>>>
>> >>>> It appears to me that opentheory checks as correct wrong
>> >>>> certificates.
>> >>>>
>> >>>> Attached is an example. opentheory answers:
>> >>>>
>> >>>> 2 input type operators: -> bool
>> >>>> 2 input constants: = T
>> >>>> 1 assumption:
>> >>>> |- x <=> T
>> >>>> 1 theorem:
>> >>>> |- (\x. x) = \x. T
>> >>>>
>> >>>> But I think this should be forbidden: there is an interpretation of
>> >>>> the
>> >>>> variables that satisfies the assumptions but not the theorems.
>> >>>>
>> >>>> Perhaps you should restrict assumptions to close terms, or add a side
>> >>>> condition to the absThm rule?
>> >>>>
>> >>>> Thanks,
>> >>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> opentheory-users mailing list
>> >>>> opentheory-users at gilith.com
>> >>>> http://www.gilith.com/mailman/listinfo/opentheory-users
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> opentheory-users mailing list
>> >>> opentheory-users at gilith.com
>> >>> http://www.gilith.com/mailman/listinfo/opentheory-users
>> >>
>> >> --
>> >> Chantal KELLER
>> >>
>> >
>>
>> --
>> Chantal KELLER
>
>
>
> _______________________________________________
> opentheory-users mailing list
> opentheory-users at gilith.com
> http://www.gilith.com/mailman/listinfo/opentheory-users
>
From chantal.keller at wanadoo.fr Mon Nov 19 17:29:21 2012
From: chantal.keller at wanadoo.fr (Chantal Keller)
Date: Mon, 19 Nov 2012 18:29:21 +0100
Subject: [opentheory-users] Wrong certificates
In-Reply-To:
References: <50AA3826.70501@wanadoo.fr>
<50AA3EC8.20204@wanadoo.fr>
<50AA4AD1.3030104@wanadoo.fr>
Message-ID: <50AA6C71.4060108@wanadoo.fr>
Thanks to both of you.
Le 19/11/2012 18:17, Joe Leslie-Hurd a ?crit :
> As Ramana said, it is considered bad form for a theory to contain a
> theorem/assumption with a non-empty set of hypotheses or free term
> variables in the conclusion.
As I understand you, if I gave a theory (.thy file) corresponding to my
article, opentheory would reject it?
--
Chantal KELLER
From joe at gilith.com Mon Nov 19 18:55:55 2012
From: joe at gilith.com (Joe Leslie-Hurd)
Date: Mon, 19 Nov 2012 10:55:55 -0800
Subject: [opentheory-users] Wrong certificates
In-Reply-To: <50AA6C71.4060108@wanadoo.fr>
References: <50AA3826.70501@wanadoo.fr>
<50AA3EC8.20204@wanadoo.fr>
<50AA4AD1.3030104@wanadoo.fr>
<50AA6C71.4060108@wanadoo.fr>
Message-ID:
Hi Chantal,
Though bad form it's still legal syntax, so the opentheory tool will
accept such .thy files but will print a warning about the bad form.
Cheers,
Joe
On Mon, Nov 19, 2012 at 9:29 AM, Chantal Keller
wrote:
> Thanks to both of you.
>
> Le 19/11/2012 18:17, Joe Leslie-Hurd a ?crit :
>> As Ramana said, it is considered bad form for a theory to contain a
>> theorem/assumption with a non-empty set of hypotheses or free term
>> variables in the conclusion.
>
> As I understand you, if I gave a theory (.thy file) corresponding to my
> article, opentheory would reject it?
>
> --
> Chantal KELLER