DL002B

signed_recursive_determinant_empty

The empty square matrix has an explicit valid one-node determinant history with value (1,0).

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

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.

This branch proves the finite determinant/rank/span substrate. It does not claim Smith or Hermite normal form, lattice index equals determinant, determinant multiplicativity, lattice reduction, or geometry-of-numbers theorems.

Exact theorem in conservative defined notation

∀ pb. ∀ pc. ∀ nb. ∀ nc. SignedRecursiveDeterminant(pb,pc,nb,nc,0,1,0)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall pb pc nb nc. (exists mdr_b_exact_empty mdr_c_exact_empty mdr_l_exact_empty mdr_i_exact_empty. ((forall mdr_i_exact_emptyh. (exists mdr_gap_exact_emptyhi. mdr_gap_exact_emptyhi + S (mdr_i_exact_emptyh) = (mdr_l_exact_empty)) -> exists mdr_d_exact_emptyh mdr_pb_exact_emptyh mdr_pc_exact_emptyh mdr_nb_exact_emptyh mdr_nc_exact_emptyh mdr_p_exact_emptyh mdr_n_exact_emptyh. ((exists mdr_z_exact_emptyhr. ((exists mdr_a_exact_emptyhrc mdr_b_exact_emptyhrc mdr_c_exact_emptyhrc mdr_e_exact_emptyhrc mdr_f_exact_emptyhrc. ((mdr_a_exact_emptyhrc = ((mdr_d_exact_emptyh) + (mdr_pb_exact_emptyh)) * S ((mdr_d_exact_emptyh) + (mdr_pb_exact_emptyh)) + ((mdr_pb_exact_emptyh) + (mdr_pb_exact_emptyh))) /\ ((mdr_b_exact_emptyhrc = ((mdr_pc_exact_emptyh) + (mdr_nb_exact_emptyh)) * S ((mdr_pc_exact_emptyh) + (mdr_nb_exact_emptyh)) + ((mdr_nb_exact_emptyh) + (mdr_nb_exact_emptyh))) /\ ((mdr_c_exact_emptyhrc = ((mdr_a_exact_emptyhrc) + (mdr_b_exact_emptyhrc)) * S ((mdr_a_exact_emptyhrc) + (mdr_b_exact_emptyhrc)) + ((mdr_b_exact_emptyhrc) + (mdr_b_exact_emptyhrc))) /\ ((mdr_e_exact_emptyhrc = ((mdr_p_exact_emptyh) + (mdr_n_exact_emptyh)) * S ((mdr_p_exact_emptyh) + (mdr_n_exact_emptyh)) + ((mdr_n_exact_emptyh) + (mdr_n_exact_emptyh))) /\ ((mdr_f_exact_emptyhrc = ((mdr_nc_exact_emptyh) + (mdr_e_exact_emptyhrc)) * S ((mdr_nc_exact_emptyh) + (mdr_e_exact_emptyhrc)) + ((mdr_e_exact_emptyhrc) + (mdr_e_exact_emptyhrc))) /\ ((mdr_z_exact_emptyhr) = ((mdr_c_exact_emptyhrc) + (mdr_f_exact_emptyhrc)) * S ((mdr_c_exact_emptyhrc) + (mdr_f_exact_emptyhrc)) + ((mdr_f_exact_emptyhrc) + (mdr_f_exact_emptyhrc))))))))) /\ (((exists ff_h_mdr_exact_emptyhrb. ff_h_mdr_exact_emptyhrb + S (mdr_z_exact_emptyhr) = S ((S (mdr_i_exact_emptyh)) * mdr_c_exact_empty)) /\ exists ff_q_mdr_exact_emptyhrb. mdr_b_exact_empty = ff_q_mdr_exact_emptyhrb * S ((S (mdr_i_exact_emptyh)) * mdr_c_exact_empty) + (mdr_z_exact_emptyhr))))) /\ (((((mdr_d_exact_emptyh) = 0) /\ (((mdr_p_exact_emptyh) = 1) /\ ((mdr_n_exact_emptyh) = 0))) \/ exists mdr_q_exact_emptyhs mdr_eb_exact_emptyhs mdr_ec_exact_emptyhs mdr_fb_exact_emptyhs mdr_fc_exact_emptyhs. (((mdr_d_exact_emptyh) = S (mdr_q_exact_emptyhs)) /\ ((forall mdr_j_exact_emptyhsc. (exists mdr_gap_exact_emptyhscj. mdr_gap_exact_emptyhscj + S (mdr_j_exact_emptyhsc) = (S (mdr_q_exact_emptyhs))) -> exists mdr_i_exact_emptyhsc mdr_up_exact_emptyhsc mdr_us_exact_emptyhsc mdr_un_exact_emptyhsc mdr_ut_exact_emptyhsc mdr_p_exact_emptyhsc mdr_n_exact_emptyhsc. ((exists mdr_gap_exact_emptyhsci. mdr_gap_exact_emptyhsci + S (mdr_i_exact_emptyhsc) = (mdr_i_exact_emptyh)) /\ ((exists mdr_z_exact_emptyhscr. ((exists mdr_a_exact_emptyhscrc mdr_b_exact_emptyhscrc mdr_c_exact_emptyhscrc mdr_e_exact_emptyhscrc mdr_f_exact_emptyhscrc. ((mdr_a_exact_emptyhscrc = ((mdr_q_exact_emptyhs) + (mdr_up_exact_emptyhsc)) * S ((mdr_q_exact_emptyhs) + (mdr_up_exact_emptyhsc)) + ((mdr_up_exact_emptyhsc) + (mdr_up_exact_emptyhsc))) /\ ((mdr_b_exact_emptyhscrc = ((mdr_us_exact_emptyhsc) + (mdr_un_exact_emptyhsc)) * S ((mdr_us_exact_emptyhsc) + (mdr_un_exact_emptyhsc)) + ((mdr_un_exact_emptyhsc) + (mdr_un_exact_emptyhsc))) /\ ((mdr_c_exact_emptyhscrc = ((mdr_a_exact_emptyhscrc) + (mdr_b_exact_emptyhscrc)) * S ((mdr_a_exact_emptyhscrc) + (mdr_b_exact_emptyhscrc)) + ((mdr_b_exact_emptyhscrc) + (mdr_b_exact_emptyhscrc))) /\ ((mdr_e_exact_emptyhscrc = ((mdr_p_exact_emptyhsc) + (mdr_n_exact_emptyhsc)) * S ((mdr_p_exact_emptyhsc) + (mdr_n_exact_emptyhsc)) + ((mdr_n_exact_emptyhsc) + (mdr_n_exact_emptyhsc))) /\ ((mdr_f_exact_emptyhscrc = ((mdr_ut_exact_emptyhsc) + (mdr_e_exact_emptyhscrc)) * S ((mdr_ut_exact_emptyhsc) + (mdr_e_exact_emptyhscrc)) + ((mdr_e_exact_emptyhscrc) + (mdr_e_exact_emptyhscrc))) /\ ((mdr_z_exact_emptyhscr) = ((mdr_c_exact_emptyhscrc) + (mdr_f_exact_emptyhscrc)) * S ((mdr_c_exact_emptyhscrc) + (mdr_f_exact_emptyhscrc)) + ((mdr_f_exact_emptyhscrc) + (mdr_f_exact_emptyhscrc))))))))) /\ (((exists ff_h_mdr_exact_emptyhscrb. ff_h_mdr_exact_emptyhscrb + S (mdr_z_exact_emptyhscr) = S ((S (mdr_i_exact_emptyhsc)) * mdr_c_exact_empty)) /\ exists ff_q_mdr_exact_emptyhscrb. mdr_b_exact_empty = ff_q_mdr_exact_emptyhscrb * S ((S (mdr_i_exact_emptyhsc)) * mdr_c_exact_empty) + (mdr_z_exact_emptyhscr))))) /\ ((((forall ff_index_mdm_prefix_mdr_exact_emptyhscm_positive. (exists ff_gap_mdm_lt_mdr_exact_emptyhscm_positive_index_bound. ff_gap_mdm_lt_mdr_exact_emptyhscm_positive_index_bound + S (ff_index_mdm_prefix_mdr_exact_emptyhscm_positive) = ((mdr_q_exact_emptyhs) * (mdr_q_exact_emptyhs))) -> exists ff_row_mdm_prefix_mdr_exact_emptyhscm_positive ff_column_mdm_prefix_mdr_exact_emptyhscm_positive ff_value_mdm_prefix_mdr_exact_emptyhscm_positive. (ff_index_mdm_prefix_mdr_exact_emptyhscm_positive = (mdr_q_exact_emptyhs) * ff_row_mdm_prefix_mdr_exact_emptyhscm_positive + ff_column_mdm_prefix_mdr_exact_emptyhscm_positive /\ ((exists ff_gap_mdm_lt_mdr_exact_emptyhscm_positive_column_bound. ff_gap_mdm_lt_mdr_exact_emptyhscm_positive_column_bound + S (ff_column_mdm_prefix_mdr_exact_emptyhscm_positive) = (mdr_q_exact_emptyhs)) /\ ((exists ff_row_mdm_cell_mdr_exact_emptyhscm_positive_cell ff_column_mdm_cell_mdr_exact_emptyhscm_positive_cell. (((((exists ff_gap_mdm_lt_mdr_exact_emptyhscm_positive_cell_row_before. ff_gap_mdm_lt_mdr_exact_emptyhscm_positive_cell_row_before + S (ff_row_mdm_prefix_mdr_exact_emptyhscm_positive) = (0)) /\ ff_row_mdm_cell_mdr_exact_emptyhscm_positive_cell = ff_row_mdm_prefix_mdr_exact_emptyhscm_positive) \/ ((exists ff_gap_mdm_le_mdr_exact_emptyhscm_positive_cell_row_after. ff_gap_mdm_le_mdr_exact_emptyhscm_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_exact_emptyhscm_positive)) /\ ff_row_mdm_cell_mdr_exact_emptyhscm_positive_cell = S ff_row_mdm_prefix_mdr_exact_emptyhscm_positive))) /\ (((((exists ff_gap_mdm_lt_mdr_exact_emptyhscm_positive_cell_column_before. ff_gap_mdm_lt_mdr_exact_emptyhscm_positive_cell_column_before + S (ff_column_mdm_prefix_mdr_exact_emptyhscm_positive) = (mdr_j_exact_emptyhsc)) /\ ff_column_mdm_cell_mdr_exact_emptyhscm_positive_cell = ff_column_mdm_prefix_mdr_exact_emptyhscm_positive) \/ ((exists ff_gap_mdm_le_mdr_exact_emptyhscm_positive_cell_column_after. ff_gap_mdm_le_mdr_exact_emptyhscm_positive_cell_column_after + (mdr_j_exact_emptyhsc) = (ff_column_mdm_prefix_mdr_exact_emptyhscm_positive)) /\ ff_column_mdm_cell_mdr_exact_emptyhscm_positive_cell = S ff_column_mdm_prefix_mdr_exact_emptyhscm_positive))) /\ (((exists ff_h_mdm_mdr_exact_emptyhscm_positive_cell_source. ff_h_mdm_mdr_exact_emptyhscm_positive_cell_source + S (ff_value_mdm_prefix_mdr_exact_emptyhscm_positive) = S ((S ((ff_row_mdm_cell_mdr_exact_emptyhscm_positive_cell) * (S (mdr_q_exact_emptyhs)) + (ff_column_mdm_cell_mdr_exact_emptyhscm_positive_cell))) * mdr_pc_exact_emptyh)) /\ exists ff_q_mdm_mdr_exact_emptyhscm_positive_cell_source. mdr_pb_exact_emptyh = ff_q_mdm_mdr_exact_emptyhscm_positive_cell_source * S ((S ((ff_row_mdm_cell_mdr_exact_emptyhscm_positive_cell) * (S (mdr_q_exact_emptyhs)) + (ff_column_mdm_cell_mdr_exact_emptyhscm_positive_cell))) * mdr_pc_exact_emptyh) + (ff_value_mdm_prefix_mdr_exact_emptyhscm_positive)))))) /\ (((exists ff_h_mdm_mdr_exact_emptyhscm_positive_target. ff_h_mdm_mdr_exact_emptyhscm_positive_target + S (ff_value_mdm_prefix_mdr_exact_emptyhscm_positive) = S ((S (ff_index_mdm_prefix_mdr_exact_emptyhscm_positive)) * mdr_us_exact_emptyhsc)) /\ exists ff_q_mdm_mdr_exact_emptyhscm_positive_target. mdr_up_exact_emptyhsc = ff_q_mdm_mdr_exact_emptyhscm_positive_target * S ((S (ff_index_mdm_prefix_mdr_exact_emptyhscm_positive)) * mdr_us_exact_emptyhsc) + (ff_value_mdm_prefix_mdr_exact_emptyhscm_positive))))))) /\ (forall ff_index_mdm_prefix_mdr_exact_emptyhscm_negative. (exists ff_gap_mdm_lt_mdr_exact_emptyhscm_negative_index_bound. ff_gap_mdm_lt_mdr_exact_emptyhscm_negative_index_bound + S (ff_index_mdm_prefix_mdr_exact_emptyhscm_negative) = ((mdr_q_exact_emptyhs) * (mdr_q_exact_emptyhs))) -> exists ff_row_mdm_prefix_mdr_exact_emptyhscm_negative ff_column_mdm_prefix_mdr_exact_emptyhscm_negative ff_value_mdm_prefix_mdr_exact_emptyhscm_negative. (ff_index_mdm_prefix_mdr_exact_emptyhscm_negative = (mdr_q_exact_emptyhs) * ff_row_mdm_prefix_mdr_exact_emptyhscm_negative + ff_column_mdm_prefix_mdr_exact_emptyhscm_negative /\ ((exists ff_gap_mdm_lt_mdr_exact_emptyhscm_negative_column_bound. ff_gap_mdm_lt_mdr_exact_emptyhscm_negative_column_bound + S (ff_column_mdm_prefix_mdr_exact_emptyhscm_negative) = (mdr_q_exact_emptyhs)) /\ ((exists ff_row_mdm_cell_mdr_exact_emptyhscm_negative_cell ff_column_mdm_cell_mdr_exact_emptyhscm_negative_cell. (((((exists ff_gap_mdm_lt_mdr_exact_emptyhscm_negative_cell_row_before. ff_gap_mdm_lt_mdr_exact_emptyhscm_negative_cell_row_before + S (ff_row_mdm_prefix_mdr_exact_emptyhscm_negative) = (0)) /\ ff_row_mdm_cell_mdr_exact_emptyhscm_negative_cell = ff_row_mdm_prefix_mdr_exact_emptyhscm_negative) \/ ((exists ff_gap_mdm_le_mdr_exact_emptyhscm_negative_cell_row_after. ff_gap_mdm_le_mdr_exact_emptyhscm_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_exact_emptyhscm_negative)) /\ ff_row_mdm_cell_mdr_exact_emptyhscm_negative_cell = S ff_row_mdm_prefix_mdr_exact_emptyhscm_negative))) /\ (((((exists ff_gap_mdm_lt_mdr_exact_emptyhscm_negative_cell_column_before. ff_gap_mdm_lt_mdr_exact_emptyhscm_negative_cell_column_before + S (ff_column_mdm_prefix_mdr_exact_emptyhscm_negative) = (mdr_j_exact_emptyhsc)) /\ ff_column_mdm_cell_mdr_exact_emptyhscm_negative_cell = ff_column_mdm_prefix_mdr_exact_emptyhscm_negative) \/ ((exists ff_gap_mdm_le_mdr_exact_emptyhscm_negative_cell_column_after. ff_gap_mdm_le_mdr_exact_emptyhscm_negative_cell_column_after + (mdr_j_exact_emptyhsc) = (ff_column_mdm_prefix_mdr_exact_emptyhscm_negative)) /\ ff_column_mdm_cell_mdr_exact_emptyhscm_negative_cell = S ff_column_mdm_prefix_mdr_exact_emptyhscm_negative))) /\ (((exists ff_h_mdm_mdr_exact_emptyhscm_negative_cell_source. ff_h_mdm_mdr_exact_emptyhscm_negative_cell_source + S (ff_value_mdm_prefix_mdr_exact_emptyhscm_negative) = S ((S ((ff_row_mdm_cell_mdr_exact_emptyhscm_negative_cell) * (S (mdr_q_exact_emptyhs)) + (ff_column_mdm_cell_mdr_exact_emptyhscm_negative_cell))) * mdr_nc_exact_emptyh)) /\ exists ff_q_mdm_mdr_exact_emptyhscm_negative_cell_source. mdr_nb_exact_emptyh = ff_q_mdm_mdr_exact_emptyhscm_negative_cell_source * S ((S ((ff_row_mdm_cell_mdr_exact_emptyhscm_negative_cell) * (S (mdr_q_exact_emptyhs)) + (ff_column_mdm_cell_mdr_exact_emptyhscm_negative_cell))) * mdr_nc_exact_emptyh) + (ff_value_mdm_prefix_mdr_exact_emptyhscm_negative)))))) /\ (((exists ff_h_mdm_mdr_exact_emptyhscm_negative_target. ff_h_mdm_mdr_exact_emptyhscm_negative_target + S (ff_value_mdm_prefix_mdr_exact_emptyhscm_negative) = S ((S (ff_index_mdm_prefix_mdr_exact_emptyhscm_negative)) * mdr_ut_exact_emptyhsc)) /\ exists ff_q_mdm_mdr_exact_emptyhscm_negative_target. mdr_un_exact_emptyhsc = ff_q_mdm_mdr_exact_emptyhscm_negative_target * S ((S (ff_index_mdm_prefix_mdr_exact_emptyhscm_negative)) * mdr_ut_exact_emptyhsc) + (ff_value_mdm_prefix_mdr_exact_emptyhscm_negative))))))))) /\ ((((exists ff_h_mdr_exact_emptyhscp. ff_h_mdr_exact_emptyhscp + S (mdr_p_exact_emptyhsc) = S ((S (mdr_j_exact_emptyhsc)) * mdr_ec_exact_emptyhs)) /\ exists ff_q_mdr_exact_emptyhscp. mdr_eb_exact_emptyhs = ff_q_mdr_exact_emptyhscp * S ((S (mdr_j_exact_emptyhsc)) * mdr_ec_exact_emptyhs) + (mdr_p_exact_emptyhsc))) /\ (((exists ff_h_mdr_exact_emptyhscn. ff_h_mdr_exact_emptyhscn + S (mdr_n_exact_emptyhsc) = S ((S (mdr_j_exact_emptyhsc)) * mdr_fc_exact_emptyhs)) /\ exists ff_q_mdr_exact_emptyhscn. mdr_fb_exact_emptyhs = ff_q_mdr_exact_emptyhscn * S ((S (mdr_j_exact_emptyhsc)) * mdr_fc_exact_emptyhs) + (mdr_n_exact_emptyhsc)))))))) /\ (exists ff_ub_mce_fold_mdr_exact_emptyhsf ff_uc_mce_fold_mdr_exact_emptyhsf ff_vb_mce_fold_mdr_exact_emptyhsf ff_vc_mce_fold_mdr_exact_emptyhsf. ((forall ff_index_mce_alternating_mdr_exact_emptyhsf_prefix. (exists ff_gap_mce_mdr_exact_emptyhsf_prefix_index. ff_gap_mce_mdr_exact_emptyhsf_prefix_index + S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix) = (S (mdr_q_exact_emptyhs))) -> exists ff_ap_mce_alternating_mdr_exact_emptyhsf_prefix ff_an_mce_alternating_mdr_exact_emptyhsf_prefix ff_bp_mce_alternating_mdr_exact_emptyhsf_prefix ff_bn_mce_alternating_mdr_exact_emptyhsf_prefix ff_p_mce_alternating_mdr_exact_emptyhsf_prefix ff_n_mce_alternating_mdr_exact_emptyhsf_prefix. ((((exists ff_h_mce_mdr_exact_emptyhsf_prefix_ap. ff_h_mce_mdr_exact_emptyhsf_prefix_ap + S (ff_ap_mce_alternating_mdr_exact_emptyhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * mdr_pc_exact_emptyh)) /\ exists ff_q_mce_mdr_exact_emptyhsf_prefix_ap. mdr_pb_exact_emptyh = ff_q_mce_mdr_exact_emptyhsf_prefix_ap * S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * mdr_pc_exact_emptyh) + (ff_ap_mce_alternating_mdr_exact_emptyhsf_prefix))) /\ ((((exists ff_h_mce_mdr_exact_emptyhsf_prefix_an. ff_h_mce_mdr_exact_emptyhsf_prefix_an + S (ff_an_mce_alternating_mdr_exact_emptyhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * mdr_nc_exact_emptyh)) /\ exists ff_q_mce_mdr_exact_emptyhsf_prefix_an. mdr_nb_exact_emptyh = ff_q_mce_mdr_exact_emptyhsf_prefix_an * S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * mdr_nc_exact_emptyh) + (ff_an_mce_alternating_mdr_exact_emptyhsf_prefix))) /\ ((((exists ff_h_mce_mdr_exact_emptyhsf_prefix_bp. ff_h_mce_mdr_exact_emptyhsf_prefix_bp + S (ff_bp_mce_alternating_mdr_exact_emptyhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * mdr_ec_exact_emptyhs)) /\ exists ff_q_mce_mdr_exact_emptyhsf_prefix_bp. mdr_eb_exact_emptyhs = ff_q_mce_mdr_exact_emptyhsf_prefix_bp * S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * mdr_ec_exact_emptyhs) + (ff_bp_mce_alternating_mdr_exact_emptyhsf_prefix))) /\ ((((exists ff_h_mce_mdr_exact_emptyhsf_prefix_bn. ff_h_mce_mdr_exact_emptyhsf_prefix_bn + S (ff_bn_mce_alternating_mdr_exact_emptyhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * mdr_fc_exact_emptyhs)) /\ exists ff_q_mce_mdr_exact_emptyhsf_prefix_bn. mdr_fb_exact_emptyhs = ff_q_mce_mdr_exact_emptyhsf_prefix_bn * S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * mdr_fc_exact_emptyhs) + (ff_bn_mce_alternating_mdr_exact_emptyhsf_prefix))) /\ ((((exists ff_h_mce_mdr_exact_emptyhsf_prefix_positive. ff_h_mce_mdr_exact_emptyhsf_prefix_positive + S (ff_p_mce_alternating_mdr_exact_emptyhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * ff_uc_mce_fold_mdr_exact_emptyhsf)) /\ exists ff_q_mce_mdr_exact_emptyhsf_prefix_positive. ff_ub_mce_fold_mdr_exact_emptyhsf = ff_q_mce_mdr_exact_emptyhsf_prefix_positive * S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * ff_uc_mce_fold_mdr_exact_emptyhsf) + (ff_p_mce_alternating_mdr_exact_emptyhsf_prefix))) /\ ((((exists ff_h_mce_mdr_exact_emptyhsf_prefix_negative. ff_h_mce_mdr_exact_emptyhsf_prefix_negative + S (ff_n_mce_alternating_mdr_exact_emptyhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * ff_vc_mce_fold_mdr_exact_emptyhsf)) /\ exists ff_q_mce_mdr_exact_emptyhsf_prefix_negative. ff_vb_mce_fold_mdr_exact_emptyhsf = ff_q_mce_mdr_exact_emptyhsf_prefix_negative * S ((S (ff_index_mce_alternating_mdr_exact_emptyhsf_prefix)) * ff_vc_mce_fold_mdr_exact_emptyhsf) + (ff_n_mce_alternating_mdr_exact_emptyhsf_prefix))) /\ (((exists ff_even_mce_term_mdr_exact_emptyhsf_prefix_term. ff_index_mce_alternating_mdr_exact_emptyhsf_prefix = 2 * ff_even_mce_term_mdr_exact_emptyhsf_prefix_term) /\ (ff_p_mce_alternating_mdr_exact_emptyhsf_prefix = (ff_ap_mce_alternating_mdr_exact_emptyhsf_prefix) * (ff_bp_mce_alternating_mdr_exact_emptyhsf_prefix) + (ff_an_mce_alternating_mdr_exact_emptyhsf_prefix) * (ff_bn_mce_alternating_mdr_exact_emptyhsf_prefix) /\ ff_n_mce_alternating_mdr_exact_emptyhsf_prefix = (ff_ap_mce_alternating_mdr_exact_emptyhsf_prefix) * (ff_bn_mce_alternating_mdr_exact_emptyhsf_prefix) + (ff_an_mce_alternating_mdr_exact_emptyhsf_prefix) * (ff_bp_mce_alternating_mdr_exact_emptyhsf_prefix))) \/ ((exists ff_odd_mce_term_mdr_exact_emptyhsf_prefix_term. ff_index_mce_alternating_mdr_exact_emptyhsf_prefix = 2 * ff_odd_mce_term_mdr_exact_emptyhsf_prefix_term + 1) /\ (ff_p_mce_alternating_mdr_exact_emptyhsf_prefix = (ff_ap_mce_alternating_mdr_exact_emptyhsf_prefix) * (ff_bn_mce_alternating_mdr_exact_emptyhsf_prefix) + (ff_an_mce_alternating_mdr_exact_emptyhsf_prefix) * (ff_bp_mce_alternating_mdr_exact_emptyhsf_prefix) /\ ff_n_mce_alternating_mdr_exact_emptyhsf_prefix = (ff_ap_mce_alternating_mdr_exact_emptyhsf_prefix) * (ff_bp_mce_alternating_mdr_exact_emptyhsf_prefix) + (ff_an_mce_alternating_mdr_exact_emptyhsf_prefix) * (ff_bn_mce_alternating_mdr_exact_emptyhsf_prefix))))))))))) /\ ((exists ff_u_mce_mdr_exact_emptyhsf_positive ff_v_mce_mdr_exact_emptyhsf_positive. ((((exists ff_h_mce_mdr_exact_emptyhsf_positive_start. ff_h_mce_mdr_exact_emptyhsf_positive_start + S (0) = S ((S (0)) * ff_v_mce_mdr_exact_emptyhsf_positive)) /\ exists ff_q_mce_mdr_exact_emptyhsf_positive_start. ff_u_mce_mdr_exact_emptyhsf_positive = ff_q_mce_mdr_exact_emptyhsf_positive_start * S ((S (0)) * ff_v_mce_mdr_exact_emptyhsf_positive) + (0))) /\ ((((exists ff_h_mce_mdr_exact_emptyhsf_positive_terminal. ff_h_mce_mdr_exact_emptyhsf_positive_terminal + S (mdr_p_exact_emptyh) = S ((S ((S (mdr_q_exact_emptyhs)))) * ff_v_mce_mdr_exact_emptyhsf_positive)) /\ exists ff_q_mce_mdr_exact_emptyhsf_positive_terminal. ff_u_mce_mdr_exact_emptyhsf_positive = ff_q_mce_mdr_exact_emptyhsf_positive_terminal * S ((S ((S (mdr_q_exact_emptyhs)))) * ff_v_mce_mdr_exact_emptyhsf_positive) + (mdr_p_exact_emptyh))) /\ forall ff_i_mce_mdr_exact_emptyhsf_positive. (exists ff_lt_mce_mdr_exact_emptyhsf_positive_bound. ff_lt_mce_mdr_exact_emptyhsf_positive_bound + S ff_i_mce_mdr_exact_emptyhsf_positive = (S (mdr_q_exact_emptyhs))) -> exists ff_a_mce_mdr_exact_emptyhsf_positive ff_r_mce_mdr_exact_emptyhsf_positive ff_s_mce_mdr_exact_emptyhsf_positive. ((((exists ff_h_mce_mdr_exact_emptyhsf_positive_summand. ff_h_mce_mdr_exact_emptyhsf_positive_summand + S (ff_a_mce_mdr_exact_emptyhsf_positive) = S ((S (ff_i_mce_mdr_exact_emptyhsf_positive)) * ff_uc_mce_fold_mdr_exact_emptyhsf)) /\ exists ff_q_mce_mdr_exact_emptyhsf_positive_summand. ff_ub_mce_fold_mdr_exact_emptyhsf = ff_q_mce_mdr_exact_emptyhsf_positive_summand * S ((S (ff_i_mce_mdr_exact_emptyhsf_positive)) * ff_uc_mce_fold_mdr_exact_emptyhsf) + (ff_a_mce_mdr_exact_emptyhsf_positive))) /\ ((((exists ff_h_mce_mdr_exact_emptyhsf_positive_partial. ff_h_mce_mdr_exact_emptyhsf_positive_partial + S (ff_r_mce_mdr_exact_emptyhsf_positive) = S ((S (ff_i_mce_mdr_exact_emptyhsf_positive)) * ff_v_mce_mdr_exact_emptyhsf_positive)) /\ exists ff_q_mce_mdr_exact_emptyhsf_positive_partial. ff_u_mce_mdr_exact_emptyhsf_positive = ff_q_mce_mdr_exact_emptyhsf_positive_partial * S ((S (ff_i_mce_mdr_exact_emptyhsf_positive)) * ff_v_mce_mdr_exact_emptyhsf_positive) + (ff_r_mce_mdr_exact_emptyhsf_positive))) /\ ((((exists ff_h_mce_mdr_exact_emptyhsf_positive_successor. ff_h_mce_mdr_exact_emptyhsf_positive_successor + S (ff_s_mce_mdr_exact_emptyhsf_positive) = S ((S (S ff_i_mce_mdr_exact_emptyhsf_positive)) * ff_v_mce_mdr_exact_emptyhsf_positive)) /\ exists ff_q_mce_mdr_exact_emptyhsf_positive_successor. ff_u_mce_mdr_exact_emptyhsf_positive = ff_q_mce_mdr_exact_emptyhsf_positive_successor * S ((S (S ff_i_mce_mdr_exact_emptyhsf_positive)) * ff_v_mce_mdr_exact_emptyhsf_positive) + (ff_s_mce_mdr_exact_emptyhsf_positive))) /\ ff_s_mce_mdr_exact_emptyhsf_positive = ff_r_mce_mdr_exact_emptyhsf_positive + ff_a_mce_mdr_exact_emptyhsf_positive)))))) /\ (exists ff_u_mce_mdr_exact_emptyhsf_negative ff_v_mce_mdr_exact_emptyhsf_negative. ((((exists ff_h_mce_mdr_exact_emptyhsf_negative_start. ff_h_mce_mdr_exact_emptyhsf_negative_start + S (0) = S ((S (0)) * ff_v_mce_mdr_exact_emptyhsf_negative)) /\ exists ff_q_mce_mdr_exact_emptyhsf_negative_start. ff_u_mce_mdr_exact_emptyhsf_negative = ff_q_mce_mdr_exact_emptyhsf_negative_start * S ((S (0)) * ff_v_mce_mdr_exact_emptyhsf_negative) + (0))) /\ ((((exists ff_h_mce_mdr_exact_emptyhsf_negative_terminal. ff_h_mce_mdr_exact_emptyhsf_negative_terminal + S (mdr_n_exact_emptyh) = S ((S ((S (mdr_q_exact_emptyhs)))) * ff_v_mce_mdr_exact_emptyhsf_negative)) /\ exists ff_q_mce_mdr_exact_emptyhsf_negative_terminal. ff_u_mce_mdr_exact_emptyhsf_negative = ff_q_mce_mdr_exact_emptyhsf_negative_terminal * S ((S ((S (mdr_q_exact_emptyhs)))) * ff_v_mce_mdr_exact_emptyhsf_negative) + (mdr_n_exact_emptyh))) /\ forall ff_i_mce_mdr_exact_emptyhsf_negative. (exists ff_lt_mce_mdr_exact_emptyhsf_negative_bound. ff_lt_mce_mdr_exact_emptyhsf_negative_bound + S ff_i_mce_mdr_exact_emptyhsf_negative = (S (mdr_q_exact_emptyhs))) -> exists ff_a_mce_mdr_exact_emptyhsf_negative ff_r_mce_mdr_exact_emptyhsf_negative ff_s_mce_mdr_exact_emptyhsf_negative. ((((exists ff_h_mce_mdr_exact_emptyhsf_negative_summand. ff_h_mce_mdr_exact_emptyhsf_negative_summand + S (ff_a_mce_mdr_exact_emptyhsf_negative) = S ((S (ff_i_mce_mdr_exact_emptyhsf_negative)) * ff_vc_mce_fold_mdr_exact_emptyhsf)) /\ exists ff_q_mce_mdr_exact_emptyhsf_negative_summand. ff_vb_mce_fold_mdr_exact_emptyhsf = ff_q_mce_mdr_exact_emptyhsf_negative_summand * S ((S (ff_i_mce_mdr_exact_emptyhsf_negative)) * ff_vc_mce_fold_mdr_exact_emptyhsf) + (ff_a_mce_mdr_exact_emptyhsf_negative))) /\ ((((exists ff_h_mce_mdr_exact_emptyhsf_negative_partial. ff_h_mce_mdr_exact_emptyhsf_negative_partial + S (ff_r_mce_mdr_exact_emptyhsf_negative) = S ((S (ff_i_mce_mdr_exact_emptyhsf_negative)) * ff_v_mce_mdr_exact_emptyhsf_negative)) /\ exists ff_q_mce_mdr_exact_emptyhsf_negative_partial. ff_u_mce_mdr_exact_emptyhsf_negative = ff_q_mce_mdr_exact_emptyhsf_negative_partial * S ((S (ff_i_mce_mdr_exact_emptyhsf_negative)) * ff_v_mce_mdr_exact_emptyhsf_negative) + (ff_r_mce_mdr_exact_emptyhsf_negative))) /\ ((((exists ff_h_mce_mdr_exact_emptyhsf_negative_successor. ff_h_mce_mdr_exact_emptyhsf_negative_successor + S (ff_s_mce_mdr_exact_emptyhsf_negative) = S ((S (S ff_i_mce_mdr_exact_emptyhsf_negative)) * ff_v_mce_mdr_exact_emptyhsf_negative)) /\ exists ff_q_mce_mdr_exact_emptyhsf_negative_successor. ff_u_mce_mdr_exact_emptyhsf_negative = ff_q_mce_mdr_exact_emptyhsf_negative_successor * S ((S (S ff_i_mce_mdr_exact_emptyhsf_negative)) * ff_v_mce_mdr_exact_emptyhsf_negative) + (ff_s_mce_mdr_exact_emptyhsf_negative))) /\ ff_s_mce_mdr_exact_emptyhsf_negative = ff_r_mce_mdr_exact_emptyhsf_negative + ff_a_mce_mdr_exact_emptyhsf_negative))))))))))))))) /\ ((exists mdr_gap_exact_emptyi. mdr_gap_exact_emptyi + S (mdr_i_exact_empty) = (mdr_l_exact_empty)) /\ (exists mdr_z_exact_emptyr. ((exists mdr_a_exact_emptyrc mdr_b_exact_emptyrc mdr_c_exact_emptyrc mdr_e_exact_emptyrc mdr_f_exact_emptyrc. ((mdr_a_exact_emptyrc = ((0) + (pb)) * S ((0) + (pb)) + ((pb) + (pb))) /\ ((mdr_b_exact_emptyrc = ((pc) + (nb)) * S ((pc) + (nb)) + ((nb) + (nb))) /\ ((mdr_c_exact_emptyrc = ((mdr_a_exact_emptyrc) + (mdr_b_exact_emptyrc)) * S ((mdr_a_exact_emptyrc) + (mdr_b_exact_emptyrc)) + ((mdr_b_exact_emptyrc) + (mdr_b_exact_emptyrc))) /\ ((mdr_e_exact_emptyrc = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((mdr_f_exact_emptyrc = ((nc) + (mdr_e_exact_emptyrc)) * S ((nc) + (mdr_e_exact_emptyrc)) + ((mdr_e_exact_emptyrc) + (mdr_e_exact_emptyrc))) /\ ((mdr_z_exact_emptyr) = ((mdr_c_exact_emptyrc) + (mdr_f_exact_emptyrc)) * S ((mdr_c_exact_emptyrc) + (mdr_f_exact_emptyrc)) + ((mdr_f_exact_emptyrc) + (mdr_f_exact_emptyrc))))))))) /\ (((exists ff_h_mdr_exact_emptyrb. ff_h_mdr_exact_emptyrb + S (mdr_z_exact_emptyr) = S ((S (mdr_i_exact_empty)) * mdr_c_exact_empty)) /\ exists ff_q_mdr_exact_emptyrb. mdr_b_exact_empty = ff_q_mdr_exact_emptyrb * S ((S (mdr_i_exact_empty)) * mdr_c_exact_empty) + (mdr_z_exact_emptyr))))))))

