I just want to know if I have applied correct reasoning to the following problems:

Is it really that simple? I defined just one predicate Knows Victim - K(x)

A: K(B) //says B knew the victim
B: NOT K(B) //says he didnt knew the victim
C: K(B) // said that B was with victim

Therefore the only explanation is that A and C are telling the truth and C was lying, he wasn't out of town was he?

And second

I introduced the predicate ... is Romulan R(x) and ... is Vulcan V(x)

A: R(b) <-> NOT V(c)
B: NOT V(b) <-> V(c)
C: NOT V(a)

Now I stated that if somebody is NOT Vulcan then he must be Romulan, therefore I get

A: R(b) <-> R(c)
B: R(b) <-> NOT R(c)
C: R(a)

now A and B are contradictory, therefore one of them must be a liar and one of them must be telling the truth, but since only one is telling the truth then C must be telling a lie, therefore R(a) is a lie and because of the V(a) is true. Mr. A is Vulcan and B and C are Romulans.

Is this correct. I found this tasks to be super easy, I get a bit fishy when I solve something in math with relative ease.

In ordinary usage, I wouldn't say that "knowing a person" is the same as "being with a person". (They may merely have been in physical proximity of each other).

Note that Adams and Brown necessarily contradict each other ("old acquaintance" contradicts "don't even know the guy")

Thus, by hypothesis, C NECESSARILY speaks the truth!
Thus, it is true that he saw Brown downtown, and thus Brown is lying when saying he was out of town all day.
Hence, Brown is the killer.