Definition
For any integer polynomial $f$ and $n\in\mathbb N$ we define `deriv_n f n` to be the $n$-th derivative of polynomial $f$. $h^{[n]}$ means $h\circ h\circ h\cdots\circ h$ $n$-times.
def deriv_n (f : [X]) (n : ) : [X] := polynomial.derivative ^[n] f
Lemma

the zeroth derivative of polynomial $f$ is $f$ itself.

lemma zeroth_deriv (f : [X]) : deriv_n f 0 = f :=
Proof
This is purely definition of deriv_n f n We also used $f^{[n]}=\mathrm{id}$ and $\mathrm{id} x = x$.
    rw deriv_n, simp only [id.def, function.iterate_zero],
f : [X]
 deriv_n f 0 = f
no goals
QED.
Lemma

the derivative of $f^{(n)}$ is $f^{(n+1)}$

lemma deriv_succ (f : [X]) (n : ) : (deriv_n f n).derivative = (deriv_n f (n+1)) :=
Proof
By definition and $h^{[n+1]}=h\circ h^{[n]}$
    rw [deriv_n, deriv_n, function.iterate_succ'],
f : [X],
n : 
 (deriv_n f n).derivative = deriv_n f (n + 1)
no goals
QED.
Lemma

the $n$-th derivative of zero polynomial is $0$

lemma deriv_zero_p (n : ) : deriv_n 0 n = 0 :=
Proof
We prove by induction. Base case and inductive case can all be done with simp
    induction n with n hn; simp only [deriv_n, id.def, function.iterate_zero], rw <-deriv_n, assumption,
n : 
 deriv_n 0 n = 0
no goals
QED.
Lemma

If the $n$-th coefficient of $f$ is $a_n$, then the $n$-th coefficient in $f^{(k)}$ is $\left(\prod_{i=0}^{k-1} (n+k-i)\right)a_{n+k}$


lemma deriv_n_coeff (f : [X]) (k : ) :  n : , (deriv_n f k).coeff n = ( i in finset.range k, (n+k-i)) * (f.coeff (n+k)) :=
Proof
So we use induction on $k$
    induction k with k ih, 
f : [X],
k : 
  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k)
2 goals
case nat.zero
f : [X]
  (n : ), (deriv_n f 0).coeff n = ( (i : ) in finset.range 0, (n + 0 - i)) * f.coeff (n + 0)

case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k)
  (n : ),
    (deriv_n f k.succ).coeff n =
      ( (i : ) in finset.range k.succ, (n + (k.succ) - i)) * f.coeff (n + k.succ)
For the zeroth derivative, $f^{(0)}=f$. This case is true by simp.
    simp only [add_zero, nat.nat_zero_eq_zero, one_mul, finset.range_zero, finset.prod_empty], rw deriv_n, simp only [forall_const, id.def, eq_self_iff_true, function.iterate_zero],
2 goals
case nat.zero
f : [X]
  (n : ), (deriv_n f 0).coeff n = ( (i : ) in finset.range 0, (n + 0 - i)) * f.coeff (n + 0)

case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k)
  (n : ),
    (deriv_n f k.succ).coeff n =
      ( (i : ) in finset.range k.succ, (n + (k.succ) - i)) * f.coeff (n + k.succ)
case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k)
  (n : ),
    (deriv_n f k.succ).coeff n =
      ( (i : ) in finset.range k.succ, (n + (k.succ) - i)) * f.coeff (n + k.succ)
Let us assume our claim is true for $k$ and consider the $m$-th coefficient.
    intro m,
case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k)
  (n : ),
    (deriv_n f k.succ).coeff n =
      ( (i : ) in finset.range k.succ, (n + (k.succ) - i)) * f.coeff (n + k.succ)
case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
 (deriv_n f k.succ).coeff m =
    ( (i : ) in finset.range k.succ, (m + (k.succ) - i)) * f.coeff (m + k.succ)
We know that $f^{(k+1)}=\left(f^{(k)}\right)'$ and for any polynomial $g$, the $m$-th coefficient of $g'$ is $(m+1)\times (m+1)$-th coefficient of $g$. Then we can use induction hypothesis with $m+1$.
    rw [deriv_n, function.iterate_succ'], simp only [function.comp_app, int.coe_nat_succ], rw <-deriv_n, 
case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
 (deriv_n f k.succ).coeff m =
    ( (i : ) in finset.range k.succ, (m + (k.succ) - i)) * f.coeff (m + k.succ)
case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
 (deriv_n f k).derivative.coeff m =
    ( (i : ) in finset.range k.succ, (m + (k + 1) - i)) * f.coeff (m + k.succ)
    rw polynomial.coeff_derivative, rw ih (m+1),
case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
 (deriv_n f k).derivative.coeff m =
    ( (i : ) in finset.range k.succ, (m + (k + 1) - i)) * f.coeff (m + k.succ)
case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
 ( (i : ) in finset.range k, ((m + 1) + k - i)) * f.coeff (m + 1 + k) * (m + 1) =
    ( (i : ) in finset.range k.succ, (m + (k + 1) - i)) * f.coeff (m + k.succ)
    rw finset.prod_range_succ, simp only [int.coe_nat_succ, int.nat_cast_eq_coe_nat], 
case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
 ( (i : ) in finset.range k, ((m + 1) + k - i)) * f.coeff (m + 1 + k) * (m + 1) =
    ( (i : ) in finset.range k.succ, (m + (k + 1) - i)) * f.coeff (m + k.succ)
case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
 ( (i : ) in finset.range k, (m + 1 + k - i)) * f.coeff (m + 1 + k) * (m + 1) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
The rest of the proves are trivial to a pair of human eyes. But we need to give computers some hint to solve this triviality.
    have triv : ( (x : ) in finset.range k, ((m:) + 1 + k - x)) =  (x : ) in finset.range k, (m + (k + 1) - x),
case nat.succ
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
 ( (i : ) in finset.range k, (m + 1 + k - i)) * f.coeff (m + 1 + k) * (m + 1) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
2 goals
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
  (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)

f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv :
   (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)
 ( (i : ) in finset.range k, (m + 1 + k - i)) * f.coeff (m + 1 + k) * (m + 1) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
    {
2 goals
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
  (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)

f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv :
   (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)
 ( (i : ) in finset.range k, (m + 1 + k - i)) * f.coeff (m + 1 + k) * (m + 1) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
  (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)
        apply congr_arg, ext, simp only [sub_left_inj], ring,
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : 
  (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)
no goals
    }, rw triv,
no goals
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv :
   (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)
 ( (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + 1 + k) * (m + 1) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
    replace triv : (m + 1 : ) = (m + (k+1) - k:),
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv :
   (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)
 ( (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + 1 + k) * (m + 1) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
2 goals
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv :
   (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)
 m + 1 = m + (k + 1) - k

f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : m + 1 = m + (k + 1) - k
 ( (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + 1 + k) * (m + 1) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
    {
2 goals
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv :
   (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)
 m + 1 = m + (k + 1) - k

f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : m + 1 = m + (k + 1) - k
 ( (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + 1 + k) * (m + 1) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv :
   (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)
 m + 1 = m + (k + 1) - k
        rw add_sub_assoc, simp only [add_sub_cancel'],
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv :
   (x : ) in finset.range k, (m + 1 + k - x) =
     (x : ) in finset.range k, (m + (k + 1) - x)
 m + 1 = m + (k + 1) - k
no goals
    }, rw triv,
no goals
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : m + 1 = m + (k + 1) - k
 ( (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + 1 + k) * (m + (k + 1) - k) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
    replace triv : f.coeff (m + 1 + k) = f.coeff (m + k.succ),
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : m + 1 = m + (k + 1) - k
 ( (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + 1 + k) * (m + (k + 1) - k) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
2 goals
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : m + 1 = m + (k + 1) - k
 f.coeff (m + 1 + k) = f.coeff (m + k.succ)

f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : f.coeff (m + 1 + k) = f.coeff (m + k.succ)
 ( (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + 1 + k) * (m + (k + 1) - k) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
    {
2 goals
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : m + 1 = m + (k + 1) - k
 f.coeff (m + 1 + k) = f.coeff (m + k.succ)

f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : f.coeff (m + 1 + k) = f.coeff (m + k.succ)
 ( (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + 1 + k) * (m + (k + 1) - k) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : m + 1 = m + (k + 1) - k
 f.coeff (m + 1 + k) = f.coeff (m + k.succ)
        rw nat.succ_eq_add_one, ring,
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : m + 1 = m + (k + 1) - k
 f.coeff (m + 1 + k) = f.coeff (m + k.succ)
no goals
    },
no goals
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : f.coeff (m + 1 + k) = f.coeff (m + k.succ)
 ( (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + 1 + k) * (m + (k + 1) - k) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
    rw triv, ring,
f : [X],
k : ,
ih :  (n : ), (deriv_n f k).coeff n = ( (i : ) in finset.range k, (n + k - i)) * f.coeff (n + k),
m : ,
triv : f.coeff (m + 1 + k) = f.coeff (m + k.succ)
 ( (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + 1 + k) * (m + (k + 1) - k) =
    ((m + (k + 1) - k) *  (x : ) in finset.range k, (m + (k + 1) - x)) * f.coeff (m + k.succ)
no goals
QED.
Lemma

Like first derivative, higher derivatives still respect addition

lemma deriv_n_add (p q :[X]) (n : ) : (deriv_n (p+q) n) = (deriv_n p n) + (deriv_n q n) :=
Proof
QED.
Lemma

For any polynomial $f$ with degree $d$, the $d+1$-th derivative is zero.

theorem deriv_too_much (f : [X]): (deriv_n f (f.nat_degree + 1)) = 0 :=
Proof
We prove that all coefficient of $f^{(d+1)}$ is zero.
    ext,
f : [X]
 deriv_n f (f.nat_degree + 1) = 0
f : [X],
n : 
 (deriv_n f (f.nat_degree + 1)).coeff n = 0.coeff n
We use lemma deriv_n_coeff and all coefficient of zero polynomial is $0$.
    rw deriv_n_coeff, simp only [int.coe_nat_succ, polynomial.coeff_zero, mul_eq_zero], right,
f : [X],
n : 
 (deriv_n f (f.nat_degree + 1)).coeff n = 0.coeff n
f : [X],
n : 
 f.coeff (n + (f.nat_degree + 1)) = 0
Then the problem reduces to prove that $d+1$-th coeffcient of $f$ is zero. But $f$ has degree $d$. So we just need $d< d+1$. This is proved by linarith.
    apply polynomial.coeff_eq_zero_of_nat_degree_lt, linarith,
f : [X],
n : 
 f.coeff (n + (f.nat_degree + 1)) = 0
no goals
QED.
Lemma

if $i+1\le n$ then $n-(i+1)+1=n-i$

private lemma nat_sub_eq (n i : ) (h : i + 1  n) : (n - (i + 1) + 1) = n - i :=
Proof
QED.
Lemma

We have the pascal triangle

\[{n\choose k+1}+{n\choose k} = {n+1\choose k+1}\]

private lemma pascal_triangle (n k : ) : (n.choose (k+1)) + (n.choose k) = (n+1).choose (k+1) :=
Proof
This is actually how mathlib defined binomial coefficient.
    exact add_comm (nat.choose n (k + 1)) (nat.choose n k),
n k : 
 n.choose (k + 1) + n.choose k = (n + 1).choose (k + 1)
no goals
We prove by induction on $n$.
    induction n with n IH,
p q : [X],
n : 
 deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
2 goals
case nat.zero
p q : [X]
 deriv_n (p * q) 0 =
     (k : ) in finset.range 1, polynomial.C (0.choose k) * deriv_n p (0 - k) * deriv_n q k

case nat.succ
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
 deriv_n (p * q) n.succ =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
For $n=0$, we are using zeroth_deriv.
    simp only [zeroth_deriv, nat.choose_self, int.cast_coe_nat, ring_hom.eq_int_cast, one_mul, nat.cast_one, finset.sum_singleton, finset.range_one],
2 goals
case nat.zero
p q : [X]
 deriv_n (p * q) 0 =
     (k : ) in finset.range 1, polynomial.C (0.choose k) * deriv_n p (0 - k) * deriv_n q k

case nat.succ
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
 deriv_n (p * q) n.succ =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
case nat.succ
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
 deriv_n (p * q) n.succ =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
    {
case nat.succ
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
 deriv_n (p * q) n.succ =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
case nat.succ
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
 deriv_n (p * q) n.succ =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
For inductive case We use $(pq)^{(n+1)}=d(pq)^{(n)} $, inductive hypothesis and that derivative is linear.
        rw deriv_n, rw function.iterate_succ', dsimp, rw <-deriv_n,
case nat.succ
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
 deriv_n (p * q) n.succ =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
 (deriv_n (p * q) n).derivative =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        rw IH, simp only [polynomial.derivative_sum, polynomial.derivative_mul, zero_mul, polynomial.derivative_C, zero_add, polynomial.derivative_sum, polynomial.derivative_mul, zero_mul, polynomial.derivative_C, zero_add], 
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
 (deriv_n (p * q) n).derivative =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (b : ) in
      finset.range n.succ,
      (polynomial.C (n.choose b) * (deriv_n p (n - b)).derivative * deriv_n q b +
         polynomial.C (n.choose b) * deriv_n p (n - b) * (deriv_n q b).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
The rest of the proves is essentially openning and closing brackets and renaming summing indeces.
        rw finset.sum_add_distrib,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (b : ) in
      finset.range n.succ,
      (polynomial.C (n.choose b) * (deriv_n p (n - b)).derivative * deriv_n q b +
         polynomial.C (n.choose b) * deriv_n p (n - b) * (deriv_n q b).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (x : ) in
        finset.range n.succ,
        polynomial.C (n.choose x) * (deriv_n p (n - x)).derivative * deriv_n q x +
       (x : ) in
        finset.range n.succ,
        polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        conv_lhs {rw finset.sum_range_succ', rw finset.sum_range_succ, simp only [zeroth_deriv, nat.choose_self, one_mul, nat.choose_zero_right, int.coe_nat_zero, nat.sub_self, polynomial.C_1, int.coe_nat_succ, nat.sub_zero, zero_add]},
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (x : ) in
        finset.range n.succ,
        polynomial.C (n.choose x) * (deriv_n p (n - x)).derivative * deriv_n q x +
       (x : ) in
        finset.range n.succ,
        polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        have eq :
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
         (i : ) in finset.range n,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
          polynomial.C (n.choose (i + 1):) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        (deriv_n p n).derivative * q +
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        (p * (deriv_n q n).derivative +
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
          (x : ) in finset.range n, polynomial.C (n.choose x:) * deriv_n p (n - x) * (deriv_n q x).derivative) = 
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ( (i : ) in finset.range n,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
          polynomial.C (n.choose (i + 1):) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1)) +
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ( (x : ) in finset.range n, polynomial.C (n.choose x:) * deriv_n p (n - x) * (deriv_n q x).derivative) +
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ((deriv_n p n).derivative * q + (p * (deriv_n q n).derivative)) := by ring,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        rw [eq, <-finset.sum_add_distrib],
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        replace eq :
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ( (x : ) in finset.range n,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        (polynomial.C (n.choose (x + 1):) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
           polynomial.C (n.choose x:) * deriv_n p (n - x) * (deriv_n q x).derivative)) =
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ( (x : ) in finset.range n,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        (polynomial.C (n.choose (x + 1):) * (deriv_n p (n - x)) * deriv_n q (x + 1) +
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
           polynomial.C (n.choose x:) * deriv_n p (n - x) * (deriv_n q (x+1)))),
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
2 goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))

p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        {
2 goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))

p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
            apply finset.sum_congr, exact rfl, intros i hi, simp only [deriv_succ, int.cast_coe_nat, ring_hom.eq_int_cast, add_left_inj], simp only [finset.mem_range] at hi,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative)
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative),
i : ,
hi : i < n
 (n.choose (i + 1)) * deriv_n p (n - (i + 1) + 1) * deriv_n q (i + 1) =
    (n.choose (i + 1)) * deriv_n p (n - i) * deriv_n q (i + 1)
            replace hi : i + 1  n := hi,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative),
i : ,
hi : i < n
 (n.choose (i + 1)) * deriv_n p (n - (i + 1) + 1) * deriv_n q (i + 1) =
    (n.choose (i + 1)) * deriv_n p (n - i) * deriv_n q (i + 1)
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative),
i : ,
hi : i + 1  n
 (n.choose (i + 1)) * deriv_n p (n - (i + 1) + 1) * deriv_n q (i + 1) =
    (n.choose (i + 1)) * deriv_n p (n - i) * deriv_n q (i + 1)
            rw nat_sub_eq _ _ hi,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
        (deriv_n p n).derivative * q +
      (p * (deriv_n q n).derivative +
          (x : ) in
           finset.range n,
           polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (i : ) in
          finset.range n,
          polynomial.C (n.choose (i + 1)) * (deriv_n p (n - (i + 1))).derivative * deriv_n q (i + 1) +
         (x : ) in
          finset.range n,
          polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative),
i : ,
hi : i + 1  n
 (n.choose (i + 1)) * deriv_n p (n - (i + 1) + 1) * deriv_n q (i + 1) =
    (n.choose (i + 1)) * deriv_n p (n - i) * deriv_n q (i + 1)
no goals
        }, rw eq,
no goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        replace eq :
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ( (x : ) in finset.range n,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        (polynomial.C (n.choose (x + 1):) * (deriv_n p (n - x)) * deriv_n q (x + 1) +
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
           polynomial.C (n.choose x:) * deriv_n p (n - x) * (deriv_n q (x+1)))) =
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ( (x : ) in finset.range n,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ((polynomial.C (n.choose (x + 1):) + polynomial.C (n.choose x:)) * (deriv_n p (n - x)) * deriv_n q (x + 1))),
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
2 goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)

p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        {
2 goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)

p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
           polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
            apply congr_arg, rw function.funext_iff, intro i, ring,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * (deriv_n p (n - (x + 1))).derivative * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * (deriv_n q x).derivative) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1))
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
no goals
        }, rw eq,
no goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        replace eq :
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ( (x : ) in finset.range n,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ((polynomial.C (n.choose (x + 1):) + polynomial.C (n.choose x:)) * (deriv_n p (n - x)) * deriv_n q (x + 1))) =
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ( (x : ) in finset.range n,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ((polynomial.C (n.choose (x + 1) + (n.choose x):)) * (deriv_n p (n - x)) * deriv_n q (x + 1))),
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
2 goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)

p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        {
2 goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)

p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
          deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
            apply congr_arg, rw function.funext_iff, intro i, simp only [int.cast_add, ring_hom.eq_int_cast],
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
         polynomial.C (n.choose x) * deriv_n p (n - x) * deriv_n q (x + 1)) =
     (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
no goals
        }, rw eq,
no goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        replace eq :
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ( (x : ) in finset.range n,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ((polynomial.C (n.choose (x + 1) + (n.choose x):)) * (deriv_n p (n - x)) * deriv_n q (x + 1))) =
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ( (x : ) in finset.range n,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        ((polynomial.C ((n+1).choose (x + 1):)) * (deriv_n p (n - x)) * deriv_n q (x + 1))),
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
2 goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) =
     (x : ) in finset.range n, polynomial.C ((n + 1).choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1)

p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) =
     (x : ) in finset.range n, polynomial.C ((n + 1).choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        {
2 goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) =
     (x : ) in finset.range n, polynomial.C ((n + 1).choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1)

p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) =
     (x : ) in finset.range n, polynomial.C ((n + 1).choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) =
     (x : ) in finset.range n, polynomial.C ((n + 1).choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1)
            apply congr_arg, rw function.funext_iff, intro i, rw <-pascal_triangle, simp only [int.coe_nat_add],
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      (polynomial.C (n.choose (x + 1)) + polynomial.C (n.choose x)) * deriv_n p (n - x) *
        deriv_n q (x + 1) =
     (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) =
     (x : ) in finset.range n, polynomial.C ((n + 1).choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1)
no goals
        }, rw eq,
no goals
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) =
     (x : ) in finset.range n, polynomial.C ((n + 1).choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n + 1).choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
        conv_rhs {rw finset.sum_range_succ', rw finset.sum_range_succ}, simp only [deriv_succ, zeroth_deriv, nat.succ_eq_add_one, nat.choose_self, int.cast_coe_nat, ring_hom.eq_int_cast, one_mul, nat.succ_sub_succ_eq_sub, nat.choose_zero_right, int.coe_nat_zero, nat.sub_self, int.cast_one, int.coe_nat_succ, nat.sub_zero, zero_add], ring,
p q : [X],
n : ,
IH :
  deriv_n (p * q) n =
     (k : ) in finset.range n.succ, polynomial.C (n.choose k) * deriv_n p (n - k) * deriv_n q k,
eq :
   (x : ) in
      finset.range n,
      polynomial.C ((n.choose (x + 1)) + (n.choose x)) * deriv_n p (n - x) * deriv_n q (x + 1) =
     (x : ) in finset.range n, polynomial.C ((n + 1).choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1)
  (x : ) in
        finset.range n,
        polynomial.C ((n + 1).choose (x + 1)) * deriv_n p (n - x) * deriv_n q (x + 1) +
      ((deriv_n p n).derivative * q + p * (deriv_n q n).derivative) =
     (k : ) in
      finset.range n.succ.succ,
      polynomial.C (n.succ.choose k) * deriv_n p (n.succ - k) * deriv_n q k
no goals
    }
no goals
no goals
QED.
Theorem

For a polynomial $f$ then if $n>0$, we have $f^{(n)}=f^{(n-1)}\times f'$

theorem poly_pow_deriv (f : [X]) (n : ) (hn : n > 0) : (f ^ n).derivative = (polynomial.C (n:)) * (f ^ (n-1)) * f.derivative :=
Proof
QED.
Theorem

fundamental theorem of calculus and integration by part is assumed. I am waiting for them to arrive in mathlib and I will update this part and prove relatvent additional assumptions.

private lemma ftc1 (f :  -> ) {hf : measurable f} {hf2 : continuous f} (a b : ) (h : a  b) {hf3 : measure_theory.integrable_on f (set.Icc a b)} (x0 : ) (hx0 : x0  set.Icc a b) : 
  has_deriv_at (λ (b : ),  (x : ) in a..b, f x) (f x0) x0 :=
Proof
QED.
Theorem

Let $f,g:\mathbb R\to\mathbb R$ be measurable and integral functions such that $\forall x\in(a,b),0\le f(x)\le g(x)$, then $$ \int_a^b f(x)\mathrm{d}x\le\int_a^b g(x)\mathrm{d}x $$

-- theorem integral_le_integral' (f g : ℝ -> ℝ) {h1 : measurable f ∧ measurable g ∧ measure_theory.integrable f ∧ measure_theory.integrable g} (a b : ℝ) (h : b ≥ a) (hf : ∀ x ∈ set.Icc a b, f x ≤ g x ∧ 0 ≤ f x) : (∫ x in set.Icc a b, f x) ≤ (∫ x in set.Icc a b, g x) :=
-- begin
--     -- `mathlib` has `measure_theory.integral_le_integral` built in, but it is not for set integral.
--     -- So we apply this theorem to `((set.Icc a b).indicator f)` and `((set.Icc a b).indicator g)`
--     -- `s.indicator f` is the function  (λ x, if x ∈ s then f x else 0)
--     -- We need to prove `((set.Icc a b).indicator f)` and `((set.Icc a b).indicator g)` are measurable and integrable.
--     -- These are pretty much built in.
--     apply measure_theory.integral_mono,
--     exact h1.left,
--     -- apply @measure_theory.integral_le_integral ℝ _ ((set.Icc a b).indicator f) ((set.Icc a b).indicator g),
--     dsimp only [],
--     -- library_search [h1],
--     exact h1.2.2.1,
--     apply measurable.if, apply is_measurable_Icc, 
--     dsimp, exact h1.1, exact measurable_zero,
--     apply measure_theory.integrable.integrable_on, exact h1.2.2.1,
--     simp [set.indicator],
--     apply measurable.if, apply is_measurable_Icc, dsimp, exact h1.2.1, exact measurable_zero,
--     apply measure_theory.integrable.integrable_on, exact h1.2.2.2,
--     intros c, simp [set.indicator], split_ifs, exact (hf c ⟨h_1.1, h_1.2⟩).1, exact le_refl 0,
-- end
Proof
QED.
Theorem