Complete tactic proof in conservative notation

All 38 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

38 script commands · 13 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.

Named ingredients (2)
01Fix variables and assumptionsL1–4

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

  1. L1
    intro pb
  2. L2
    intro pc
  3. L3
    intro nb
  4. L4
    intro nc
02Establish hextL5–14

Establish this local claim before using it. It is not an additional assumption.

  1. L5
    have hext : ∃ u. ∃ v. (∀ x. ∀ y. Lt(x,0) → BetaAt(0,0,x,y) → BetaAt(u,v,x,y)) ∧ (SignedDeterminantHistory(u,v,1) ∧ SignedDeterminantNodeAt(u,v,0,0,pb,pc,nb,nc,1,0))Definitions: Lt(x,0)BetaAt(0,0,x,y)BetaAt(u,v,x,y)SignedDeterminantHistory(u,v,1)SignedDeterminantNodeAt(u,v,0,0,pb,pc,nb,nc,1,0)Original native command in the exact edition
  2. L6
    specialize matrix_recursive_history_extend (0)
  3. L7
    specialize matrix_recursive_history_extend (0)
  4. L8
    specialize matrix_recursive_history_extend (0)
  5. L9
    specialize matrix_recursive_history_extend (0)
  6. L10
    specialize matrix_recursive_history_extend (pb)
  7. L11
    specialize matrix_recursive_history_extend (pc)
  8. L12
    specialize matrix_recursive_history_extend (nb)
  9. L13
    specialize matrix_recursive_history_extend (nc)
  10. L14
    specialize matrix_recursive_history_extend (1)
