<div class="gmail_quote">On Mon, Oct 1, 2012 at 5:32 AM, Joe Leslie-Hurd <span dir="ltr"><<a href="mailto:joe@gilith.com" target="_blank">joe@gilith.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">Hi Ramana,<br>
<br>
>> You can prefix an input with a type<br>
</div>> Is this documented anywhere?<br>
<div class="im">> In particular, would it be hard to include in the usage/help text the<br>
> tool emits, or to write a man page or manual for the tool?<br>
<br>
</div>I've just released a version of the tool with much improved usage<br>
documentation,</blockquote><div><br>Thanks!<br><br>I had packaged the tool for Arch Linux (and derivatives) here, when 1.2 first came out:<br> <a href="https://aur.archlinux.org/packages.php?ID=61879">https://aur.archlinux.org/packages.php?ID=61879</a><br>
<br>But I notice that the new release does not have a new version, just a new "release date".<br>Should the package version include the release date as well?<br>I.e., the version would be 1.2.20120930.<br>(That would mean I should update the AUR package...)<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> so for instance<br>
<br>
opentheory info -h<br>
<br>
shows the legal input formats for the info command. Also, the output from the<br>
<br>
opentheory help<br>
<br>
command (copied below) is in a suitable form to be turned into a man<br>
page if needed for a distro package of the opentheory tool.<br></blockquote><div><br>If the tool can spit it out, I don't see why a man page with the same text is necessary.<br>(I guess you meant if there are packaging rules that require a man page for everything...?)<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers,<br>
<br>
Joe<br>
<br>
_____________________________________________<br>
<br>
$ opentheory help<br>
opentheory: displaying help on all available commands<br>
usage: opentheory [global options] command [command options] INPUT ...<br>
where the available commands are:<br>
opentheory cleanup ..... clean up theory packages staged for installation<br>
opentheory export ...... export an installed theory package from OpenTheory<br>
opentheory help ........ display help on all available commands<br>
opentheory info ........ extract information from theory packages and files<br>
opentheory init ........ initialize a new package directory<br>
opentheory install ..... install a package from a theory file or repo<br>
opentheory list ........ list installed theory packages<br>
opentheory uninstall ... uninstall an installed theory package<br>
opentheory update ...... update repo package lists<br>
opentheory upload ...... upload theory packages to a repo<br>
Displaying all options:<br>
-d, --root-dir DIR .... (global) use this theory package directory<br>
--repo REPO ........... (global) use these theory package repos<br>
--format FORMAT ....... (info) format package information<br>
--information ......... (info) display all package information<br>
--summary ............. (info) display the package summary<br>
--article ............. (info) output the theory package in article format<br>
--inference ........... (info) display the number of primitive inferences<br>
--theory .............. (info) display the package theory file<br>
--files ............... (info) list the package files<br>
--includes ............ (info) list the included theory packages<br>
--requires ............ (info) list satisfying required theory packages<br>
--document ............ (info) output the package document in HTML format<br>
--theorems ............ (info) output the package theorems in article format<br>
-o, --output FILE ..... (info) write previous package information to FILE<br>
--show-assumptions .... (info) do not omit satisfied assumptions<br>
--show-derivations .... (info) show the assumptions/axioms for each theorem<br>
--upgrade-theory ...... (info) upgrade the theory file to the latest versions<br>
--preserve-theory ..... (info) do not optimize the theory file<br>
--repo ................ (init) configure the new package directory as a repo<br>
--reinstall ........... (install) uninstall the package if it exists<br>
--auto-uninstall ...... (install) also uninstall included packages<br>
--manual .............. (install) do not also install included packages<br>
--name NAME ........... (install) confirm the package name<br>
--checksum CHECKSUM ... (install) confirm the package checksum<br>
--stage ............... (install) stage the package for installation<br>
--dependency-order .... (list) list packages in dependency order<br>
--include-order ....... (list) list packages in include order<br>
--reverse-order ....... (list) reverse the order<br>
--format FORMAT ....... (list) set the output format<br>
--auto ................ (uninstall) also uninstall included packages<br>
--manual .............. (upload) do not also upload subtheory packages<br>
--yes ................. (upload) do not ask for confirmation<br>
-- .................... no more options<br>
-?, -h, --help ........ display option information and exit<br>
-v, --version ......... display version information<br>
INPUT is one of the following forms:<br>
1. A theory package: NAME-VERSION or NAME (for the latest version)<br>
2. A theory file: FILE.thy or theory:FILE<br>
3. A proof article file: FILE.art or article:FILE<br>
4. A theory package tarball: FILE.tgz or tarball:FILE<br>
5. A theory package staged for installation: staged:NAME-VERSION<br>
The list command takes a special QUERY input:<br>
QUERY represents a subset S of the installed theory packages P, as follows:<br>
1. A FUNCTION expression in the grammar below is parsed from the command<br>
line, which represents a function f of type S -> S<br>
2. Another function g of type S -> S is computed, which may be represented<br>
by the FUNCTION expression ~Empty (Latest - Subtheories) All<br>
3. The set f(g({})) is evaluated as the result, where {} is the empty set<br>
FUNCTION // represents a function with type S -> S<br>
<- SET // the constant function with return value SET<br>
|| PREDICATE // the filter function with predicate PREDICATE<br>
|| FUNCTION FUNCTION<br>
// \f g s. f (g s)<br>
|| FUNCTION | FUNCTION<br>
// \f g s. { p in P | p in f(s) \/ p in g(s) }<br>
|| FUNCTION & FUNCTION<br>
// \f g s. { p in P | p in f(s) /\ p in g(s) }<br>
|| FUNCTION - FUNCTION<br>
// \f g s. { p in P | p in f(s) /\ ~p in g(s) }<br>
|| FUNCTION? // \f. Identity | f<br>
|| FUNCTION* // \f. Identity | f | f f | f f f | ...<br>
|| FUNCTION+ // \f. f | f f | f f f | ...<br>
|| Identity // \s. s<br>
|| Requires // \s. { p in P | ?q in s. q requires p }<br>
|| RequiredBy // \s. { p in P | ?q in s. p requires q }<br>
|| Includes // \s. { p in P | ?q in s. q includes p }<br>
|| IncludedBy // \s. { p in P | ?q in s. p includes q }<br>
|| Subtheories // \s. { p in P | ?q in s. p is a subtheory of q }<br>
|| SubtheoryOf // \s. { p in P | ?q in s. q is a subtheory of p }<br>
|| Versions // \s. { p in P | ?q in s. p is a version of q }<br>
|| Latest // \s. { p in s | ~?q in s. q is a later version of p }<br>
|| Deprecated // (Identity - Latest) (Requires | Includes)*<br>
|| Obsolete // All - (Requires | Includes)*<br>
|| Upgradable // EarlierThanRepo<br>
|| Uploadable // Mine /\ ~OnRepo /\ ~EarlierThanRepo /\ ConsistentWithRepo<br>
PREDICATE // represents a predicate with type P -> bool<br>
<- PREDICATE \/ PREDICATE<br>
// \f g p. f(p) \/ g(p)<br>
|| PREDICATE /\ PREDICATE<br>
// \f g p. f(p) /\ g(p)<br>
|| ~PREDICATE // \f p. ~f(p)<br>
|| Empty // does the package have an empty theory (i.e., main {})?<br>
|| Mine // does the package author match a name in the config file?<br>
|| Closed // are all the required theories installed?<br>
|| Acyclic // is the required theory graph free of cycles?<br>
|| WellFounded // are all assumptions satisfied and inputs grounded?<br>
|| OnRepo // is there a theory package with the same name on the repo?<br>
|| IdenticalOnRepo<br>
// is this exact same theory package on the repo?<br>
|| ConsistentWithRepo<br>
// are all the included packages consistent with the repo?<br>
|| EarlierThanRepo<br>
// is there a later version of this ackage on the repo?<br>
|| LaterThanRepo<br>
// is this package later than all versions on the repo?<br>
SET // represents a set with type S<br>
<- All // P<br>
|| None // {}<br>
|| NAME // \n. Latest { p in P | p has name n }<br>
|| NAME-VERSION // \n v. { p in P | p has name n and version v }<br>
NAME is any package name (e.g., base).<br>
VERSION is any package version (e.g., 1.0).<br>
FILE is any filename; use - to read from stdin or write to stdout.<br>
FORMAT is any string containing {NAME,VERSION,DESCRIPTION,CHECKSUM,EMPTY}.<br>
DIR is any directory on the file system.<br>
REPO is the name of any repo in the config file (e.g., gilith).<br>
<div class="HOEnZb"><div class="h5"><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" target="_blank">http://www.gilith.com/mailman/listinfo/opentheory-users</a><br>
</div></div></blockquote></div><br>