SK0006

squarefree_coprime_square_factor_is_one

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

Coprime cancellation turns a squared divisor of n times another square into a squared divisor of the squarefree n itself.

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 n a b. (((~((n) = 0)) /\ (forall sfd_prime_coprime_square_sf. (~((sfd_prime_coprime_square_sf) = 1) /\ forall pvs_left_coprime_square_sfdomain pvs_right_coprime_square_sfdomain. (sfd_prime_coprime_square_sf) = pvs_left_coprime_square_sfdomain * pvs_right_coprime_square_sfdomain -> pvs_left_coprime_square_sfdomain = 1 \/ pvs_right_coprime_square_sfdomain = 1) -> (exists pvs_le_gap_coprime_square_sfbound. pvs_le_gap_coprime_square_sfbound + (sfd_prime_coprime_square_sf) = (n)) -> ~(exists pvs_factor_coprime_square_sfsquare. (n) = (sfd_prime_coprime_square_sf * sfd_prime_coprime_square_sf) * pvs_factor_coprime_square_sfsquare)))) -> (forall sfd_common_divisor_coprime_square_pair. (exists pvs_factor_coprime_square_pairleft. (a) = (sfd_common_divisor_coprime_square_pair) * pvs_factor_coprime_square_pairleft) -> (exists pvs_factor_coprime_square_pairright. (b) = (sfd_common_divisor_coprime_square_pair) * pvs_factor_coprime_square_pairright) -> sfd_common_divisor_coprime_square_pair = 1) -> (exists pvs_factor_coprime_square_divisor. (n * (b * b)) = (a * a) * pvs_factor_coprime_square_divisor) -> a = 1

Constructive proof overview

Generated structural guide

Coprime cancellation turns a squared divisor of n times another square into a squared divisor of the squarefree n itself.

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

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

Proof neighborhood

Direct dependencies

SK0004 squarefree_squared_divisor_is_one gauss_coprime_cancel Stable theorem; checked-use authorized SK0005 coprime_squared_pair mul_comm 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

23 script commands · 7 reading checkpoints · 0 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 (2)
01Fix variables and assumptionsL1–6

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

  1. L1
    intro n
  2. L2
    intro a
  3. L3
    intro b
  4. L4
    intro hsf
  5. L5
    intro hcop
  6. L6
    intro hdiv
02Use earlier factsL7–16

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

  1. L7
    specialize squarefree_squared_divisor_is_one (n)
  2. L8
    specialize squarefree_squared_divisor_is_one (a)
  3. L9
    apply squarefree_squared_divisor_is_one
  4. L10
    exact hsf
  5. L11
    specialize gauss_coprime_cancel (a * a)
  6. L12
    specialize gauss_coprime_cancel (b * b)
  7. L13
    specialize gauss_coprime_cancel (n)
  8. L14
    apply gauss_coprime_cancel
  9. L15
    specialize coprime_squared_pair (a)
  10. L16
    specialize coprime_squared_pair (b)
03Use earlier factsL17–18

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

  1. L17
    apply coprime_squared_pair
  2. L18
    exact hcop
04Separate the logical casesL19–19

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

  1. L19
    cases hdiv
05Construct an explicit witnessL20–20

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

  1. L20
    exists x
06Calculate and transport equalitiesL21–21

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

  1. L21
    trans n * (b * b)
07Use earlier factsL22–23

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

  1. L22
    apply mul_comm
  2. L23
    exact hdiv_witness

Library-wide reading audit

Original exact command ledger · 23 lines
  1. 0001intro n
  2. 0002intro a
  3. 0003intro b
  4. 0004intro hsf
  5. 0005intro hcop
  6. 0006intro hdiv
  7. 0007specialize squarefree_squared_divisor_is_one (n)
  8. 0008specialize squarefree_squared_divisor_is_one (a)
  9. 0009apply squarefree_squared_divisor_is_one
  10. 0010exact hsf
  11. 0011specialize gauss_coprime_cancel (a * a)
  12. 0012specialize gauss_coprime_cancel (b * b)
  13. 0013specialize gauss_coprime_cancel (n)
  14. 0014apply gauss_coprime_cancel
  15. 0015specialize coprime_squared_pair (a)
  16. 0016specialize coprime_squared_pair (b)
  17. 0017apply coprime_squared_pair
  18. 0018exact hcop
  19. 0019cases hdiv
  20. 0020exists x
  21. 0021trans n * (b * b)
  22. 0022apply mul_comm
  23. 0023exact hdiv_witness