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 expanded first-order arithmetic statement
forall p d q. ~(p=0) -> d=p*q -> (exists pvs_factor_square_input. (d) = (p*p) * pvs_factor_square_input) -> (exists pvs_factor_square_output. (q) = (p) * pvs_factor_square_output)Constructive proof overview
Generated structural guide
Cancel one actual nonzero factor in a witnessed square divisor; the quotient is genuinely divisible by p.
The unchanged tactic script uses 2 declared prerequisites and contains 19 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
mul_left_cancel_nonzero Stable theorem; checked-use authorized mul_assoc Stable theorem; checked-use authorizedDirect 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
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–6
02Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
cases hs
03Construct an explicit witnessL8–8
Supply the displayed value, then prove that it has the required property.
- L8
exists x
04Use earlier factsL9–13
05Calculate and transport equalitiesL14–15
06Use earlier factsL16–16
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L16
exact heq
07Calculate and transport equalitiesL17–17
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L17
trans (p*p)*x
Original exact command ledger · 19 lines
- 0001
intro p - 0002
intro d - 0003
intro q - 0004
intro hp - 0005
intro heq - 0006
intro hs - 0007
cases hs - 0008
exists x - 0009
specialize mul_left_cancel_nonzero (p) - 0010
specialize mul_left_cancel_nonzero (q) - 0011
specialize mul_left_cancel_nonzero (p*x) - 0012
apply mul_left_cancel_nonzero - 0013
exact hp - 0014
trans d - 0015
symm - 0016
exact heq - 0017
trans (p*p)*x - 0018
exact hs_witness - 0019
apply mul_assoc