PF001I · theorem body

pythagorean_leg_strictly_below_hypotenuse

Alpha v34 checked-use · independently kernel and Lean verified; not Stable

Each leg of a Pythagorean triangle is strictly below the hypotenuse when the other leg is positive.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Statement with defined notation

∀ a. ∀ b. ∀ c. Pythagorean(a,b,c) → ¬b = 0 → Lt(a,c)

Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.

Definitions used by this theorem

In the theorem statement

In local proof propositions

Exact expanded first-order statement
forall a b c. a * a + b * b = c * c -> ~(b = 0) -> exists gap. gap + S a = c

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.

Read the argument

Proof checkpoints

19 script commands · 3 reading checkpoints · 2 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
01Fix variables and assumptionsL1–5

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro hequation
  5. L5
    intro hb
02Establish hsquareL6–11

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul ne zero.

  1. L6
    have hsquare : ~(b * b = 0)
  2. L7
    intro hzero
  3. L8
    apply mul_ne_zero
  4. L9
    exact hb
  5. L10
    exact hb
  6. L11
    exact hzero
03Establish hstrictL12–19

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pythagorean positive add strict.

  1. L12
    have hstrict : Lt(a · a,c · c)Definitions: Lt(a · a,c · c)Original native command in the exact edition
  2. L13
    rewrite <- hequation
  3. L14
    specialize pythagorean_positive_add_strict (a * a)
  4. L15
    specialize pythagorean_positive_add_strict (b * b)
  5. L16
    apply pythagorean_positive_add_strict
  6. L17
    exact hsquare
  7. L18
    apply square_lt_reflect
  8. L19
    exact hstrict

Library-wide reading audit

Original defined command ledger · 19 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro c
  4. 0004intro hequation
  5. 0005intro hb
  6. 0006have hsquare : ~(b * b = 0)
  7. 0007intro hzero
  8. 0008apply mul_ne_zero
  9. 0009exact hb
  10. 0010exact hb
  11. 0011exact hzero
  12. 0012have hstrict : Lt(a · a,c · c)
    Exact native replay linehave hstrict : exists gap. gap + S (a * a) = c * c
  13. 0013rewrite <- hequation
  14. 0014specialize pythagorean_positive_add_strict (a * a)
  15. 0015specialize pythagorean_positive_add_strict (b * b)
  16. 0016apply pythagorean_positive_add_strict
  17. 0017exact hsquare
  18. 0018apply square_lt_reflect
  19. 0019exact hstrict