Proof nets and bureaucracy

Alessio Guglielmi <Alessio.Guglielmi-r/[email protected]>
Newsgroups gmane.science.mathematics.frogs
Message-ID <[email protected]>
Hello,

perhaps it doesn't hurt if I try to summarise the situation about 
proof nets and bureaucracy. I should say that I'm no expert at all 
and I didn't actually make up my mind about this. So, I'd like to 
share my thoughts on this subject and I would very much appreciate 
any feedback on these.

Let me attempt a few *moral* definitions first:


BUREAUCRACY   We have bureaucracy in all cases in which syntax 
behaves unnaturally from a semantic point of view.

* Example 1: par-right rules in MLL permute, so that the following 
two derivations are morally the same but bureaucracy forces a 
distinction:

    a,  b, c,  d         a,  b, c,  d
    ------------         ------------
    a,  b, c P d         a P b, c,  d
    ------------   and   ------------ .
    a P b, c P d         a P b, c P d

* Example 2: it would be natural to move all contraction rules at the 
bottom of a derivation, but, for example in the multiplicative 
sequent calculus for propositional logic, this is impossible, as 
shown by Kai's counterexample: try to prove the sequent

    |- a ^ a, -a ^ -a

without using any other rule below contractions.


So, bureaucracy is a bad thing, and one of our goals should be to get 
rid of it. Regarding the two examples above, in CoS we make the 
situation worse than in the sequent calculus wrt the kind of 
bureaucracy of Example 1, while we improve it a lot wrt the kind of 
bureaucracy of example 2.

The improvements come from the finer granularity of our inference 
rules and then the existence of powerful decomposition theorems. 
Regarding making the situation better for permutability: formalisms 
`A' and `B' address the problem, and getting rid of the last remains 
of bureaucracy is the main reason to develop them. (Note that it 
would be impossible to develop `A' and `B' starting from any other 
formalism than CoS!)

* * *

Proof nets were invented, I guess, exactly for the purpose of getting 
rid of bureaucracy, and so, hopefully, providing canonical 
representatives of equivalence classes of identical of proofs. They 
are a brilliant idea, in principle, but I believe that the state of 
the art of proof nets derived from the linear logic ones has very 
little appeal.

Now, the following assessment might be just an embarrassing sign of 
my ignorance, but it looks to me that the field became just a 
playground for technical prowess more than an inspiring and useful 
part of proof theory. It also lacks a clear direction and strong 
ideas. Try to convince me that I'm wrong (but be polite, I admitted 
my ignorance!).

Anyway, it's uncontroversial that proof nets as they are commonly 
conceived are not deductive, in the sense that reading back a 
deductive proof is `difficult'. This is neither a good or a bad 
thing: it's just a fact, and this prompts me to define the following 
two moral notions.


PROOF NET (1)   A proof net is a bureaucracy-free (graphical) 
validity certificate whose correctness is decidable.


DEDUCTIVE PROOF NET   A deductive proof net is a bureaucracy-free 
(graphical) validity certificate whose correctness is decidable in 
linear time (wrt the size of the net).


Clearly, both definitions require a previous understanding of what is 
bureaucracy, and this is usually understood inside a deduction 
system. The first definition could then probably be given as:


PROOF NET (2)   A proof net is a bureaucracy-free (graphical) 
representative for a class of proofs whose correctness is decidable.


Here, we assume to know already what proofs are, probably inside 
another deductive system, like the sequent calculus or CoS. In this 
case, a sequentialisation theorem doesn't hurt.

Are these moral definitions reasonable?

Anyway, let's say that a deductive proof net is a proof net whose 
correctness criterion doesn't cost much. In some sense, checking the 
correctness of the net corresponds to checking deduction steps, 
whence the insistence on the complexity of the criterion to be linear.

Remark: If we adopt these definitions, then proof nets for 
multiplicative linear logic are deductive, thanks to Guerrini's 
result. They still don't look very deductive to me, but I'm not sure 
one should change the definition just for this. However, if we found 
a concise definition which is also better in this respect, that would 
be nice.

I believe that both notions of proof nets need to be developed. 
Generic, non-deductive proof nets can clearly be very compact 
objects, where much information is implicit. They might even be 
adopted as semantics in lucky circumstances.

On the other hand, a proof net is first and foremost syntax, I 
believe, and I'm still reluctant to see syntax entirely distinct from 
deduction. I mean, I believe that if syntax is around, in most cases 
it should correspond to deduction, possibly in an explicit way!

* * *

Orthogonally to all this, I think that another direction should be 
explored, namely the generalisation of the idea of proof net towards 
that of `derivation net'. This is what I think Lutz was explaining in 
previous emails.

