From joe at gilith.com Mon Nov 21 18:20:00 2011 From: joe at gilith.com (Joe Hurd) Date: Mon, 21 Nov 2011 10:20:00 -0800 Subject: [metis-users] TPTP equalish predicate In-Reply-To: References: Message-ID: Hi James, I was just using == as a convenient infix notation for equalish, to make things more readable when I was developing Metis. You could go ahead and remove the ==/equalish binding from Tptp.defaultRelationMapping and use == for your own purposes. However, you should be aware that Metis treats the symbol = specially, and if you use another symbol to represent equality you might miss out on some equality processing (such as scanning for irreflexivities to remove when factoring). Cheers, Joe On Mon, Nov 21, 2011 at 2:12 AM, James Bridge wrote: > Hi Joe, > > At present in Metis the symbol '==' is translated into the TPTP predicate > 'equalish' (equality without axioms such as transitivity being automatically > assumed). > > Geoff Sutcliffe seemed slightly puzzled when, in an e-mail asking about the > use of '==' and 'equalish' in TPTP, we equated the '==' with 'equalish' > having assumed that this was standard TPTP notation. > > Is the use of '==' for 'equalish' something that was only introduced in > Metis or is it used by other provers as well? > > The reason for the question is that it would be very handy for us to use > '==' in place of '=' to indicate demodulation should be used rather than > paramodulation but we want to know what the side effects of doing so would > be. > > James > > From joe at gilith.com Mon Nov 21 19:44:46 2011 From: joe at gilith.com (Joe Hurd) Date: Mon, 21 Nov 2011 11:44:46 -0800 Subject: [metis-users] TPTP equalish predicate In-Reply-To: References: Message-ID: Hi James, > By the way, thanks for your earlier suggested mod of changing Subt.unify to > Subt.match which works well. I did notice that the calling routines > Active.deduceParamodulationWith and Active.deduceParamodulationInto call > TermNet.unify, presumably it would be a bit more efficient to change these > to TermNet.match as well? Yes indeed, although take care to use TermNet.match for deduceParamodulationWith and TermNet.matched for deduceParamodulationInto to respect the substitution ordering. The purpose of these calls is to narrow down the possible paramodulations, so nothing would go wrong by leaving it as unify, but match and matched are both faster and result in a smaller set for paramodulate to check. Cheers, Joe From jpb65 at cam.ac.uk Tue Nov 22 09:03:58 2011 From: jpb65 at cam.ac.uk (James Bridge) Date: 22 Nov 2011 09:03:58 +0000 Subject: [metis-users] TPTP equalish predicate In-Reply-To: References: Message-ID: Thanks. Also thank you for the warning re match and matched - an easy one to miss. James On Nov 21 2011, Joe Hurd wrote: >Hi James, > >> By the way, thanks for your earlier suggested mod of changing >> Subt.unify to Subt.match which works well. I did notice that the calling >> routines Active.deduceParamodulationWith and >> Active.deduceParamodulationInto call TermNet.unify, presumably it would >> be a bit more efficient to change these to TermNet.match as well? > >Yes indeed, although take care to use TermNet.match for >deduceParamodulationWith and TermNet.matched for >deduceParamodulationInto to respect the substitution ordering. The >purpose of these calls is to narrow down the possible paramodulations, >so nothing would go wrong by leaving it as unify, but match and >matched are both faster and result in a smaller set for paramodulate >to check. > >Cheers, > >Joe > From jpb65 at cam.ac.uk Tue Nov 29 15:05:28 2011 From: jpb65 at cam.ac.uk (James Bridge) Date: 29 Nov 2011 15:05:28 +0000 Subject: [metis-users] TPTP equalish predicate In-Reply-To: References: Message-ID: Hi Joe, Are you sure that it should be the way around that you have in your e-mail below? I've found that I get much better results with using TermNet.match with deduceParamodulationInto and TermNet.matched with deduceParamodulationWith. In fact using matched with Paramod..Into caused the prover to give up on the sample problems I was trying whilst using match with the Paramod..With still worked but was much slower than using matched with Paramod..With. James On Nov 21 2011, Joe Hurd wrote: >Hi James, > >> By the way, thanks for your earlier suggested mod of changing >> Subt.unify to Subt.match which works well. I did notice that the calling >> routines Active.deduceParamodulationWith and >> Active.deduceParamodulationInto call TermNet.unify, presumably it would >> be a bit more efficient to change these to TermNet.match as well? > >Yes indeed, although take care to use TermNet.match for >deduceParamodulationWith and TermNet.matched for >deduceParamodulationInto to respect the substitution ordering. The >purpose of these calls is to narrow down the possible paramodulations, >so nothing would go wrong by leaving it as unify, but match and >matched are both faster and result in a smaller set for paramodulate >to check. > >Cheers, > >Joe >