reserve r,p,x for Real;
reserve n for Element of NAT;
reserve A for non empty closed_interval Subset of REAL;
reserve Z for open Subset of REAL;

theorem
  A c= Z implies integral((id Z)(#)cos,A) = ((id Z)(#)sin+cos).(
  upper_bound A)-((id Z)(#)sin+cos).(lower_bound A)
proof
  assume
A1: A c= Z;
  dom ((id Z)(#)sin+cos) = dom ((id Z)(#)sin) /\ REAL by SIN_COS:24
,VALUED_1:def 1
    .= dom ((id Z)(#)sin) by XBOOLE_1:28
    .= dom (id Z) /\ REAL by SIN_COS:24,VALUED_1:def 4
    .= dom (id Z) by XBOOLE_1:28;
  then
A2: dom ((id Z)(#)sin+cos) = Z by RELAT_1:45;
  then
A3: (id Z)(#)sin+cos is_differentiable_on Z by FDIFF_4:47;
A4: for x st x in Z holds ((id Z)(#)cos).x = x*cos.x
  proof
    let x;
    assume
A5: x in Z;
    ((id Z)(#)cos).x = ((id Z).x)*(cos.x) by VALUED_1:5
      .= x*cos.x by A5,FUNCT_1:18;
    hence thesis;
  end;
A6: for x being Element of REAL
st x in dom (((id Z)(#)sin+cos)`|Z) holds (((id Z)(#)sin+cos)`|Z)
  .x = ((id Z)(#)cos).x
  proof
    let x be Element of REAL;
    assume x in dom (((id Z)(#)sin+cos)`|Z);
    then
A7: x in Z by A3,FDIFF_1:def 7;
    then (((id Z)(#)sin+cos)`|Z).x =x*cos.x by A2,FDIFF_4:47
      .= ((id Z)(#)cos).x by A4,A7;
    hence thesis;
  end;
A8: dom ((id Z)(#)cos) = dom (id Z) /\ REAL by SIN_COS:24,VALUED_1:def 4
    .= dom (id Z) by XBOOLE_1:28
    .= Z by RELAT_1:45;
  then dom (((id Z)(#)sin+cos)`|Z) = dom ((id Z)(#)cos) by A3,FDIFF_1:def 7;
  then
A9: (((id Z)(#)sin+cos)`|Z) = (id Z)(#)cos by A6,PARTFUN1:5;
  ((id Z)(#)cos)|A is continuous;
  then
A10: (id Z)(#)cos is_integrable_on A by A1,A8,INTEGRA5:11;
  ((id Z)(#)cos)|A is bounded by A1,A8,INTEGRA5:10;
  hence thesis by A1,A2,A10,A9,FDIFF_4:47,INTEGRA5:13;
end;
