DL00A7

absolute_recursive_determinant_exists

Every square matrix in every natural dimension has an actual natural absolute determinant obtained from its genuine recursive evaluation.

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

∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ d. ∃ D. AbsoluteRecursiveDeterminant(ab,ac,bb,bc,d,D)

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

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall ab ac bb bc d. exists D. (exists mdr_p_absolute_det_exists mdr_n_absolute_det_exists. ((exists mdr_b_absolute_det_existsevaluation mdr_c_absolute_det_existsevaluation mdr_l_absolute_det_existsevaluation mdr_i_absolute_det_existsevaluation. ((forall mdr_i_absolute_det_existsevaluationh. (exists mdr_gap_absolute_det_existsevaluationhi. mdr_gap_absolute_det_existsevaluationhi + S (mdr_i_absolute_det_existsevaluationh) = (mdr_l_absolute_det_existsevaluation)) -> exists mdr_d_absolute_det_existsevaluationh mdr_pb_absolute_det_existsevaluationh mdr_pc_absolute_det_existsevaluationh mdr_nb_absolute_det_existsevaluationh mdr_nc_absolute_det_existsevaluationh mdr_p_absolute_det_existsevaluationh mdr_n_absolute_det_existsevaluationh. ((exists mdr_z_absolute_det_existsevaluationhr. ((exists mdr_a_absolute_det_existsevaluationhrc mdr_b_absolute_det_existsevaluationhrc mdr_c_absolute_det_existsevaluationhrc mdr_e_absolute_det_existsevaluationhrc mdr_f_absolute_det_existsevaluationhrc. ((mdr_a_absolute_det_existsevaluationhrc = ((mdr_d_absolute_det_existsevaluationh) + (mdr_pb_absolute_det_existsevaluationh)) * S ((mdr_d_absolute_det_existsevaluationh) + (mdr_pb_absolute_det_existsevaluationh)) + ((mdr_pb_absolute_det_existsevaluationh) + (mdr_pb_absolute_det_existsevaluationh))) /\ ((mdr_b_absolute_det_existsevaluationhrc = ((mdr_pc_absolute_det_existsevaluationh) + (mdr_nb_absolute_det_existsevaluationh)) * S ((mdr_pc_absolute_det_existsevaluationh) + (mdr_nb_absolute_det_existsevaluationh)) + ((mdr_nb_absolute_det_existsevaluationh) + (mdr_nb_absolute_det_existsevaluationh))) /\ ((mdr_c_absolute_det_existsevaluationhrc = ((mdr_a_absolute_det_existsevaluationhrc) + (mdr_b_absolute_det_existsevaluationhrc)) * S ((mdr_a_absolute_det_existsevaluationhrc) + (mdr_b_absolute_det_existsevaluationhrc)) + ((mdr_b_absolute_det_existsevaluationhrc) + (mdr_b_absolute_det_existsevaluationhrc))) /\ ((mdr_e_absolute_det_existsevaluationhrc = ((mdr_p_absolute_det_existsevaluationh) + (mdr_n_absolute_det_existsevaluationh)) * S ((mdr_p_absolute_det_existsevaluationh) + (mdr_n_absolute_det_existsevaluationh)) + ((mdr_n_absolute_det_existsevaluationh) + (mdr_n_absolute_det_existsevaluationh))) /\ ((mdr_f_absolute_det_existsevaluationhrc = ((mdr_nc_absolute_det_existsevaluationh) + (mdr_e_absolute_det_existsevaluationhrc)) * S ((mdr_nc_absolute_det_existsevaluationh) + (mdr_e_absolute_det_existsevaluationhrc)) + ((mdr_e_absolute_det_existsevaluationhrc) + (mdr_e_absolute_det_existsevaluationhrc))) /\ ((mdr_z_absolute_det_existsevaluationhr) = ((mdr_c_absolute_det_existsevaluationhrc) + (mdr_f_absolute_det_existsevaluationhrc)) * S ((mdr_c_absolute_det_existsevaluationhrc) + (mdr_f_absolute_det_existsevaluationhrc)) + ((mdr_f_absolute_det_existsevaluationhrc) + (mdr_f_absolute_det_existsevaluationhrc))))))))) /\ (((exists ff_h_mdr_absolute_det_existsevaluationhrb. ff_h_mdr_absolute_det_existsevaluationhrb + S (mdr_z_absolute_det_existsevaluationhr) = S ((S (mdr_i_absolute_det_existsevaluationh)) * mdr_c_absolute_det_existsevaluation)) /\ exists ff_q_mdr_absolute_det_existsevaluationhrb. mdr_b_absolute_det_existsevaluation = ff_q_mdr_absolute_det_existsevaluationhrb * S ((S (mdr_i_absolute_det_existsevaluationh)) * mdr_c_absolute_det_existsevaluation) + (mdr_z_absolute_det_existsevaluationhr))))) /\ (((((mdr_d_absolute_det_existsevaluationh) = 0) /\ (((mdr_p_absolute_det_existsevaluationh) = 1) /\ ((mdr_n_absolute_det_existsevaluationh) = 0))) \/ exists mdr_q_absolute_det_existsevaluationhs mdr_eb_absolute_det_existsevaluationhs mdr_ec_absolute_det_existsevaluationhs mdr_fb_absolute_det_existsevaluationhs mdr_fc_absolute_det_existsevaluationhs. (((mdr_d_absolute_det_existsevaluationh) = S (mdr_q_absolute_det_existsevaluationhs)) /\ ((forall mdr_j_absolute_det_existsevaluationhsc. (exists mdr_gap_absolute_det_existsevaluationhscj. mdr_gap_absolute_det_existsevaluationhscj + S (mdr_j_absolute_det_existsevaluationhsc) = (S (mdr_q_absolute_det_existsevaluationhs))) -> exists mdr_i_absolute_det_existsevaluationhsc mdr_up_absolute_det_existsevaluationhsc mdr_us_absolute_det_existsevaluationhsc mdr_un_absolute_det_existsevaluationhsc mdr_ut_absolute_det_existsevaluationhsc mdr_p_absolute_det_existsevaluationhsc mdr_n_absolute_det_existsevaluationhsc. ((exists mdr_gap_absolute_det_existsevaluationhsci. mdr_gap_absolute_det_existsevaluationhsci + S (mdr_i_absolute_det_existsevaluationhsc) = (mdr_i_absolute_det_existsevaluationh)) /\ ((exists mdr_z_absolute_det_existsevaluationhscr. ((exists mdr_a_absolute_det_existsevaluationhscrc mdr_b_absolute_det_existsevaluationhscrc mdr_c_absolute_det_existsevaluationhscrc mdr_e_absolute_det_existsevaluationhscrc mdr_f_absolute_det_existsevaluationhscrc. ((mdr_a_absolute_det_existsevaluationhscrc = ((mdr_q_absolute_det_existsevaluationhs) + (mdr_up_absolute_det_existsevaluationhsc)) * S ((mdr_q_absolute_det_existsevaluationhs) + (mdr_up_absolute_det_existsevaluationhsc)) + ((mdr_up_absolute_det_existsevaluationhsc) + (mdr_up_absolute_det_existsevaluationhsc))) /\ ((mdr_b_absolute_det_existsevaluationhscrc = ((mdr_us_absolute_det_existsevaluationhsc) + (mdr_un_absolute_det_existsevaluationhsc)) * S ((mdr_us_absolute_det_existsevaluationhsc) + (mdr_un_absolute_det_existsevaluationhsc)) + ((mdr_un_absolute_det_existsevaluationhsc) + (mdr_un_absolute_det_existsevaluationhsc))) /\ ((mdr_c_absolute_det_existsevaluationhscrc = ((mdr_a_absolute_det_existsevaluationhscrc) + (mdr_b_absolute_det_existsevaluationhscrc)) * S ((mdr_a_absolute_det_existsevaluationhscrc) + (mdr_b_absolute_det_existsevaluationhscrc)) + ((mdr_b_absolute_det_existsevaluationhscrc) + (mdr_b_absolute_det_existsevaluationhscrc))) /\ ((mdr_e_absolute_det_existsevaluationhscrc = ((mdr_p_absolute_det_existsevaluationhsc) + (mdr_n_absolute_det_existsevaluationhsc)) * S ((mdr_p_absolute_det_existsevaluationhsc) + (mdr_n_absolute_det_existsevaluationhsc)) + ((mdr_n_absolute_det_existsevaluationhsc) + (mdr_n_absolute_det_existsevaluationhsc))) /\ ((mdr_f_absolute_det_existsevaluationhscrc = ((mdr_ut_absolute_det_existsevaluationhsc) + (mdr_e_absolute_det_existsevaluationhscrc)) * S ((mdr_ut_absolute_det_existsevaluationhsc) + (mdr_e_absolute_det_existsevaluationhscrc)) + ((mdr_e_absolute_det_existsevaluationhscrc) + (mdr_e_absolute_det_existsevaluationhscrc))) /\ ((mdr_z_absolute_det_existsevaluationhscr) = ((mdr_c_absolute_det_existsevaluationhscrc) + (mdr_f_absolute_det_existsevaluationhscrc)) * S ((mdr_c_absolute_det_existsevaluationhscrc) + (mdr_f_absolute_det_existsevaluationhscrc)) + ((mdr_f_absolute_det_existsevaluationhscrc) + (mdr_f_absolute_det_existsevaluationhscrc))))))))) /\ (((exists ff_h_mdr_absolute_det_existsevaluationhscrb. ff_h_mdr_absolute_det_existsevaluationhscrb + S (mdr_z_absolute_det_existsevaluationhscr) = S ((S (mdr_i_absolute_det_existsevaluationhsc)) * mdr_c_absolute_det_existsevaluation)) /\ exists ff_q_mdr_absolute_det_existsevaluationhscrb. mdr_b_absolute_det_existsevaluation = ff_q_mdr_absolute_det_existsevaluationhscrb * S ((S (mdr_i_absolute_det_existsevaluationhsc)) * mdr_c_absolute_det_existsevaluation) + (mdr_z_absolute_det_existsevaluationhscr))))) /\ ((((forall ff_index_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive. (exists ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_positive_index_bound. ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_positive_index_bound + S (ff_index_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive) = ((mdr_q_absolute_det_existsevaluationhs) * (mdr_q_absolute_det_existsevaluationhs))) -> exists ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive ff_value_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive. (ff_index_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive = (mdr_q_absolute_det_existsevaluationhs) * ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive + ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive /\ ((exists ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_positive_column_bound. ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_positive_column_bound + S (ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive) = (mdr_q_absolute_det_existsevaluationhs)) /\ ((exists ff_row_mdm_cell_mdr_absolute_det_existsevaluationhscm_positive_cell ff_column_mdm_cell_mdr_absolute_det_existsevaluationhscm_positive_cell. (((((exists ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_positive_cell_row_before. ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_positive_cell_row_before + S (ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive) = (0)) /\ ff_row_mdm_cell_mdr_absolute_det_existsevaluationhscm_positive_cell = ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive) \/ ((exists ff_gap_mdm_le_mdr_absolute_det_existsevaluationhscm_positive_cell_row_after. ff_gap_mdm_le_mdr_absolute_det_existsevaluationhscm_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive)) /\ ff_row_mdm_cell_mdr_absolute_det_existsevaluationhscm_positive_cell = S ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive))) /\ (((((exists ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_positive_cell_column_before. ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_positive_cell_column_before + S (ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive) = (mdr_j_absolute_det_existsevaluationhsc)) /\ ff_column_mdm_cell_mdr_absolute_det_existsevaluationhscm_positive_cell = ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive) \/ ((exists ff_gap_mdm_le_mdr_absolute_det_existsevaluationhscm_positive_cell_column_after. ff_gap_mdm_le_mdr_absolute_det_existsevaluationhscm_positive_cell_column_after + (mdr_j_absolute_det_existsevaluationhsc) = (ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive)) /\ ff_column_mdm_cell_mdr_absolute_det_existsevaluationhscm_positive_cell = S ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive))) /\ (((exists ff_h_mdm_mdr_absolute_det_existsevaluationhscm_positive_cell_source. ff_h_mdm_mdr_absolute_det_existsevaluationhscm_positive_cell_source + S (ff_value_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive) = S ((S ((ff_row_mdm_cell_mdr_absolute_det_existsevaluationhscm_positive_cell) * (S (mdr_q_absolute_det_existsevaluationhs)) + (ff_column_mdm_cell_mdr_absolute_det_existsevaluationhscm_positive_cell))) * mdr_pc_absolute_det_existsevaluationh)) /\ exists ff_q_mdm_mdr_absolute_det_existsevaluationhscm_positive_cell_source. mdr_pb_absolute_det_existsevaluationh = ff_q_mdm_mdr_absolute_det_existsevaluationhscm_positive_cell_source * S ((S ((ff_row_mdm_cell_mdr_absolute_det_existsevaluationhscm_positive_cell) * (S (mdr_q_absolute_det_existsevaluationhs)) + (ff_column_mdm_cell_mdr_absolute_det_existsevaluationhscm_positive_cell))) * mdr_pc_absolute_det_existsevaluationh) + (ff_value_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive)))))) /\ (((exists ff_h_mdm_mdr_absolute_det_existsevaluationhscm_positive_target. ff_h_mdm_mdr_absolute_det_existsevaluationhscm_positive_target + S (ff_value_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive) = S ((S (ff_index_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive)) * mdr_us_absolute_det_existsevaluationhsc)) /\ exists ff_q_mdm_mdr_absolute_det_existsevaluationhscm_positive_target. mdr_up_absolute_det_existsevaluationhsc = ff_q_mdm_mdr_absolute_det_existsevaluationhscm_positive_target * S ((S (ff_index_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive)) * mdr_us_absolute_det_existsevaluationhsc) + (ff_value_mdm_prefix_mdr_absolute_det_existsevaluationhscm_positive))))))) /\ (forall ff_index_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative. (exists ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_negative_index_bound. ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_negative_index_bound + S (ff_index_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative) = ((mdr_q_absolute_det_existsevaluationhs) * (mdr_q_absolute_det_existsevaluationhs))) -> exists ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative ff_value_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative. (ff_index_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative = (mdr_q_absolute_det_existsevaluationhs) * ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative + ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative /\ ((exists ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_negative_column_bound. ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_negative_column_bound + S (ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative) = (mdr_q_absolute_det_existsevaluationhs)) /\ ((exists ff_row_mdm_cell_mdr_absolute_det_existsevaluationhscm_negative_cell ff_column_mdm_cell_mdr_absolute_det_existsevaluationhscm_negative_cell. (((((exists ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_negative_cell_row_before. ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_negative_cell_row_before + S (ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative) = (0)) /\ ff_row_mdm_cell_mdr_absolute_det_existsevaluationhscm_negative_cell = ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative) \/ ((exists ff_gap_mdm_le_mdr_absolute_det_existsevaluationhscm_negative_cell_row_after. ff_gap_mdm_le_mdr_absolute_det_existsevaluationhscm_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative)) /\ ff_row_mdm_cell_mdr_absolute_det_existsevaluationhscm_negative_cell = S ff_row_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative))) /\ (((((exists ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_negative_cell_column_before. ff_gap_mdm_lt_mdr_absolute_det_existsevaluationhscm_negative_cell_column_before + S (ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative) = (mdr_j_absolute_det_existsevaluationhsc)) /\ ff_column_mdm_cell_mdr_absolute_det_existsevaluationhscm_negative_cell = ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative) \/ ((exists ff_gap_mdm_le_mdr_absolute_det_existsevaluationhscm_negative_cell_column_after. ff_gap_mdm_le_mdr_absolute_det_existsevaluationhscm_negative_cell_column_after + (mdr_j_absolute_det_existsevaluationhsc) = (ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative)) /\ ff_column_mdm_cell_mdr_absolute_det_existsevaluationhscm_negative_cell = S ff_column_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative))) /\ (((exists ff_h_mdm_mdr_absolute_det_existsevaluationhscm_negative_cell_source. ff_h_mdm_mdr_absolute_det_existsevaluationhscm_negative_cell_source + S (ff_value_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative) = S ((S ((ff_row_mdm_cell_mdr_absolute_det_existsevaluationhscm_negative_cell) * (S (mdr_q_absolute_det_existsevaluationhs)) + (ff_column_mdm_cell_mdr_absolute_det_existsevaluationhscm_negative_cell))) * mdr_nc_absolute_det_existsevaluationh)) /\ exists ff_q_mdm_mdr_absolute_det_existsevaluationhscm_negative_cell_source. mdr_nb_absolute_det_existsevaluationh = ff_q_mdm_mdr_absolute_det_existsevaluationhscm_negative_cell_source * S ((S ((ff_row_mdm_cell_mdr_absolute_det_existsevaluationhscm_negative_cell) * (S (mdr_q_absolute_det_existsevaluationhs)) + (ff_column_mdm_cell_mdr_absolute_det_existsevaluationhscm_negative_cell))) * mdr_nc_absolute_det_existsevaluationh) + (ff_value_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative)))))) /\ (((exists ff_h_mdm_mdr_absolute_det_existsevaluationhscm_negative_target. ff_h_mdm_mdr_absolute_det_existsevaluationhscm_negative_target + S (ff_value_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative) = S ((S (ff_index_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative)) * mdr_ut_absolute_det_existsevaluationhsc)) /\ exists ff_q_mdm_mdr_absolute_det_existsevaluationhscm_negative_target. mdr_un_absolute_det_existsevaluationhsc = ff_q_mdm_mdr_absolute_det_existsevaluationhscm_negative_target * S ((S (ff_index_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative)) * mdr_ut_absolute_det_existsevaluationhsc) + (ff_value_mdm_prefix_mdr_absolute_det_existsevaluationhscm_negative))))))))) /\ ((((exists ff_h_mdr_absolute_det_existsevaluationhscp. ff_h_mdr_absolute_det_existsevaluationhscp + S (mdr_p_absolute_det_existsevaluationhsc) = S ((S (mdr_j_absolute_det_existsevaluationhsc)) * mdr_ec_absolute_det_existsevaluationhs)) /\ exists ff_q_mdr_absolute_det_existsevaluationhscp. mdr_eb_absolute_det_existsevaluationhs = ff_q_mdr_absolute_det_existsevaluationhscp * S ((S (mdr_j_absolute_det_existsevaluationhsc)) * mdr_ec_absolute_det_existsevaluationhs) + (mdr_p_absolute_det_existsevaluationhsc))) /\ (((exists ff_h_mdr_absolute_det_existsevaluationhscn. ff_h_mdr_absolute_det_existsevaluationhscn + S (mdr_n_absolute_det_existsevaluationhsc) = S ((S (mdr_j_absolute_det_existsevaluationhsc)) * mdr_fc_absolute_det_existsevaluationhs)) /\ exists ff_q_mdr_absolute_det_existsevaluationhscn. mdr_fb_absolute_det_existsevaluationhs = ff_q_mdr_absolute_det_existsevaluationhscn * S ((S (mdr_j_absolute_det_existsevaluationhsc)) * mdr_fc_absolute_det_existsevaluationhs) + (mdr_n_absolute_det_existsevaluationhsc)))))))) /\ (exists ff_ub_mce_fold_mdr_absolute_det_existsevaluationhsf ff_uc_mce_fold_mdr_absolute_det_existsevaluationhsf ff_vb_mce_fold_mdr_absolute_det_existsevaluationhsf ff_vc_mce_fold_mdr_absolute_det_existsevaluationhsf. ((forall ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix. (exists ff_gap_mce_mdr_absolute_det_existsevaluationhsf_prefix_index. ff_gap_mce_mdr_absolute_det_existsevaluationhsf_prefix_index + S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) = (S (mdr_q_absolute_det_existsevaluationhs))) -> exists ff_ap_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix ff_an_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix ff_bp_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix ff_bn_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix ff_p_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix ff_n_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix. ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_ap. ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_ap + S (ff_ap_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * mdr_pc_absolute_det_existsevaluationh)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_ap. mdr_pb_absolute_det_existsevaluationh = ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_ap * S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * mdr_pc_absolute_det_existsevaluationh) + (ff_ap_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix))) /\ ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_an. ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_an + S (ff_an_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * mdr_nc_absolute_det_existsevaluationh)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_an. mdr_nb_absolute_det_existsevaluationh = ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_an * S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * mdr_nc_absolute_det_existsevaluationh) + (ff_an_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix))) /\ ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_bp. ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_bp + S (ff_bp_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * mdr_ec_absolute_det_existsevaluationhs)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_bp. mdr_eb_absolute_det_existsevaluationhs = ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_bp * S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * mdr_ec_absolute_det_existsevaluationhs) + (ff_bp_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix))) /\ ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_bn. ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_bn + S (ff_bn_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * mdr_fc_absolute_det_existsevaluationhs)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_bn. mdr_fb_absolute_det_existsevaluationhs = ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_bn * S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * mdr_fc_absolute_det_existsevaluationhs) + (ff_bn_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix))) /\ ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_positive. ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_positive + S (ff_p_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * ff_uc_mce_fold_mdr_absolute_det_existsevaluationhsf)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_positive. ff_ub_mce_fold_mdr_absolute_det_existsevaluationhsf = ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_positive * S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * ff_uc_mce_fold_mdr_absolute_det_existsevaluationhsf) + (ff_p_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix))) /\ ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_negative. ff_h_mce_mdr_absolute_det_existsevaluationhsf_prefix_negative + S (ff_n_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) = S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * ff_vc_mce_fold_mdr_absolute_det_existsevaluationhsf)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_negative. ff_vb_mce_fold_mdr_absolute_det_existsevaluationhsf = ff_q_mce_mdr_absolute_det_existsevaluationhsf_prefix_negative * S ((S (ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix)) * ff_vc_mce_fold_mdr_absolute_det_existsevaluationhsf) + (ff_n_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix))) /\ (((exists ff_even_mce_term_mdr_absolute_det_existsevaluationhsf_prefix_term. ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix = 2 * ff_even_mce_term_mdr_absolute_det_existsevaluationhsf_prefix_term) /\ (ff_p_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix = (ff_ap_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) * (ff_bp_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) + (ff_an_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) * (ff_bn_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) /\ ff_n_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix = (ff_ap_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) * (ff_bn_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) + (ff_an_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) * (ff_bp_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix))) \/ ((exists ff_odd_mce_term_mdr_absolute_det_existsevaluationhsf_prefix_term. ff_index_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix = 2 * ff_odd_mce_term_mdr_absolute_det_existsevaluationhsf_prefix_term + 1) /\ (ff_p_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix = (ff_ap_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) * (ff_bn_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) + (ff_an_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) * (ff_bp_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) /\ ff_n_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix = (ff_ap_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) * (ff_bp_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) + (ff_an_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix) * (ff_bn_mce_alternating_mdr_absolute_det_existsevaluationhsf_prefix))))))))))) /\ ((exists ff_u_mce_mdr_absolute_det_existsevaluationhsf_positive ff_v_mce_mdr_absolute_det_existsevaluationhsf_positive. ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_positive_start. ff_h_mce_mdr_absolute_det_existsevaluationhsf_positive_start + S (0) = S ((S (0)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_positive)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_positive_start. ff_u_mce_mdr_absolute_det_existsevaluationhsf_positive = ff_q_mce_mdr_absolute_det_existsevaluationhsf_positive_start * S ((S (0)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_positive) + (0))) /\ ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_positive_terminal. ff_h_mce_mdr_absolute_det_existsevaluationhsf_positive_terminal + S (mdr_p_absolute_det_existsevaluationh) = S ((S ((S (mdr_q_absolute_det_existsevaluationhs)))) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_positive)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_positive_terminal. ff_u_mce_mdr_absolute_det_existsevaluationhsf_positive = ff_q_mce_mdr_absolute_det_existsevaluationhsf_positive_terminal * S ((S ((S (mdr_q_absolute_det_existsevaluationhs)))) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_positive) + (mdr_p_absolute_det_existsevaluationh))) /\ forall ff_i_mce_mdr_absolute_det_existsevaluationhsf_positive. (exists ff_lt_mce_mdr_absolute_det_existsevaluationhsf_positive_bound. ff_lt_mce_mdr_absolute_det_existsevaluationhsf_positive_bound + S ff_i_mce_mdr_absolute_det_existsevaluationhsf_positive = (S (mdr_q_absolute_det_existsevaluationhs))) -> exists ff_a_mce_mdr_absolute_det_existsevaluationhsf_positive ff_r_mce_mdr_absolute_det_existsevaluationhsf_positive ff_s_mce_mdr_absolute_det_existsevaluationhsf_positive. ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_positive_summand. ff_h_mce_mdr_absolute_det_existsevaluationhsf_positive_summand + S (ff_a_mce_mdr_absolute_det_existsevaluationhsf_positive) = S ((S (ff_i_mce_mdr_absolute_det_existsevaluationhsf_positive)) * ff_uc_mce_fold_mdr_absolute_det_existsevaluationhsf)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_positive_summand. ff_ub_mce_fold_mdr_absolute_det_existsevaluationhsf = ff_q_mce_mdr_absolute_det_existsevaluationhsf_positive_summand * S ((S (ff_i_mce_mdr_absolute_det_existsevaluationhsf_positive)) * ff_uc_mce_fold_mdr_absolute_det_existsevaluationhsf) + (ff_a_mce_mdr_absolute_det_existsevaluationhsf_positive))) /\ ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_positive_partial. ff_h_mce_mdr_absolute_det_existsevaluationhsf_positive_partial + S (ff_r_mce_mdr_absolute_det_existsevaluationhsf_positive) = S ((S (ff_i_mce_mdr_absolute_det_existsevaluationhsf_positive)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_positive)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_positive_partial. ff_u_mce_mdr_absolute_det_existsevaluationhsf_positive = ff_q_mce_mdr_absolute_det_existsevaluationhsf_positive_partial * S ((S (ff_i_mce_mdr_absolute_det_existsevaluationhsf_positive)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_positive) + (ff_r_mce_mdr_absolute_det_existsevaluationhsf_positive))) /\ ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_positive_successor. ff_h_mce_mdr_absolute_det_existsevaluationhsf_positive_successor + S (ff_s_mce_mdr_absolute_det_existsevaluationhsf_positive) = S ((S (S ff_i_mce_mdr_absolute_det_existsevaluationhsf_positive)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_positive)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_positive_successor. ff_u_mce_mdr_absolute_det_existsevaluationhsf_positive = ff_q_mce_mdr_absolute_det_existsevaluationhsf_positive_successor * S ((S (S ff_i_mce_mdr_absolute_det_existsevaluationhsf_positive)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_positive) + (ff_s_mce_mdr_absolute_det_existsevaluationhsf_positive))) /\ ff_s_mce_mdr_absolute_det_existsevaluationhsf_positive = ff_r_mce_mdr_absolute_det_existsevaluationhsf_positive + ff_a_mce_mdr_absolute_det_existsevaluationhsf_positive)))))) /\ (exists ff_u_mce_mdr_absolute_det_existsevaluationhsf_negative ff_v_mce_mdr_absolute_det_existsevaluationhsf_negative. ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_negative_start. ff_h_mce_mdr_absolute_det_existsevaluationhsf_negative_start + S (0) = S ((S (0)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_negative)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_negative_start. ff_u_mce_mdr_absolute_det_existsevaluationhsf_negative = ff_q_mce_mdr_absolute_det_existsevaluationhsf_negative_start * S ((S (0)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_negative) + (0))) /\ ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_negative_terminal. ff_h_mce_mdr_absolute_det_existsevaluationhsf_negative_terminal + S (mdr_n_absolute_det_existsevaluationh) = S ((S ((S (mdr_q_absolute_det_existsevaluationhs)))) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_negative)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_negative_terminal. ff_u_mce_mdr_absolute_det_existsevaluationhsf_negative = ff_q_mce_mdr_absolute_det_existsevaluationhsf_negative_terminal * S ((S ((S (mdr_q_absolute_det_existsevaluationhs)))) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_negative) + (mdr_n_absolute_det_existsevaluationh))) /\ forall ff_i_mce_mdr_absolute_det_existsevaluationhsf_negative. (exists ff_lt_mce_mdr_absolute_det_existsevaluationhsf_negative_bound. ff_lt_mce_mdr_absolute_det_existsevaluationhsf_negative_bound + S ff_i_mce_mdr_absolute_det_existsevaluationhsf_negative = (S (mdr_q_absolute_det_existsevaluationhs))) -> exists ff_a_mce_mdr_absolute_det_existsevaluationhsf_negative ff_r_mce_mdr_absolute_det_existsevaluationhsf_negative ff_s_mce_mdr_absolute_det_existsevaluationhsf_negative. ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_negative_summand. ff_h_mce_mdr_absolute_det_existsevaluationhsf_negative_summand + S (ff_a_mce_mdr_absolute_det_existsevaluationhsf_negative) = S ((S (ff_i_mce_mdr_absolute_det_existsevaluationhsf_negative)) * ff_vc_mce_fold_mdr_absolute_det_existsevaluationhsf)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_negative_summand. ff_vb_mce_fold_mdr_absolute_det_existsevaluationhsf = ff_q_mce_mdr_absolute_det_existsevaluationhsf_negative_summand * S ((S (ff_i_mce_mdr_absolute_det_existsevaluationhsf_negative)) * ff_vc_mce_fold_mdr_absolute_det_existsevaluationhsf) + (ff_a_mce_mdr_absolute_det_existsevaluationhsf_negative))) /\ ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_negative_partial. ff_h_mce_mdr_absolute_det_existsevaluationhsf_negative_partial + S (ff_r_mce_mdr_absolute_det_existsevaluationhsf_negative) = S ((S (ff_i_mce_mdr_absolute_det_existsevaluationhsf_negative)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_negative)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_negative_partial. ff_u_mce_mdr_absolute_det_existsevaluationhsf_negative = ff_q_mce_mdr_absolute_det_existsevaluationhsf_negative_partial * S ((S (ff_i_mce_mdr_absolute_det_existsevaluationhsf_negative)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_negative) + (ff_r_mce_mdr_absolute_det_existsevaluationhsf_negative))) /\ ((((exists ff_h_mce_mdr_absolute_det_existsevaluationhsf_negative_successor. ff_h_mce_mdr_absolute_det_existsevaluationhsf_negative_successor + S (ff_s_mce_mdr_absolute_det_existsevaluationhsf_negative) = S ((S (S ff_i_mce_mdr_absolute_det_existsevaluationhsf_negative)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_negative)) /\ exists ff_q_mce_mdr_absolute_det_existsevaluationhsf_negative_successor. ff_u_mce_mdr_absolute_det_existsevaluationhsf_negative = ff_q_mce_mdr_absolute_det_existsevaluationhsf_negative_successor * S ((S (S ff_i_mce_mdr_absolute_det_existsevaluationhsf_negative)) * ff_v_mce_mdr_absolute_det_existsevaluationhsf_negative) + (ff_s_mce_mdr_absolute_det_existsevaluationhsf_negative))) /\ ff_s_mce_mdr_absolute_det_existsevaluationhsf_negative = ff_r_mce_mdr_absolute_det_existsevaluationhsf_negative + ff_a_mce_mdr_absolute_det_existsevaluationhsf_negative))))))))))))))) /\ ((exists mdr_gap_absolute_det_existsevaluationi. mdr_gap_absolute_det_existsevaluationi + S (mdr_i_absolute_det_existsevaluation) = (mdr_l_absolute_det_existsevaluation)) /\ (exists mdr_z_absolute_det_existsevaluationr. ((exists mdr_a_absolute_det_existsevaluationrc mdr_b_absolute_det_existsevaluationrc mdr_c_absolute_det_existsevaluationrc mdr_e_absolute_det_existsevaluationrc mdr_f_absolute_det_existsevaluationrc. ((mdr_a_absolute_det_existsevaluationrc = ((d) + (ab)) * S ((d) + (ab)) + ((ab) + (ab))) /\ ((mdr_b_absolute_det_existsevaluationrc = ((ac) + (bb)) * S ((ac) + (bb)) + ((bb) + (bb))) /\ ((mdr_c_absolute_det_existsevaluationrc = ((mdr_a_absolute_det_existsevaluationrc) + (mdr_b_absolute_det_existsevaluationrc)) * S ((mdr_a_absolute_det_existsevaluationrc) + (mdr_b_absolute_det_existsevaluationrc)) + ((mdr_b_absolute_det_existsevaluationrc) + (mdr_b_absolute_det_existsevaluationrc))) /\ ((mdr_e_absolute_det_existsevaluationrc = ((mdr_p_absolute_det_exists) + (mdr_n_absolute_det_exists)) * S ((mdr_p_absolute_det_exists) + (mdr_n_absolute_det_exists)) + ((mdr_n_absolute_det_exists) + (mdr_n_absolute_det_exists))) /\ ((mdr_f_absolute_det_existsevaluationrc = ((bc) + (mdr_e_absolute_det_existsevaluationrc)) * S ((bc) + (mdr_e_absolute_det_existsevaluationrc)) + ((mdr_e_absolute_det_existsevaluationrc) + (mdr_e_absolute_det_existsevaluationrc))) /\ ((mdr_z_absolute_det_existsevaluationr) = ((mdr_c_absolute_det_existsevaluationrc) + (mdr_f_absolute_det_existsevaluationrc)) * S ((mdr_c_absolute_det_existsevaluationrc) + (mdr_f_absolute_det_existsevaluationrc)) + ((mdr_f_absolute_det_existsevaluationrc) + (mdr_f_absolute_det_existsevaluationrc))))))))) /\ (((exists ff_h_mdr_absolute_det_existsevaluationrb. ff_h_mdr_absolute_det_existsevaluationrb + S (mdr_z_absolute_det_existsevaluationr) = S ((S (mdr_i_absolute_det_existsevaluation)) * mdr_c_absolute_det_existsevaluation)) /\ exists ff_q_mdr_absolute_det_existsevaluationrb. mdr_b_absolute_det_existsevaluation = ff_q_mdr_absolute_det_existsevaluationrb * S ((S (mdr_i_absolute_det_existsevaluation)) * mdr_c_absolute_det_existsevaluation) + (mdr_z_absolute_det_existsevaluationr)))))))) /\ (((mdr_p_absolute_det_exists) = (mdr_n_absolute_det_exists) + (D)) \/ ((mdr_n_absolute_det_exists) = (mdr_p_absolute_det_exists) + (D)))))

