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