premise: A carpenter is working on a roof at a house being built.
hypothesis: A man is hammering the final shingle on a roof.
explanation_1: Not all carpenters have to be a man, and working on a roof doesn't have to mean that hammering a shingle was being performed.
explanation_2: There is no way to know how far along the carpenter in the first sentence is.  The second allows you to know that he is hammering the final shingle and is now finished.
explanation_3: because he is working on it that might not be the final shingle
premise_logic: exists e2 e1 x1 x2 x3 x4.(at(e1,x3) & Theme(e2,x4) & v_build(e2) & (x3 = x4) & n_house(x3) & on(e1,x2) & n_roof(x2) & Actor(e1,x1) & v_work(e1) & n_carpenter(x1))
hypothesis_logic: exists e1 s1 x1 x2 x3.(n_shingle(x2) & a_final(s1) & Theme(s1,x2) & Theme(e1,x2) & Actor(e1,x1) & v_hammer(e1) & on(x2,x3) & n_roof(x3) & n_man(x1))
premise_sim: exists e2 e1 x1 x2 x3 x4.(v_work(e1) & v_build(e2) & on(e1,x2) & n_roof(x2) & n_house(x3) & n_carpenter(x1) & at(e1,x3) & Theme(e2,x4) & Actor(e1,x1) & (x3 = x4))
hypothesis_sim: exists e1 s1 x1 x2 x3.(v_hammer(e1) & on(x2,x3) & n_shingle(x2) & n_roof(x3) & n_man(x1) & a_final(s1) & Theme(s1,x2) & Theme(e1,x2) & Actor(e1,x1))