Complete tactic proof in conservative notation

All 25 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

25 script commands · 8 reading checkpoints · 2 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–5

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

  1. L1
    intro ab
  2. L2
    intro ac
  3. L3
    intro bb
  4. L4
    intro bc
  5. L5
    intro d
02Establish hvalueL6–12

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed recursive determinant exists.

  1. L6
    have hvalue : ∃ p. ∃ n. SignedRecursiveDeterminant(ab,ac,bb,bc,d,p,n)Definitions: SignedRecursiveDeterminant(ab,ac,bb,bc,d,p,n)Original native command in the exact edition
  2. L7
    specialize signed_recursive_determinant_exists (ab)
  3. L8
    specialize signed_recursive_determinant_exists (ac)
  4. L9
    specialize signed_recursive_determinant_exists (bb)
  5. L10
    specialize signed_recursive_determinant_exists (bc)
  6. L11
    specialize signed_recursive_determinant_exists (d)
  7. L12
    apply signed_recursive_determinant_exists
03Separate the logical casesL13–14

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

  1. L13
    cases hvalue
  2. L14
    cases hvalue_witness
04Establish habsoluteL15–18

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix lattice absolute difference exists.

  1. L15
    have habsolute : exists D. (((x) = (x1) + (D)) \/ ((x1) = (x) + (D)))
  2. L16
    specialize matrix_lattice_absolute_difference_exists (x)
  3. L17
    specialize matrix_lattice_absolute_difference_exists (x1)
  4. L18
    apply matrix_lattice_absolute_difference_exists
