\node[] (i0j0) at (-1, -1) {a}; \node[] (i1j0) at (1, -1) {b}; \node[] (i0j1) at (-1, 1) {b}; \node[] (i1j1) at (1, 1) {b}; \node (in) at (0, 0) {$\lambda i j. p (i \lor j)$}; \draw[->] (i0j0) -- (i0j1) node [midway] {$p$}; \draw[->] (i0j0) -- (i1j0) node [midway, below] {$p$}; \draw[->] (i0j1) -- (i1j1) node [midway] {$\lambda i. p\ i1$}; \draw[->] (i1j0) -- (i1j1) node [midway, right] {$\lambda j. p\ i1$};