A logical sentence is simply a statement that is either true or false. You may not know its truth value, but it has one. That modest definition is the foundation of everything we build in the logic unit, and it is easy to get wrong in the wild.
Classify each sentence. Is it a logical sentence at all? If so, is it contingent (could go either way), a tautology (true by logic alone), or a contradiction (false by logic alone)?
Silly sentences are deliberate. 'All men are carrots!' strips away your background knowledge so only the logic remains, which is exactly the skill being trained.
A set of sentences is consistent when it is logically possible for all of them to be true at the same time, and inconsistent otherwise. Judge each pair.
Nothing in the surface form of 'I have a younger brother' and 'I am an only child' clashes: as bare symbols, B and O are just two atoms. We judge them inconsistent because we understand what the sentences mean. Later, once we translate sentences into symbolic logic, consistency checks become purely structural: a truth table hunt for a row where everything is true.
In R, == asks: do these two expressions have the same value right now? Logical equivalence asks: do they have the same value in every possible world? Flip the variables and watch the difference.
== evaluates the current state of your variables: one row of the truth table. Logical equivalence is a claim about all rows. Two expressions can happen to agree today and still mean different things.
This is why we use truth tables to establish equivalence, and why a passing test run is not a proof that two pieces of code do the same thing.