From joe at gilith.com Sun Nov 1 04:38:08 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Sat, 31 Oct 2015 21:38:08 -0700 Subject: [opentheory-users] theory file format specification In-Reply-To: References: Message-ID: Hi Ramana and Mario, Thanks for your feedback on the theory file format, I have fixed the issues and also updated the documentation to include the new checksum field in package blocks. Cheers, Joe On Sat, Oct 31, 2015 at 1:49 AM, Ramana Kumar wrote: > Yes I agree, Mario. > > On this topic, the specification is also confusing in that it specifies a > regular expression for "PACKAGE-NAME" in the Package Information section, > but later, in the Package Blocks section, "PACKAGE-NAME" is again used but > this time with a different expectation for what regular expression it should > satisfy. I would suggest that in Package Blocks both "PACKAGE-NAME" and > "PACKAGE-VERSION" are re-used. > > On 31 October 2015 at 19:48, Mario Carneiro wrote: >> >> My guess is it should be "[0-9]+([.][0-9]+)*" instead of >> "[0-9]+([.][0.9]+)*". This will allow strings like "123.54.2356.0101" >> instead of "123.0909.0...9.0099", which looks more version string-like. >> >> Mario >> >> On Sat, Oct 31, 2015 at 4:42 AM, Ramana Kumar >> wrote: >>> >>> I believe there is an error in >>> http://www.gilith.com/research/opentheory/theory.html >>> >>> The regular expression which a version must satisfy does not look right. >>> Could somebody check it for me? >>> >>> I also have a request that package names be more liberal, for example >>> allowing numbers or uppercase letters. But this is not an urgent request, >>> we'll see what happens when more packages flow into the gilith repo... >>> >>> _______________________________________________ >>> 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 >> > > > _______________________________________________ > opentheory-users mailing list > opentheory-users at gilith.com > http://www.gilith.com/mailman/listinfo/opentheory-users > From ramana at member.fsf.org Sun Nov 1 05:04:38 2015 From: ramana at member.fsf.org (Ramana Kumar) Date: Sun, 1 Nov 2015 16:04:38 +1100 Subject: [opentheory-users] theory file format specification In-Reply-To: References: Message-ID: Another question/comment: why must there be a unique author (as opposed to, say, at least one)? Also, the intent of the "license" information is a little unclear (and why is it mandatory?). Which copyrighted work is the license intended for: the package file itself, or one or more of the files it refers to, or something else? (Presumably for this purpose the author is supposed to represent the copyright holder...) On 1 November 2015 at 15:38, Joe Leslie-Hurd wrote: > Hi Ramana and Mario, > > Thanks for your feedback on the theory file format, I have fixed the > issues and also updated the documentation to include the new checksum > field in package blocks. > > Cheers, > > Joe > > On Sat, Oct 31, 2015 at 1:49 AM, Ramana Kumar wrote: >> Yes I agree, Mario. >> >> On this topic, the specification is also confusing in that it specifies a >> regular expression for "PACKAGE-NAME" in the Package Information section, >> but later, in the Package Blocks section, "PACKAGE-NAME" is again used but >> this time with a different expectation for what regular expression it should >> satisfy. I would suggest that in Package Blocks both "PACKAGE-NAME" and >> "PACKAGE-VERSION" are re-used. >> >> On 31 October 2015 at 19:48, Mario Carneiro wrote: >>> >>> My guess is it should be "[0-9]+([.][0-9]+)*" instead of >>> "[0-9]+([.][0.9]+)*". This will allow strings like "123.54.2356.0101" >>> instead of "123.0909.0...9.0099", which looks more version string-like. >>> >>> Mario >>> >>> On Sat, Oct 31, 2015 at 4:42 AM, Ramana Kumar >>> wrote: >>>> >>>> I believe there is an error in >>>> http://www.gilith.com/research/opentheory/theory.html >>>> >>>> The regular expression which a version must satisfy does not look right. >>>> Could somebody check it for me? >>>> >>>> I also have a request that package names be more liberal, for example >>>> allowing numbers or uppercase letters. But this is not an urgent request, >>>> we'll see what happens when more packages flow into the gilith repo... >>>> >>>> _______________________________________________ >>>> 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 >>> >> >> >> _______________________________________________ >> 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 From ramana at member.fsf.org Sun Nov 1 23:53:59 2015 From: ramana at member.fsf.org (Ramana Kumar) Date: Mon, 2 Nov 2015 10:53:59 +1100 Subject: [opentheory-users] assumption refuses to be satisfied Message-ID: I am having trouble constructing an OpenTheory package. Perhaps I have misunderstood the package specification language. This is my situation. (I have omitted some details for the moment, but I can provide the actual article files etc. if necessary.) I have two articles, art1.art and art2.art. I can run opentheory info on each of them to see what they assume and what they prove. opentheory info art1.art: 2 external type operators: ... 9 external constants: ... 6 assumptions: ... [all of these are in base] 2 theorems: th1, th2 opentheory info art2.art: 2 external type operators: ... 17 external constants: ... 27 assumptions: th1, th2, [all the rest are in base] 4 defined constants: ... 41 theorems: ... (th1 and th2 do not mention any of the defined constants.) Now, I make the following package, pkg.thy. requires: base a { article: "art1.art" } main { import: a article: "art2.art" } opentheory info pkg.thy: 2 external type operators: ... 17 external constants: ... 26 satisfied assumptions: hidden 1 unsatisfied assumption: th1 4 defined constants: ... 41 theorems: ... Why is th1 still unsatisfied? I expected no unsatisfied assumptions. What could be going wrong? -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Mon Nov 2 03:24:22 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Sun, 1 Nov 2015 19:24:22 -0800 Subject: [opentheory-users] assumption refuses to be satisfied In-Reply-To: References: Message-ID: Hi Ramana, Your theory file looks fine to me - it must be the case that th1 in article art1.art and art2.art are subtly different. I recently added a --show-types option to the opentheory tool to make it easier to check types, perhaps this will reveal some differences? If not I would be happy to take a look at art1.art and art2.art to see if I can spot something (and check you have not tickled a bug in the infrastructure). Cheers, Joe On Sun, Nov 1, 2015 at 3:53 PM, Ramana Kumar wrote: > I am having trouble constructing an OpenTheory package. Perhaps I have > misunderstood the package specification language. > > This is my situation. (I have omitted some details for the moment, but I can > provide the actual article files etc. if necessary.) > > I have two articles, art1.art and art2.art. > > I can run opentheory info on each of them to see what they assume and what > they prove. > > opentheory info art1.art: > 2 external type operators: ... > 9 external constants: ... > 6 assumptions: ... [all of these are in base] > 2 theorems: th1, th2 > > opentheory info art2.art: > 2 external type operators: ... > 17 external constants: ... > 27 assumptions: th1, th2, [all the rest are in base] > 4 defined constants: ... > 41 theorems: ... > > (th1 and th2 do not mention any of the defined constants.) > > Now, I make the following package, pkg.thy. > requires: base > a { > article: "art1.art" > } > main { > import: a > article: "art2.art" > } > > opentheory info pkg.thy: > 2 external type operators: ... > 17 external constants: ... > 26 satisfied assumptions: hidden > 1 unsatisfied assumption: th1 > 4 defined constants: ... > 41 theorems: ... > > Why is th1 still unsatisfied? I expected no unsatisfied assumptions. > > What could be going wrong? > > _______________________________________________ > opentheory-users mailing list > opentheory-users at gilith.com > http://www.gilith.com/mailman/listinfo/opentheory-users > From joe at gilith.com Mon Nov 2 03:50:23 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Sun, 1 Nov 2015 19:50:23 -0800 Subject: [opentheory-users] theory file format specification In-Reply-To: References: Message-ID: Hi Ramana, > Another question/comment: why must there be a unique author (as > opposed to, say, at least one)? The unique author is really the "corresponding author" for the theory package: when packages are uploaded to the repo the system uses the author email to confirm the upload (and then uses it again if someone else uploads a later version of the package to check the earlier author has given permission). If there are multiple authors of a package I'd suggest adding co-author fields to the theory file as follows: author: Euclid co-author: Alfred Tarski co-author: Bertrand Russell > Also, the intent of the "license" information is a little unclear (and > why is it mandatory?). I consider it important that someone wanting to use a theory package should know how it is licensed. I don't want to get in a situation where someone uses a theory in some application only to find out later it has some restrictive license that prevents it being used in that way. To ensure that people can freely use theory packages without worrying about this kind of thing, the gilith repo currently only accepts packages with the MIT or HOL Light licenses: http://www.gilith.com/research/opentheory/licenses/ These two licenses play nicely with each other, place very few restrictions on uses of the package, and protect the author by disclaiming any warranty. > Which copyrighted work is the license intended > for: the package file itself, or one or more of the files it refers > to, or something else? The copyrighted work is the theory package and the files it contains. If the package refers to other packages then they are separate copyrighted works. > (Presumably for this purpose the author is > supposed to represent the copyright holder...) Yes, although if there are co-author: fields as above then the author and co-authors are the copyright holders. Cheers, Joe From ramana at member.fsf.org Mon Nov 2 03:59:17 2015 From: ramana at member.fsf.org (Ramana Kumar) Date: Mon, 2 Nov 2015 14:59:17 +1100 Subject: [opentheory-users] assumption refuses to be satisfied In-Reply-To: References: Message-ID: I think the problem may be that I have been reading two occurrences of th1 as the same when in fact they may be at different types (the types are not displayed). On 2 November 2015 at 10:53, Ramana Kumar wrote: > I am having trouble constructing an OpenTheory package. Perhaps I have > misunderstood the package specification language. > > This is my situation. (I have omitted some details for the moment, but I > can provide the actual article files etc. if necessary.) > > I have two articles, art1.art and art2.art. > > I can run opentheory info on each of them to see what they assume and what > they prove. > > opentheory info art1.art: > 2 external type operators: ... > 9 external constants: ... > 6 assumptions: ... [all of these are in base] > 2 theorems: th1, th2 > > opentheory info art2.art: > 2 external type operators: ... > 17 external constants: ... > 27 assumptions: th1, th2, [all the rest are in base] > 4 defined constants: ... > 41 theorems: ... > > (th1 and th2 do not mention any of the defined constants.) > > Now, I make the following package, pkg.thy. > requires: base > a { > article: "art1.art" > } > main { > import: a > article: "art2.art" > } > > opentheory info pkg.thy: > 2 external type operators: ... > 17 external constants: ... > 26 satisfied assumptions: hidden > 1 unsatisfied assumption: th1 > 4 defined constants: ... > 41 theorems: ... > > Why is th1 still unsatisfied? I expected no unsatisfied assumptions. > > What could be going wrong? > -------------- next part -------------- An HTML attachment was scrubbed... URL: