A teenager getting his haircut while his friends wait.
The boy wants to look good for prom.
We cannot infer that the boy is getting his hair cut because he wants to look good, or that he is getting it cut for prom.
exists e1 e2 x1 x2 x3 x4.(Actor(e2,x1) & v_wait(e2) & while(e1,x4) & n_friend(x4) & of(x4,x1) & n_male(x1) & n_male(x1) & Theme(e1,x3) & Actor(e1,x2) & v_get(e1) & n_haircut(x3) & of(x3,x1) & (x1 = x2) & n_teenager(x1))
exists e1 p1 x1.(n_boy(x1) & Topic(e1,p1) & Actor(e1,x1) & v_want(e1) & exists e2 p2.(exists s1 x2.(for(s1,x2) & n_prom(x2) & Theme(s1,x1) & a_good(s1)) & Topic(e2,p2) & Actor(e2,x1) & v_look(e2)))