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 pb pc nb nc w rb rc cb cc q. exists ub uc vb vc. (((forall mdr_i_signed_square_existspositive. (exists mdr_gap_signed_square_existspositivebound. mdr_gap_signed_square_existspositivebound + S (mdr_i_signed_square_existspositive) = ((q) * (q))) -> exists mdr_a_signed_square_existspositive. (((exists mdr_r_signed_square_existspositivepoint mdr_s_signed_square_existspositivepoint mdr_u_signed_square_existspositivepoint mdr_v_signed_square_existspositivepoint. ((mdr_i_signed_square_existspositive = (q) * mdr_r_signed_square_existspositivepoint + mdr_s_signed_square_existspositivepoint) /\ ((exists mdr_gap_signed_square_existspositivepointcolumn. mdr_gap_signed_square_existspositivepointcolumn + S (mdr_s_signed_square_existspositivepoint) = (q)) /\ ((((exists ff_h_mdr_signed_square_existspositivepointrow_index. ff_h_mdr_signed_square_existspositivepointrow_index + S (mdr_u_signed_square_existspositivepoint) = S ((S (mdr_r_signed_square_existspositivepoint)) * rc)) /\ exists ff_q_mdr_signed_square_existspositivepointrow_index. rb = ff_q_mdr_signed_square_existspositivepointrow_index * S ((S (mdr_r_signed_square_existspositivepoint)) * rc) + (mdr_u_signed_square_existspositivepoint))) /\ ((((exists ff_h_mdr_signed_square_existspositivepointcolumn_index. ff_h_mdr_signed_square_existspositivepointcolumn_index + S (mdr_v_signed_square_existspositivepoint) = S ((S (mdr_s_signed_square_existspositivepoint)) * cc)) /\ exists ff_q_mdr_signed_square_existspositivepointcolumn_index. cb = ff_q_mdr_signed_square_existspositivepointcolumn_index * S ((S (mdr_s_signed_square_existspositivepoint)) * cc) + (mdr_v_signed_square_existspositivepoint))) /\ (((exists ff_h_mdr_signed_square_existspositivepointsource. ff_h_mdr_signed_square_existspositivepointsource + S (mdr_a_signed_square_existspositive) = S ((S ((mdr_u_signed_square_existspositivepoint) * (w) + (mdr_v_signed_square_existspositivepoint))) * pc)) /\ exists ff_q_mdr_signed_square_existspositivepointsource. pb = ff_q_mdr_signed_square_existspositivepointsource * S ((S ((mdr_u_signed_square_existspositivepoint) * (w) + (mdr_v_signed_square_existspositivepoint))) * pc) + (mdr_a_signed_square_existspositive)))))))) /\ (((exists ff_h_mdr_signed_square_existspositiveoutput. ff_h_mdr_signed_square_existspositiveoutput + S (mdr_a_signed_square_existspositive) = S ((S (mdr_i_signed_square_existspositive)) * uc)) /\ exists ff_q_mdr_signed_square_existspositiveoutput. ub = ff_q_mdr_signed_square_existspositiveoutput * S ((S (mdr_i_signed_square_existspositive)) * uc) + (mdr_a_signed_square_existspositive)))))) /\ (forall mdr_i_signed_square_existsnegative. (exists mdr_gap_signed_square_existsnegativebound. mdr_gap_signed_square_existsnegativebound + S (mdr_i_signed_square_existsnegative) = ((q) * (q))) -> exists mdr_a_signed_square_existsnegative. (((exists mdr_r_signed_square_existsnegativepoint mdr_s_signed_square_existsnegativepoint mdr_u_signed_square_existsnegativepoint mdr_v_signed_square_existsnegativepoint. ((mdr_i_signed_square_existsnegative = (q) * mdr_r_signed_square_existsnegativepoint + mdr_s_signed_square_existsnegativepoint) /\ ((exists mdr_gap_signed_square_existsnegativepointcolumn. mdr_gap_signed_square_existsnegativepointcolumn + S (mdr_s_signed_square_existsnegativepoint) = (q)) /\ ((((exists ff_h_mdr_signed_square_existsnegativepointrow_index. ff_h_mdr_signed_square_existsnegativepointrow_index + S (mdr_u_signed_square_existsnegativepoint) = S ((S (mdr_r_signed_square_existsnegativepoint)) * rc)) /\ exists ff_q_mdr_signed_square_existsnegativepointrow_index. rb = ff_q_mdr_signed_square_existsnegativepointrow_index * S ((S (mdr_r_signed_square_existsnegativepoint)) * rc) + (mdr_u_signed_square_existsnegativepoint))) /\ ((((exists ff_h_mdr_signed_square_existsnegativepointcolumn_index. ff_h_mdr_signed_square_existsnegativepointcolumn_index + S (mdr_v_signed_square_existsnegativepoint) = S ((S (mdr_s_signed_square_existsnegativepoint)) * cc)) /\ exists ff_q_mdr_signed_square_existsnegativepointcolumn_index. cb = ff_q_mdr_signed_square_existsnegativepointcolumn_index * S ((S (mdr_s_signed_square_existsnegativepoint)) * cc) + (mdr_v_signed_square_existsnegativepoint))) /\ (((exists ff_h_mdr_signed_square_existsnegativepointsource. ff_h_mdr_signed_square_existsnegativepointsource + S (mdr_a_signed_square_existsnegative) = S ((S ((mdr_u_signed_square_existsnegativepoint) * (w) + (mdr_v_signed_square_existsnegativepoint))) * nc)) /\ exists ff_q_mdr_signed_square_existsnegativepointsource. nb = ff_q_mdr_signed_square_existsnegativepointsource * S ((S ((mdr_u_signed_square_existsnegativepoint) * (w) + (mdr_v_signed_square_existsnegativepoint))) * nc) + (mdr_a_signed_square_existsnegative)))))))) /\ (((exists ff_h_mdr_signed_square_existsnegativeoutput. ff_h_mdr_signed_square_existsnegativeoutput + S (mdr_a_signed_square_existsnegative) = S ((S (mdr_i_signed_square_existsnegative)) * vc)) /\ exists ff_q_mdr_signed_square_existsnegativeoutput. vb = ff_q_mdr_signed_square_existsnegativeoutput * S ((S (mdr_i_signed_square_existsnegative)) * vc) + (mdr_a_signed_square_existsnegative))))))))Constructive proof overview
Generated structural guide
Construct both genuine natural-component streams of an arbitrary signed selected square matrix.
The unchanged tactic script uses 1 declared prerequisite and contains 41 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · 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.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Establish hpositiveL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix rank selected square exists.
- L11
- L12
specialize matrix_rank_selected_square_exists (pb) - L13
specialize matrix_rank_selected_square_exists (pc) - L14
specialize matrix_rank_selected_square_exists (w) - L15
specialize matrix_rank_selected_square_exists (rb) - L16
specialize matrix_rank_selected_square_exists (rc) - L17
specialize matrix_rank_selected_square_exists (cb) - L18
specialize matrix_rank_selected_square_exists (cc) - L19
specialize matrix_rank_selected_square_exists (q) - L20
apply matrix_rank_selected_square_exists
03Separate the logical casesL21–22
04Establish hnegativeL23–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix rank selected square exists.
- L23
- L24
specialize matrix_rank_selected_square_exists (nb) - L25
specialize matrix_rank_selected_square_exists (nc) - L26
specialize matrix_rank_selected_square_exists (w) - L27
specialize matrix_rank_selected_square_exists (rb) - L28
specialize matrix_rank_selected_square_exists (rc) - L29
specialize matrix_rank_selected_square_exists (cb) - L30
specialize matrix_rank_selected_square_exists (cc) - L31
specialize matrix_rank_selected_square_exists (q) - L32
apply matrix_rank_selected_square_exists
05Separate the logical casesL33–34
06Construct an explicit witnessL35–38
07Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
split
Original exact command ledger · 41 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro w - 0006
intro rb - 0007
intro rc - 0008
intro cb - 0009
intro cc - 0010
intro q - 0011
have hpositive : exists u v. forall mdr_i_positive_exists. (exists mdr_gap_positive_existsbound. mdr_gap_positive_existsbound + S (mdr_i_positive_exists) = (q * q)) -> exists mdr_a_positive_exists. (((exists mdr_r_positive_existspoint mdr_s_positive_existspoint mdr_u_positive_existspoint mdr_v_positive_existspoint. ((mdr_i_positive_exists = (q) * mdr_r_positive_existspoint + mdr_s_positive_existspoint) /\ ((exists mdr_gap_positive_existspointcolumn. mdr_gap_positive_existspointcolumn + S (mdr_s_positive_existspoint) = (q)) /\ ((((exists ff_h_mdr_positive_existspointrow_index. ff_h_mdr_positive_existspointrow_index + S (mdr_u_positive_existspoint) = S ((S (mdr_r_positive_existspoint)) * rc)) /\ exists ff_q_mdr_positive_existspointrow_index. rb = ff_q_mdr_positive_existspointrow_index * S ((S (mdr_r_positive_existspoint)) * rc) + (mdr_u_positive_existspoint))) /\ ((((exists ff_h_mdr_positive_existspointcolumn_index. ff_h_mdr_positive_existspointcolumn_index + S (mdr_v_positive_existspoint) = S ((S (mdr_s_positive_existspoint)) * cc)) /\ exists ff_q_mdr_positive_existspointcolumn_index. cb = ff_q_mdr_positive_existspointcolumn_index * S ((S (mdr_s_positive_existspoint)) * cc) + (mdr_v_positive_existspoint))) /\ (((exists ff_h_mdr_positive_existspointsource. ff_h_mdr_positive_existspointsource + S (mdr_a_positive_exists) = S ((S ((mdr_u_positive_existspoint) * (w) + (mdr_v_positive_existspoint))) * pc)) /\ exists ff_q_mdr_positive_existspointsource. pb = ff_q_mdr_positive_existspointsource * S ((S ((mdr_u_positive_existspoint) * (w) + (mdr_v_positive_existspoint))) * pc) + (mdr_a_positive_exists)))))))) /\ (((exists ff_h_mdr_positive_existsoutput. ff_h_mdr_positive_existsoutput + S (mdr_a_positive_exists) = S ((S (mdr_i_positive_exists)) * v)) /\ exists ff_q_mdr_positive_existsoutput. u = ff_q_mdr_positive_existsoutput * S ((S (mdr_i_positive_exists)) * v) + (mdr_a_positive_exists))))) - 0012
specialize matrix_rank_selected_square_exists (pb) - 0013
specialize matrix_rank_selected_square_exists (pc) - 0014
specialize matrix_rank_selected_square_exists (w) - 0015
specialize matrix_rank_selected_square_exists (rb) - 0016
specialize matrix_rank_selected_square_exists (rc) - 0017
specialize matrix_rank_selected_square_exists (cb) - 0018
specialize matrix_rank_selected_square_exists (cc) - 0019
specialize matrix_rank_selected_square_exists (q) - 0020
apply matrix_rank_selected_square_exists - 0021
cases hpositive - 0022
cases hpositive_witness - 0023
have hnegative : exists u v. forall mdr_i_negative_exists. (exists mdr_gap_negative_existsbound. mdr_gap_negative_existsbound + S (mdr_i_negative_exists) = (q * q)) -> exists mdr_a_negative_exists. (((exists mdr_r_negative_existspoint mdr_s_negative_existspoint mdr_u_negative_existspoint mdr_v_negative_existspoint. ((mdr_i_negative_exists = (q) * mdr_r_negative_existspoint + mdr_s_negative_existspoint) /\ ((exists mdr_gap_negative_existspointcolumn. mdr_gap_negative_existspointcolumn + S (mdr_s_negative_existspoint) = (q)) /\ ((((exists ff_h_mdr_negative_existspointrow_index. ff_h_mdr_negative_existspointrow_index + S (mdr_u_negative_existspoint) = S ((S (mdr_r_negative_existspoint)) * rc)) /\ exists ff_q_mdr_negative_existspointrow_index. rb = ff_q_mdr_negative_existspointrow_index * S ((S (mdr_r_negative_existspoint)) * rc) + (mdr_u_negative_existspoint))) /\ ((((exists ff_h_mdr_negative_existspointcolumn_index. ff_h_mdr_negative_existspointcolumn_index + S (mdr_v_negative_existspoint) = S ((S (mdr_s_negative_existspoint)) * cc)) /\ exists ff_q_mdr_negative_existspointcolumn_index. cb = ff_q_mdr_negative_existspointcolumn_index * S ((S (mdr_s_negative_existspoint)) * cc) + (mdr_v_negative_existspoint))) /\ (((exists ff_h_mdr_negative_existspointsource. ff_h_mdr_negative_existspointsource + S (mdr_a_negative_exists) = S ((S ((mdr_u_negative_existspoint) * (w) + (mdr_v_negative_existspoint))) * nc)) /\ exists ff_q_mdr_negative_existspointsource. nb = ff_q_mdr_negative_existspointsource * S ((S ((mdr_u_negative_existspoint) * (w) + (mdr_v_negative_existspoint))) * nc) + (mdr_a_negative_exists)))))))) /\ (((exists ff_h_mdr_negative_existsoutput. ff_h_mdr_negative_existsoutput + S (mdr_a_negative_exists) = S ((S (mdr_i_negative_exists)) * v)) /\ exists ff_q_mdr_negative_existsoutput. u = ff_q_mdr_negative_existsoutput * S ((S (mdr_i_negative_exists)) * v) + (mdr_a_negative_exists))))) - 0024
specialize matrix_rank_selected_square_exists (nb) - 0025
specialize matrix_rank_selected_square_exists (nc) - 0026
specialize matrix_rank_selected_square_exists (w) - 0027
specialize matrix_rank_selected_square_exists (rb) - 0028
specialize matrix_rank_selected_square_exists (rc) - 0029
specialize matrix_rank_selected_square_exists (cb) - 0030
specialize matrix_rank_selected_square_exists (cc) - 0031
specialize matrix_rank_selected_square_exists (q) - 0032
apply matrix_rank_selected_square_exists - 0033
cases hnegative - 0034
cases hnegative_witness - 0035
exists x - 0036
exists x1 - 0037
exists x2 - 0038
exists x3 - 0039
split - 0040
exact hpositive_witness_witness - 0041
exact hnegative_witness_witness