Proof nets for sumproduct logic Willem Heijltjes LFCS School of - - PowerPoint PPT Presentation
Proof nets for sumproduct logic Willem Heijltjes LFCS School of - - PowerPoint PPT Presentation
Proof nets for sumproduct logic Willem Heijltjes LFCS School of Informatics University of Edinburgh Kananaskis, 11-12 June 2011 In part 2 Recap The soundness proof The full net calculus a A B 0 1 f f 0 + + g 1 f f
In part 2
◮ Recap ◮ The soundness proof
The full net calculus
A a B 1 f + ι0 ι1 f + g f × g f × π0 π1
Equivalence and saturation
+
⇔
+ +
Equivalence and saturation
×
⇔
× ×
Equivalence and saturation
+ 1
⇔
+ 1 + 1
Equivalence and saturation
× 1
⇔
× 1 × 1
The soundness proof
To show: σR = σS ⇒ R ⇔ S
The soundness proof: first intuition
Saturation allows induction on paths in (
∗)
R R′ R′′ . . . σR = σS . . . S′′ S′ S For each step in ( ) there is a corresponding one in (⇔)
The soundness proof: first intuition
Saturation allows induction on paths in (
∗)
R R′ R′′ . . . σR = σS . . . S′′ S′ S For each step in ( ) there is a corresponding one in (⇔) R ⇔ R0 ⇔ R1 ⇔ . . . ⇔ Rm ?? Sn ⇔ . . . ⇔ S1 ⇔ S0 ⇔ S But this only shifts the problem: how to show that σR = σS gives Rm ⇔ Sn ?
’Desaturation’ is not trivial
× × + 1 × × + 1 × × + 1
S ⊆ σR does not necessarily mean σS = σR
The soundness proof
To prove: X
R
− → Y ⇔ X
S
− → Y given σR = σS
◮ One of X and Y is an atom or unit ◮ X is a coproduct or Y a product ◮ X is a product and Y a coproduct × +
◮ Some dynamics of rewriting and saturation ◮ Saturated nets need not factor through injections/projections ◮ R and S may factor through different injections/projections ◮ σR = σS after, but not before, adding an injection/projection
The soundness proof
To prove: X
R
− → Y ⇔ X
S
− → Y given σR = σS
◮ One of X and Y is an atom or unit ◮ X is a coproduct or Y a product ◮ X is a product and Y a coproduct × +
◮ Some dynamics of rewriting and saturation ◮ Saturated nets need not factor through injections/projections ◮ R and S may factor through different injections/projections ◮ σR = σS after, but not before, adding an injection/projection
Atoms and units
A
R,S
− → Y X
R,S
− → A 1
R,S
− → Y X
R,S
− → 0
A + 1 ×
In these cases no rewrite rules apply, and R = σR = σS = S
Atoms and units
Nets corresponding to initial and terminal maps.
+ ⇒ + × ⇒ ×
If X = 0 then X
R
− → Y ⇒∗
∗⇐
X
S
− → Y Similar for Y = 1
The soundness proof
To prove: X
R
− → Y ⇔ X
S
− → Y given σR = σS
◮ One of X and Y is an atom or unit ◮ X is a coproduct or Y a product ◮ X is a product and Y a coproduct × +
◮ Some dynamics of rewriting and saturation ◮ Saturated nets need not factor through injections/projections ◮ R and S may factor through different injections/projections ◮ σR = σS after, but not before, adding an injection/projection
Coproduct source or product target
+ 1 ⇒ + 1 + R
⇒∗
R′ + R′′ + S
⇒∗
S′ + S′′
Coproduct source or product target
+ 1 + 1 σR′ + σR′′ ∗ σR′ + σR′′
= σR
σS′ + σS′′ ∗ σS′ + σS′′
= σS σR = σS means that σR′ = σS′ and σR′′ = σS′′
Coproduct source or product target
σR = σS means that σR′ = σS′ and σR′′ = σS′′
+ R
⇒∗
R′ + R′′
- +
S
⇒∗
S′ + S′′
The soundness proof
To prove: X
R
− → Y ⇔ X
S
− → Y given σR = σS
◮ One of X and Y is an atom or unit ◮ X is a coproduct or Y a product ◮ X is a product and Y a coproduct × +
◮ Some dynamics of rewriting and saturation ◮ Saturated nets need not factor through injections/projections ◮ R and S may factor through different injections/projections ◮ σR = σS after, but not before, adding an injection/projection
Nets from a product into a coproduct
× + × + A A + × × 1 × + 1
Nets from a product into a coproduct
× + × + A A + × × 1 × + 1
Nets from a product into a coproduct
× + × + A A + × × 1 × + 1
The soundness proof
To prove: X
R
− → Y ⇔ X
S
− → Y given σR = σS
◮ One of X and Y is an atom or unit ◮ X is a coproduct or Y a product ◮ X is a product and Y a coproduct × +
◮ Some dynamics of rewriting and saturation ◮ Saturated nets need not factor through injections/projections ◮ R and S may factor through different injections/projections ◮ σR = σS after, but not before, adding an injection/projection
Initial and terminal nets
Call nets 0
R
− → Y initial and X
S
− → 1 terminal
A + × 1 ∗ A + × 1
σR and σS are full: they have all possible unit links (but no atomic links)
Points and copoints
Points and copoints are maps out of 1 and into 0 respectively X
!
− → 1
p
− → P Q
q
− → 0
?
− → Y (co)pointed maps are those that factor through a (co)point (co)pointed objects are those that admit (co)points P := 1 | P×P | P+Y | Y +P Q := 0 | Q+Q | Q×X | X ×Q
Points and copoints
Points and copoints are maps out of 1 and into 0 respectively X
!
− → 1
p
− → P Q
q
− → 0
?
− → Y (co)pointed maps are those that factor through a (co)point (co)pointed objects are those that admit (co)points P := 1 | P×P | P+Y | Y +P Q := 0 | Q+Q | Q×X | X ×Q (co)pointed nets will be those consisting of rooted unit links
1 p p′ × p +
Points and copoints
Pointed nets may rewrite by moving their links in parallel
× 1 ⇔ × 1 + 1 ⇔ + 1 × p
⇔
p′ × × p
⇔
p′ + p′
(all links in p and p′ connect to the left root)
Points and copoints
A A + + B 1 × × 1 1
Points and copoints
A A + + B 1 × × 1 1
Points and copoints
A A + + B 1 × × 1 1
Points and copoints
A A + + B 1 × × 1 1
Points and copoints
A A + + B 1 × × 1 1
Points and copoints
A A + + B 1 × × 1 1
Points and copoints
A A + + B 1 × × 1 1
Points and copoints
A A + + B 1 × × 1 1
Points and copoints
A A + + B 1 × × 1 1
Bipointed nets
Bipointed maps (or disconnects) are both pointed and copointed. There is exactly one b : Q → P for copointed Q and pointed P, and none for other X, Y . Q
q ! ! ? ?
1
p
P A bipointed net is one Q
q
− → P (copointed) or Q
p
− → P (pointed)
q p
Bipointed nets
Two parallel bipointed nets are always equivalent
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
The saturation of a bipointed net is full
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
Bipointed nets
1 + + 1 × × 1
The soundness proof
To prove: X
R
− → Y ⇔ X
S
− → Y given σR = σS
◮ One of X and Y is an atom or unit ◮ X is a coproduct or Y a product ◮ X is a product and Y a coproduct × +
◮ Some dynamics of rewriting and saturation ◮ Saturated nets need not factor through injections/projections ◮ R and S may factor through different injections/projections ◮ σR = σS after, but not before, adding an injection/projection
Inductive saturation
Saturated nets need not factor through injections/projections
A A + × × 1 × + 1
Inductive saturation
Saturation of X
R′
− → Y
ι0
− → Y + Z = X
R
− → Y + Z
× σR′ + ∗ × σR +
Inductive saturation
Saturation of X
R′
− → Y
ι0
− → Y + Z = X
R
− → Y + Z
× σR′ + ∗ × σR + q + ∗ q q′ q′′ +
Inductive saturation
Saturation of X
R′
− → Y
ι0
− → Y + Z = X
R
− → Y + Z
× σR′ + ∗ × σR + q + ∗ q q′ q′′ + q′′ ∗ full
Inductive saturation
A A + × × 1 × + 1
Inductive saturation
A A + × × 1 × + 1
Inductive saturation
A A + × × 1 × + 1
Inductive saturation
A A + × × 1 × + 1
Inductive saturation
A A + × × 1 × + 1
Inductive saturation
A A + × × 1 × + 1
Inductive saturation
A A + × × 1 × + 1
Inductive saturation
A A + × × 1 × + 1
Inductive saturation
A A + × × 1 × + 1
Inductive saturation
A A + × × 1 × + 1
The soundness proof
To prove: X
R
− → Y ⇔ X
S
− → Y given σR = σS
◮ One of X and Y is an atom or unit ◮ X is a coproduct or Y a product ◮ X is a product and Y a coproduct × +
◮ Some dynamics of rewriting and saturation ◮ Saturated nets need not factor through injections/projections ◮ R and S may factor through different injections/projections ◮ σR = σS after, but not before, adding an injection/projection
Matching injections and projections
Equivalent nets may factor through different injections or projections, but to allow induction nets must at least have the same domain and codomain.
× R + × + S T × +
Idea: ‘highest’ links, and in particular rooted links, are most significant (downward movement in saturation is unrestricted)
If σR contains a rooted link, so does some S ⇔ R
A A + × × 1 × + 1
If σR contains a rooted link, so does some S ⇔ R
A A + × × 1 × + 1
If σR contains a rooted link, so does some S ⇔ R
A A + × × 1 × + 1
If σR contains a rooted link, so does some S ⇔ R
A A + × × 1 × + 1
If σR contains a rooted link, so does some S ⇔ R
A A + × × 1 × + 1
A A + × × 1 × + 1
A A + × × 1 × + 1
A A + × × 1 × + 1
A A + × × 1 × + 1
A A + × × 1 × + 1
A A + × × 1 × + 1
A A + × × 1 × + 1
A A + × × 1 × + 1
A A + × × 1 × + 1
A A + × × 1 × + 1
A A + × × 1 × + 1
The soundness proof
To prove: X
R
− → Y ⇔ X
S
− → Y given σR = σS
◮ One of X and Y is an atom or unit ◮ X is a coproduct or Y a product ◮ X is a product and Y a coproduct × +
◮ Some dynamics of rewriting and saturation ◮ Saturated nets need not factor through injections/projections ◮ R and S may factor through different injections/projections ◮ σR = σS after, but not before, adding an injection/projection
Injections into pointed objects
× R′ + × S′ + × σR=σS + q + q′ + full +
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Injections into pointed objects
A A + × × 1 × + 1
Now the induction hypothesis can be applied
The soundness proof
To prove: X
R
− → Y ⇔ X
S
− → Y given σR = σS
◮ One of X and Y is an atom or unit ◮ X is a coproduct or Y a product ◮ X is a product and Y a coproduct × +
◮ Some dynamics of rewriting and saturation ◮ Saturated nets need not factor through injections/projections ◮ R and S may factor through different injections/projections ◮ σR = σS after, but not before, adding an injection/projection