05Separate the logical casesL19–19

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

  1. L19
    cases habsolute
06Construct an explicit witnessL20–22

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

  1. L20
    exists x2
  2. L21
    exists x
  3. L22
    exists x1
07Separate the logical casesL23–23

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

  1. L23
    split
08Use earlier factsL24–25

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

  1. L24
    exact hvalue_witness_witness
  2. L25
    exact habsolute_witness

Library-wide reading audit

Original defined command ledger · 25 lines
  1. 0001intro ab
  2. 0002intro ac
  3. 0003intro bb
  4. 0004intro bc
  5. 0005intro d
  6. 0006have hvalue : ∃ p. ∃ n. SignedRecursiveDeterminant(ab,ac,bb,bc,d,p,n)
  7. 0007specialize signed_recursive_determinant_exists (ab)
  8. 0008specialize signed_recursive_determinant_exists (ac)
  9. 0009specialize signed_recursive_determinant_exists (bb)
  10. 0010specialize signed_recursive_determinant_exists (bc)
  11. 0011specialize signed_recursive_determinant_exists (d)
  12. 0012apply signed_recursive_determinant_exists
  13. 0013cases hvalue
  14. 0014cases hvalue_witness
  15. 0015have habsolute : exists D. (((x) = (x1) + (D)) \/ ((x1) = (x) + (D)))
  16. 0016specialize matrix_lattice_absolute_difference_exists (x)
  17. 0017specialize matrix_lattice_absolute_difference_exists (x1)
  18. 0018apply matrix_lattice_absolute_difference_exists
  19. 0019cases habsolute
  20. 0020exists x2
  21. 0021exists x
  22. 0022exists x1
  23. 0023split
  24. 0024exact hvalue_witness_witness
  25. 0025exact habsolute_witness