03Use earlier factsL15–19

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

  1. L15
    specialize matrix_recursive_history_extend (0)
  2. L16
    apply matrix_recursive_history_extend
  3. L17
    specialize matrix_recursive_empty_history (0)
  4. L18
    specialize matrix_recursive_empty_history (0)
  5. L19
    apply matrix_recursive_empty_history
04Separate the logical casesL20–21

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

  1. L20
    left
  2. L21
    split
05Calculate and transport equalitiesL22–22

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

  1. L22
    refl
06Separate the logical casesL23–23

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

  1. L23
    split
07Calculate and transport equalitiesL24–25

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

  1. L24
    refl
  2. L25
    refl
08Separate the logical casesL26–29

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

  1. L26
    cases hext
  2. L27
    cases hext_witness
  3. L28
    cases hext_witness_witness
  4. L29
    cases hext_witness_witness_right
09Construct an explicit witnessL30–33

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

  1. L30
    exists x
  2. L31
    exists x1
  3. L32
    exists 1
  4. L33
    exists 0
10Separate the logical casesL34–34

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

  1. L34
    split
11Use earlier factsL35–35

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

  1. L35
    exact hext_witness_witness_right_left
12Separate the logical casesL36–36

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

  1. L36
    split
13Use earlier factsL37–38

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

  1. L37
    apply le_refl
  2. L38
    exact hext_witness_witness_right_right

