I have read a number of the great questions and answers regarding syntactic consequence, semantic consequence, the material implication and the logical implication. In particular the answers to this question $\to$ vs. $\vdash$ in logic made it clear that a distinction between the object and metalogical language is important.
My question is about what it means to prove a material conditional statement by direct proof, I.e. to prove $P \rightarrow Q $ by assuming $P$. Is it the case that this method of proof is tantamount to showing the statement (in the meta-language) $P \vdash Q$ is true?
I am quite confused as to whether this is the case or not, as on the one hand from what I've read, it seems like I am confusing the proof in the object language, with a statement in the meta-language.
However at the same time, my understanding of a proof is that we have a sequence of sentences deduced from that are assumptions, axioms, or deduced statements using the rules of inference of our system. To me this means that when we assume $P$ to prove $Q$, we are ultimately trying to show that $P \vdash Q$.
Which of these two notions is correct?
As an additional question, if we have shown that $P \rightarrow Q$ is indeed true, we then eliminate the model of $P$ being true while $Q$ is false as a possibility. Does this mean that $P \vDash Q$ since the only model in which $Q$ is false while $P$ is true is known to be impossible? In other words, if I know in my object language that a particular model is impossible, does this affect the meta-language statement of entailment? (My apologies if this should be posed as a separate question; I thought it was relevant since I think my confusion is stemming in both cases from how the meta-language statements and object language statements affect each other.)