Proof nets for sumproduct logic Willem Heijltjes LFCS School of - - PowerPoint PPT Presentation

proof nets for sum product logic
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Proof nets for sum–product logic

Willem Heijltjes

LFCS School of Informatics University of Edinburgh

Kananaskis, 11-12 June 2011

slide-2
SLIDE 2

In part 2

◮ Recap ◮ The soundness proof

slide-3
SLIDE 3

The full net calculus

A a B 1 f + ι0 ι1 f + g f × g f × π0 π1

slide-4
SLIDE 4

Equivalence and saturation

+

+ +

slide-5
SLIDE 5

Equivalence and saturation

×

× ×

slide-6
SLIDE 6

Equivalence and saturation

+ 1

+ 1 + 1

slide-7
SLIDE 7

Equivalence and saturation

× 1

× 1 × 1

slide-8
SLIDE 8

The soundness proof

To show: σR = σS ⇒ R ⇔ S

slide-9
SLIDE 9

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 (⇔)

slide-10
SLIDE 10

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 ?

slide-11
SLIDE 11

’Desaturation’ is not trivial

× × + 1 × × + 1 × × + 1

S ⊆ σR does not necessarily mean σS = σR

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

Atoms and units

Nets corresponding to initial and terminal maps.

+ ⇒ + × ⇒ ×

If X = 0 then X

R

− → Y ⇒∗

∗⇐

X

S

− → Y Similar for Y = 1

slide-16
SLIDE 16

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

slide-17
SLIDE 17

Coproduct source or product target

+ 1 ⇒ + 1 + R

⇒∗

R′ + R′′ + S

⇒∗

S′ + S′′

slide-18
SLIDE 18

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′′

slide-19
SLIDE 19

Coproduct source or product target

σR = σS means that σR′ = σS′ and σR′′ = σS′′

+ R

⇒∗

R′ + R′′

  • +

S

⇒∗

S′ + S′′

slide-20
SLIDE 20

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

slide-21
SLIDE 21

Nets from a product into a coproduct

× + × + A A + × × 1 × + 1

slide-22
SLIDE 22

Nets from a product into a coproduct

× + × + A A + × × 1 × + 1

slide-23
SLIDE 23

Nets from a product into a coproduct

× + × + A A + × × 1 × + 1

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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)

slide-26
SLIDE 26

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

slide-27
SLIDE 27

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 +

slide-28
SLIDE 28

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)

slide-29
SLIDE 29

Points and copoints

A A + + B 1 × × 1 1

slide-30
SLIDE 30

Points and copoints

A A + + B 1 × × 1 1

slide-31
SLIDE 31

Points and copoints

A A + + B 1 × × 1 1

slide-32
SLIDE 32

Points and copoints

A A + + B 1 × × 1 1

slide-33
SLIDE 33

Points and copoints

A A + + B 1 × × 1 1

slide-34
SLIDE 34

Points and copoints

A A + + B 1 × × 1 1

slide-35
SLIDE 35

Points and copoints

A A + + B 1 × × 1 1

slide-36
SLIDE 36

Points and copoints

A A + + B 1 × × 1 1

slide-37
SLIDE 37

Points and copoints

A A + + B 1 × × 1 1

slide-38
SLIDE 38

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

slide-39
SLIDE 39

Bipointed nets

Two parallel bipointed nets are always equivalent

1 + + 1 × × 1

slide-40
SLIDE 40

Bipointed nets

1 + + 1 × × 1

slide-41
SLIDE 41

Bipointed nets

1 + + 1 × × 1

slide-42
SLIDE 42

Bipointed nets

1 + + 1 × × 1

slide-43
SLIDE 43

Bipointed nets

1 + + 1 × × 1

slide-44
SLIDE 44

Bipointed nets

1 + + 1 × × 1

slide-45
SLIDE 45

Bipointed nets

1 + + 1 × × 1

slide-46
SLIDE 46

Bipointed nets

1 + + 1 × × 1

slide-47
SLIDE 47

Bipointed nets

1 + + 1 × × 1

slide-48
SLIDE 48

Bipointed nets

1 + + 1 × × 1

slide-49
SLIDE 49

Bipointed nets

The saturation of a bipointed net is full

1 + + 1 × × 1

slide-50
SLIDE 50

Bipointed nets

1 + + 1 × × 1

slide-51
SLIDE 51

Bipointed nets

1 + + 1 × × 1

slide-52
SLIDE 52

Bipointed nets

1 + + 1 × × 1

slide-53
SLIDE 53

Bipointed nets

1 + + 1 × × 1

slide-54
SLIDE 54

Bipointed nets

1 + + 1 × × 1

slide-55
SLIDE 55

Bipointed nets

1 + + 1 × × 1

slide-56
SLIDE 56

Bipointed nets

1 + + 1 × × 1

slide-57
SLIDE 57

Bipointed nets

1 + + 1 × × 1

slide-58
SLIDE 58

