Evaluating Program Semantics Reasoning with Type Inference in System F