PF001U · theorem body

pythagorean_positive_even_leg_parameters_nonzero

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

A positive even leg forces both explicitly constructed Euclidean parameters to be 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

forall b m n. ~(b = 0) -> b = 2 * (m * n) -> (~(m = 0) /\ ~(n = 0))

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

none

In local proof propositions

none
Exact expanded first-order statement
forall b m n. ~(b = 0) -> b = 2 * (m * n) -> (~(m = 0) /\ ~(n = 0))

Proof neighborhood

Direct theorem prerequisites

factor_nonzero_right · Alpha closed mul_zero_left · Stable closed

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

23 script commands · 10 reading checkpoints · 1 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.

01Fix variables and assumptionsL1–5

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

  1. L1
    intro b
  2. L2
    intro m
  3. L3
    intro n
  4. L4
    intro hb
  5. L5
    intro heq
02Establish hproductL6–14

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply factor nonzero right.

  1. L6
    have hproduct : ~(m * n = 0)
  2. L7
    intro hzero
  3. L8
    specialize factor_nonzero_right b
  4. L9
    specialize factor_nonzero_right 2
  5. L10
    specialize factor_nonzero_right (m * n)
  6. L11
    apply factor_nonzero_right
  7. L12
    exact hb
  8. L13
    exact heq
  9. L14
    exact hzero
03Separate the logical casesL15–15

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L15
    split
04Fix variables and assumptionsL16–16

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

  1. L16
    intro hm
05Use earlier factsL17–17

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L17
    apply hproduct
06Calculate and transport equalitiesL18–18

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L18
    rewrite hm
07Use earlier factsL19–19

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L19
    apply mul_zero_left
08Fix variables and assumptionsL20–20

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

  1. L20
    intro hn
09Use earlier factsL21–21

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L21
    apply hproduct
10Calculate and transport equalitiesL22–23

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L22
    rewrite hn
  2. L23
    simp

Library-wide reading audit

Original defined command ledger · 23 lines
  1. 0001intro b
  2. 0002intro m
  3. 0003intro n
  4. 0004intro hb
  5. 0005intro heq
  6. 0006have hproduct : ~(m * n = 0)
  7. 0007intro hzero
  8. 0008specialize factor_nonzero_right b
  9. 0009specialize factor_nonzero_right 2
  10. 0010specialize factor_nonzero_right (m * n)
  11. 0011apply factor_nonzero_right
  12. 0012exact hb
  13. 0013exact heq
  14. 0014exact hzero
  15. 0015split
  16. 0016intro hm
  17. 0017apply hproduct
  18. 0018rewrite hm
  19. 0019apply mul_zero_left
  20. 0020intro hn
  21. 0021apply hproduct
  22. 0022rewrite hn
  23. 0023simp