Tutorial on PROOF NETS Claudia Faggian.

Slides:



Advertisements
Similar presentations
Graphs and Finding your way in the wilderness
Advertisements

SSA.
CSC401 – Analysis of Algorithms Lecture Notes 14 Graph Biconnectivity
Chapter 5 Shortest Paths: Label-Correcting Algorithms
Discussion #33 Adjacency Matrices. Topics Adjacency matrix for a directed graph Reachability Algorithmic Complexity and Correctness –Big Oh –Proofs of.
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
Lecture 17 Path Algebra Matrix multiplication of adjacency matrices of directed graphs give important information about the graphs. Manipulating these.
More Graphs COL 106 Slides from Naveen. Some Terminology for Graph Search A vertex is white if it is undiscovered A vertex is gray if it has been discovered.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Topics: 1. Finding a cycle in a graph 2. Propagation delay - example 3. Trees - properties מבנה המחשב - אביב 2004 תרגול 3#
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
מבנה המחשב – מבוא למחשבים ספרתיים Foundations of Combinational Circuits תרגול מספר 3.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 10 Instructor: Paul Beame.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
IS 2610: Data Structures Graph April 5, 2004.
Directed graphs Definition. A directed graph (or digraph) is a pair (V, E), where V is a finite non-empty set of vertices, and E is a set of ordered pairs.
Proof Systems KB |- Q iff there is a sequence of wffs D1,..., Dn such that Dn is Q and for each Di in the sequence: a) either Di is in KB or b) Di can.
1 ELEC692 Fall 2004 Lecture 1b ELEC692 Lecture 1a Introduction to graph theory and algorithm.
Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2012 Lecture 10.
NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.
Jan Topological Order and SCC Edge classification Topological order Recognition of strongly connected components.
Mathematical Preliminaries
Chapter Relations and Their Properties
8.5 Equivalence Relations
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
Given this 3-SAT problem: (x1 or x2 or x3) AND (¬x1 or ¬x2 or ¬x2) AND (¬x3 or ¬x1 or x2) 1. Draw the graph that you would use if you want to solve this.
November 22, Algorithms and Data Structures Lecture XII Simonas Šaltenis Nykredit Center for Database Research Aalborg University
CSC317 1 At the same time: Breadth-first search tree: If node v is discovered after u then edge uv is added to the tree. We say that u is a predecessor.
Graph Algorithms – 2. graphs Parenthesis Theorem Theorem 22.7 For all u, v, exactly one of the following holds: 1. d[u] < f [u] < d[v] < f [v] or.
Spanning Trees Alyce Brady CS 510: Computer Algorithms.
Geometry of Interaction Models proofs of linear logic as bidirectional computation executed by the flow of data in the proof net.
Richard Anderson Lecture 26 NP-Completeness
Hans Bodlaender, Marek Cygan and Stefan Kratsch
Polynomial-Time Reduction
Great Theoretical Ideas In Computer Science
Computing Connected Components on Parallel Computers
Computability and Complexity
The countable character of uncountable graphs François Laviolette Barbados 2003.
The minimum cost flow problem
NP-Completeness Proofs
Richard Anderson Lecture 26 NP-Completeness
Mathematical Structures for Computer Science Chapter 6
Geometry of Interaction
NP-Completeness Yin Tat Lee
Intro to Theory of Computation
Biconnectivity SEA PVD ORD FCO SNA MIA 11/16/2018 2:31 AM
Discrete Mathematics for Computer Science
Graph Algorithms – 2 DAGs Topological order
3.3 Applications of Maximum Flow and Minimum Cut
Complexity 6-1 The Class P Complexity Andrei Bulatov.
Richard Anderson Lecture 25 NP-Completeness
Graph Algorithms – 2.
Steven Lindell Scott Weinstein
Binary Decision Diagrams
Automatic Verification of Industrial Designs
Data Structures and Algorithms (AT70. 02) Comp. Sc. and Inf. Mgmt
Lectures on Graph Algorithms: searching, testing and sorting
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
Chapter 8 NP and Computational Intractability
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
NP-Completeness Yin Tat Lee
Class Diagrams Defines Graph Structures 2014
Biconnectivity SEA PVD ORD FCO SNA MIA 5/6/2019 5:08 PM Biconnectivity
Biconnectivity SEA PVD ORD FCO SNA MIA 5/23/ :21 PM
Instructor: Aaron Roth
Switching Lemmas and Proof Complexity
Advanced Algorithms Analysis and Design
Presentation transcript:

