PA00C7

odd_multiplier_even_product_iff

Alpha v34 checked-use theorem · independently closed; not Stable

Multiplication by an odd natural preserves and reflects evenness.

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.

Exact expanded PA statement

forall p q. (exists pod_odd_multiplier. p = 2 * pod_odd_multiplier + 1) -> ((((exists pod_even_product_even. p * q = 2 * pod_even_product_even) -> (exists pod_even_factor_even. q = 2 * pod_even_factor_even)) /\ ((exists pod_even_factor_even. q = 2 * pod_even_factor_even) -> (exists pod_even_product_even. p * q = 2 * pod_even_product_even))))

Structural proof guide

Generated structural guide

Multiplication by an odd natural preserves and reflects evenness.

Use the direct prerequisites parity_cases, odd_mul_odd, even_not_odd, even_mul_right as previously established PA formulas.

The proof proceeds by case analysis (2), intermediate claims (2).

Referenced ingredients

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.

Read the argument

Proof checkpoints

29 script commands · 13 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.

Named ingredients (4)
01Fix variables and assumptionsL1–3

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

  1. L1
    intro p
  2. L2
    intro q
  3. L3
    intro hp
02Separate the logical casesL4–4

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

  1. L4
    split
03Fix variables and assumptionsL5–5

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

  1. L5
    intro hproduct
04Establish hqcasesL6–8

Establish this local claim before using it. It is not an additional assumption.

  1. L6
    have hqcases : exists k. q = 2 * k \/ q = 2 * k + 1
  2. L7
    specialize parity_cases q
  3. L8
    exact parity_cases
05Separate the logical casesL9–10

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

  1. L9
    cases hqcases
  2. L10
    cases hqcases_witness
06Construct an explicit witnessL11–11

Supply the displayed value, then prove that it has the required property.

  1. L11
    exists x
07Use earlier factsL12–12

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

  1. L12
    exact hqcases_witness_left
08Separate the logical casesL13–13

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

  1. L13
    exfalso
09Establish hproduct_oddL14–18

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

  1. L14
    have hproduct_odd : exists pod_odd_even_iff_contradiction. p * q = 2 * pod_odd_even_iff_contradiction + 1
  2. L15
    specialize odd_mul_odd p
  3. L16
    specialize odd_mul_odd q
  4. L17
    apply odd_mul_odd
  5. L18
    exact hp
10Construct an explicit witnessL19–19

Supply the displayed value, then prove that it has the required property.

  1. L19
    exists x
11Use earlier factsL20–24

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

  1. L20
    exact hqcases_witness_right
  2. L21
    specialize even_not_odd (p * q)
  3. L22
    apply even_not_odd
  4. L23
    exact hproduct
  5. L24
    exact hproduct_odd
12Fix variables and assumptionsL25–25

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

  1. L25
    intro hq
13Use earlier factsL26–29

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

  1. L26
    specialize even_mul_right p
  2. L27
    specialize even_mul_right q
  3. L28
    apply even_mul_right
  4. L29
    exact hq

Library-wide reading audit

Original exact command ledger · 29 lines
  1. 0001intro p
  2. 0002intro q
  3. 0003intro hp
  4. 0004split
  5. 0005intro hproduct
  6. 0006have hqcases : exists k. q = 2 * k \/ q = 2 * k + 1
  7. 0007specialize parity_cases q
  8. 0008exact parity_cases
  9. 0009cases hqcases
  10. 0010cases hqcases_witness
  11. 0011exists x
  12. 0012exact hqcases_witness_left
  13. 0013exfalso
  14. 0014have hproduct_odd : exists pod_odd_even_iff_contradiction. p * q = 2 * pod_odd_even_iff_contradiction + 1
  15. 0015specialize odd_mul_odd p
  16. 0016specialize odd_mul_odd q
  17. 0017apply odd_mul_odd
  18. 0018exact hp
  19. 0019exists x
  20. 0020exact hqcases_witness_right
  21. 0021specialize even_not_odd (p * q)
  22. 0022apply even_not_odd
  23. 0023exact hproduct
  24. 0024exact hproduct_odd
  25. 0025intro hq
  26. 0026specialize even_mul_right p
  27. 0027specialize even_mul_right q
  28. 0028apply even_mul_right
  29. 0029exact hq