reserve A for non empty closed_interval Subset of REAL;

theorem Lm220:
for a,b,c,d be Real, f be Function of REAL,REAL st b > 0 & c > 0 & d > 0 &
d < b & ( for x be Real holds f.x = min(d, max(0, b - |. b*(x-a)/c .|)) )
holds f = d (#) TrapezoidalFS (a-c,a+(d-b)/(b/c),a+(b-d)/(b/c),a+c)
proof
 let a,b,c,d be Real;
 let f be Function of REAL,REAL;
 assume A1: b > 0 & c > 0 & d > 0 & d < b;
 assume A2: for x be Real holds f.x = min(d, max(0, b - |. b*(x-a)/c .|));
 A3: dom f = REAL by FUNCT_2:def 1
 .= dom (d (#) TrapezoidalFS (a-c,a+(d-b)/(b/c),a+(b-d)/(b/c),a+c))
 by FUNCT_2:def 1;
 for x be object st x in dom f holds
 f.x = (d (#) TrapezoidalFS (a-c,a+(d-b)/(b/c),a+(b-d)/(b/c),a+c)).x
 proof
  let x be object;
  assume x in dom f; then
  reconsider x as Real;
  f.x = min(d, max(0, b - |. b*(x-a)/c .|)) by A2
  .= (d (#) TrapezoidalFS (a-c,a+(d-b)/(b/c),a+(b-d)/(b/c),a+c)).x
  by A1,LmCri2;
  hence thesis;
 end;
 hence thesis by A3,FUNCT_1:2;
end;