I'm using the word `derivation' of conclusion B from hypothesis A in 
the sense of a validity certificate for the implication A -> B, such 
that a `proof' is a derivation for t -> B and a `refutation' is a 
derivation for A -> f.

So, the previous two definitions can be generalised in a 
straightforward way to DERIVATION NET and DEDUCTIVE DERIVATION NET.

If I didn't misunderstand, Lutz proposes a notion of derivation net 
for classical logic where a certain class of derivations for A -> B 
is represented as a net

       ^
      / \
     /-A \
    +-----+
    | X X | ,
    +-----+
     \ B /
      \ /
       V

such that the tree B is a formula tree for B and the tree -A is the 
formula tree for A upside-down and De Morgan-dualised. Between the 
two trees, several links are drawn between occurrences of atoms.

The trick is, of course, to check the net with a correctness 
criterion in order to see that the net really corresponds to a 
derivation. Since the net is polynomial in the size of A and B, this 
checking will likely require an exponential time, unless coNP = NP, 
which is, of course, unlikely. Lutz claims to be able to do this by 
using a splitting theorem in CoS (this looks entirely reasonable to 
me).

Am I right, Lutz?

Why is it important to study derivation nets? My take of this is the 
following. If we understand derivation nets, then we are able to take 
any proof of a given statement and to turn it around any subformula 
we might choose. For example, if we have a proof for A V B V C, we 
can study it as a derivation of B V C from -A, or of A V C from -B, 
and so on.

In some sense, this means capturing the essential symmetry of logics 
with involutive negation. On the other hand, it seems to me that 
derivation nets don't make real justice to this symmetry, unless we 
find *deductive* derivation nets.

In fact, if we know that A V B V C is provable, we know *already* (by 
semantics) that B V C is derivable from -A. The correctness criterion 
is not going to tell us anything more than this. What is more 
interesting is transforming (cut-free) *deductions* of A V B V C 
(from t) into (cut-free) *deductions* of B V C from -A.

Am I missing something here, Lutz? So, what I claim is that the 
top-down symmetry is mostly useful in the syntax only in presence of 
deductive derivation nets.

Of course, it looks like finding the correct notion of deductive 
derivation net is going to be a hard task.

* * *

In view of the objective of getting to deductive derivation nets, my 
personal research program is as follows: instead of starting from the 
most abstract objects, i.e., proof nets, let's start from the most 
concrete ones that show a top-down symmetry, i.e., CoS derivations, 
and then let's get rid of bureaucracy.

In CoS, bureaucracy consists (exclusively, I guess) in permutability 
of rules. Without getting into the details here (I posted some of 
these ideas already), I intend to proceed towards the goal in two 
steps, by first developing formalism `A' and then formalism `B'.

Formalism `B' is going to be CoS without any bureaucracy in the sense 
of permutability of rules. Whether this can induce some reasonable 
notion of proof net is an open problem. Every time I try to see `B' 
in graphical form I get motion sickness. Anyway, I do think that with 
the appropriate amount of effort one can arrive to a decent graphical 
syntax, at least so I hope.

I'd like to know Lutz's opinion on an idea I've got after reading his 
email. Lutz, do you think that your proof nets for propositional 
logic could be a *reasonable* normal form for CoS derivations?

In other words: is it possible to transform any given CoS derivation 
in, say, SKS, and transform it *by a very simple induction on its 
length* into one of your derivation nets? If so, we might think of 
using your derivation nets as an invariant and to check the behaviour 
of the systems we produce wrt it. Of course, `A' and `B' are meant to 
retain all the good properties of CoS, and I hope that a simple 
distillation of derivation nets would not break when moving from CoS 
to `A' and then to `B'.

By the way, just out of curiosity, can you show two *different* 
derivation nets for the same implication A -> B?.

OK, I guess I stop here. I'd very much appreciate the comments of 
those with the patience to read some of this huge email. You know, I 
don't write to be read, just to clarify things to myself...

(We are in a phase in which we have to write at least one survey 
about our past four frenetic years, so it's also a good time to 
assess the situation and make plans for the future.)

Ciao,

-Alessio
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.