A G OAL - ORIENTED G RAPH C ALCULUS FOR R ELATIONS Paulo A. S. V ELOSO Systems & Computing Engin. Progr., COPPE-UFRJ; Rio de Janeiro, RJ, B RAZIL Sheila R. M. V ELOSO Systems & Computing Dept., UERJ; Rio de Janeiro, RJ, B RAZIL Graph calculus, algebras of relations, complement, refutation soundness, completeness Research partly sponsored by CNPq & FAPERJ 1
O UTLINE 1. Introduction graphical notation 2. Slices graphical representation 3. Graphs alternative slices 4. Conclusion comments 2
1 Introduction ⊳ Diagrams & figures useful in science & everyday life Graphs & diagrams visualization • Computing automata, Petri nets, flowcharts • Foundations of Mathematics categories, allegories • Engineering/Architecture wiring diagrams, blueprints • Metro journey diagram of lines � Venn diagrams heuristic appeal not proofs ∴ compile ♥ Graph manipulations ∴ precise syntax & semantics proof methods 3
Formulas traditionally written down on a single line � Notations economy vs. visualization → ∧ pq ∨ rs 1. Polish prefix (parenthesis-free) ( p ∧ q ) → ( r ∨ s ) 2. usual ( with parentheses) p r → 3. two-dimensional ∧ ∨ q s 4
♥ Graph calculi 2-dimensional notation & nodes ⊳ Drawings for relations natural idea arc a R a related to b via relation R → b Operations on relations simple manipulations on arrows • Bolean intersection ∩ parallel arcs • Peircean transposal T arrow reversal • Peircean relative product (composition) | consecutive arcs ∞ Reason about relations manipulate their representations ∠ visual appeal 2-dimensional manipulations 5
Overview / 0 P ⊆ Q P ∩ Q ⊆ ⊳ Goal-orientation iff ♥ Reductions equivalent objects goal S ⊆ / 0 1. Represent term P ∩ Q by slice S ∴ goal G ⊆ / 0 2. Convert slice S to graph G ∴ goal H ⊆ / 0 3. Expand graph G to H ∴ ∞ (Correctness) Basic graph H : H ⊆ / 0 H inconsistent iff 6
from relation names ⊲ Relational terms generated by relational operations 2-ary relations over set M ⊲ Peircean operations (0) Constants I M : = { ( a , b ) ∈ M 2 / a = b } ( I I ) Identity (diagonal) I M � : = { ( a , b ) ∈ M 2 / a � = b } ( I D ) Diversity (1) Unary operation R T : = { ( a , b ) ∈ M 2 / ( b , a ) ∈ R } ( ⌣ ) Transposition T (reversal) (2) Binary operations (;) Relative product | (composition) P | Q : = { ( a , b ) ∈ M 2 / ∃ c ∈ M [( a , c ) ∈ P ∧ ( c , b ) ∈ Q ] } (;) Relative sum | P | Q : = { ( a , b ) ∈ M 2 / ∀ c ∈ M [( a , c ) ∈ P ∨ ( c , b ) ∈ Q ] } 7
� � 2 Slices ♥ Slice graphical representation P P term ⊓ y → → x Q Q intersection ∩ parallel arcs nodes finite sets of labeled arcs ⊲ Slice S 2 distinguished nodes: I/O → 8
� � Slice example � Establish r ⌣ ;r;s ⊑ s r ⌣ ;r;s ⊳ Reduce r ⌣ ;r;s ⊑ s ⊑ I ⊥ ⊓ to s parallel arcs ∩ ( ∩ ) Slice S 0 r ⌣ ;r;s y → → x s 9
� � � � s ≡ s ( ) Eliminate double complement S 0 r ⌣ ;r;s r ⌣ ;r;s ≡ y → y → → x → x s s S 1 10
� � � � � (;) Eliminate relative product consecutive arcs new intermediate node S 1 z r ⌣ r;s r ⌣ ;r;s ≡ y → y → → x → x s s S 2 ( a , c ) ∈ P ( a , b ) ∈ P;Q ∃ c ⇔ ∧ ( c , b ) ∈ Q 11
� � � � � � invert arrow: xr ⌣ → z ≡ x r ← z ( ⌣ ) Eliminate converse S 2 z z r ⌣ r;s r;s r ≡ y → y → → x → x s s S 3 ( a , c ) ∈ R ⌣ ( c , a ) ∈ R ⇔ 12
� � � � � � (;) Eliminate complemented relative product label: complemented slice z r;s r S 3 y → → x s ||| → z ′ r → x ′ s → y ′ → z r S 4 y → → x s 13
� � � ( ⊥ ) Slice S 4 inconsistent Parallel paths: from z to y → z ′ r → x ′ s → y ′ → z z r y y x s term r;s term r;s r;s ∩ r;s = / 0 14
� � � ⊲ Slice concepts 1. Morphism node mapping preserving arcs 2. Zero slice parallel incompatible paths � Slice S embedded slice T with R w � � � � � s t � � � � � � � � � � Q � y → P � � u � v → x T s R t � w ′ � w ′′ � y ′ → T : = → x ′ 15
� � � � � � � � Node mapping θ : N T ��� N S preserves arcs s R t y ′ → → x ′ w ′ w ′′ � � � � � � � � R � � � � � θ θ � � � w θ � θ � � � � � � � � r t � � � � � � � � � � � � � Q P � � � � u � v � y → → x T Parallel paths from u to v incompatible Slice S zero not satisfiable 16
3 Graphs for ∪ , / 0 ♥ Alternative slices ⊲ Graph finite set of alternative slices → x P → y → , → x P ⊔ Q − → y → ≡ 2 alternative slices → x Q → y → � � → x I ⊥ → y → ≡ 0 alternative slices 17
� � Graph example � Establish r; ( s†t ) ⊑ ( r;s ) †t r; ( s†t ) ⊳ Reduce r; ( s†t ) ⊑ ( r;s ) †t ⊑ I ⊥ ⊓ to ( r;s ) †t ( ∩ ) Difference slice DS ( r; ( s†t ) \ ( r;s ) †t ) parallel arcs ∩ r; ( s†t ) y → → x ( r;s ) †t 18
� � ( ⊲ ∗ ) Eliminate operations but complement r � u → x T 1 T 2 � y → v t Arc labels complemented slices → x 1 r → u 1 s : = → v 1 → T 1 → u 2 s → v 2 t : = → y 2 → T 2 19
� � � � ( ∪ ) Expand graph G : 2 alternative slices T + & T − T + T − r r � u � u → x → x s ���� s ���� T 1 T 2 T 1 T 2 � ���� � ���� � y → � y → v v t t s ∪ s = M 2 Equivalent alternative paths from u to v 20
� � � � slices T + & T − ( ⊥ ) Zero graph inconsistent T + Parallel paths from x to v: r;s r;s r � u x s ���� → x 1 r → u 1 s T 2 → v 1 → � ���� � y v t T − Parallel paths from u to y: s;t s;t r � u x s ���� → u 2 s → v 2 t T 1 → y 2 → � ���� � y v t 21
Gluing onto slice S slice & graph S + u T ♥ Gluing of slices → v addition of slice-label arc I I ← → x S u x T S T eliminate I I arcs I I ← y S v y T ← ⊳ Eliminate arc w I I z from slice S rename w to z w ( or z to w) in S v T ≡ S + u T S u → v ∠ Gluing pushout 22
� � � � � � Slices S & T ↓↑ w R s t : = S : = T → → → → x u v y → Q P z Glued slice S u v T identify u , v to w s R t � w � y → S u = v T → x Q P z S u v H : = { S u v T / T ∈ H } ⊲ Glued graph glued slices 23
4 Graph Calculus ⊲ Labels relation names from slices & graphs Labels generated by relational operations ⊲ Basic objects relation name or Basic: labels complement of basic slice 24
⊲ Label derivations Operational relational operations Conversion Structural arc labels Rules Expansion alternatives ∞ Valid label inclusion L ⊑ I ⊥ L ⊢ H H : zero graph iff L Cnv ∗ G Exp ∗ H ⊲ Normal linear derivation 1. Convert label L to graph G e.g. basic form 2. Expand graph G to zero graph H binary expansion 25
♥ Operational rules label ⊲ graph any context • Meaning of operation but complement given by graph • Double complement L ≡ L ∠ Operational rules • eliminate relational operations but complement • may introduce slices or graphs within labels ♥ Structural rules arc labels • Addition of graph-label arc glued graph L ≡ → x L • Label vs. slice → y → • de Morgan laws complement of ∪ , complement of ∩ L ⊲ ∗ L bs ⊲ ⊳ Conversion Every label L convertible to an equivalent basic graph L bs 26
replace S by copies S u v T & S + u T v ⊲ Expansion rule { S } ( u , v ) ∈ N S 2 ( Exp ) { S u v T , S + u T v } ♦ Label inclusion L ⊑ I ⊥ valid iff normal linear derivation Cnv ∗ Exp ∗ G H L zero graph ⊳ 1. Convert label L to (basic) graph G finite process 2. Expand graph G to zero graph H unbounded search 27
5 Conclusion 1. Complement (-) difficult to handle (+) goal-orientation 2. Goal-orientation derive zero graph 3. Graph language more expressive: labels (embedding) • easy one single object • simple concepts morphism • Extension to hypotheses erasing 4. Generalize: labels to n -labels first-order predicate logic ⌣ 28
A Details 1. Language (a) Syntax objects (b) Semantics meaning (c) Concepts morhism, zero, basic (d) Constructions gluing, transformations (graph ↔ slice) 2. Calculus (a) Conversion label to basic graph (b) Expansion (basic) slice to (basic) graph (c) Correctness sound & complete 3. Hypotheses (a) Semantics consequence (b) Rule erase slice 29
Recommend
More recommend