16.1.4 Graphs Describing Trees

Assuming the above trees represent the two possible meanings of Every yogi has a guru, we can use the following dominance constraint to describe both trees:

           apply                   apply
            '   `                   '   `
           '     `
                 '     `
         apply   lambda(2)      apply   lambda(1)
        '
  `        !           '  `        !              
       '    `       !          '    `       !              
      a     guru    .        every  yogi    .
                     .                    .
                      .                .
                       .            .
                        .        .
                         .    .
                          ..
                        apply             
                        '   `
             
                       '     `            
                     apply   var(1)       
                    '
   `                 
                   '     `
                
                  has    var(2)           
 
 

where the dotted lines indicate dominance and the other lines immediate dominance. If the lambda(2) node dominates the every yogi-tree, we get the second reading and if the every yogi-tree dominates the a guru-tree, we get the first reading.

This is the intuition. We now see more precisely what the constraint language is and how a constraint solver can be implemented which given a dominance logic description, yields the set of trees satisfying that description.


Denys Duchier, Claire Gardent and Joachim Niehren
Version 1.3.99 (20050412)