reserve a,b,p,x,x9,x1,x19,x2,y,y9,y1,y19,y2,z,z9,z1,z2 for object,
   X,X9,Y,Y9,Z,Z9 for set;
reserve A,D,D9 for non empty set;
reserve f,g,h for Function;

theorem Th14:
  f +* g +* h = f +* (g +* h)
proof
A1: now
    let x be object such that
    x in dom f \/ dom(g +* h);
    hereby
      assume
A2:   x in dom(g +* h);
      per cases by A2,Th12;
      suppose
A3:     x in dom g & not x in dom h;
        hence (f +* g +* h).x = (f +* g).x by Th11
          .= g.x by A3,Th13
          .= (g +* h).x by A3,Th11;
      end;
      suppose
A4:     x in dom h;
        hence (f +* g +* h).x = h.x by Th13
          .= (g +* h).x by A4,Th13;
      end;
    end;
    assume
A5: not x in dom(g +* h);
    then
A6: not x in dom g by Th12;
    not x in dom h by A5,Th12;
    hence (f +* g +* h).x = (f +* g).x by Th11
      .= f.x by A6,Th11;
  end;
  dom(f +* g +* h) = dom(f +* g) \/ dom h by Def1
    .= dom f \/ dom g \/ dom h by Def1
    .= dom f \/ (dom g \/ dom h) by XBOOLE_1:4
    .= dom f \/ dom(g +* h) by Def1;
  hence thesis by A1,Def1;
end;
