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