| NP V NP PP.co-theme |  
                  
                     |    example | 
                     
                        "Gwen exchanged the dress for a shirt."
                      | 
                   
                  
                     |    syntax | 
                     
                         Agent  V  Theme  {for}  Co-Theme 
                      | 
                   
                  
                     |    semantics | 
                     
                        path_rel(start(E), Source, Theme, ch_of_poss, prep)
                        path_rel(start(E), Source, Co-Theme, ch_of_poss, prep)
                        path_rel(end(E), Goal, Co-Theme, ch_of_poss, prep)
                        path_rel(end(E), Goal, Theme, ch_of_poss, prep)
                        transfer(during(E), Theme)
                        transfer(during(E), Co-Theme)
                        cause(Agent, E)
                        equals(Agent, Source)
                        equals(Co-agent, Goal)
                      | 
                   
                
               
                  | NP V NP |  
                  
                     |    example | 
                     
                        "Twenty couples exchanged rings."
                      | 
                   
                  
                     |    syntax | 
                     
                         Agent <+plural>  V  Theme <+plural> 
                      | 
                   
                  
                     |    semantics | 
                     
                        path_rel(start(E), Source_i, Theme_i, ch_of_poss, prep)
                        path_rel(end(E), Goal_j, Theme_i, ch_of_poss, prep)
                        path_rel(start(E), Source_j, Theme_j, ch_of_poss, prep)
                        path_rel(end(E), Goal_i, Theme_j, ch_of_poss, prep)
                        transfer(during(E), Theme_i)
                        transfer(during(E), Theme_j)
                        cause(Agent, E)
                        equals(Source_i, Agent)
                        equals(Goal_j, Agent)
                        equals(Source_j, Agent)
                        equals(Goal_i, Agent)
                      | 
                   
                
               
                  | NP V PP.theme |  
                  
                     |    example | 
                     
                        "He swapped between the two."
                      | 
                   
                  
                     |    syntax | 
                     
                         Agent  V  {{+loc}}  Theme <+plural> 
                      | 
                   
                  
                     |    semantics | 
                     
                        path_rel(start(E), Source, Theme_i, ch_of_poss, prep)
                        path_rel(end(E), Goal, Theme_j, ch_of_poss, prep)
                        transfer(during(E), Theme_i)
                        transfer(during(E), Theme_j)
                        cause(Agent, E)
                        equals(Source, Agent)
                        equals(Goal, Agent)
                      | 
                   
                
               
                  | NP V NP PP.co-agent |  
                  
                     |    example | 
                     
                        "Cathay is swapping equity stakes with the U.S. carrier."
                      | 
                   
                  
                     |    syntax | 
                     
                         Agent  V  Theme <+plural>  {with}  Co-Agent 
                      | 
                   
                  
                     |    semantics | 
                     
                        path_rel(start(E), Source_i, Theme_i, ch_of_poss, prep)
                        path_rel(end(E), Goal_i, Theme_i, ch_of_poss, prep)
                        path_rel(start(E), Source_j, Theme_j, ch_of_poss, prep)
                        path_rel(end(E), Goal_j, Theme_j, ch_of_poss, prep)
                        transfer(during(E), Theme_i)
                        transfer(during(E), Theme_j)
                        equals(Source_i, Agent)
                        equals(Goal_i, Co-Agent)
                        equals(Source_j, Co-Agent)
                        equals(Goal_j, Agent)
                      | 
                   
                
               
                  | NP V NP |  
                  
                     |    example | 
                     
                        "She exchanged her purchase."
                      | 
                   
                  
                     |    syntax | 
                     
                         Agent  V  Theme 
                      | 
                   
                  
                     |    semantics | 
                     
                        transfer(during(E), Theme)
                        cause(Agent, E)
                        path_rel(start(E), Source, Theme_i, ch_of_poss, prep)
                        path_rel(start(E), Goal, Theme_j, ch_of_poss, prep)
                        path_rel(end(E), Source, Theme_j, ch_of_poss, prep)
                        path_rel(end(E), Goal, Theme_i, ch_of_poss, prep)
                        equals(Source, Agent)
                        equals(Theme_i, Theme)
                      | 
                   
                
             |