-- Mathlib/Data/Complex/ExponentialBounds.lean
theorem exp_one_near_20 : |exp 1 - 363916618873 / 133877442384| ≤ 1 / 10 ^ 20

Proof state:
⊢ ↑21 = ?m.4824

Tactic:
norm_cast

Result:
no goals

Proof state:
case h

⊢ |1 - 36295539 / 44271641| ≤ 311834363841 / 610351562500 - |1| / 22 * ((22 + 1) / 22)

Tactic:
rw [_root_.abs_one, abs_of_pos] <;> norm_num1

Result:
no goals

Proof state:
⊢ |1| ≤ 1

Tactic:
simp

Result:
no goals

Proof state:
⊢ 20 + 1 = ?m.4822

Tactic:
norm_num1

Result:
⊢ 21 = ?m.4822

Proof state:
⊢ 21 = ?m.4822

Tactic:
rfl

Result:
no goals

Proof state:
case h

⊢ |rexp 1 - expNear 0 1 (363916618873 / 133877442384)| ≤ |1| ^ 0 / ↑(Nat.factorial 0) * (1 / 10 ^ 20)

Tactic:
iterate 21 refine exp_1_approx_succ_eq (by norm_num1; rfl) (by norm_cast) ?_

Result:
case h

⊢ |rexp 1 -
        expNear 21 1
          ((((((((((((((((((((((363916618873 / 133877442384 - 1) * 1 - 1) * 2 - 1) * 3 - 1) * 4 - 1) * 5 - 1) * 6 - 1) *
                                                                    7 -
                                                                  1) *
                                                                8 -
                                                              1) *
                                                            9 -
                                                          1) *
                                                        10 -
                                                      1) *
                                                    11 -
                                                  1) *
                                                12 -
                                              1) *
                                            13 -
                                          1) *
                                        14 -
                                      1) *
                                    15 -
                                  1) *
                                16 -
                              1) *
                            17 -
                          1) *
                        18 -
                      1) *
                    19 -
                  1) *
                20 -
              1) *
            21)| ≤
    |1| ^ 21 / ↑(Nat.factorial 21) *
      (1 / 10 ^ 20 * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17 * 18 * 19 * 20 * 21)

Proof state:
⊢ 22 = ?m.5684

Tactic:
rfl

Result:
no goals

Proof state:
case h

⊢ |rexp 1 -
        expNear 21 1
          ((((((((((((((((((((((363916618873 / 133877442384 - 1) * 1 - 1) * 2 - 1) * 3 - 1) * 4 - 1) * 5 - 1) * 6 - 1) *
                                                                    7 -
                                                                  1) *
                                                                8 -
                                                              1) *
                                                            9 -
                                                          1) *
                                                        10 -
                                                      1) *
                                                    11 -
                                                  1) *
                                                12 -
                                              1) *
                                            13 -
                                          1) *
                                        14 -
                                      1) *
                                    15 -
                                  1) *
                                16 -
                              1) *
                            17 -
                          1) *
                        18 -
                      1) *
                    19 -
                  1) *
                20 -
              1) *
            21)| ≤
    |1| ^ 21 / ↑(Nat.factorial 21) *
      (1 / 10 ^ 20 * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17 * 18 * 19 * 20 * 21)

Tactic:
norm_num1

Result:
case h

⊢ |rexp 1 - expNear 21 1 (36295539 / 44271641)| ≤ |1| ^ 21 / ↑(Nat.factorial 21) * (311834363841 / 610351562500)

Proof state:
⊢ 21 + 1 = ?m.5684

Tactic:
norm_num1

Result:
⊢ 22 = ?m.5684

Proof state:
case h

⊢ |rexp 1 - expNear 21 1 (36295539 / 44271641)| ≤ |1| ^ 21 / ↑(Nat.factorial 21) * (311834363841 / 610351562500)

Tactic:
refine exp_approx_end' _ (by norm_num1; rfl) _ (by norm_cast) (by simp) ?_

Result:
case h

⊢ |1 - 36295539 / 44271641| ≤ 311834363841 / 610351562500 - |1| / 22 * ((22 + 1) / 22)

Proof state:
⊢ ↑22 = ?m.5687

Tactic:
norm_cast

Result:
no goals

Proof state:
⊢ |rexp 1 - 363916618873 / 133877442384| ≤ 1 / 10 ^ 20

Tactic:
apply exp_approx_start

Result:
case h

⊢ |rexp 1 - expNear 0 1 (363916618873 / 133877442384)| ≤ |1| ^ 0 / ↑(Nat.factorial 0) * (1 / 10 ^ 20)