MIL/C03_Logic/solutions/Solutions_S01_Implication_and_the_Universal_Quantifier.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned Mathematics in Lean documentation, Pinned Mathematics in Lean textbook

22 declarations, 0 contain sorry, 0 declared as axioms

Imports (2)
  1. theorem C03S01.my_lemma4 Solution: |x*y| < epsilon by a calc chain line 6 source

    L4DEL explanation

    Bound |x*y| by |x|*|y|, then by |x|*epsilon, then by 1*epsilon, which is epsilon.

    1. intro x y ε epos ele1 xlt ylt moves the quantified variables and hypotheses into the context.
    2. First calc step |x * y| = |x| * |y| is the library lemma abs_mul.
    3. Next |x| * |y| <= |x| * ε uses mul_le_mul, with linarith and abs_nonneg closing the side goals.
    4. Then |x| * ε < 1 * ε uses mul_lt_mul_of_pos_right and linarith, using |x| < ε <= 1 and 0 < ε.
    5. The last step 1 * ε = ε is one_mul.

    Sources and attribution: Pinned Lean source (dd6d752fedb1)

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Real, LT.lt, OfNat.ofNat, LE.le, abs, HMul.hMul

    Proof uses: Trans.trans, Eq, abs_mul, mul_le_mul, le_of_not_gt, Mathlib.Tactic.Linarith.lt_irrefl, Eq.mp, HSub.hSub, congrArg, Mathlib.Tactic.Ring.of_eq, Mathlib.Tactic.Ring.Common.sub_congr, HAdd.hAdd, HPow.hPow, Nat, Nat.rawCast, Mathlib.Tactic.Ring.Common.atom_pf, rfl, Eq.mpr, id, Eq.symm and 40 more

    79 instances, coercions and auxiliary constants left out.

    Distinct definitions of this name: MIL/C03_Logic/S01_Implication_and_the_Universal_Quantifier.lean:41 (same statement text; different proof or body). Qualify references as C03S01.my_lemma4@path.

    calc: a chain of equalities and inequalities, each step justified by its own proof, which Lean composes into one claim.

    Tactic trace: 11 steps

    Open to load the checked before-and-after goal states.

    theorem my_lemma4 :
        ∀ {x y ε : ℝ}, 0 < ε → ε ≤ 1 → |x| < ε → |y| < ε → |x * y| < ε := by
    …
  2. def C03S01.FnUb line 15 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Real

    Proof uses: LE.le

    1 instances, coercions and auxiliary constants left out.

    Also declared: MIL/C03_Logic/S01_Implication_and_the_Universal_Quantifier.lean:50 (same declaration text).

  3. def C03S01.FnLb line 18 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Real

    Proof uses: LE.le

    1 instances, coercions and auxiliary constants left out.

    Also declared: MIL/C03_Logic/S01_Implication_and_the_Universal_Quantifier.lean:53 (same declaration text).

    Tactic trace: 21 steps

    Open to load the checked before-and-after goal states.

  4. example C03S01.(example at line 24) line 24 source
  5. example C03S01.(example at line 30) line 30 source
  6. example C03S01.(example at line 36) line 36 source
  7. example C03S01.(example at line 50) line 50 source
  8. example C03S01.(example at line 55) line 55 source
  9. example C03S01.(example at line 58) line 58 source
  10. example C03S01.(example at line 64) line 64 source
  11. def C03S01.FnEven line 67 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Real

    Proof uses: Eq, Neg.neg

    1 instances, coercions and auxiliary constants left out.

    Also declared: MIL/C03_Logic/S01_Implication_and_the_Universal_Quantifier.lean:112 (same declaration text).

  12. def C03S01.FnOdd line 70 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Real

    Proof uses: Eq, Neg.neg

    1 instances, coercions and auxiliary constants left out.

    Also declared: MIL/C03_Logic/S01_Implication_and_the_Universal_Quantifier.lean:115 (same declaration text).

    Tactic trace: 13 steps

    Open to load the checked before-and-after goal states.

  13. example C03S01.(example at line 73) line 73 source
  14. example C03S01.(example at line 80) line 80 source
  15. example C03S01.(example at line 85) line 85 source
  16. example C03S01.(example at line 96) line 96 source
  17. theorem C03S01.Subset.trans line 102 source

    no axioms what this means

    Statement uses: Set, HasSubset.Subset

    Proof uses: Membership.mem

    3 instances, coercions and auxiliary constants left out.

    Distinct definitions of this name: MIL/C03_Logic/S01_Implication_and_the_Universal_Quantifier.lean:146 (same statement text; different proof or body). Qualify references as C03S01.Subset.trans@path.

  18. def C03S01.SetUb line 111 source

    no axioms what this means

    Statement uses: PartialOrder, Set

    Proof uses: Membership.mem, LE.le

    3 instances, coercions and auxiliary constants left out.

    Also declared: MIL/C03_Logic/S01_Implication_and_the_Universal_Quantifier.lean:155 (same declaration text).

    Tactic trace: 8 steps

    Open to load the checked before-and-after goal states.

  19. example C03S01.(example at line 114) line 114 source
  20. example C03S01.(example at line 118) line 118 source
  21. example C03S01.(example at line 127) line 127 source
  22. example C03S01.(example at line 134) line 134 source