A black dog with a red collar wading through the water.
A black puppy with a red collar is learning to swim.
A dog wading through water doesn't have to  be puppy or be learning to swim.
exists e1 s1 s2 x1 x2 x3 x4.(n_water(x4) & a_topic(x1) & with(x1,x2) & through(e1,x4) & Actor(e1,x3) & v_wade(e1) & (x2 = x3) & n_collar(x2) & a_red(s2) & Theme(s2,x2) & n_dog(x1) & a_black(s1) & Theme(s1,x1))
exists e1 p1 s1 s2 x1 x2.(Topic(e1,p1) & Actor(e1,x1) & v_learn(e1) & exists e2.(Actor(e2,x1) & v_swim(e2)) & with(x1,x2) & n_collar(x2) & a_red(s2) & Theme(s2,x2) & n_puppy(x1) & a_black(s1) & Theme(s1,x1))