integrations on a set $S$ of two identical functions are indentical

theorem same_integral {S : set } (f g :  -> ) : f = g -> ( x in S, f x) =  x in S, g x :=
Proof
QED.
Theorem

integrations of two identical functions are indentical

theorem same_integral' (f g :  -> ) : f = g -> ( x, f x) =  x, g x :=
Proof
QED.
Theorem

identical function have identical derivatives

theorem same_deriv (f g :  -> ) (x : ) : f = g -> deriv f x = deriv g x := λ h, congr_fun (congr_arg deriv h) x
Proof
QED.
Theorem

If forall $x\in(a,b), 0 \le f(x)\le c$ then $$ \int_a^b f\le (b-a)c $$


theorem integral_le_max_times_length (f :  -> ) {h1 : measurable f} (a b : ) (h : b  a) (c : ) 
    (f_nonneg :  x  set.Icc a b, f x  0) (c_max :  x  set.Icc a b, f x  c) : 
    ( x in a..b, f x)  (b - a) * c :=
Proof
QED.
Theorem

$$ \frac{\mathrm{d}\exp(t-x)}{\mathrm{d}x}=-\exp(t-x) $$

theorem deriv_exp_t_x (t : ) : deriv (λ x, real.exp (t-x)) = -(λ x, real.exp (t-x)) :=
Proof
QED.
Theorem

$$ \frac{\mathrm{d}-\exp(t-x)}{\mathrm{d}x}=\exp(t-x) $$

theorem deriv_exp_t_x' (t : ) : (deriv (λ x, - (real.exp (t-x)))) = (λ x, real.exp (t-x)) :=
Proof
QED.
Definition
Suppose $f$ is an integer polynomial with degree $n$ and $t\ge0$ then define \[I(f,t):=\int_0^t \exp(t-x)f(z)\mathrm{d}x\] We use integration by parts to prove \[I(f,t)=\exp(t)\left(\sum_{i=0}^n f^{(i)}(0)\right)-\sum_{i=0}^n f^{(i)}(t)\] The two different ways of representing $I(f,t)$ we give us upper bound and lower bound when we are using this on transcendence of $e$.
def I (f : [X]) (t : ) (ht : t  0) :  := 
    t.exp * ( i in finset.range f.nat_degree.succ, (f_eval_on_ℝ (deriv_n f i) 0)) - ( i in finset.range f.nat_degree.succ, (f_eval_on_ℝ (deriv_n f i) t))
Theorem

$I(0,t)$ is 0.

theorem II_0 (t : ) (ht : t  0) : II 0 t ht = 0 :=
Proof
We are integrating $\exp(t-x)\times 0$
    rw II, unfold f_eval_on_ℝ,
t : ,
ht : t  0
 II 0 t ht = 0
t : ,
ht : t  0
  (x : ) in 0..t, real.exp (t - x) * polynomial.eval x (polynomial.map embℝ 0) = 0
    simp only [mul_zero, polynomial.eval_zero, polynomial.map_zero],
t : ,
ht : t  0
  (x : ) in 0..t, real.exp (t - x) * polynomial.eval x (polynomial.map embℝ 0) = 0
t : ,
ht : t  0
  (x : ) in 0..t, 0 = 0
    rw interval_integral.integral_of_le ht,
t : ,
ht : t  0
  (x : ) in 0..t, 0 = 0
t : ,
ht : t  0
  (x : ) in set.Ioc 0 t, 0 = 0
    apply measure_theory.integral_zero,
t : ,
ht : t  0
  (x : ) in set.Ioc 0 t, 0 = 0
no goals
QED.
Theorem

By integration by part we have:

