reserve m, n for non zero Element of NAT;
reserve i, j, k for Element of NAT;
reserve Z for Subset of REAL 2;
reserve c for Real;
reserve I for non empty FinSequence of NAT;
reserve d1, d2 for Element of REAL;

theorem LM42:
  for A, B, e be Real ex f be Function of REAL,REAL st
  for x be Real holds f.x = A*cos.(e*x) + B*sin.(e*x)
  proof
    let A, B, e be Real;
    defpred P[object, object]
    means ex t be Real st $1=t & $2= A*cos.(e*t) + B*sin.(e*t);
    A0: for x being object st x in REAL ex y being object st y in REAL & P[x,y]
    proof
      let x be object;
      assume x in REAL;
      then reconsider t=x as Real;
      A*cos.(e*t) + B*sin.(e*t) in REAL by XREAL_0:def 1;
      hence thesis;
    end;
    consider f being Function of REAL,REAL such that
    A1: for x being object st x in REAL holds P[x,f.x] from FUNCT_2:sch 1(A0);
    take f;
    let x be Real;
    ex t be Real st x=t & f.x
      = A*cos.(e*t) + B*sin.(e*t) by XREAL_0:def 1, A1;
    hence thesis;
  end;
