FS003Q

four_square_parity_square_mod_two_self

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Every natural square has exactly the same residue modulo two as its coordinate.

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 first-order arithmetic statement

forall a. (exists fsps_u_square fsps_v_square. (a * a) + 2 * fsps_u_square = (a) + 2 * fsps_v_square)

Constructive proof overview

Generated structural guide

Every natural square has exactly the same residue modulo two as its coordinate.

The unchanged tactic script uses 4 declared prerequisites and contains 31 exact native proof lines.

dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged

Historical empty-context replay experiment only; that experiment persisted no certificate and granted no release authority. Current checked use follows separately sealed, independently verified proof bundles; there is no Stable promotion.

Proof neighborhood

Direct dependencies

parity_cases Stable theorem; checked-use authorized matching_parity_mod_two Alpha theorem; checked-use authorized even_mul_left Stable theorem; checked-use authorized odd_mul_odd Stable theorem; checked-use authorized

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.

Read the argument

Proof checkpoints

31 script commands · 18 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.

01Fix variables and assumptionsL1–1

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

  1. L1
    intro a
02Establish hparityL2–3

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

  1. L2
    have hparity : exists q. a = 2 * q \/ a = 2 * q + 1
  2. L3
    apply parity_cases
03Separate the logical casesL4–5

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

  1. L4
    cases hparity
  2. L5
    cases hparity_witness
04Use earlier factsL6–8

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

  1. L6
    specialize matching_parity_mod_two (a * a)
  2. L7
    specialize matching_parity_mod_two a
  3. L8
    apply matching_parity_mod_two
05Separate the logical casesL9–10

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

  1. L9
    left
  2. L10
    split
06Use earlier factsL11–13

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

  1. L11
    specialize even_mul_left a
  2. L12
    specialize even_mul_left a
  3. L13
    apply even_mul_left
07Construct an explicit witnessL14–14

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

  1. L14
    exists x
08Use earlier factsL15–15

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

  1. L15
    exact hparity_witness_left
09Construct an explicit witnessL16–16

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

  1. L16
    exists x
10Use earlier factsL17–20

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

  1. L17
    exact hparity_witness_left
  2. L18
    specialize matching_parity_mod_two (a * a)
  3. L19
    specialize matching_parity_mod_two a
  4. L20
    apply matching_parity_mod_two
11Separate the logical casesL21–22

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

  1. L21
    right
  2. L22
    split
12Use earlier factsL23–25

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

  1. L23
    specialize odd_mul_odd a
  2. L24
    specialize odd_mul_odd a
  3. L25
    apply odd_mul_odd
13Construct an explicit witnessL26–26

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

  1. L26
    exists x
14Use earlier factsL27–27

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

  1. L27
    exact hparity_witness_right
15Construct an explicit witnessL28–28

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

  1. L28
    exists x
16Use earlier factsL29–29

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

  1. L29
    exact hparity_witness_right
17Construct an explicit witnessL30–30

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

  1. L30
    exists x
18Use earlier factsL31–31

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

  1. L31
    exact hparity_witness_right

Library-wide reading audit

Original exact command ledger · 31 lines
  1. 0001intro a
  2. 0002have hparity : exists q. a = 2 * q \/ a = 2 * q + 1
  3. 0003apply parity_cases
  4. 0004cases hparity
  5. 0005cases hparity_witness
  6. 0006specialize matching_parity_mod_two (a * a)
  7. 0007specialize matching_parity_mod_two a
  8. 0008apply matching_parity_mod_two
  9. 0009left
  10. 0010split
  11. 0011specialize even_mul_left a
  12. 0012specialize even_mul_left a
  13. 0013apply even_mul_left
  14. 0014exists x
  15. 0015exact hparity_witness_left
  16. 0016exists x
  17. 0017exact hparity_witness_left
  18. 0018specialize matching_parity_mod_two (a * a)
  19. 0019specialize matching_parity_mod_two a
  20. 0020apply matching_parity_mod_two
  21. 0021right
  22. 0022split
  23. 0023specialize odd_mul_odd a
  24. 0024specialize odd_mul_odd a
  25. 0025apply odd_mul_odd
  26. 0026exists x
  27. 0027exact hparity_witness_right
  28. 0028exists x
  29. 0029exact hparity_witness_right
  30. 0030exists x
  31. 0031exact hparity_witness_right