reserve A for non empty closed_interval Subset of REAL;

theorem
for c being Real, f,g be PartFunc of REAL,REAL st
].-infty,c.] c= dom f & [.c,+infty.[ c= dom g holds
f|].-infty,c.[ +* g|[.c,+infty.[ = (f|].-infty,c.]) +* (g|[.c,+infty.[)
proof
 let c be Real;
 let f,g be PartFunc of REAL,REAL;
 assume
 A1: ].-infty,c.] c= dom f & [.c,+infty.[ c= dom g;
 set f1 = (f|].-infty,c.[) +* (g|[.c,+infty.[);
 set f2 = (f|].-infty,c.]) +* (g|[.c,+infty.[);
 A4: -infty < c & c < +infty by XXREAL_0:12,XXREAL_0:9,XREAL_0:def 1;
   ].-infty,c.[ c= ].-infty,c.] by XXREAL_1:21; then
a1: ].-infty,c.[ c= dom f by A1;
 A2: dom f1
  = dom (f|].-infty,c.[) \/ dom (g|[.c,+infty.[) by FUNCT_4:def 1
 .= ].-infty,c.[ \/ dom (g|[.c,+infty.[) by RELAT_1:62,a1
 .= ].-infty,c.[ \/ [.c,+infty.[ by RELAT_1:62,A1
 .= ].-infty,+infty.[ by XXREAL_1:173,A4
 .= ].-infty,c.] \/ [.c,+infty.[ by XXREAL_1:172,A4
 .= dom (f | ].-infty,c.]) \/ [.c,+infty.[ by RELAT_1:62,A1
 .= dom (f | ].-infty,c.]) \/ dom (g | [.c,+infty.[) by RELAT_1:62,A1
 .= dom f2 by FUNCT_4:def 1;
 Dg: dom (g|[.c,+infty.[) = [.c,+infty.[ by RELAT_1:62,A1;
 for x being object st x in dom f1 holds f1.x = f2.x
 proof
  let x be object;
  assume x in dom f1; then
  reconsider x as Real;
  per cases;
  suppose C1: x >= c; then
   ((f|].-infty,c.[) +* (g|[.c,+infty.[)).x
    = (g|[.c,+infty.[).x by FUNCT_4:13,Dg,XXREAL_1:236;
   hence thesis by FUNCT_4:13,Dg,C1,XXREAL_1:236;
  end;
  suppose C2: x < c;
   ].-infty,c.[ c= ].-infty,c.] by XXREAL_1:21; then
   C6: x in ].-infty,c.] by XXREAL_1:233,C2;
   not x in [.c,+infty.[ by C2,XXREAL_1:236; then
   C4: not x in dom (g|[.c,+infty.[) by RELAT_1:62,A1; then
   ((f|].-infty,c.[) +* (g|[.c,+infty.[)).x
    = (f|].-infty,c.[).x by FUNCT_4:11
   .= f .x by FUNCT_1:49,XXREAL_1:233,C2
   .= (f|].-infty,c.]).x by FUNCT_1:49,C6;
   hence thesis by FUNCT_4:11,C4;
  end;
 end;
 hence thesis by FUNCT_1:2,A2;
end;