Tutorial on PROOF NETS Claudia Faggian

LL sequent calculus

Multiplicatives Additives Exponentials

Multiplicatives Additives Exponetials ...

Linear negation

In this tutorial, we will focus on MLL

Proof Nets A graph syntax for proofs

Proof structures For each node/link: premisses = entering edges, conclusions = exiting edges

example Translate this sequent calculus proof. Start from axioms.... add links....

Proof Nets Internal condition!

Correctness guarantees: Graph is image of a proof (sequentialization) Normalization terminates

The beauty of proof nets is normalization

Normalization (local graph reductions!)

MLL: properties of normalization

Let us try out!

Write a proof net with this conclusion... and normalize it

How we write a proof net of these conclusions? must type an edge conclusion of a par link, with premisses .... must type an edge conclusion of a tensor link, with premisses .... Then we have to choose the axiom links!

Let us try one more. First, write a proof net with this conclusion... = = How we write a proof net? As before, all proof nets with the same conclusion, start with the same nodes (the formula tree!) What distinguishes different proofs are the axiom links To distinguish the different occurrences of atoms, let us write indices: In this case, we have two possible proofs, corresponding to two possible way to write axioms: 1,3 and 2,4 OR 1,4 and 2,3

parenthesis In sequent calculus, they correspond to these two proofs (one uses exchange, one no)

When we have a formula whose normal proofs are exactly two, we have a good candidate to code BOOLEANS :) Let us indicate the formula with B (for boolean). We call one proof true, and the other false... We can feed one of our two values to a proof which takes a boolean, and return a boolean. We know that the normal form (i.e the result of computation) will be of type B... Hence one of our two values.

Try to normalize one of the proofs of with the proof net which has conclusions and axiom links: 1,6 2,5 3,7 4,8 What is the function coded by this proof net?

Sequentialization

Memo: a directed acyclic graph (dag) G is an oriented graph without (oriented) cycles. The transitive closure induces a strict partial order on the nodes of G: a < b iff a ← b (= there is an edge from b to a) The skeleton of a dag G is the graph that has the same vertices as G and whose edges are the edges of G which are not transitive (it is the canonical representation of the partial order)

Di Giamberardino-Faggian, APAL08 Note: the original proof of sequentialization [Girard] uses empires Di Giamberardino-Faggian, APAL08 IDEA Which correctness ?

Parenthesis: if we focus on acylicity, Danos-Regnier criterion can be reformulated (in equivalent way) we can throw away MIX later By requiring connectness

To accommodate additional edges, we proceed in two steps: 1. partition the entering edges of a node into ports 2. add edges

1. 2.

Syntax revised- Now:

MEMO. A strict order is arborescent = each element has at most one predecessor If <_R is not arborescent, there is a link l, with two (incomparable) predecessor

Add an edge m-->n: the order increases But creates a cycle !?! Means there is a switching path r between n and m

Add an edge n-->m: the order increases But creates a cycle !?! Means there is a switching path r between n and m means in R there is a switching path r' between m and n

Add an edge n-->m: the order increases But creates a cycle !?! Means there is a switching path r between n and m means in R there is a switching path r' between m and n

a switching path r' from n to m switching path r from m to n Case 1: r and r' do not have 2 edges which belong to the same port m----->n + n------>m

Follow r from m to n. Let c be the first node whose port z contains both an edge of r and an edge of r'. Follow r' from n to c. Case 2a: r' enters in z m----->c + c ------>m Case 2b: r' enters in a different port m----->c + c ------>n + n <-- l + l -->m

Moral: if the order is not a tree there is such a configuration: and we can always add an edge to increase the order (while preserving correctness)