walking through infinite trees with mixed induction and
play

Walking through infinite trees with mixed induction and coinduction - PowerPoint PPT Presentation

Walking through infinite trees with mixed induction and coinduction Keiko Nakata and Tarmo Uustalu with Marc Bezem Institute of Cybernetics, Tallinn (many thanks to T. Altenkirch and H. Herbelin ) Theory Days, Nelijrve, 4 February 2011


  1. Walking through infinite trees with mixed induction and coinduction Keiko Nakata and Tarmo Uustalu with Marc Bezem Institute of Cybernetics, Tallinn (many thanks to T. Altenkirch and H. Herbelin ) Theory Days, Nelijärve, 4 February 2011

  2. Constructive reasoning Sensitive to the use of axioms, in particular to the principle of the Excluded Middle ∀ P . P ∨ ¬ P giving us a universal method of obtaining, for any P , either a proof of P or a proof of ¬ P . E.g., Either my program terminates or diverges. We shall look at the word through refined eyes with the glasses of constructive type theory.

  3. Modal properties about computations A program will print “hello” infinitely often. A program will eventually terminate. A server is responsive, ie. any interactive query is eventually replied. A server is almost always busy.

  4. Infinite binary trees R : color B : color c : color t 0 : tree t 1 : tree t 0 c t 1 : tree Extensional equality, aka bisimilarity, on trees defined by coinduction: t 0 ≈ t ′ t 1 ≈ t ′ 0 1 t 0 c t 1 ≈ t ′ 0 c t ′ 1 ≈ is an equivalence. (NB: double horizontal line – coinduction, single – induction)

  5. Paths and sequences A path p : path is an infinite sequence of directions , l (for left) and r (for right). d : dir p : path l : dir r : dir d p : path with bisimilarity defined coinductively p ≈ p ′ d p ≈ d p ′ We define infinite sequences s : seq of colors and bisimilarity on them. s ≈ s ′ c : color s : seq c s ≈ c s ′ c s : seq

  6. Walking into a tree along a path The function [ | t | ] p walks into the tree t : tree along the path p : path , building a sequence. It is defined by corecursion [ | ( t 0 c t 1 ) | ] ( l p ) = c [ | t 0 | ] p [ | ( t 0 c t 1 ) | ] ( r p ) = c [ | t 1 | ] p

  7. � � � � � � � � � � � � Almost always black tree B � � � � � � � � � � � � � � � B R � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � B R B � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � B R B � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � R B � � � � � � � � � � � � � � � B

  8. Properties on trees 1. A tree is always black. Every path (of a tree) is always black 2. A tree is eventually red. Every path is eventually red. 3. A tree is infinitely often red. Every path is infinitely often red. 4. A tree is eventually always black. Every path is eventually always black. 5. A tree is almost always black. Every path of a tree is almost always black.

  9. Every path/tree is always black A sequence s : seq is always black, G black s , where G black s G black ( B s ) Every path of a tree t : tree is always black, i.e., ∀ p : path . G black [ | t | ] p A tree t : tree is always black, G black t G black t 0 G black t 1 G black ( t 0 B t 1 )

  10. Always black A tree t : tree is always black, G black t , if and only if every path of a tree t : tree is always black, ∀ p : path . G black [ | t | ] p .

  11. Every path/tree is eventually red A sequence s : seq is eventually red, F red s , where F red s F red ( R s ) F red ( c s ) Every path of a tree t : tree is eventually red, i.e., ∀ p : path . F red [ | t | ] p A tree t : tree is eventually red, F red t F red t 0 F red t 1 F red ( t 0 R t 1 ) F red ( t 0 c t 1 )

  12. Eventually red A tree t : tree is eventually red implies every path of t is eventually red constructively. Every path of t is eventually red implies with FAN t is eventually red. FAN says that a tree with only finite paths is finite.

  13. Every path/tree is eventually always black A sequence s : seq is eventually always black, FG black s , where FG black s G black s FG black s FG black ( c s ) Every path of a tree t : tree is eventually always black, ∀ p : path . FG black [ | t | ] p A tree t : tree is eventually always black, FG black t , where G black t FG black t 0 FG black t 1 FG black t FG black ( t 0 c t 1 )

  14. Eventually always black A tree t : tree is eventually always black implies every path of t is eventually always black. Every path of t : tree is eventually always black implies with weak continuity and a variation of FAN t is eventually always black. Weak continuity says functions can only depend on finite information.

  15. Every path/tree is almost always black A sequence s : seq is almost always black, pre s , where on X s on pre s pre s X s on X ( B s ) on X ( R s ) pre ( R s ) pre ( B s ) Every path of a tree t : tree is almost always black, ∀ p : path . pre [ | t | ] p A tree t : tree is almost always black, FG black t , where on X t 0 on X t 1 X t 0 X t 1 on X ( t 0 B t 1 ) on X ( t 0 R t 1 ) on pre t 0 on pre t 1 pre t 0 pre t 1 pre ( t 0 B t 1 ) pre ( t 0 R t 1 )

  16. Almost always black A tree t : tree is almost always black implies every path of t is almost always black. Every path of t is almost always black implies with Bar induction t is almost always black.

  17. � � � � � � � � � � � � Almost always black tree B � � � � � � � � � � � � � � � B R � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � B R B � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � B R B � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � R B � � � � � � � � � � � � � � � B

Recommend


More recommend