\[I(f, t) = e^tf(0)-f(t)+I(f',t)\]

lemma II_integrate_by_part (f : [X]) (t : ) (ht : t  0) : 
    (II f t ht) = (real.exp t) * (f_eval_on_ℝ f 0) - (f_eval_on_ℝ f t) + (II f.derivative t ht) :=
Proof
We have $$\int_0^t \exp(t-x)f(x)\mathrm{d}x=\int_0^t f(x)\frac{\mathrm{d}}{\mathrm{d}x}(-\exp(t-x))\mathrm{d}x$$
    have eq : ( x in 0..t, (t - x).exp * f_eval_on_ℝ f x) = ( x in 0..t, f_eval_on_ℝ f x * (deriv (λ x, - (real.exp (t-x))) x)),
f : [X],
t : ,
ht : t  0
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht
2 goals
f : [X],
t : ,
ht : t  0
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht
    {
2 goals
f : [X],
t : ,
ht : t  0
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht
f : [X],
t : ,
ht : t  0
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
apply congr_arg,
        rw interval_integral.integral_of_le ht,
f : [X],
t : ,
ht : t  0
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
f : [X],
t : ,
ht : t  0
  (x : ) in set.Ioc 0 t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
        rw interval_integral.integral_of_le ht,
f : [X],
t : ,
ht : t  0
  (x : ) in set.Ioc 0 t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
f : [X],
t : ,
ht : t  0
  (x : ) in set.Ioc 0 t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in set.Ioc 0 t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
        apply same_integral, ext, simp only [deriv_exp_t_x'], ring,
f : [X],
t : ,
ht : t  0
  (x : ) in set.Ioc 0 t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in set.Ioc 0 t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
no goals
    },
no goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht
    rw eq,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht
Apply integration by part to $$\int_0^t f(x)\frac{\mathrm{d}}{\mathrm{d}x}(-\exp(t-x))\mathrm{d}x$$.
    replace eq := integrate_by_part (f_eval_on_ℝ f) (λ (x : ), -(t - x).exp) 0 t ht,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht
9 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    rw eq, 
9 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
9 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x
 f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    simp only [mul_one, neg_sub_neg, real.exp_zero, sub_zero, mul_neg_eq_neg_mul_symm, sub_self],
9 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x
 f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
9 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x
 f_eval_on_ℝ f 0 * real.exp t - f_eval_on_ℝ f t -
       (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    replace eq : ( x in 0..t, -(deriv (f_eval_on_ℝ f) x * (t - x).exp)) =  x in 0..t, -((λ x, (deriv (f_eval_on_ℝ f) x * (t - x).exp)) x),
9 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x
 f_eval_on_ℝ f 0 * real.exp t - f_eval_on_ℝ f t -
       (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
10 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
 f_eval_on_ℝ f 0 * real.exp t - f_eval_on_ℝ f t -
       (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    {
10 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
 f_eval_on_ℝ f 0 * real.exp t - f_eval_on_ℝ f t -
       (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
        rw interval_integral.integral_of_le ht,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x =
    f_eval_on_ℝ f t * (λ (x : ), -real.exp (t - x)) t - f_eval_on_ℝ f 0 * (λ (x : ), -real.exp (t - x)) 0 -
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (λ (x : ), -real.exp (t - x)) x
  (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
no goals
    }, 
no goals
9 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
 f_eval_on_ℝ f 0 * real.exp t - f_eval_on_ℝ f t -
       (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    rw eq, rw interval_integral.integral_neg, simp only [sub_neg_eq_add], rw II,
9 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
 f_eval_on_ℝ f 0 * real.exp t - f_eval_on_ℝ f t -
       (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t + II f.derivative t ht

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
9 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
 f_eval_on_ℝ f 0 * real.exp t - f_eval_on_ℝ f t +
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x) =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t +
       (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f.derivative x

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    replace eq : ( (x : ) in 0..t, (t - x).exp * f_eval_on_ℝ f.derivative x) =  (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * (t - x).exp,
9 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
 f_eval_on_ℝ f 0 * real.exp t - f_eval_on_ℝ f t +
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x) =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t +
       (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f.derivative x

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
10 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f.derivative x =
     (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f.derivative x =
     (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x)
 f_eval_on_ℝ f 0 * real.exp t - f_eval_on_ℝ f t +
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x) =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t +
       (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f.derivative x

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    {
10 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f.derivative x =
     (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f.derivative x =
     (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x)
 f_eval_on_ℝ f 0 * real.exp t - f_eval_on_ℝ f t +
       (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x) =
    real.exp t * f_eval_on_ℝ f 0 - f_eval_on_ℝ f t +
       (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f.derivative x

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f.derivative x =
     (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x)
        rw interval_integral.integral_of_le ht,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
  (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f.derivative x =
     (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x)
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
  (x : ) in set.Ioc 0 t, real.exp (t - x) * f_eval_on_ℝ f.derivative x =
     (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x)
        rw interval_integral.integral_of_le ht,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
  (x : ) in set.Ioc 0 t, real.exp (t - x) * f_eval_on_ℝ f.derivative x =
     (x : ) in 0..t, deriv (f_eval_on_ℝ f) x * real.exp (t - x)
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
  (x : ) in set.Ioc 0 t, real.exp (t - x) * f_eval_on_ℝ f.derivative x =
     (x : ) in set.Ioc 0 t, deriv (f_eval_on_ℝ f) x * real.exp (t - x)
        apply same_integral, ext, ring, rw f_eval_on_ℝ,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x
  (x : ) in set.Ioc 0 t, real.exp (t - x) * f_eval_on_ℝ f.derivative x =
     (x : ) in set.Ioc 0 t, deriv (f_eval_on_ℝ f) x * real.exp (t - x)
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : 
 real.exp (t - x) * polynomial.eval x (polynomial.map embℝ f.derivative) =
    deriv (f_eval_on_ℝ f) x * real.exp (t - x)
        rw derivative_emb, rw <-polynomial.deriv,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : 
 real.exp (t - x) * polynomial.eval x (polynomial.map embℝ f.derivative) =
    deriv (f_eval_on_ℝ f) x * real.exp (t - x)
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : 
 real.exp (t - x) * deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x =
    deriv (f_eval_on_ℝ f) x * real.exp (t - x)
        have triv : deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x = deriv (f_eval_on_ℝ f) x,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : 
 real.exp (t - x) * deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x =
    deriv (f_eval_on_ℝ f) x * real.exp (t - x)
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : 
 deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x = deriv (f_eval_on_ℝ f) x

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : ,
triv : deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x = deriv (f_eval_on_ℝ f) x
 real.exp (t - x) * deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x =
    deriv (f_eval_on_ℝ f) x * real.exp (t - x)
        {
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : 
 deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x = deriv (f_eval_on_ℝ f) x

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : ,
triv : deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x = deriv (f_eval_on_ℝ f) x
 real.exp (t - x) * deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x =
    deriv (f_eval_on_ℝ f) x * real.exp (t - x)
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : 
 deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x = deriv (f_eval_on_ℝ f) x
            apply same_deriv, ext, rw f_eval_on_ℝ,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : 
 deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x = deriv (f_eval_on_ℝ f) x
no goals
        },
no goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : ,
triv : deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x = deriv (f_eval_on_ℝ f) x
 real.exp (t - x) * deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x =
    deriv (f_eval_on_ℝ f) x * real.exp (t - x)
        rw triv, ring,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, -(deriv (f_eval_on_ℝ f) x * real.exp (t - x)) =
     (x : ) in 0..t, -(λ (x : ), deriv (f_eval_on_ℝ f) x * real.exp (t - x)) x,
x : ,
triv : deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x = deriv (f_eval_on_ℝ f) x
 real.exp (t - x) * deriv (λ (x : ), polynomial.eval x (polynomial.map embℝ f)) x =
    deriv (f_eval_on_ℝ f) x * real.exp (t - x)
no goals
    }, rw eq, ring,
no goals
8 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply polynomial.differentiable,
8 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
7 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply continuous.measurable,
7 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
7 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply @differentiable.continuous  _  _ _  _ _ _ _,
7 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
7 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    rw f_eval_on_ℝ_deriv,
7 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
7 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f.derivative)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply polynomial.differentiable,
7 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f.derivative)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
6 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply continuous.measurable,
6 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
6 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply @differentiable.continuous  _  _ _  _ _ _ _,
6 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
6 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply polynomial.differentiable,
6 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
5 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    rw f_eval_on_ℝ_deriv,
5 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (f_eval_on_ℝ f))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
5 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (f_eval_on_ℝ f.derivative)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply @differentiable.continuous  _  _ _  _ _ _ _,
5 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (f_eval_on_ℝ f.derivative)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
5 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f.derivative)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply polynomial.differentiable,
5 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (f_eval_on_ℝ f.derivative)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply differentiable.neg,
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), real.exp (t - y))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    change differentiable  (real.exp  (λ (y : ), (t - y))),
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), real.exp (t - y))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (real.exp  λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply differentiable.comp,
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (real.exp  λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
5 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  real.exp

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    exact real.differentiable_exp,
5 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  real.exp

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    have : (λ (y : ), t - y) = (λ (y : ), -(y-t)),
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
5 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 (λ (y : ), t - y) = λ (y : ), -(y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    ext y, rw neg_sub, rw this, apply differentiable.neg,
5 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 (λ (y : ), t - y) = λ (y : ), -(y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply differentiable.sub_const, exact differentiable_id',
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply continuous.measurable,
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    rw deriv_exp_t_x',
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (x : ), real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    change continuous (real.exp  (λ (y : ), (t - y))),
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (x : ), real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (real.exp  λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply continuous.comp (real.continuous_exp) _,
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (real.exp  λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply @differentiable.continuous  _  _ _  _ _ _ _,
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    have : (λ (y : ), t - y) = (λ (y : ), -(y-t)),
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 (λ (y : ), t - y) = λ (y : ), -(y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    ext y, rw neg_sub, rw this, apply differentiable.neg,
4 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 (λ (y : ), t - y) = λ (y : ), -(y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply differentiable.sub_const, exact differentiable_id',
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply continuous.measurable,
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 measurable (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply continuous.neg _, exact normed_top_group,
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (x : ), -real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (x : ), real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    change continuous (real.exp  (λ (y : ), (t - y))),
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (x : ), real.exp (t - x))

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (real.exp  λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply continuous.comp (real.continuous_exp) _,
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (real.exp  λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply @differentiable.continuous  _  _ _  _ _ _ _,
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    have : (λ (y : ), t - y) = (λ (y : ), -(y-t)),
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 (λ (y : ), t - y) = λ (y : ), -(y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    ext y, rw neg_sub, rw this, apply differentiable.neg,
3 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 (λ (y : ), t - y) = λ (y : ), -(y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), t - y)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    apply differentiable.sub_const, exact differentiable_id',
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
    rw deriv_exp_t_x',
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (deriv (λ (x : ), -real.exp (t - x)))
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (x : ), real.exp (t - x))
    change continuous (real.exp  (λ (y : ), (t - y))),
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (x : ), real.exp (t - x))
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (real.exp  λ (y : ), t - y)
    apply continuous.comp (real.continuous_exp) _,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (real.exp  λ (y : ), t - y)
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (y : ), t - y)
    apply @differentiable.continuous  _  _ _  _ _ _ _,
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 continuous (λ (y : ), t - y)
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), t - y)
    have : (λ (y : ), t - y) = (λ (y : ), -(y-t)),
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 differentiable  (λ (y : ), t - y)
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 (λ (y : ), t - y) = λ (y : ), -(y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), t - y)
    ext y, rw neg_sub, rw this, apply differentiable.neg,
2 goals
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x
 (λ (y : ), t - y) = λ (y : ), -(y - t)

f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), t - y)
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), y - t)
    apply differentiable.sub_const, exact differentiable_id',
f : [X],
t : ,
ht : t  0,
eq :
   (x : ) in 0..t, real.exp (t - x) * f_eval_on_ℝ f x =
     (x : ) in 0..t, f_eval_on_ℝ f x * deriv (λ (x : ), -real.exp (t - x)) x,
this : (λ (y : ), t - y) = λ (y : ), -(y - t)
 differentiable  (λ (y : ), y - t)
no goals
QED.
Theorem

Combine the theorem above with induction we get for all $m\in\mathbb N$

\[ I(f,t)=e^t\sum_{i=0}^m f^{(i)}(0)-\sum_{i=0}^m f^{(i)}(t) \]

lemma II_integrate_by_part_m (f : [X]) (t : ) (ht : t  0) (m : ) :
    II f t ht = t.exp * ( i in finset.range (m+1), (f_eval_on_ℝ (deriv_n f i) 0)) - ( i in finset.range (m+1), f_eval_on_ℝ (deriv_n f i) t) + (II (deriv_n f (m+1)) t ht) :=
Proof
QED.
Theorem

So the using if $f$ has degree $n$, then $f^{(n+1)}$ is zero we have the two definition of $I(f,t)$ agrees.

theorem II_eq_I (f : [X]) (t : ) (ht : t  0) : II f t ht = I f t ht :=
Proof
QED.
Theorem

\[\left|I(f,t)\right|\le \int_0^t \left|e^{t-x}f(x)\right|\mathrm{d}x\]

lemma abs_II_le1 (f : [X]) (t : ) (ht : t  0) : abs (II f t ht)   x in 0..t, abs ((t-x).exp * (f_eval_on_ℝ f x)) :=
Proof
QED.
Theorem

By our construction the $n$-th coefficient of $\bar{f}$ is the absolute value of $n$-th coefficient of $f$

theorem bar_coeff (f : [X]) (n : ) : (f_bar f).coeff n = abs (f.coeff n) :=
Proof
true by definition
    dsimp [f_bar], refl,
f : [X],
n : 
 (f_bar f).coeff n = abs (f.coeff n)
no goals
QED.
Theorem

By our construction, $\bar{f}$ and $f$ has the same support

theorem bar_supp (f : [X]) : (f_bar f).1 = f.1 :=
Proof
true by definition
    dsimp [f_bar], refl,
f : [X]
 (f_bar f).support = f.support
no goals
QED.
Theorem

Since $\bar{f}$ and $f$ has the same support, they have the same degree.

theorem bar_same_deg (f : [X]) : (f_bar f).nat_degree = f.nat_degree :=
Proof
degree is defined to be $\sup$ of support. Since support of $\bar{f}$ and $f$ are the same, their degree is the same.
    rw polynomial.degree, rw polynomial.degree, rw bar_supp,
f : [X]
 (f_bar f).degree = f.degree
no goals
QED.
Theorem

$\bar{0}=0$

theorem f_bar_0 : f_bar 0 = 0 :=
Proof
QED.
Theorem

for any $f\in\mathbb Z$, if $\bar{f}=0$ then $f=0$

theorem f_bar_eq_0 (f : [X]) : f_bar f = 0 -> f = 0 :=
Proof
QED.
Theorem

For any $x\in(0,t)$ $|f(x)|\le \bar{f}(t)$

lemma f_bar_ineq (f : [X]) (t : ) (ht : t  0) :  x  set.Icc 0 t, abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t :=
Proof
If we write $f(X)=a_0+a_1X+\cdots+a_nX^n$. Then $f(x)=a_0+a_1x+\cdots+a_nx^n$
    have lhs : f_eval_on_ℝ f x =  i in f.support, (f.coeff i : ) * x ^ i,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
 abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t
    {
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
 abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
        rw [f_eval_on_ℝ, polynomial.eval_map, polynomial.eval₂, finsupp.sum],
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
  (a : ) in f.support, embℝ (f a) * x ^ a =  (i : ) in f.support, (f.coeff i) * x ^ i
        apply congr_arg, ext, norm_cast,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
  (a : ) in f.support, embℝ (f a) * x ^ a =  (i : ) in f.support, (f.coeff i) * x ^ i
no goals
    },
no goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
 abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t
    rw lhs,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
 abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)  f_eval_on_ℝ (f_bar f) t
So $|f(x)|=|a_0+a_1x+\cdots+a_nx^n|\le |a_0|+|a_1|x+\cdots+|a_n|x^n$. (We assumed $x\ge0$).
    have ineq1 : abs ( (i : ) in f.support, (f.coeff i:) * x ^ i)   i in f.support, (abs (f.coeff i:) * (x ^ i)),
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)  f_eval_on_ℝ (f_bar f) t
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)  f_eval_on_ℝ (f_bar f) t
    {
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)  f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
we have $|a_0+a_1x+\cdots+a_nx^n|\le|a_0|+|a_1x|+\cdots+|a_nx^n|$
        have ineq1' := @finset.abs_sum_le_sum_abs   _ (λ i, (f.coeff i:) * (x ^ i)) f.support, simp only [] at ineq1',
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1)
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
and $|a_0|+|a_1x|+\cdots+|a_nx^n|=|a_0|+|a_1|x+\cdots+|a_n|x^n$
        have eq1 :  (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1) =  (x_1 : ) in f.support, abs ((f.coeff x_1)) * x ^ x_1,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1)
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1)
  (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1) =
     (x_1 : ) in f.support, abs (f.coeff x_1) * x ^ x_1

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1),
eq1 :
   (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1) =
     (x_1 : ) in f.support, abs (f.coeff x_1) * x ^ x_1
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
        {
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1)
  (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1) =
     (x_1 : ) in f.support, abs (f.coeff x_1) * x ^ x_1

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1),
eq1 :
   (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1) =
     (x_1 : ) in f.support, abs (f.coeff x_1) * x ^ x_1
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1)
  (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1) =
     (x_1 : ) in f.support, abs (f.coeff x_1) * x ^ x_1
            apply congr_arg, ext, rw abs_mul,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1)
  (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1) =
     (x_1 : ) in f.support, abs (f.coeff x_1) * x ^ x_1
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1),
x_1 : 
 abs (f.coeff x_1) * abs (x ^ x_1) = abs (f.coeff x_1) * x ^ x_1
            rw @abs_of_nonneg  _ (x^x_1) _, apply pow_nonneg, exact (set.mem_Icc.1 hx).1,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1),
