There's another "solution" to this paradox: if we assert something we are guided by a set of "conversational principles". For example, asserting "X implies Y" if we know that X is false is inappropriate. If X is false, "not-X" would be the appropriate assertion.
According to this theory, there's nothing wrong with the truth-functional meaning of "X implies Y". We just need to take into account what is implied by asserting "X implies Y", rather than e.g. "not-X", or "X and Y".
Same with disjunction: "X or Y" is true if we know that X is true. However, if we assert "X or Y", it is implied that we're not certain that X is true, otherwise we would have used "X", which is the simplest way to convey what that fact.
This is known as Grice's Pragmatic Defence of Truth-Functionality.
Thanks, I didn't know about that. Here's the relevant article on the Stanford encyclopedia of Philosophy, which your comment prompted me to read; others might also find it useful:
According to this theory, there's nothing wrong with the truth-functional meaning of "X implies Y". We just need to take into account what is implied by asserting "X implies Y", rather than e.g. "not-X", or "X and Y".
Same with disjunction: "X or Y" is true if we know that X is true. However, if we assert "X or Y", it is implied that we're not certain that X is true, otherwise we would have used "X", which is the simplest way to convey what that fact.
This is known as Grice's Pragmatic Defence of Truth-Functionality.