From agomezl at eafit.edu.co Sun Mar 1 21:31:46 2015 From: agomezl at eafit.edu.co (Alejandro Gomez) Date: Sun, 1 Mar 2015 16:31:46 -0500 Subject: [metis-users] Proof annotations Message-ID: Hi all, I'm currently trying to parse Metis proofs and have had some problems particularly with the field. as far as I know (from the TSTP site, some metis proofs, and the metis source ) the part of a formula in metis proofs is more or less like: := ,inference(, [], []) | ,introduced( ) := canonicalize | simplify | conjunct | specialize | skolemize | clausify | assume | subst | resolve | refl | equality | negate | strip where - is a list of useful inference information (as described in the TSTP site). - is a list of references to parents formulae. - is just an unknown structure. Is there any reference of all the possible symbols or the whole symbol? my long term goal is to construct a (sort of) DAG with formulas as nodes and rules as edges, thus a complete list of all possible rules is required. Any help or advise is greatly appreciated. Thanks. -- Alejandro Gomez-Londo?o Computer Science, Universidad EAFIT http://agomezl.github.io/ From joe at gilith.com Tue Mar 3 22:38:21 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Tue, 3 Mar 2015 14:38:21 -0800 Subject: [metis-users] Proof annotations In-Reply-To: References: Message-ID: Hi Alejandro, I'm afraid there is no more documentation that what you have already found, with the possible exception of some documents on http://www.gilith.com/research/metis/ some of which I'll link to below. I think you have correctly identified all possible inferences that Metis makes: the general pattern of inferences in a FOF TSTP proof goes like this: 1. Printing clauses given by the TPTP problem (e.g., axiom or conjecture). 2. Some preliminary inferences to turn the problem from tautological goal formulas to unsatisfiable sets of formulas. In the Metis source this inference field was just a string which wasn't helpful for understanding its possible values, so I just released a new version where it is the following datatype: datatype inference = StripInference | NegateInference 3. Next come normalizing inferences to transform the problem from first order formulas into clausal form: these are values from the following datatype: datatype inference = Axiom of Formula.formula | Definition of string * Formula.formula | Simplify of thm * thm list | Conjunct of thm | Specialize of thm | Skolemize of thm | Clausify of thm Axiom here just refers to an input to the normalizing procedure. 4. Finally there are the CNF inferences to derive a contradiction, which are values of the following datatype: datatype inference = Axiom of LiteralSet.set | Assume of Atom.atom | Subst of Subst.subst * Thm.thm | Resolve of Atom.atom * Thm.thm * Thm.thm | Refl of Term.term | Equality of Literal.literal * Term.path * Term.term Again Axiom just means an input to the refutation procedure. These inferences are described in some detail at http://www.gilith.com/software/metis/logical-kernel.txt Note that inferences that do not take an input clause (e.g., equality) can't appear in the proof with "inference", but rather "introduced", so it is their arguments that comprise the unknown structures that you encountered. I hope that helps with your project, please let me know if you have any more questions about the Metis proof format. Cheers, Joe On Sun, Mar 1, 2015 at 1:31 PM, Alejandro Gomez wrote: > Hi all, > > I'm currently trying to parse Metis proofs and have > had some problems particularly with the field. > as far as I know (from the TSTP site, some metis proofs, > and the metis source ) the part of a formula in metis > proofs is more or less like: > > := ,inference(, [], []) > | ,introduced( ) > > := canonicalize > | simplify > | conjunct > | specialize > | skolemize > | clausify > | assume > | subst > | resolve > | refl > | equality > | negate > | strip > > where > > - is a list of useful inference information (as described in > the TSTP site). > - is a list of references to parents formulae. > - is just an unknown structure. > > > Is there any reference of all the possible symbols or the whole > symbol? my long term goal is to construct a (sort of) DAG with > formulas as nodes and rules as edges, thus a complete list of all possible > rules is required. > > Any help or advise is greatly appreciated. > > Thanks. > > -- > Alejandro Gomez-Londo?o > Computer Science, Universidad EAFIT > http://agomezl.github.io/ > > _______________________________________________ > metis-users mailing list > metis-users at gilith.com > http://www.gilith.com/mailman/listinfo/metis-users From asr at eafit.edu.co Sat Mar 21 15:04:10 2015 From: asr at eafit.edu.co (=?UTF-8?B?QW5kcsOpcyBTaWNhcmQtUmFtw61yZXo=?=) Date: Sat, 21 Mar 2015 10:04:10 -0500 Subject: [metis-users] Changes in Metis 2.3 release 20150303 Message-ID: Hi Joe, Which were the changes in Metis 2.3 release 20150303? I couldn't find this information in http://www.gilith.com/software/metis/changelog.html. It would be great if you announce the new versions/releases of Metis in this mailing list. Best, -- Andr?s From joe at gilith.com Wed Mar 25 00:04:27 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Tue, 24 Mar 2015 17:04:27 -0700 Subject: [metis-users] Changes in Metis 2.3 release 20150303 In-Reply-To: References: Message-ID: Hi Andres, The changelog describes the major changes between version numbers (e.g., 2.2 to 2.3). However, for a given version number I tend to make releases very frequently, after even trivial changes. In the case of metis 2.3 (release 20150303) I believe it was simply the change in the proof annotations from using a string type to a datatype, as described in this email: http://www.gilith.com/metis/mailing-list/2015-March/000030.html It is possible to keep track of every change in the project using git, by cloning the development version of Metis as described on this page: http://src.gilith.com/metis.html In addition to this mechanism, I'll try to do a better job of announcing releases on this mailing list if they embody any non-trivial changes. Cheers, Joe On Sat, Mar 21, 2015 at 8:04 AM, Andr?s Sicard-Ram?rez wrote: > Hi Joe, > > Which were the changes in Metis 2.3 release 20150303? I couldn't find > this information in > http://www.gilith.com/software/metis/changelog.html. > > It would be great if you announce the new versions/releases of Metis > in this mailing list. > > Best, > > -- > Andr?s > > _______________________________________________ > metis-users mailing list > metis-users at gilith.com > http://www.gilith.com/mailman/listinfo/metis-users From asr at eafit.edu.co Wed Mar 25 17:28:15 2015 From: asr at eafit.edu.co (=?UTF-8?B?QW5kcsOpcyBTaWNhcmQtUmFtw61yZXo=?=) Date: Wed, 25 Mar 2015 12:28:15 -0500 Subject: [metis-users] Changes in Metis 2.3 release 20150303 In-Reply-To: References: Message-ID: Hi Joe, On 24 March 2015 at 19:04, Joe Leslie-Hurd wrote: > The changelog describes the major changes between version numbers > (e.g., 2.2 to 2.3). However, for a given version number I tend to make > releases very frequently, after even trivial changes. In the case of > metis 2.3 (release 20150303) I believe it was simply the change in the > proof annotations from using a string type to a datatype, as described > in this email: > > http://www.gilith.com/metis/mailing-list/2015-March/000030.html > > It is possible to keep track of every change in the project using git, > by cloning the development version of Metis as described on this page: > > http://src.gilith.com/metis.html > Thank you for the information. > I'll try to do a better job of > announcing releases on this mailing list if they embody any > non-trivial changes. Great. Thanks! Best, -- Andr?s