Let me go through how you might come up with the formula for or, and then let you do something similar for impl.
The key observation here is: if $x$ is true, then $x \vee y$ is always true. Whereas if $x$ is false, then $x \vee y$ is equal to $y$. Therefore,
$x \vee y = cond ~ x ~ true ~ y.$ In other words, $$\vee = \lambda x . \lambda y . (\mathbf{if}~ x~ \mathbf{then}~ true ~ \mathbf{else}~ y) = \lambda x . \lambda y . cond ~ x ~ true ~ y = \lambda x . \lambda y . x ~ true ~ y.$$ (And if you like, you can then make this a bit shorter using the $\eta$ rule: it is equivalent to $\lambda x . x ~ true$.)
Now, for impl, we can start off with a similar analysis: if $x$ is true, then $x \rightarrow y$ is equal to $y$; whereas if $x$ is false, then $x \rightarrow y$ is always true. I'll leave it to you to take the construction of impl as a lambda expression from here.