x_1 : 
 abs (f.coeff x_1) * abs (x ^ x_1) = abs (f.coeff x_1) * x ^ x_1
no goals
        },
no goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1),
eq1 :
   (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1) =
     (x_1 : ) in f.support, abs (f.coeff x_1) * x ^ x_1
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
        rw eq1 at ineq1', exact ineq1',
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1' :
  abs ( (x_1 : ) in f.support, (f.coeff x_1) * x ^ x_1) 
     (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1),
eq1 :
   (x_1 : ) in f.support, abs ((f.coeff x_1) * x ^ x_1) =
     (x_1 : ) in f.support, abs (f.coeff x_1) * x ^ x_1
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
no goals
    },
no goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)  f_eval_on_ℝ (f_bar f) t
$\bar{f}(t)=|a_0|+|a_1|t+\cdots+|a_n|t^n$
    have rhs : f_eval_on_ℝ (f_bar f) t =  i in (f_bar f).support, abs (f.coeff i:) * t ^ i,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)  f_eval_on_ℝ (f_bar f) t
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
 f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)  f_eval_on_ℝ (f_bar f) t
    {
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
 f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)  f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
 f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
        rw [f_eval_on_ℝ, polynomial.eval_map, polynomial.eval₂, finsupp.sum],
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
 f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
  (a : ) in (f_bar f).support, embℝ ((f_bar f) a) * t ^ a =
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
        apply congr_arg, ext, norm_cast,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i
  (a : ) in (f_bar f).support, embℝ ((f_bar f) a) * t ^ a =
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
no goals
    },
no goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)  f_eval_on_ℝ (f_bar f) t
    rw rhs,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i)  f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i) 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
Since $x^i\le t^i$, we have $|a_0|+|a_1|x+\cdots+|a_n|x^n\le|a_0|+|a_1|t+\cdots+|a_n|t^n$
    have ineq2 :  (i : ) in f.support, abs (f.coeff i:) * x ^ i    i in (f_bar f).support, abs (f.coeff i:) * t ^ i,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i) 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
  (i : ) in f.support, abs (f.coeff i) * x ^ i 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
ineq2 :
   (i : ) in f.support, abs (f.coeff i) * x ^ i 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i) 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
    {
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
  (i : ) in f.support, abs (f.coeff i) * x ^ i 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
ineq2 :
   (i : ) in f.support, abs (f.coeff i) * x ^ i 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i) 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
  (i : ) in f.support, abs (f.coeff i) * x ^ i 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
        rw bar_supp, apply finset.sum_le_sum, intros n hn,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
  (i : ) in f.support, abs (f.coeff i) * x ^ i 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
n : ,
hn : n  f.support
 abs (f.coeff n) * x ^ n  abs (f.coeff n) * t ^ n
        suffices : x ^ n  t ^ n,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
