Re: resolution

Jesse Alama <[email protected]>
Newsgroups gmane.comp.mathematics.mizar
Message-ID <[email protected]>
The motivation for proof objects for mizar isn't to reduce the 
high-levelness of the mizar language, forcing us to work directly with 
raw, totally explicit  deductions, but to provide a "gold standard" so 
that when mizar changes (new language constructs, smarter/faster/better 
checker, etc.), as it frequently (?) does, there is an objective proof 
object that one can refer to.  I certainly wouldn't want to read these 
big proof objects; I'd much rather stick with mizar texts.  But I would 
like to have them around.  Since what is "obvious" is always changing, 
it seems desirable to me to have a format that doesn't change (or at 
least not nearly as often, and not for the same reasons, as mizar 
changes).

Obtaining proof objects as you suggest, using prover9, is what I had in 
mind.  I didn't know about TPTP support for suppositional proofs; 
thanks.

(Proof objects for mizar also would be a fascinating playground for 
proof theorists and automated deduction researcher, too, but that's not 
the main motivation, I'd say.)

Piotr?

On 2011-08-12 21:55:52 +0000, Josef Urban said:

> Hi,
> 
> Otter/Prover9 proof objects can be used to make the Mizar "by"
> statements totally explicit. When used together with the TPTP syntax
> for supposition-style proofs
> (http://dx.doi.org/10.1007/s11786-008-0053-7), such explicit Mizar
> proofs can be fed into simple independent proof verifiers.
> 
> The proof object size is not a big issue if syntax for term/formula
> sharing is used. I do not think a normal user wants to see the
> detailed proof objects. I like Mizar for its emphasis on trying to get
> the "human obviousness" level of proofs right - no other ITP has
> focused on that (possibly with exceptions like SAD/Forthel and
> Naproche). Having detailed proof objects around could indeed help
> experimental investigations trying to pin down what is "obviousness".
> 
> Best,
> Josef
> 
> On Mon, Aug 8, 2011 at 11:22 PM, Jesse Alama <[email protected]> wrote:
>> Below is a fragment of a discussion about the power of the mizar checker
>> between me and Artur Kornilowicz.  Perhaps others on the mizar-forum
>> might be interested in these issues.
>> 
>> ===============================================================================> 
>> 
>> Hi Artur,
>> 
>> Artur Kornilowicz wrote:
>> 
>>> in Wroclaw we were talking about resolution. I've mentioned an example
>>> in XBOOLE_1. The story is: in XBOOLE_1 there is a theorem
>>> 
>>> theorem
>>> X c= Y implies X c= Z \/ Y
>>> 
>>> with its original proof
>>> 
>>> proof
>>> assume X c= Y;
>>> then A1: Z \/ X c= Z \/ Y by Th9;
>>> X c= Z \/ X by Th7;
>>> hence X c= Z \/ Y by A1,Th1;
>>> end;
>>> 
>>> where Th1, Th7 are:
>>> 
>>> theorem Th1:
>>> X c= Y & Y c= Z implies X c= Z
>>> 
>>> theorem Th7:
>>> X c= X \/ Y
>>> 
>>> After implementation of resolution (2 general premisses in one
>>> inference) TRIVDEMO and RELPREM found a proof
>>> 
>>> theorem
>>> X c= Y implies X c= Z \/ Y by Th1,Th7;
>>> 
>>> But further experiments with some parameters of resolution made its
>>> weaker, and I rewritten the proof as:
>>> 
>>> theorem
>>> X c= Y implies X c= Z \/ Y
>>> proof
>>> Y c= Z \/ Y by Th7;
>>> hence thesis by Th1;
>>> end;
>>> 
>>> which is much nicer than the original one. :-)
>> 
>> Thanks for reminding me of our discussion about resolution. I am
>> fascinated by the attempts to make the checker stronger, and to see the
>> tradeoffs of doing so (shorter proofs, but which might be more difficult
>> to understand). I am on the fence about whether the straightforward
>> justification of
>> 
>> X c= Y implies X c= Z \/ Y
>> 
>> is such a case. I admit that I did have to look twice at the statement
>> to make sure that it was valid. But on the other hand, once I saw that
>> it was valid, I was content to accept the straightforward justification.
>> I did some experiments myself in XBOOLE_1 and found some interesting
>> cases like the one you mention. I'm fascinated by seeing how a machine
>> (that checker) can justify the statements given to it, sometimes in
>> unexpected ways.
>> 
>> I'd be curious to know how to do my own tuning and experimentation with
>> resolution. For example, can one enable checking for three universal
>> premises? Four?
>> 
>> I think Piotr's idea of having a uniform notation for proofs that is
>> "utterly formal" -- e.g., a raw natural deduction proof or a sequent
>> calculus proof, possibly even a Hilbert-style deduction, in unsorted or
>> possibly many-sorted first-order logic -- makes sense. It might not even
>> be so hard to cook up some initial experiments for this. Following the
>> proof skeleton, it should be trivial to find a skeleton for a natural
>> deduction proof or sequent calculus proof. The real challenge is to
>> replace each by/from with such a deduction. We could use Josef's ATP
>> tools to find a sufficient set of premises for each by/from statement,
>> and then try to do proof search in a natural deduction calculus or
>> sequent calculus using exactly these premises. There has been some work
>> on proof search in natural deduction (by Wilfried Sieg, e.g.), and there
>> are even some systems out there (Sieg's, for example), but I'm not sure
>> how flexible they are and whether they could handle the non-trivial
>> search problems that we'd give. Geoff Sutcliffe might even have a
>> suitable system available for our purposes on SystemOnTPTP.
>> 
>> Getting one's hands on a "raw" representation of a non-trivial theorem
>> would be great, though I remain somewhat skeptical about time and space
>> issues. I am open to being convinced, though, and would be willing to do
>> the experiments to prove myself right/wrong. I wonder if we'd have a
>> similar experience as the Coq people in Nijmegen who, having given a
>> formal proof of the fundamental theorem of algebra in the calculus of
>> inductive constructions, tried to actually use the giant proof object
>> they had constructed to find a root of some very simple polynomial,
>> thereby crashing their Coq instance. A formalist can dream of actually
>> getting Herbrand terms for theorems of interest, but I wonder if these
>> things are going to be at all manageable. I think we might need to
>> investigate working not in raw unsorted or many-sorted first-order
>> logic, but have instead a mechanism not unlike mizar's own for
>> conservatively extending the theory with new functions and predicates.
>> 
>> Best,
>> 
>> Jesse
>> 
>> -- Jesse Alama
>> http://centria.di.fct.unl.pt/~alama/


-- 
Jesse Alama
http://centria.di.fct.unl.pt/~alama/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.