FS003Q · theorem body

four_square_parity_square_mod_two_self

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

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

historical independently replay-verified empty-context experiment; the experiment itself persisted no certificate and granted no release authority; current checked use follows separately sealed proof bundles; no Stable promotion.

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. ModEq(2,a · a,a)

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

none
Exact expanded first-order statement
forall a. (exists fsps_u_square fsps_v_square. (a * a) + 2 * fsps_u_square = (a) + 2 * fsps_v_square)

Proof neighborhood

Direct theorem prerequisites

parity_cases · Stable closed matching_parity_mod_two · Alpha closed even_mul_left · Stable closed odd_mul_odd · 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

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.

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–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 defined 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