I am teaching an introduction to proof course. The truth table for implication is always extremely difficult for students to understand. It feels, to me, that the truth table is an imperfect reflection of the true meaning of implication.
We want $p \implies q$ to be true if and only if we can start with $p$ as a hypothesis and deduce $q$ as a conclusion using a valid argument. If no such valid argument exists, then we want $p \implies q$ to be false.
Clearly if $p$ is a true statement and $q$ is a false statement, then there can be no valid argument which presumes $p$ and deduces $q$. This row of the truth table is clear.
Each other row is less clear.
We can invent examples
$F \implies F$: Let $p$ be the statement that $2<1$ and $q$ be the statement that $3<2$. If we presume $2<1$, then by adding one to both sides we may conclude that $3<2$. Clearly a false premise can lead us (via a valid argument) to a false conclusion.
$F \implies T$: Let $p$ be the statement that $2<1$ and let $q$ be the statement that $0<1$. If we presume that $2<1$, then since $0<2$ it follows by transitivity that $0<1$. This is a valid argument starting with a false statement and deriving a true statement. A false premise can lead us, via a valid argument, to a true conclusion "by accident".
$T \implies T$: If $p$ is the statement that $1<2$ and $q$ is the statement that $2<3$, then we can presume $p$ and deduce $q$ by adding one to both sides of the inequality.
However, there are other cases where it is less clear. A famous one is "If 1+1 = 1, then I am the pope". Although Bertrand Russell had a clever reply to this one, it really isn't clear that a valid argument can start with the premise $1+1=1$ and conclude with "I am the pope". Absent actually producing such an argument, it seems that the validity of $(F \implies T) = T$ is in jeopardy here.
Is there a system of logic which captures these subtleties?
I am imagining a system in which arguments are "first class objects" which we can quantify over. An argument can be judged valid or invalid. In such a system we might define $(p \implies q) := \exists A \in \textrm{Arguments}(p,q): \textrm{valid}(A)$.