n : ,
hn : n  f.support
 abs (f.coeff n) * x ^ n  abs (f.coeff n) * t ^ n
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
n : ,
hn : n  f.support,
this : x ^ n  t ^ n
 abs (f.coeff n) * x ^ n  abs (f.coeff n) * t ^ n

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
n : ,
hn : n  f.support
 x ^ n  t ^ n
        {
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
n : ,
hn : n  f.support,
this : x ^ n  t ^ n
 abs (f.coeff n) * x ^ n  abs (f.coeff n) * t ^ n

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
n : ,
hn : n  f.support
 x ^ n  t ^ n
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
n : ,
hn : n  f.support,
this : x ^ n  t ^ n
 abs (f.coeff n) * x ^ n  abs (f.coeff n) * t ^ n
            apply mul_le_mul, exact le_refl (abs (polynomial.coeff f n)), exact this, apply pow_nonneg, exact (set.mem_Icc.1 hx).1, exact abs_nonneg (polynomial.coeff f n),
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
n : ,
hn : n  f.support,
this : x ^ n  t ^ n
 abs (f.coeff n) * x ^ n  abs (f.coeff n) * t ^ n
no goals
        },
no goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
n : ,
hn : n  f.support
 x ^ n  t ^ n
        apply pow_le_pow_of_le_left, exact (set.mem_Icc.1 hx).1, exact (set.mem_Icc.1 hx).2,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
n : ,
hn : n  f.support
 x ^ n  t ^ n
no goals
    },
no goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
ineq2 :
   (i : ) in f.support, abs (f.coeff i) * x ^ i 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i) 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
combine ineq1 and ineq2 we are done.
    exact le_trans ineq1 ineq2,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
lhs : f_eval_on_ℝ f x =  (i : ) in f.support, (f.coeff i) * x ^ i,
ineq1 :
  abs ( (i : ) in f.support, (f.coeff i) * x ^ i)   (i : ) in f.support, abs (f.coeff i) * x ^ i,
rhs : f_eval_on_ℝ (f_bar f) t =  (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i,
ineq2 :
   (i : ) in f.support, abs (f.coeff i) * x ^ i 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
 abs ( (i : ) in f.support, (f.coeff i) * x ^ i) 
     (i : ) in (f_bar f).support, abs (f.coeff i) * t ^ i
no goals
$|e^{t-x}f(x)|$ is composition of absolute value function and $e^{t-x}f(x)$
      have eq1 : (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) = abs  (λ (x : ), (real.exp (t - x) * f_eval_on_ℝ f x)) := by simp only [eq_self_iff_true], rw eq1,
f : [X],
t : ,
ht : t  0
 continuous (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x
 continuous (abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
We know that absolute value function is continuous.
      have cont1 := real.continuous_abs,
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x
 continuous (abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs
 continuous (abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
We now prove that $e^{t-x}f(x)$ is continuous by proving $e^{t-x}$ and $f(x)$ are continuous.
      have cont2 : continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x), 
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs
 continuous (abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
2 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
cont2 : continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
 continuous (abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
      {
2 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
cont2 : continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
 continuous (abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
$e^{t-x}$ is composition of $\exp$ and $t-x$.
        have eq2 : (λ x : , real.exp (t-x)) = real.exp  (λ x : , t - x), simp only [],
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
        have cont21 : continuous (λ x : , real.exp (t-x)), rw eq2,
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
2 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
$\exp$ is continuous
        have cont20 := real.continuous_exp,
2 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
2 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
$t-x$ is the constant function $t$ minus the identity function
        have cont201 : continuous (λ (x : ), t - x),
2 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
3 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp
 continuous (λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
cont201 : continuous (λ (x : ), t - x)
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
        have eq3 : (λ (x : ), t - x) = (λ (x : ), (λ _, t) x - id x), ext, simp only [id], rw eq3,
3 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp
 continuous (λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
cont201 : continuous (λ (x : ), t - x)
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
3 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
eq3 : (λ (x : ), t - x) = λ (x : ), (λ (_x : ), t) x - id x
 continuous (λ (x : ), (λ (_x : ), t) x - id x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
cont201 : continuous (λ (x : ), t - x)
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
constant function is continuous
        have cont3 : continuous (λ _ :, t), exact continuous_const,
3 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
eq3 : (λ (x : ), t - x) = λ (x : ), (λ (_x : ), t) x - id x
 continuous (λ (x : ), (λ (_x : ), t) x - id x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
cont201 : continuous (λ (x : ), t - x)
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
3 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
eq3 : (λ (x : ), t - x) = λ (x : ), (λ (_x : ), t) x - id x,
cont3 : continuous (λ (_x : ), t)
 continuous (λ (x : ), (λ (_x : ), t) x - id x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
cont201 : continuous (λ (x : ), t - x)
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
identity function is continuous
        have cont3' : continuous (@id ), exact continuous_id,
3 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
eq3 : (λ (x : ), t - x) = λ (x : ), (λ (_x : ), t) x - id x,
cont3 : continuous (λ (_x : ), t)
 continuous (λ (x : ), (λ (_x : ), t) x - id x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
cont201 : continuous (λ (x : ), t - x)
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
3 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
eq3 : (λ (x : ), t - x) = λ (x : ), (λ (_x : ), t) x - id x,
cont3 : continuous (λ (_x : ), t),
cont3' : continuous id
 continuous (λ (x : ), (λ (_x : ), t) x - id x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
cont201 : continuous (λ (x : ), t - x)
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
hence $t-x$ is continuous
        have cont33 := continuous.sub cont3 cont3', assumption,
3 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
eq3 : (λ (x : ), t - x) = λ (x : ), (λ (_x : ), t) x - id x,
cont3 : continuous (λ (_x : ), t),
cont3' : continuous id
 continuous (λ (x : ), (λ (_x : ), t) x - id x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
cont201 : continuous (λ (x : ), t - x)
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
2 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
cont201 : continuous (λ (x : ), t - x)
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
hence $e^{t-x}$ is continuous
        exact continuous.comp cont20 cont201,
2 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont20 : continuous real.exp,
cont201 : continuous (λ (x : ), t - x)
 continuous (real.exp  λ (x : ), t - x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
evaluating a polynomial is continuous
        have cont4 : continuous (λ x , f_eval_on_ℝ f x),
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
2 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), f_eval_on_ℝ f x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x)),
cont4 : continuous (λ (x : ), f_eval_on_ℝ f x)
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
          unfold f_eval_on_ℝ, exact polynomial.continuous (polynomial.map embℝ f),
2 goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x))
 continuous (λ (x : ), f_eval_on_ℝ f x)

f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x)),
cont4 : continuous (λ (x : ), f_eval_on_ℝ f x)
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x)),
cont4 : continuous (λ (x : ), f_eval_on_ℝ f x)
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
hence the product is continuous
        exact continuous.mul cont21 cont4,
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
eq2 : (λ (x : ), real.exp (t - x)) = real.exp  λ (x : ), t - x,
cont21 : continuous (λ (x : ), real.exp (t - x)),
cont4 : continuous (λ (x : ), f_eval_on_ℝ f x)
 continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
no goals
      },
no goals
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
cont2 : continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
 continuous (abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
      exact continuous.comp cont1 cont2,
f : [X],
t : ,
ht : t  0,
eq1 :
  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) =
    abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x,
cont1 : continuous abs,
cont2 : continuous (λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
 continuous (abs  λ (x : ), real.exp (t - x) * f_eval_on_ℝ f x)
no goals
QED.
Theorem

$$ \int_0^t |e^{t-x}f(d)|\mathrm{d}x\le te^t\bar{f}(t) $$

private lemma II_le2' (f : [X]) (t : ) (ht : t  0) : ( x in 0..t, abs ((t-x).exp * (f_eval_on_ℝ f x)))  t * t.exp * (f_eval_on_ℝ (f_bar f) t) :=
Proof
we are using integral_le_max_times_length so we need to prove $|e^{t-x}f(x)|\le e^t\bar{f}(t)$
    have ineq1 := integral_le_max_times_length ((λ x, abs ((t - x).exp * f_eval_on_ℝ f x))) 0 t ht (t.exp * f_eval_on_ℝ (f_bar f) t) _ _,
f : [X],
t : ,
ht : t  0
  (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * real.exp t * f_eval_on_ℝ (f_bar f) t
4 goals
f : [X],
t : ,
ht : t  0,
ineq1 :
   (x : ) in 0..t, (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x 
    (t - 0) * (real.exp t * f_eval_on_ℝ (f_bar f) t)
  (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * real.exp t * f_eval_on_ℝ (f_bar f) t

f : [X],
t : ,
ht : t  0
 measurable (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))

f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0

f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
    simp only [sub_zero] at ineq1, 
4 goals
f : [X],
t : ,
ht : t  0,
ineq1 :
   (x : ) in 0..t, (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x 
    (t - 0) * (real.exp t * f_eval_on_ℝ (f_bar f) t)
  (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * real.exp t * f_eval_on_ℝ (f_bar f) t

f : [X],
t : ,
ht : t  0
 measurable (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))

f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0

f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
4 goals
f : [X],
t : ,
ht : t  0,
ineq1 :
   (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * (real.exp t * f_eval_on_ℝ (f_bar f) t)
  (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * real.exp t * f_eval_on_ℝ (f_bar f) t

f : [X],
t : ,
ht : t  0
 measurable (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))

f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0

f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
    have triv : t * (t.exp * f_eval_on_ℝ (f_bar f) t) = t * t.exp * f_eval_on_ℝ (f_bar f) t := by ring,
4 goals
f : [X],
t : ,
ht : t  0,
ineq1 :
   (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * (real.exp t * f_eval_on_ℝ (f_bar f) t)
  (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * real.exp t * f_eval_on_ℝ (f_bar f) t

f : [X],
t : ,
ht : t  0
 measurable (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))

f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0

f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
4 goals
f : [X],
t : ,
ht : t  0,
ineq1 :
   (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * (real.exp t * f_eval_on_ℝ (f_bar f) t),
triv : t * (real.exp t * f_eval_on_ℝ (f_bar f) t) = t * real.exp t * f_eval_on_ℝ (f_bar f) t
  (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * real.exp t * f_eval_on_ℝ (f_bar f) t

f : [X],
t : ,
ht : t  0
 measurable (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))

f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0

f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
    rw triv at ineq1, exact ineq1,
4 goals
f : [X],
t : ,
ht : t  0,
ineq1 :
   (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * (real.exp t * f_eval_on_ℝ (f_bar f) t),
triv : t * (real.exp t * f_eval_on_ℝ (f_bar f) t) = t * real.exp t * f_eval_on_ℝ (f_bar f) t
  (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * real.exp t * f_eval_on_ℝ (f_bar f) t

f : [X],
t : ,
ht : t  0
 measurable (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))

f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0

f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
3 goals
f : [X],
t : ,
ht : t  0
 measurable (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))

f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0

f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
This to prove the functions we used are measurable and integrable.
    {
3 goals
f : [X],
t : ,
ht : t  0
 measurable (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))

f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0

f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0
 measurable (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))
      refine continuous.measurable _, 
f : [X],
t : ,
ht : t  0
 measurable (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))
f : [X],
t : ,
ht : t  0
 continuous (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))
      apply continuous_exp_f _ _ ht,
f : [X],
t : ,
ht : t  0
 continuous (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x))
no goals
    },
no goals
2 goals
f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0

f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
This is to prove $0\le|e^{t-x}f(x)|$
    {
2 goals
f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0

f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0
        intros x hx, simp only [ge_iff_le],
f : [X],
t : ,
ht : t  0
  (x : ), x  set.Icc 0 t  (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  0
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 0  abs (real.exp (t - x) * f_eval_on_ℝ f x)
        exact abs_nonneg (real.exp (t - x) * f_eval_on_ℝ f x),
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 0  abs (real.exp (t - x) * f_eval_on_ℝ f x)
no goals
    },
no goals
f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
This is to prove $|e^{t-x}f(x)|\le e^t \bar{f}(t)$
    {
f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
        intros x hx, simp only [set.indicator, set.mem_Icc],
f : [X],
t : ,
ht : t  0
  (x : ),
    x  set.Icc 0 t 
    (λ (x : ), abs (real.exp (t - x) * f_eval_on_ℝ f x)) x  real.exp t * f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 abs (real.exp (t - x) * f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
        rw abs_mul,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 abs (real.exp (t - x) * f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 abs (real.exp (t - x)) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
        have triv : abs (t - x).exp = (t-x).exp, {
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 abs (real.exp (t - x)) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 abs (real.exp (t - x)) = real.exp (t - x)
            apply abs_of_pos, exact (t - x).exp_pos,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t
 abs (real.exp (t - x)) = real.exp (t - x)
no goals
        },
no goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x)
 abs (real.exp (t - x)) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
        rw triv,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x)
 abs (real.exp (t - x)) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x)
 real.exp (t - x) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
We have $|f(x)|\le\bar{f}(t)$
        have ineq1 := f_bar_ineq f t ht x hx,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x)
 real.exp (t - x) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x),
ineq1 : abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t
 real.exp (t - x) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
We have $e^{t-x}\le e^{t}$
        have ineq2 : (t - x).exp  t.exp,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x),
ineq1 : abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t
 real.exp (t - x) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x),
ineq1 : abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t
 real.exp (t - x)  real.exp t

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x),
ineq1 : abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t,
ineq2 : real.exp (t - x)  real.exp t
 real.exp (t - x) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
        {
2 goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x),
ineq1 : abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t
 real.exp (t - x)  real.exp t

f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x),
ineq1 : abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t,
ineq2 : real.exp (t - x)  real.exp t
 real.exp (t - x) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x),
ineq1 : abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t
 real.exp (t - x)  real.exp t
            rw real.exp_le_exp, rw sub_le, simp only [sub_self], exact hx.1,
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x),
ineq1 : abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t
 real.exp (t - x)  real.exp t
no goals
        },
no goals
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x),
ineq1 : abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t,
ineq2 : real.exp (t - x)  real.exp t
 real.exp (t - x) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
        exact mul_le_mul ineq2 ineq1 (abs_nonneg _) (le_of_lt (real.exp_pos t)),
