3

The arrow controlled by

\draw[semithick, dashed, ->] (pe)..controls +(south west: 50) and  +(south: 50) .. (re); 

dissects the tree. I want it to curve round the bottom-most node of the tree. I was told that I could not use a Bezier curve to do this, and would have to use a tangent curve. How can I do this?

  \documentclass[12pt,a4paper]{article}   
    \usepackage{tikz-qtree}
    \usepackage{tikz-qtree-compat}
    \usepackage{ulem}

    \begin{document}

   \begin{tikzpicture}[baseline=(current bounding box.center), every tree     node/.style={align=center,anchor=north}, level distance = 16ex, scale= 0.5]   
      \Tree [. {\formula{\exists z [sample(z) \land \forall x \exists y      [Company (y) \land Representative-of(x,y) \rightarrow saw(x, z)]]} \\    \formula{t}   }     [.{\formula{\lambda Q. \exists z [sample' (z)} \\    \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} }  [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} }  ] [.{ \formula{\lambda d. sample'(d):} \\ \formula{(e \linimp t)}  }  ]  ] [. { \formula{\lambda m. \forall x \exists z [company' (z)  \land R.of(x, z)} \\ \formula{\rightarrow \exists y [sample' (y) \land saw'(x, y)]} \\ \formula{((e \linimp t)}  } [.\node (re) {$m : e$}; ] [.{ \formula{\forall x \exists z [company' (z)  \land R.of(x, z)} \\ \formula{\rightarrow \exists y [sample' (y) \land saw'(x, y)]} \\ \formula{t} } [.{ \formula{\lambda Q. \forall x \exists z [company' (z)} \\ \formula{\land R.of(x, z) \rightarrow Q(x)} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} }  [.{ \formula{\lambda P. \lambda Q. \forall x [P (x)} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} ] [.{\formula{\lambda n. \exists z [company' (z)} \\ \formula{\land R.of(n',z)]:} \\ \formula{(e \linimp t} }     [.\node (ue) {$n : e$}; ] [.{\formula{\exists z [company' (z)} \\ \formula{\land R.of(n',z)]: t} }          [.{\formula{\lambda Q. \exists z [company' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} }  ] [.{ \formula{\lambda d. company'(d):} \\ \formula{(e \linimp t)}  } ]             ] [.{\formula{\lambda l. R.of(n',l'):} \\ \formula{(e \linimp t)} }       [.\node (ne) {$l : e$}; ] [.{\formula{R.of(n',l'):} \\ \formula{(t)} }       [.\node [circle,draw] (le) {$n : e$} ; ] [.{\formula{\lambda x. R.of(x,l'):} \\ \formula{(e \linimp t)} }       [.{\formula{\lambda y\lambda x. R.of(x,y):} \\ \formula{(e \linimp } \\ \formula{(e \linimp t)} } ] [.{\formula{l':e} }     [. {\formula{\lambda x_e. x_e:} \\ \formula{(e \linimp e)} } ] [.\node [circle,draw] (me) {$l' : e$} ; ] ] ]         ]                ]             ] ]         ] [.{\formula{\lambda k'. saw(k',m):} \\ \formula{(e \linimp t)} } [.\node (te) {$k' : e$}; ] [.{\formula{saw(k',m'):} \\ \formula{t} }          [.\node [circle,draw] (se) {$k' : e$} ; ] [.{\formula{\lambda x. saw(x,m'):} \\ \formula{(e  \linimp  t)} }   [.{\formula{\lambda y\lambda x. saw(x,y):} \\ \formula{(e \linimp} \\ \formula{(e  \linimp  t)} } ] [.\node [circle,draw] (pe) {$m : e$} ; ] ] ]                  ]             ]           ] ] 
  \draw[semithick, dashed, ->] (le)..controls +(south west:10) and +(south:10)    .. (ue);   
  \draw[semithick, dashed, ->]
  (me)..controls +(south west:11) and +(south:11) .. (ne);
  \draw[semithick, dashed, ->] (se)..controls +(south west:1) and +(south:1) .. (te);    
  \draw[semithick, dashed, ->] (pe)..controls +(south west: 50) and  +(south: 50) .. (re);    
  \end{tikzpicture}  
  \end{document}

Likewise, I am having the same problems with the following two trees, and would like to prevent the arrows dissecting the trees (as they currently do):

 \documentclass[12pt,a4paper]{article}   
    \usepackage{tikz-qtree}
    \usepackage{tikz-qtree-compat}
    \usepackage{ulem}

    \begin{document}

  \begin{tikzpicture}[baseline=(current bounding box.center), every tree node/.style={align=center,anchor=north}, level distance = 17ex, scale= 0.5]   
   \Tree  [.t [.{\formula{\lambda Q. \exists z [company' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. company'(d):} \\ \formula{(e \linimp t)}  } ] ] [.{\formula{\lambda l'. \exists z [sample' (z)} \\ \formula{\land ]:} \\ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, z)]:}    \\ \formula{e \linimp t} \hspace{0.1cm} }      [.\node (ne) {$l' : e$}; ] [.{\formula{\exists z [sample' (z)} \\ \formula{\land ]:} \\ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, z)]:}    \\ \formula{t} \hspace{0.1cm} }       [.{\formula{\lambda Q. \exists z [sample' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. sample'(d):} \\ \formula{(e \linimp t)}  } ] ] [.{ \formula{\lambda m'. \forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{e \linimp t} }        [.\node (re) {$m : e$}; ] [.{ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{t} }           [.{ \formula{\lambda Q. \forall x [R.of(x,l')} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} }          [.{ \formula{\lambda P. \lambda Q. \forall x [P (x)} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} ] [.{\formula{\lambda n'. R.of(n',l'):} \\ \formula{e \linimp t} }            [.\node (ue) {$n' : e$}; ] [.{\formula{R.of(n',l'):} \\ \formula{t} }                 [.\node [circle,draw] (le) {$n' : e$} ; ] [.{\formula{\lambda x. R.of(x,l'):} \\ \formula{(e \linimp t)} }       [.{\formula{\lambda y \lambda x. R.of(x,y):} \\ \formula{(e \linimp} \\ \formula{(e \linimp t)} }  ] [. \formula{l : e} [.{\formula{\lambda x_e. x_e:} \\ \formula{(e \linimp e)} } ] [.\node [circle,draw] (me) {$l' : e$} ; ]     ]       ]    ] ] ] [.{\formula{\lambda k'. saw(k',m'):} \\ \formula{e \linimp t} }     [.\node (te) {$k' : e$}; ] [.{\formula{saw(k',m'):} \\ \formula{t} }       [.\node [circle,draw] (se) {$k' : e$} ; ] [.{\formula{\lambda x. saw(x,m'):} \\ \formula{(e  \linimp  t)} }  [.{\formula{\lambda y\lambda x. saw(x,y):} \\ \formula{(e \linimp} \\ \formula{(e  \linimp  t)} } ] [.\node [circle,draw] (pe) {$m : e$} ; ] ]      ] ] ]            ]    ] ]                                                               ] 
 \draw[semithick, dashed, ->] (le)..controls +(south west:1) and +(south:1) .. (ue);
\draw[semithick, dashed, ->]
  (me)..controls +(south west:15) and +(south:15) .. (ne);
\draw[semithick, dashed, ->] (se)..controls +(south west:1) and +(south:1) .. (te); 
\draw[semithick, dashed, ->] (pe)..controls +(south west:6) and +(south:6) .. (re);  
  \end{tikzpicture}  
  \end{document}

And the last tree:

\documentclass[12pt,a4paper]{article}   
    \usepackage{tikz-qtree}
    \usepackage{tikz-qtree-compat}
    \usepackage{ulem}

    \begin{document}

  \begin{tikzpicture}[baseline=(current bounding box.center), every tree node/.style={align=center,anchor=north}, level distance = 15ex, scale= 0.5]   
   \Tree  [.t [.{\formula{\lambda Q. \exists z [sample' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. sample'(d):} \\ \formula{(e \linimp t)}  } ] ] [.{\formula{\lambda m'. \exists z [company' (z)} \\ \formula{\land \forall x [R.of(x,z)} \\ \formula{\rightarrow Saw(x, m')]]:} \\ \formula{t} \hspace{0.1cm} }  [.\node (re) {$m' : e$}; ] [.{\formula{\exists z [company' (z)} \\ \formula{\land \forall x [R.of(x,z)} \\ \formula{\rightarrow Saw(x, m')]]:} \\ \formula{t} \hspace{0.1cm} }       [.{\formula{\lambda Q. \exists z [company' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. company'(d):} \\ \formula{(e \linimp t)}  } ] ] [.{ \formula{\lambda l'. \forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{e \linimp t} }  [.\node (ne) {$l' : e$}; ] [.{ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{t} }       [.{ \formula{\lambda Q. \forall x [R.of(x,l')} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}}       [.{ \formula{\lambda P. \lambda Q. \forall x [P (x)} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} ] [.{\formula{\lambda n'. R.of(n',l'):} \\ \formula{e \linimp t} }         [.\node (ue) {$n' : e$}; ] [.{\formula{R.of(n',l'):} \\ \formula{t} }     [.\node [circle,draw] (le) {$n' : e$} ; ] [.{\formula{\lambda x. R.of(x,l'):} \\ \formula{(e \linimp t)} }    [.{\formula{\lambda y\lambda x. R.of(x,y):} \\ \formula{(e \linimp} \\ \formula{e \linimp t)} } ] [. \formula{l : e} [.{\formula{\lambda x_e. x_e:} \\ \formula{(e \linimp e)} }  ] [.\node [circle,draw] (me) {$l' : e$} ; ]    ]     ]    ] ] ] [.{\formula{\lambda k'. saw(k',m'):} \\ \formula{e \linimp t} }         [.\node (te) {$k' : e$}; ] [.{\formula{saw(k',m'):} \\ \formula{t} }        [.\node [circle,draw] (se) {$k' : e$} ; ] [.{\formula{\lambda x. saw(x,m'):} \\ \formula{(e  \linimp  t)} }           [.{\formula{\lambda y\lambda x. saw(x,y):} \\ \formula{(e \linimp} \\ \formula{(e  \linimp  t)} }    ] [.\node [circle,draw] (pe) {$m' : e$} ; ] ]      ] ] ]            ]    ] ]                                                               ] 
 \draw[semithick, dashed, ->] (le)..controls +(south west:1) and +(south:1) .. (ue);
\draw[semithick, dashed, ->]
  (me)..controls +(south west:11) and +(south:11) .. (ne);
\draw[semithick, dashed, ->] (se)..controls +(south west:1) and +(south:1) .. (te); 
\draw[semithick, dashed, ->] (pe)..controls +(south west:6) and +(south:6) .. (re);  
  \end{tikzpicture}   

  \end{document}
  • 1
    All the thing is to find appropriate control points; try \draw[overlay,semithick, dashed, ->] (pe)..controls +(south:8) and (south:50) .. (re); . – Gonzalo Medina Sep 10 '15 at 17:15
  • Ahhhhh, I didn't realise you could have +(south:8) and (south:50)... I thought the first had to be +(south west). – user65526 Sep 10 '15 at 17:19
4

It all boils down to choosing appropriate control points (I had to provide fake definitions for \formula and \linimp to process your code):

\documentclass[tikz,border=5pt]{standalone}   
\usepackage{tikz-qtree}
\usepackage{tikz-qtree-compat}
\usepackage{ulem}

\newcommand\formula[1]{$#1$}
\newcommand\linimp{}

\begin{document}

\begin{tikzpicture}[baseline=(current bounding box.center), every tree     node/.style={align=center,anchor=north}, level distance = 16ex, scale= 0.5]   
      \Tree [. {\formula{\exists z [sample(z) \land \forall x \exists y      [Company (y) \land Representative-of(x,y) \rightarrow saw(x, z)]]} \\    \formula{t}   }     [.{\formula{\lambda Q. \exists z [sample' (z)} \\    \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} }  [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} }  ] [.{ \formula{\lambda d. sample'(d):} \\ \formula{(e \linimp t)}  }  ]  ] [. { \formula{\lambda m. \forall x \exists z [company' (z)  \land R.of(x, z)} \\ \formula{\rightarrow \exists y [sample' (y) \land saw'(x, y)]} \\ \formula{((e \linimp t)}  } [.\node (re) {$m : e$}; ] [.{ \formula{\forall x \exists z [company' (z)  \land R.of(x, z)} \\ \formula{\rightarrow \exists y [sample' (y) \land saw'(x, y)]} \\ \formula{t} } [.{ \formula{\lambda Q. \forall x \exists z [company' (z)} \\ \formula{\land R.of(x, z) \rightarrow Q(x)} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} }  [.{ \formula{\lambda P. \lambda Q. \forall x [P (x)} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} ] [.{\formula{\lambda n. \exists z [company' (z)} \\ \formula{\land R.of(n',z)]:} \\ \formula{(e \linimp t} }     [.\node (ue) {$n : e$}; ] [.{\formula{\exists z [company' (z)} \\ \formula{\land R.of(n',z)]: t} }          [.{\formula{\lambda Q. \exists z [company' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} }  ] [.{ \formula{\lambda d. company'(d):} \\ \formula{(e \linimp t)}  } ]             ] [.{\formula{\lambda l. R.of(n',l'):} \\ \formula{(e \linimp t)} }       [.\node (ne) {$l : e$}; ] [.{\formula{R.of(n',l'):} \\ \formula{(t)} }       [.\node [circle,draw] (le) {$n : e$} ; ] [.{\formula{\lambda x. R.of(x,l'):} \\ \formula{(e \linimp t)} }       [.{\formula{\lambda y\lambda x. R.of(x,y):} \\ \formula{(e \linimp } \\ \formula{(e \linimp t)} } ] [.{\formula{l':e} }     [. {\formula{\lambda x_e. x_e:} \\ \formula{(e \linimp e)} } ] [.\node [circle,draw] (me) {$l' : e$} ; ] ] ]         ]                ]             ] ]         ] [.{\formula{\lambda k'. saw(k',m):} \\ \formula{(e \linimp t)} } [.\node (te) {$k' : e$}; ] [.{\formula{saw(k',m'):} \\ \formula{t} }          [.\node [circle,draw] (se) {$k' : e$} ; ] [.{\formula{\lambda x. saw(x,m'):} \\ \formula{(e  \linimp  t)} }   [.{\formula{\lambda y\lambda x. saw(x,y):} \\ \formula{(e \linimp} \\ \formula{(e  \linimp  t)} } ] [.\node [circle,draw] (pe) {$m : e$} ; ] ] ]                  ]             ]           ] ] 
  \draw[semithick, dashed, ->] (le)..controls +(south west:10) and +(south:10)    .. (ue);   
  \draw[semithick, dashed, ->]
  (me)..controls +(south west:11) and +(south:11) .. (ne);
  \draw[semithick, dashed, ->] (se)..controls +(south west:1) and +(south:1) .. (te);    
  \draw[overlay,semithick, dashed, ->] (pe)..controls +(south:8) and  (south:50) .. (re);    
\end{tikzpicture}  

\begin{tikzpicture}[baseline=(current bounding box.center), every tree node/.style={align=center,anchor=north}, level distance = 17ex, scale= 0.5]   
   \Tree  [.t [.{\formula{\lambda Q. \exists z [company' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. company'(d):} \\ \formula{(e \linimp t)}  } ] ] [.{\formula{\lambda l'. \exists z [sample' (z)} \\ \formula{\land ]:} \\ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, z)]:}    \\ \formula{e \linimp t} \hspace{0.1cm} }      [.\node (ne) {$l' : e$}; ] [.{\formula{\exists z [sample' (z)} \\ \formula{\land ]:} \\ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, z)]:}    \\ \formula{t} \hspace{0.1cm} }       [.{\formula{\lambda Q. \exists z [sample' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. sample'(d):} \\ \formula{(e \linimp t)}  } ] ] [.{ \formula{\lambda m'. \forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{e \linimp t} }        [.\node (re) {$m : e$}; ] [.{ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{t} }           [.{ \formula{\lambda Q. \forall x [R.of(x,l')} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} }          [.{ \formula{\lambda P. \lambda Q. \forall x [P (x)} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} ] [.{\formula{\lambda n'. R.of(n',l'):} \\ \formula{e \linimp t} }            [.\node (ue) {$n' : e$}; ] [.{\formula{R.of(n',l'):} \\ \formula{t} }                 [.\node [circle,draw] (le) {$n' : e$} ; ] [.{\formula{\lambda x. R.of(x,l'):} \\ \formula{(e \linimp t)} }       [.{\formula{\lambda y \lambda x. R.of(x,y):} \\ \formula{(e \linimp} \\ \formula{(e \linimp t)} }  ] [. \formula{l : e} [.{\formula{\lambda x_e. x_e:} \\ \formula{(e \linimp e)} } ] [.\node [circle,draw] (me) {$l' : e$} ; ]     ]       ]    ] ] ] [.{\formula{\lambda k'. saw(k',m'):} \\ \formula{e \linimp t} }     [.\node (te) {$k' : e$}; ] [.{\formula{saw(k',m'):} \\ \formula{t} }       [.\node [circle,draw] (se) {$k' : e$} ; ] [.{\formula{\lambda x. saw(x,m'):} \\ \formula{(e  \linimp  t)} }  [.{\formula{\lambda y\lambda x. saw(x,y):} \\ \formula{(e \linimp} \\ \formula{(e  \linimp  t)} } ] [.\node [circle,draw] (pe) {$m : e$} ; ] ]      ] ] ]            ]    ] ]                                                               ] 
 \draw[semithick, dashed, ->] (le)..controls +(south west:1) and +(south:1) .. (ue);
\draw[semithick, dashed, ->]
  (me)..controls +(south west:15) and +(south:15) .. (ne);
\draw[semithick, dashed, ->] (se)..controls +(south west:1) and +(south:1) .. (te); 
\draw[overlay,semithick, dashed, ->] (pe)..controls +(south:20) and +(south west:10) .. (re.south);  
\end{tikzpicture}  

  \begin{tikzpicture}[baseline=(current bounding box.center), every tree node/.style={align=center,anchor=north}, level distance = 15ex, scale= 0.5]   
   \Tree  [.t [.{\formula{\lambda Q. \exists z [sample' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. sample'(d):} \\ \formula{(e \linimp t)}  } ] ] [.{\formula{\lambda m'. \exists z [company' (z)} \\ \formula{\land \forall x [R.of(x,z)} \\ \formula{\rightarrow Saw(x, m')]]:} \\ \formula{t} \hspace{0.1cm} }  [.\node (re) {$m' : e$}; ] [.{\formula{\exists z [company' (z)} \\ \formula{\land \forall x [R.of(x,z)} \\ \formula{\rightarrow Saw(x, m')]]:} \\ \formula{t} \hspace{0.1cm} }       [.{\formula{\lambda Q. \exists z [company' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. company'(d):} \\ \formula{(e \linimp t)}  } ] ] [.{ \formula{\lambda l'. \forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{e \linimp t} }  [.\node (ne) {$l' : e$}; ] [.{ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{t} }       [.{ \formula{\lambda Q. \forall x [R.of(x,l')} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}}       [.{ \formula{\lambda P. \lambda Q. \forall x [P (x)} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} ] [.{\formula{\lambda n'. R.of(n',l'):} \\ \formula{e \linimp t} }         [.\node (ue) {$n' : e$}; ] [.{\formula{R.of(n',l'):} \\ \formula{t} }     [.\node [circle,draw] (le) {$n' : e$} ; ] [.{\formula{\lambda x. R.of(x,l'):} \\ \formula{(e \linimp t)} }    [.{\formula{\lambda y\lambda x. R.of(x,y):} \\ \formula{(e \linimp} \\ \formula{e \linimp t)} } ] [. \formula{l : e} [.{\formula{\lambda x_e. x_e:} \\ \formula{(e \linimp e)} }  ] [.\node [circle,draw] (me) {$l' : e$} ; ]    ]     ]    ] ] ] [.{\formula{\lambda k'. saw(k',m'):} \\ \formula{e \linimp t} }         [.\node (te) {$k' : e$}; ] [.{\formula{saw(k',m'):} \\ \formula{t} }        [.\node [circle,draw] (se) {$k' : e$} ; ] [.{\formula{\lambda x. saw(x,m'):} \\ \formula{(e  \linimp  t)} }           [.{\formula{\lambda y\lambda x. saw(x,y):} \\ \formula{(e \linimp} \\ \formula{(e  \linimp  t)} }    ] [.\node [circle,draw] (pe) {$m' : e$} ; ] ]      ] ] ]            ]    ] ]                                                               ] 
 \draw[semithick, dashed, ->] (le)..controls +(south west:1) and +(south:1) .. (ue);
\draw[semithick, dashed, ->]
  (me)..controls +(south west:11) and +(south:11) .. (ne);
\draw[overlay,semithick, dashed, ->] (se)..controls +(south west:1) and +(south:1) .. (te); 
\draw[overlay,semithick, dashed, ->] (pe)..controls +(south:25) and +(south west:15) .. (re);  
\end{tikzpicture}   

\end{document}

enter image description here

Also, you will need to use either some overlays (as I did in my answer) or clipping to prevent control points to enlarge too much the bounding box.

| improve this answer | |
  • Linimp does not appear in your diagrams, but it does in mine. – user65526 Sep 10 '15 at 17:59
  • @user65526 Read the initial part of my answer. Since you didn't provide the definition I provided a fake temporary one to make the code compilable. – Gonzalo Medina Sep 10 '15 at 18:01
  • @user65526 If this answer solves your problem please consider accepting the question (and up-vote it). – moewe Sep 14 '15 at 11:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.