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 A r s i j z. (exists ssr_entry_value_nonzero_entry ssr_entry_image_nonzero_entry. ((exists dst_positive_code_nonzero_entrysource dst_positive_scale_nonzero_entrysource dst_negative_code_nonzero_entrysource dst_negative_scale_nonzero_entrysource dst_positive_nonzero_entrysource dst_negative_nonzero_entrysource. (((A) = (((((dst_positive_code_nonzero_entrysource) + (dst_positive_scale_nonzero_entrysource)) * S ((dst_positive_code_nonzero_entrysource) + (dst_positive_scale_nonzero_entrysource)) + ((dst_positive_scale_nonzero_entrysource) + (dst_positive_scale_nonzero_entrysource))) + (((dst_negative_code_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource)) * S ((dst_negative_code_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource)) + ((dst_negative_scale_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource)))) * S ((((dst_positive_code_nonzero_entrysource) + (dst_positive_scale_nonzero_entrysource)) * S ((dst_positive_code_nonzero_entrysource) + (dst_positive_scale_nonzero_entrysource)) + ((dst_positive_scale_nonzero_entrysource) + (dst_positive_scale_nonzero_entrysource))) + (((dst_negative_code_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource)) * S ((dst_negative_code_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource)) + ((dst_negative_scale_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource)))) + ((((dst_negative_code_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource)) * S ((dst_negative_code_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource)) + ((dst_negative_scale_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource))) + (((dst_negative_code_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource)) * S ((dst_negative_code_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource)) + ((dst_negative_scale_nonzero_entrysource) + (dst_negative_scale_nonzero_entrysource)))))) /\ (((((exists ff_h_pvs_nonzero_entrysourcepositive. ff_h_pvs_nonzero_entrysourcepositive + S (dst_positive_nonzero_entrysource) = S ((S (i)) * dst_positive_scale_nonzero_entrysource)) /\ exists ff_q_pvs_nonzero_entrysourcepositive. dst_positive_code_nonzero_entrysource = ff_q_pvs_nonzero_entrysourcepositive * S ((S (i)) * dst_positive_scale_nonzero_entrysource) + (dst_positive_nonzero_entrysource))) /\ (((((exists ff_h_pvs_nonzero_entrysourcenegative. ff_h_pvs_nonzero_entrysourcenegative + S (dst_negative_nonzero_entrysource) = S ((S (i)) * dst_negative_scale_nonzero_entrysource)) /\ exists ff_q_pvs_nonzero_entrysourcenegative. dst_negative_code_nonzero_entrysource = ff_q_pvs_nonzero_entrysourcenegative * S ((S (i)) * dst_negative_scale_nonzero_entrysource) + (dst_negative_nonzero_entrysource))) /\ (exists ge_balance_positive_nonzero_entrysourcevalue ge_balance_negative_nonzero_entrysourcevalue. (((((ssr_entry_value_nonzero_entry) = 2 * (ge_balance_positive_nonzero_entrysourcevalue) /\ (ge_balance_negative_nonzero_entrysourcevalue) = 0) \/ exists ge_signed_half_nonzero_entrysourcevaluedecode. (((ssr_entry_value_nonzero_entry) = 2 * ge_signed_half_nonzero_entrysourcevaluedecode + 1 /\ (ge_balance_positive_nonzero_entrysourcevalue) = 0) /\ (ge_balance_negative_nonzero_entrysourcevalue) = S ge_signed_half_nonzero_entrysourcevaluedecode))) /\ ((dst_positive_nonzero_entrysource) + ge_balance_negative_nonzero_entrysourcevalue = (dst_negative_nonzero_entrysource) + ge_balance_positive_nonzero_entrysourcevalue))))))))) /\ (((((exists ff_h_pvs_nonzero_entrymap. ff_h_pvs_nonzero_entrymap + S (ssr_entry_image_nonzero_entry) = S ((S (i)) * s)) /\ exists ff_q_pvs_nonzero_entrymap. r = ff_q_pvs_nonzero_entrymap * S ((S (i)) * s) + (ssr_entry_image_nonzero_entry))) /\ (((((j)=(ssr_entry_image_nonzero_entry)) /\ ((z)=(ssr_entry_value_nonzero_entry)))) \/ (((~((j)=(ssr_entry_image_nonzero_entry))) /\ ((z)=0)))))))) -> ~(z=0) -> ((exists dst_positive_code_nonzero_source dst_positive_scale_nonzero_source dst_negative_code_nonzero_source dst_negative_scale_nonzero_source dst_positive_nonzero_source dst_negative_nonzero_source. (((A) = (((((dst_positive_code_nonzero_source) + (dst_positive_scale_nonzero_source)) * S ((dst_positive_code_nonzero_source) + (dst_positive_scale_nonzero_source)) + ((dst_positive_scale_nonzero_source) + (dst_positive_scale_nonzero_source))) + (((dst_negative_code_nonzero_source) + (dst_negative_scale_nonzero_source)) * S ((dst_negative_code_nonzero_source) + (dst_negative_scale_nonzero_source)) + ((dst_negative_scale_nonzero_source) + (dst_negative_scale_nonzero_source)))) * S ((((dst_positive_code_nonzero_source) + (dst_positive_scale_nonzero_source)) * S ((dst_positive_code_nonzero_source) + (dst_positive_scale_nonzero_source)) + ((dst_positive_scale_nonzero_source) + (dst_positive_scale_nonzero_source))) + (((dst_negative_code_nonzero_source) + (dst_negative_scale_nonzero_source)) * S ((dst_negative_code_nonzero_source) + (dst_negative_scale_nonzero_source)) + ((dst_negative_scale_nonzero_source) + (dst_negative_scale_nonzero_source)))) + ((((dst_negative_code_nonzero_source) + (dst_negative_scale_nonzero_source)) * S ((dst_negative_code_nonzero_source) + (dst_negative_scale_nonzero_source)) + ((dst_negative_scale_nonzero_source) + (dst_negative_scale_nonzero_source))) + (((dst_negative_code_nonzero_source) + (dst_negative_scale_nonzero_source)) * S ((dst_negative_code_nonzero_source) + (dst_negative_scale_nonzero_source)) + ((dst_negative_scale_nonzero_source) + (dst_negative_scale_nonzero_source)))))) /\ (((((exists ff_h_pvs_nonzero_sourcepositive. ff_h_pvs_nonzero_sourcepositive + S (dst_positive_nonzero_source) = S ((S (i)) * dst_positive_scale_nonzero_source)) /\ exists ff_q_pvs_nonzero_sourcepositive. dst_positive_code_nonzero_source = ff_q_pvs_nonzero_sourcepositive * S ((S (i)) * dst_positive_scale_nonzero_source) + (dst_positive_nonzero_source))) /\ (((((exists ff_h_pvs_nonzero_sourcenegative. ff_h_pvs_nonzero_sourcenegative + S (dst_negative_nonzero_source) = S ((S (i)) * dst_negative_scale_nonzero_source)) /\ exists ff_q_pvs_nonzero_sourcenegative. dst_negative_code_nonzero_source = ff_q_pvs_nonzero_sourcenegative * S ((S (i)) * dst_negative_scale_nonzero_source) + (dst_negative_nonzero_source))) /\ (exists ge_balance_positive_nonzero_sourcevalue ge_balance_negative_nonzero_sourcevalue. (((((z) = 2 * (ge_balance_positive_nonzero_sourcevalue) /\ (ge_balance_negative_nonzero_sourcevalue) = 0) \/ exists ge_signed_half_nonzero_sourcevaluedecode. (((z) = 2 * ge_signed_half_nonzero_sourcevaluedecode + 1 /\ (ge_balance_positive_nonzero_sourcevalue) = 0) /\ (ge_balance_negative_nonzero_sourcevalue) = S ge_signed_half_nonzero_sourcevaluedecode))) /\ ((dst_positive_nonzero_source) + ge_balance_negative_nonzero_sourcevalue = (dst_negative_nonzero_source) + ge_balance_positive_nonzero_sourcevalue))))))))) /\ (((exists ff_h_pvs_nonzero_map. ff_h_pvs_nonzero_map + S (j) = S ((S (i)) * s)) /\ exists ff_q_pvs_nonzero_map. r = ff_q_pvs_nonzero_map * S ((S (i)) * s) + (j))))Constructive proof overview
Generated structural guide
A nonzero incidence value witnesses both the identical actual source value and the actual beta image.
The unchanged tactic script uses 0 declared prerequisites and contains 25 exact native proof lines.
Alpha v34 checked-use · first admitted v32 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
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
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–8
02Separate the logical casesL9–15
03Calculate and transport equalitiesL16–17
04Use earlier factsL18–18
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
exact he_witness_witness_left
05Calculate and transport equalitiesL19–20
06Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact he_witness_witness_right_left
07Separate the logical casesL22–23
Original exact command ledger · 25 lines
- 0001
intro A - 0002
intro r - 0003
intro s - 0004
intro i - 0005
intro j - 0006
intro z - 0007
intro he - 0008
intro hnz - 0009
cases he - 0010
cases he_witness - 0011
cases he_witness_witness - 0012
cases he_witness_witness_right - 0013
cases he_witness_witness_right_right - 0014
cases he_witness_witness_right_right_left - 0015
split - 0016
rewrite he_witness_witness_right_right_left_right - 0017
rewrite he_witness_witness_right_right_left_right - 0018
exact he_witness_witness_left - 0019
rewrite he_witness_witness_right_right_left_left - 0020
rewrite he_witness_witness_right_right_left_left - 0021
exact he_witness_witness_right_left - 0022
cases he_witness_witness_right_right_right - 0023
exfalso - 0024
apply hnz - 0025
exact he_witness_witness_right_right_right_right