f : [X],
t : ,
ht : t  0,
x : ,
hx : x  set.Icc 0 t,
triv : abs (real.exp (t - x)) = real.exp (t - x),
ineq1 : abs (f_eval_on_ℝ f x)  f_eval_on_ℝ (f_bar f) t,
ineq2 : real.exp (t - x)  real.exp t
 real.exp (t - x) * abs (f_eval_on_ℝ f x)  real.exp t * f_eval_on_ℝ (f_bar f) t
no goals
    },
no goals
no goals
QED.
Theorem

$$|I(f,t)|\le te^t\bar{f}(t)$$

theorem abs_II_le2 (f : [X]) (t : ) (ht : t  0) : abs (II f t ht)  t * t.exp * (f_eval_on_ℝ (f_bar f) t) :=
Proof
combine abs_II_le1 and previous lemma.
    have ineq1 := (abs_II_le1 f t ht),
f : [X],
t : ,
ht : t  0
 abs (II f t ht)  t * real.exp t * f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
ineq1 : abs (II f t ht)   (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)
 abs (II f t ht)  t * real.exp t * f_eval_on_ℝ (f_bar f) t
    have ineq2 := (II_le2' f t ht),
f : [X],
t : ,
ht : t  0,
ineq1 : abs (II f t ht)   (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)
 abs (II f t ht)  t * real.exp t * f_eval_on_ℝ (f_bar f) t
f : [X],
t : ,
ht : t  0,
ineq1 : abs (II f t ht)   (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x),
ineq2 :  (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * real.exp t * f_eval_on_ℝ (f_bar f) t
 abs (II f t ht)  t * real.exp t * f_eval_on_ℝ (f_bar f) t
    exact le_trans (abs_II_le1 f t ht) (II_le2' f t ht),
f : [X],
t : ,
ht : t  0,
ineq1 : abs (II f t ht)   (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x),
ineq2 :  (x : ) in 0..t, abs (real.exp (t - x) * f_eval_on_ℝ f x)  t * real.exp t * f_eval_on_ℝ (f_bar f) t
 abs (II f t ht)  t * real.exp t * f_eval_on_ℝ (f_bar f) t
no goals
QED.

Tactic state