Library-wide reading audit

Original defined command ledger · 38 lines
  1. 0001intro pb
  2. 0002intro pc
  3. 0003intro nb
  4. 0004intro nc
  5. 0005have hext : ∃ u. ∃ v. (∀ x. ∀ y. Lt(x,0)BetaAt(0,0,x,y)BetaAt(u,v,x,y)) ∧ (SignedDeterminantHistory(u,v,1)SignedDeterminantNodeAt(u,v,0,0,pb,pc,nb,nc,1,0))
  6. 0006specialize matrix_recursive_history_extend (0)
  7. 0007specialize matrix_recursive_history_extend (0)
  8. 0008specialize matrix_recursive_history_extend (0)
  9. 0009specialize matrix_recursive_history_extend (0)
  10. 0010specialize matrix_recursive_history_extend (pb)
  11. 0011specialize matrix_recursive_history_extend (pc)
  12. 0012specialize matrix_recursive_history_extend (nb)
  13. 0013specialize matrix_recursive_history_extend (nc)
  14. 0014specialize matrix_recursive_history_extend (1)
  15. 0015specialize matrix_recursive_history_extend (0)
  16. 0016apply matrix_recursive_history_extend
  17. 0017specialize matrix_recursive_empty_history (0)
  18. 0018specialize matrix_recursive_empty_history (0)
  19. 0019apply matrix_recursive_empty_history
  20. 0020left
  21. 0021split
  22. 0022refl
  23. 0023split
  24. 0024refl
  25. 0025refl
  26. 0026cases hext
  27. 0027cases hext_witness
  28. 0028cases hext_witness_witness
  29. 0029cases hext_witness_witness_right
  30. 0030exists x
  31. 0031exists x1
  32. 0032exists 1
  33. 0033exists 0
  34. 0034split
  35. 0035exact hext_witness_witness_right_left
  36. 0036split
  37. 0037apply le_refl
  38. 0038exact hext_witness_witness_right_right