Bipointed nets

1 + + 1 × × 1

slide-59
SLIDE 59

Bipointed nets

1 + + 1 × × 1

slide-60
SLIDE 60

Bipointed nets

1 + + 1 × × 1

slide-61
SLIDE 61

Bipointed nets

1 + + 1 × × 1

slide-62
SLIDE 62

Bipointed nets

1 + + 1 × × 1

slide-63
SLIDE 63

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

slide-64
SLIDE 64

Inductive saturation

Saturated nets need not factor through injections/projections

A A + × × 1 × + 1

slide-65
SLIDE 65

Inductive saturation

Saturation of X

R′

− → Y

ι0

− → Y + Z = X

R

− → Y + Z

× σR′ + ∗ × σR +

slide-66
SLIDE 66

Inductive saturation

Saturation of X

R′

− → Y

ι0

− → Y + Z = X

R

− → Y + Z

× σR′ + ∗ × σR + q + ∗ q q′ q′′ +

slide-67
SLIDE 67

Inductive saturation

Saturation of X

R′

− → Y

ι0

− → Y + Z = X

R

− → Y + Z

× σR′ + ∗ × σR + q + ∗ q q′ q′′ + q′′ ∗ full

slide-68
SLIDE 68

Inductive saturation

A A + × × 1 × + 1

slide-69
SLIDE 69

Inductive saturation

A A + × × 1 × + 1

slide-70
SLIDE 70

Inductive saturation

A A + × × 1 × + 1

slide-71
SLIDE 71

Inductive saturation

A A + × × 1 × + 1

slide-72
SLIDE 72

Inductive saturation

A A + × × 1 × + 1

slide-73
SLIDE 73

Inductive saturation

A A + × × 1 × + 1

slide-74
SLIDE 74

Inductive saturation

A A + × × 1 × + 1

slide-75
SLIDE 75

Inductive saturation

A A + × × 1 × + 1

slide-76
SLIDE 76

Inductive saturation

A A + × × 1 × + 1

slide-77
SLIDE 77

Inductive saturation

A A + × × 1 × + 1

slide-78
SLIDE 78

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

slide-79
SLIDE 79

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)

slide-80
SLIDE 80

If σR contains a rooted link, so does some S ⇔ R

A A + × × 1 × + 1

slide-81
SLIDE 81

If σR contains a rooted link, so does some S ⇔ R

A A + × × 1 × + 1

slide-82
SLIDE 82

If σR contains a rooted link, so does some S ⇔ R

A A + × × 1 × + 1

slide-83
SLIDE 83

If σR contains a rooted link, so does some S ⇔ R

A A + × × 1 × + 1

slide-84
SLIDE 84

If σR contains a rooted link, so does some S ⇔ R

A A + × × 1 × + 1

slide-85
SLIDE 85

A A + × × 1 × + 1

slide-86
SLIDE 86

A A + × × 1 × + 1

slide-87
SLIDE 87

A A + × × 1 × + 1

slide-88
SLIDE 88

A A + × × 1 × + 1

slide-89
SLIDE 89

A A + × × 1 × + 1

slide-90
SLIDE 90

A A + × × 1 × + 1

slide-91
SLIDE 91

A A + × × 1 × + 1

slide-92
SLIDE 92

A A + × × 1 × + 1

slide-93
SLIDE 93

A A + × × 1 × + 1

slide-94
SLIDE 94

A A + × × 1 × + 1

slide-95
SLIDE 95

A A + × × 1 × + 1

slide-96
SLIDE 96

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

slide-97
SLIDE 97

Injections into pointed objects

× R′ + × S′ + × σR=σS + q + q′ + full +

slide-98
SLIDE 98

Injections into pointed objects

A A + × × 1 × + 1

slide-99
SLIDE 99

Injections into pointed objects

A A + × × 1 × + 1

slide-100
SLIDE 100

Injections into pointed objects

A A + × × 1 × + 1

slide-101
SLIDE 101

Injections into pointed objects

A A + × × 1 × + 1

slide-102
SLIDE 102

Injections into pointed objects

A A + × × 1 × + 1

slide-103
SLIDE 103

Injections into pointed objects

A A + × × 1 × + 1

slide-104
SLIDE 104

Injections into pointed objects

A A + × × 1 × + 1

slide-105
SLIDE 105

Injections into pointed objects

A A + × × 1 × + 1

slide-106
SLIDE 106

Injections into pointed objects

A A + × × 1 × + 1

slide-107
SLIDE 107

Injections into pointed objects

A A + × × 1 × + 1

slide-108
SLIDE 108

Injections into pointed objects

A A + × × 1 × + 1

slide-109
SLIDE 109

Injections into pointed objects

A A + × × 1 × + 1

slide-110
SLIDE 110

Injections into pointed objects

A A + × × 1 × + 1

Now the induction hypothesis can be applied

slide-111
SLIDE 111

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

slide-112
SLIDE 112

Questions?