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.
Statement with defined notation
forall p a b lb lc rb rc tb tc l. (forall bls_index_kmcpx_left. (exists bls_gap_kmcpx_left_bound. bls_gap_kmcpx_left_bound + S (bls_index_kmcpx_left) = (l)) -> exists bls_power_kmcpx_left bls_quotient_kmcpx_left bls_remainder_kmcpx_left. ((exists bpvi_b_bls_kmcpx_left_power bpvi_c_bls_kmcpx_left_power. ((forall bpvi_i_bls_kmcpx_left_power. (exists bpvi_repeat_gap_bls_kmcpx_left_power. bpvi_repeat_gap_bls_kmcpx_left_power + S bpvi_i_bls_kmcpx_left_power = S bls_index_kmcpx_left) -> (((exists bpvi_h_bls_kmcpx_left_power_repeat. bpvi_h_bls_kmcpx_left_power_repeat + S (p) = S ((S (bpvi_i_bls_kmcpx_left_power)) * bpvi_c_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_repeat. bpvi_b_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_repeat * S ((S (bpvi_i_bls_kmcpx_left_power)) * bpvi_c_bls_kmcpx_left_power) + (p)))) /\ (exists bpvi_u_bls_kmcpx_left_power bpvi_v_bls_kmcpx_left_power. ((((exists bpvi_h_bls_kmcpx_left_power_start. bpvi_h_bls_kmcpx_left_power_start + S (1) = S ((S (0)) * bpvi_v_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_start. bpvi_u_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_start * S ((S (0)) * bpvi_v_bls_kmcpx_left_power) + (1))) /\ ((((exists bpvi_h_bls_kmcpx_left_power_terminal. bpvi_h_bls_kmcpx_left_power_terminal + S (bls_power_kmcpx_left) = S ((S (S bls_index_kmcpx_left)) * bpvi_v_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_terminal. bpvi_u_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_terminal * S ((S (S bls_index_kmcpx_left)) * bpvi_v_bls_kmcpx_left_power) + (bls_power_kmcpx_left))) /\ forall bpvi_j_bls_kmcpx_left_power. (exists bpvi_product_gap_bls_kmcpx_left_power. bpvi_product_gap_bls_kmcpx_left_power + S bpvi_j_bls_kmcpx_left_power = S bls_index_kmcpx_left) -> exists bpvi_factor_bls_kmcpx_left_power bpvi_partial_bls_kmcpx_left_power bpvi_successor_bls_kmcpx_left_power. ((((exists bpvi_h_bls_kmcpx_left_power_factor. bpvi_h_bls_kmcpx_left_power_factor + S (bpvi_factor_bls_kmcpx_left_power) = S ((S (bpvi_j_bls_kmcpx_left_power)) * bpvi_c_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_factor. bpvi_b_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_factor * S ((S (bpvi_j_bls_kmcpx_left_power)) * bpvi_c_bls_kmcpx_left_power) + (bpvi_factor_bls_kmcpx_left_power))) /\ ((((exists bpvi_h_bls_kmcpx_left_power_partial. bpvi_h_bls_kmcpx_left_power_partial + S (bpvi_partial_bls_kmcpx_left_power) = S ((S (bpvi_j_bls_kmcpx_left_power)) * bpvi_v_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_partial. bpvi_u_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_partial * S ((S (bpvi_j_bls_kmcpx_left_power)) * bpvi_v_bls_kmcpx_left_power) + (bpvi_partial_bls_kmcpx_left_power))) /\ ((((exists bpvi_h_bls_kmcpx_left_power_successor. bpvi_h_bls_kmcpx_left_power_successor + S (bpvi_successor_bls_kmcpx_left_power) = S ((S (S bpvi_j_bls_kmcpx_left_power)) * bpvi_v_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_successor. bpvi_u_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_successor * S ((S (S bpvi_j_bls_kmcpx_left_power)) * bpvi_v_bls_kmcpx_left_power) + (bpvi_successor_bls_kmcpx_left_power))) /\ bpvi_successor_bls_kmcpx_left_power = bpvi_partial_bls_kmcpx_left_power * bpvi_factor_bls_kmcpx_left_power)))))))) /\ ((((exists ff_h_bls_kmcpx_left_quotient_entry. ff_h_bls_kmcpx_left_quotient_entry + S (bls_quotient_kmcpx_left) = S ((S (bls_index_kmcpx_left)) * lc)) /\ exists ff_q_bls_kmcpx_left_quotient_entry. lb = ff_q_bls_kmcpx_left_quotient_entry * S ((S (bls_index_kmcpx_left)) * lc) + (bls_quotient_kmcpx_left))) /\ ((a = bls_power_kmcpx_left * bls_quotient_kmcpx_left + bls_remainder_kmcpx_left /\ exists bls_remainder_gap_kmcpx_left_division. bls_remainder_gap_kmcpx_left_division + S (bls_remainder_kmcpx_left) = bls_power_kmcpx_left))))) -> (forall bls_index_kmcpx_right. (exists bls_gap_kmcpx_right_bound. bls_gap_kmcpx_right_bound + S (bls_index_kmcpx_right) = (l)) -> exists bls_power_kmcpx_right bls_quotient_kmcpx_right bls_remainder_kmcpx_right. ((exists bpvi_b_bls_kmcpx_right_power bpvi_c_bls_kmcpx_right_power. ((forall bpvi_i_bls_kmcpx_right_power. (exists bpvi_repeat_gap_bls_kmcpx_right_power. bpvi_repeat_gap_bls_kmcpx_right_power + S bpvi_i_bls_kmcpx_right_power = S bls_index_kmcpx_right) -> (((exists bpvi_h_bls_kmcpx_right_power_repeat. bpvi_h_bls_kmcpx_right_power_repeat + S (p) = S ((S (bpvi_i_bls_kmcpx_right_power)) * bpvi_c_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_repeat. bpvi_b_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_repeat * S ((S (bpvi_i_bls_kmcpx_right_power)) * bpvi_c_bls_kmcpx_right_power) + (p)))) /\ (exists bpvi_u_bls_kmcpx_right_power bpvi_v_bls_kmcpx_right_power. ((((exists bpvi_h_bls_kmcpx_right_power_start. bpvi_h_bls_kmcpx_right_power_start + S (1) = S ((S (0)) * bpvi_v_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_start. bpvi_u_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_start * S ((S (0)) * bpvi_v_bls_kmcpx_right_power) + (1))) /\ ((((exists bpvi_h_bls_kmcpx_right_power_terminal. bpvi_h_bls_kmcpx_right_power_terminal + S (bls_power_kmcpx_right) = S ((S (S bls_index_kmcpx_right)) * bpvi_v_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_terminal. bpvi_u_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_terminal * S ((S (S bls_index_kmcpx_right)) * bpvi_v_bls_kmcpx_right_power) + (bls_power_kmcpx_right))) /\ forall bpvi_j_bls_kmcpx_right_power. (exists bpvi_product_gap_bls_kmcpx_right_power. bpvi_product_gap_bls_kmcpx_right_power + S bpvi_j_bls_kmcpx_right_power = S bls_index_kmcpx_right) -> exists bpvi_factor_bls_kmcpx_right_power bpvi_partial_bls_kmcpx_right_power bpvi_successor_bls_kmcpx_right_power. ((((exists bpvi_h_bls_kmcpx_right_power_factor. bpvi_h_bls_kmcpx_right_power_factor + S (bpvi_factor_bls_kmcpx_right_power) = S ((S (bpvi_j_bls_kmcpx_right_power)) * bpvi_c_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_factor. bpvi_b_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_factor * S ((S (bpvi_j_bls_kmcpx_right_power)) * bpvi_c_bls_kmcpx_right_power) + (bpvi_factor_bls_kmcpx_right_power))) /\ ((((exists bpvi_h_bls_kmcpx_right_power_partial. bpvi_h_bls_kmcpx_right_power_partial + S (bpvi_partial_bls_kmcpx_right_power) = S ((S (bpvi_j_bls_kmcpx_right_power)) * bpvi_v_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_partial. bpvi_u_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_partial * S ((S (bpvi_j_bls_kmcpx_right_power)) * bpvi_v_bls_kmcpx_right_power) + (bpvi_partial_bls_kmcpx_right_power))) /\ ((((exists bpvi_h_bls_kmcpx_right_power_successor. bpvi_h_bls_kmcpx_right_power_successor + S (bpvi_successor_bls_kmcpx_right_power) = S ((S (S bpvi_j_bls_kmcpx_right_power)) * bpvi_v_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_successor. bpvi_u_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_successor * S ((S (S bpvi_j_bls_kmcpx_right_power)) * bpvi_v_bls_kmcpx_right_power) + (bpvi_successor_bls_kmcpx_right_power))) /\ bpvi_successor_bls_kmcpx_right_power = bpvi_partial_bls_kmcpx_right_power * bpvi_factor_bls_kmcpx_right_power)))))))) /\ ((((exists ff_h_bls_kmcpx_right_quotient_entry. ff_h_bls_kmcpx_right_quotient_entry + S (bls_quotient_kmcpx_right) = S ((S (bls_index_kmcpx_right)) * rc)) /\ exists ff_q_bls_kmcpx_right_quotient_entry. rb = ff_q_bls_kmcpx_right_quotient_entry * S ((S (bls_index_kmcpx_right)) * rc) + (bls_quotient_kmcpx_right))) /\ ((b = bls_power_kmcpx_right * bls_quotient_kmcpx_right + bls_remainder_kmcpx_right /\ exists bls_remainder_gap_kmcpx_right_division. bls_remainder_gap_kmcpx_right_division + S (bls_remainder_kmcpx_right) = bls_power_kmcpx_right))))) -> (forall bls_index_kmcpx_total. (exists bls_gap_kmcpx_total_bound. bls_gap_kmcpx_total_bound + S (bls_index_kmcpx_total) = (l)) -> exists bls_power_kmcpx_total bls_quotient_kmcpx_total bls_remainder_kmcpx_total. ((exists bpvi_b_bls_kmcpx_total_power bpvi_c_bls_kmcpx_total_power. ((forall bpvi_i_bls_kmcpx_total_power. (exists bpvi_repeat_gap_bls_kmcpx_total_power. bpvi_repeat_gap_bls_kmcpx_total_power + S bpvi_i_bls_kmcpx_total_power = S bls_index_kmcpx_total) -> (((exists bpvi_h_bls_kmcpx_total_power_repeat. bpvi_h_bls_kmcpx_total_power_repeat + S (p) = S ((S (bpvi_i_bls_kmcpx_total_power)) * bpvi_c_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_repeat. bpvi_b_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_repeat * S ((S (bpvi_i_bls_kmcpx_total_power)) * bpvi_c_bls_kmcpx_total_power) + (p)))) /\ (exists bpvi_u_bls_kmcpx_total_power bpvi_v_bls_kmcpx_total_power. ((((exists bpvi_h_bls_kmcpx_total_power_start. bpvi_h_bls_kmcpx_total_power_start + S (1) = S ((S (0)) * bpvi_v_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_start. bpvi_u_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_start * S ((S (0)) * bpvi_v_bls_kmcpx_total_power) + (1))) /\ ((((exists bpvi_h_bls_kmcpx_total_power_terminal. bpvi_h_bls_kmcpx_total_power_terminal + S (bls_power_kmcpx_total) = S ((S (S bls_index_kmcpx_total)) * bpvi_v_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_terminal. bpvi_u_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_terminal * S ((S (S bls_index_kmcpx_total)) * bpvi_v_bls_kmcpx_total_power) + (bls_power_kmcpx_total))) /\ forall bpvi_j_bls_kmcpx_total_power. (exists bpvi_product_gap_bls_kmcpx_total_power. bpvi_product_gap_bls_kmcpx_total_power + S bpvi_j_bls_kmcpx_total_power = S bls_index_kmcpx_total) -> exists bpvi_factor_bls_kmcpx_total_power bpvi_partial_bls_kmcpx_total_power bpvi_successor_bls_kmcpx_total_power. ((((exists bpvi_h_bls_kmcpx_total_power_factor. bpvi_h_bls_kmcpx_total_power_factor + S (bpvi_factor_bls_kmcpx_total_power) = S ((S (bpvi_j_bls_kmcpx_total_power)) * bpvi_c_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_factor. bpvi_b_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_factor * S ((S (bpvi_j_bls_kmcpx_total_power)) * bpvi_c_bls_kmcpx_total_power) + (bpvi_factor_bls_kmcpx_total_power))) /\ ((((exists bpvi_h_bls_kmcpx_total_power_partial. bpvi_h_bls_kmcpx_total_power_partial + S (bpvi_partial_bls_kmcpx_total_power) = S ((S (bpvi_j_bls_kmcpx_total_power)) * bpvi_v_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_partial. bpvi_u_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_partial * S ((S (bpvi_j_bls_kmcpx_total_power)) * bpvi_v_bls_kmcpx_total_power) + (bpvi_partial_bls_kmcpx_total_power))) /\ ((((exists bpvi_h_bls_kmcpx_total_power_successor. bpvi_h_bls_kmcpx_total_power_successor + S (bpvi_successor_bls_kmcpx_total_power) = S ((S (S bpvi_j_bls_kmcpx_total_power)) * bpvi_v_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_successor. bpvi_u_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_successor * S ((S (S bpvi_j_bls_kmcpx_total_power)) * bpvi_v_bls_kmcpx_total_power) + (bpvi_successor_bls_kmcpx_total_power))) /\ bpvi_successor_bls_kmcpx_total_power = bpvi_partial_bls_kmcpx_total_power * bpvi_factor_bls_kmcpx_total_power)))))))) /\ ((((exists ff_h_bls_kmcpx_total_quotient_entry. ff_h_bls_kmcpx_total_quotient_entry + S (bls_quotient_kmcpx_total) = S ((S (bls_index_kmcpx_total)) * tc)) /\ exists ff_q_bls_kmcpx_total_quotient_entry. tb = ff_q_bls_kmcpx_total_quotient_entry * S ((S (bls_index_kmcpx_total)) * tc) + (bls_quotient_kmcpx_total))) /\ ((a + b = bls_power_kmcpx_total * bls_quotient_kmcpx_total + bls_remainder_kmcpx_total /\ exists bls_remainder_gap_kmcpx_total_division. bls_remainder_gap_kmcpx_total_division + S (bls_remainder_kmcpx_total) = bls_power_kmcpx_total))))) -> exists cb cc. (forall kmc_index_kmcpx_result. (exists bcf_lt_gap_kmcpx_result_bound. bcf_lt_gap_kmcpx_result_bound + S (kmc_index_kmcpx_result) = l) -> exists kmc_left_kmcpx_result kmc_right_kmcpx_result kmc_total_kmcpx_result kmc_bit_kmcpx_result. (((exists fs_h_kmcpx_result_left. fs_h_kmcpx_result_left + S (kmc_left_kmcpx_result) = S ((S (kmc_index_kmcpx_result)) * lc)) /\ exists fs_q_kmcpx_result_left. lb = fs_q_kmcpx_result_left * S ((S (kmc_index_kmcpx_result)) * lc) + (kmc_left_kmcpx_result))) /\ ((((exists fs_h_kmcpx_result_right. fs_h_kmcpx_result_right + S (kmc_right_kmcpx_result) = S ((S (kmc_index_kmcpx_result)) * rc)) /\ exists fs_q_kmcpx_result_right. rb = fs_q_kmcpx_result_right * S ((S (kmc_index_kmcpx_result)) * rc) + (kmc_right_kmcpx_result))) /\ ((((exists fs_h_kmcpx_result_total. fs_h_kmcpx_result_total + S (kmc_total_kmcpx_result) = S ((S (kmc_index_kmcpx_result)) * tc)) /\ exists fs_q_kmcpx_result_total. tb = fs_q_kmcpx_result_total * S ((S (kmc_index_kmcpx_result)) * tc) + (kmc_total_kmcpx_result))) /\ ((((exists fs_h_kmcpx_result_bit. fs_h_kmcpx_result_bit + S (kmc_bit_kmcpx_result) = S ((S (kmc_index_kmcpx_result)) * cc)) /\ exists fs_q_kmcpx_result_bit. cb = fs_q_kmcpx_result_bit * S ((S (kmc_index_kmcpx_result)) * cc) + (kmc_bit_kmcpx_result))) /\ (((kmc_bit_kmcpx_result = 0 /\ kmc_total_kmcpx_result = kmc_left_kmcpx_result + kmc_right_kmcpx_result) \/ (kmc_bit_kmcpx_result = 1 /\ kmc_total_kmcpx_result = S (kmc_left_kmcpx_result + kmc_right_kmcpx_result))))))))Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall p a b lb lc rb rc tb tc l. (forall bls_index_kmcpx_left. (exists bls_gap_kmcpx_left_bound. bls_gap_kmcpx_left_bound + S (bls_index_kmcpx_left) = (l)) -> exists bls_power_kmcpx_left bls_quotient_kmcpx_left bls_remainder_kmcpx_left. ((exists bpvi_b_bls_kmcpx_left_power bpvi_c_bls_kmcpx_left_power. ((forall bpvi_i_bls_kmcpx_left_power. (exists bpvi_repeat_gap_bls_kmcpx_left_power. bpvi_repeat_gap_bls_kmcpx_left_power + S bpvi_i_bls_kmcpx_left_power = S bls_index_kmcpx_left) -> (((exists bpvi_h_bls_kmcpx_left_power_repeat. bpvi_h_bls_kmcpx_left_power_repeat + S (p) = S ((S (bpvi_i_bls_kmcpx_left_power)) * bpvi_c_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_repeat. bpvi_b_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_repeat * S ((S (bpvi_i_bls_kmcpx_left_power)) * bpvi_c_bls_kmcpx_left_power) + (p)))) /\ (exists bpvi_u_bls_kmcpx_left_power bpvi_v_bls_kmcpx_left_power. ((((exists bpvi_h_bls_kmcpx_left_power_start. bpvi_h_bls_kmcpx_left_power_start + S (1) = S ((S (0)) * bpvi_v_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_start. bpvi_u_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_start * S ((S (0)) * bpvi_v_bls_kmcpx_left_power) + (1))) /\ ((((exists bpvi_h_bls_kmcpx_left_power_terminal. bpvi_h_bls_kmcpx_left_power_terminal + S (bls_power_kmcpx_left) = S ((S (S bls_index_kmcpx_left)) * bpvi_v_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_terminal. bpvi_u_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_terminal * S ((S (S bls_index_kmcpx_left)) * bpvi_v_bls_kmcpx_left_power) + (bls_power_kmcpx_left))) /\ forall bpvi_j_bls_kmcpx_left_power. (exists bpvi_product_gap_bls_kmcpx_left_power. bpvi_product_gap_bls_kmcpx_left_power + S bpvi_j_bls_kmcpx_left_power = S bls_index_kmcpx_left) -> exists bpvi_factor_bls_kmcpx_left_power bpvi_partial_bls_kmcpx_left_power bpvi_successor_bls_kmcpx_left_power. ((((exists bpvi_h_bls_kmcpx_left_power_factor. bpvi_h_bls_kmcpx_left_power_factor + S (bpvi_factor_bls_kmcpx_left_power) = S ((S (bpvi_j_bls_kmcpx_left_power)) * bpvi_c_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_factor. bpvi_b_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_factor * S ((S (bpvi_j_bls_kmcpx_left_power)) * bpvi_c_bls_kmcpx_left_power) + (bpvi_factor_bls_kmcpx_left_power))) /\ ((((exists bpvi_h_bls_kmcpx_left_power_partial. bpvi_h_bls_kmcpx_left_power_partial + S (bpvi_partial_bls_kmcpx_left_power) = S ((S (bpvi_j_bls_kmcpx_left_power)) * bpvi_v_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_partial. bpvi_u_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_partial * S ((S (bpvi_j_bls_kmcpx_left_power)) * bpvi_v_bls_kmcpx_left_power) + (bpvi_partial_bls_kmcpx_left_power))) /\ ((((exists bpvi_h_bls_kmcpx_left_power_successor. bpvi_h_bls_kmcpx_left_power_successor + S (bpvi_successor_bls_kmcpx_left_power) = S ((S (S bpvi_j_bls_kmcpx_left_power)) * bpvi_v_bls_kmcpx_left_power)) /\ exists bpvi_q_bls_kmcpx_left_power_successor. bpvi_u_bls_kmcpx_left_power = bpvi_q_bls_kmcpx_left_power_successor * S ((S (S bpvi_j_bls_kmcpx_left_power)) * bpvi_v_bls_kmcpx_left_power) + (bpvi_successor_bls_kmcpx_left_power))) /\ bpvi_successor_bls_kmcpx_left_power = bpvi_partial_bls_kmcpx_left_power * bpvi_factor_bls_kmcpx_left_power)))))))) /\ ((((exists ff_h_bls_kmcpx_left_quotient_entry. ff_h_bls_kmcpx_left_quotient_entry + S (bls_quotient_kmcpx_left) = S ((S (bls_index_kmcpx_left)) * lc)) /\ exists ff_q_bls_kmcpx_left_quotient_entry. lb = ff_q_bls_kmcpx_left_quotient_entry * S ((S (bls_index_kmcpx_left)) * lc) + (bls_quotient_kmcpx_left))) /\ ((a = bls_power_kmcpx_left * bls_quotient_kmcpx_left + bls_remainder_kmcpx_left /\ exists bls_remainder_gap_kmcpx_left_division. bls_remainder_gap_kmcpx_left_division + S (bls_remainder_kmcpx_left) = bls_power_kmcpx_left))))) -> (forall bls_index_kmcpx_right. (exists bls_gap_kmcpx_right_bound. bls_gap_kmcpx_right_bound + S (bls_index_kmcpx_right) = (l)) -> exists bls_power_kmcpx_right bls_quotient_kmcpx_right bls_remainder_kmcpx_right. ((exists bpvi_b_bls_kmcpx_right_power bpvi_c_bls_kmcpx_right_power. ((forall bpvi_i_bls_kmcpx_right_power. (exists bpvi_repeat_gap_bls_kmcpx_right_power. bpvi_repeat_gap_bls_kmcpx_right_power + S bpvi_i_bls_kmcpx_right_power = S bls_index_kmcpx_right) -> (((exists bpvi_h_bls_kmcpx_right_power_repeat. bpvi_h_bls_kmcpx_right_power_repeat + S (p) = S ((S (bpvi_i_bls_kmcpx_right_power)) * bpvi_c_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_repeat. bpvi_b_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_repeat * S ((S (bpvi_i_bls_kmcpx_right_power)) * bpvi_c_bls_kmcpx_right_power) + (p)))) /\ (exists bpvi_u_bls_kmcpx_right_power bpvi_v_bls_kmcpx_right_power. ((((exists bpvi_h_bls_kmcpx_right_power_start. bpvi_h_bls_kmcpx_right_power_start + S (1) = S ((S (0)) * bpvi_v_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_start. bpvi_u_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_start * S ((S (0)) * bpvi_v_bls_kmcpx_right_power) + (1))) /\ ((((exists bpvi_h_bls_kmcpx_right_power_terminal. bpvi_h_bls_kmcpx_right_power_terminal + S (bls_power_kmcpx_right) = S ((S (S bls_index_kmcpx_right)) * bpvi_v_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_terminal. bpvi_u_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_terminal * S ((S (S bls_index_kmcpx_right)) * bpvi_v_bls_kmcpx_right_power) + (bls_power_kmcpx_right))) /\ forall bpvi_j_bls_kmcpx_right_power. (exists bpvi_product_gap_bls_kmcpx_right_power. bpvi_product_gap_bls_kmcpx_right_power + S bpvi_j_bls_kmcpx_right_power = S bls_index_kmcpx_right) -> exists bpvi_factor_bls_kmcpx_right_power bpvi_partial_bls_kmcpx_right_power bpvi_successor_bls_kmcpx_right_power. ((((exists bpvi_h_bls_kmcpx_right_power_factor. bpvi_h_bls_kmcpx_right_power_factor + S (bpvi_factor_bls_kmcpx_right_power) = S ((S (bpvi_j_bls_kmcpx_right_power)) * bpvi_c_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_factor. bpvi_b_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_factor * S ((S (bpvi_j_bls_kmcpx_right_power)) * bpvi_c_bls_kmcpx_right_power) + (bpvi_factor_bls_kmcpx_right_power))) /\ ((((exists bpvi_h_bls_kmcpx_right_power_partial. bpvi_h_bls_kmcpx_right_power_partial + S (bpvi_partial_bls_kmcpx_right_power) = S ((S (bpvi_j_bls_kmcpx_right_power)) * bpvi_v_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_partial. bpvi_u_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_partial * S ((S (bpvi_j_bls_kmcpx_right_power)) * bpvi_v_bls_kmcpx_right_power) + (bpvi_partial_bls_kmcpx_right_power))) /\ ((((exists bpvi_h_bls_kmcpx_right_power_successor. bpvi_h_bls_kmcpx_right_power_successor + S (bpvi_successor_bls_kmcpx_right_power) = S ((S (S bpvi_j_bls_kmcpx_right_power)) * bpvi_v_bls_kmcpx_right_power)) /\ exists bpvi_q_bls_kmcpx_right_power_successor. bpvi_u_bls_kmcpx_right_power = bpvi_q_bls_kmcpx_right_power_successor * S ((S (S bpvi_j_bls_kmcpx_right_power)) * bpvi_v_bls_kmcpx_right_power) + (bpvi_successor_bls_kmcpx_right_power))) /\ bpvi_successor_bls_kmcpx_right_power = bpvi_partial_bls_kmcpx_right_power * bpvi_factor_bls_kmcpx_right_power)))))))) /\ ((((exists ff_h_bls_kmcpx_right_quotient_entry. ff_h_bls_kmcpx_right_quotient_entry + S (bls_quotient_kmcpx_right) = S ((S (bls_index_kmcpx_right)) * rc)) /\ exists ff_q_bls_kmcpx_right_quotient_entry. rb = ff_q_bls_kmcpx_right_quotient_entry * S ((S (bls_index_kmcpx_right)) * rc) + (bls_quotient_kmcpx_right))) /\ ((b = bls_power_kmcpx_right * bls_quotient_kmcpx_right + bls_remainder_kmcpx_right /\ exists bls_remainder_gap_kmcpx_right_division. bls_remainder_gap_kmcpx_right_division + S (bls_remainder_kmcpx_right) = bls_power_kmcpx_right))))) -> (forall bls_index_kmcpx_total. (exists bls_gap_kmcpx_total_bound. bls_gap_kmcpx_total_bound + S (bls_index_kmcpx_total) = (l)) -> exists bls_power_kmcpx_total bls_quotient_kmcpx_total bls_remainder_kmcpx_total. ((exists bpvi_b_bls_kmcpx_total_power bpvi_c_bls_kmcpx_total_power. ((forall bpvi_i_bls_kmcpx_total_power. (exists bpvi_repeat_gap_bls_kmcpx_total_power. bpvi_repeat_gap_bls_kmcpx_total_power + S bpvi_i_bls_kmcpx_total_power = S bls_index_kmcpx_total) -> (((exists bpvi_h_bls_kmcpx_total_power_repeat. bpvi_h_bls_kmcpx_total_power_repeat + S (p) = S ((S (bpvi_i_bls_kmcpx_total_power)) * bpvi_c_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_repeat. bpvi_b_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_repeat * S ((S (bpvi_i_bls_kmcpx_total_power)) * bpvi_c_bls_kmcpx_total_power) + (p)))) /\ (exists bpvi_u_bls_kmcpx_total_power bpvi_v_bls_kmcpx_total_power. ((((exists bpvi_h_bls_kmcpx_total_power_start. bpvi_h_bls_kmcpx_total_power_start + S (1) = S ((S (0)) * bpvi_v_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_start. bpvi_u_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_start * S ((S (0)) * bpvi_v_bls_kmcpx_total_power) + (1))) /\ ((((exists bpvi_h_bls_kmcpx_total_power_terminal. bpvi_h_bls_kmcpx_total_power_terminal + S (bls_power_kmcpx_total) = S ((S (S bls_index_kmcpx_total)) * bpvi_v_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_terminal. bpvi_u_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_terminal * S ((S (S bls_index_kmcpx_total)) * bpvi_v_bls_kmcpx_total_power) + (bls_power_kmcpx_total))) /\ forall bpvi_j_bls_kmcpx_total_power. (exists bpvi_product_gap_bls_kmcpx_total_power. bpvi_product_gap_bls_kmcpx_total_power + S bpvi_j_bls_kmcpx_total_power = S bls_index_kmcpx_total) -> exists bpvi_factor_bls_kmcpx_total_power bpvi_partial_bls_kmcpx_total_power bpvi_successor_bls_kmcpx_total_power. ((((exists bpvi_h_bls_kmcpx_total_power_factor. bpvi_h_bls_kmcpx_total_power_factor + S (bpvi_factor_bls_kmcpx_total_power) = S ((S (bpvi_j_bls_kmcpx_total_power)) * bpvi_c_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_factor. bpvi_b_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_factor * S ((S (bpvi_j_bls_kmcpx_total_power)) * bpvi_c_bls_kmcpx_total_power) + (bpvi_factor_bls_kmcpx_total_power))) /\ ((((exists bpvi_h_bls_kmcpx_total_power_partial. bpvi_h_bls_kmcpx_total_power_partial + S (bpvi_partial_bls_kmcpx_total_power) = S ((S (bpvi_j_bls_kmcpx_total_power)) * bpvi_v_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_partial. bpvi_u_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_partial * S ((S (bpvi_j_bls_kmcpx_total_power)) * bpvi_v_bls_kmcpx_total_power) + (bpvi_partial_bls_kmcpx_total_power))) /\ ((((exists bpvi_h_bls_kmcpx_total_power_successor. bpvi_h_bls_kmcpx_total_power_successor + S (bpvi_successor_bls_kmcpx_total_power) = S ((S (S bpvi_j_bls_kmcpx_total_power)) * bpvi_v_bls_kmcpx_total_power)) /\ exists bpvi_q_bls_kmcpx_total_power_successor. bpvi_u_bls_kmcpx_total_power = bpvi_q_bls_kmcpx_total_power_successor * S ((S (S bpvi_j_bls_kmcpx_total_power)) * bpvi_v_bls_kmcpx_total_power) + (bpvi_successor_bls_kmcpx_total_power))) /\ bpvi_successor_bls_kmcpx_total_power = bpvi_partial_bls_kmcpx_total_power * bpvi_factor_bls_kmcpx_total_power)))))))) /\ ((((exists ff_h_bls_kmcpx_total_quotient_entry. ff_h_bls_kmcpx_total_quotient_entry + S (bls_quotient_kmcpx_total) = S ((S (bls_index_kmcpx_total)) * tc)) /\ exists ff_q_bls_kmcpx_total_quotient_entry. tb = ff_q_bls_kmcpx_total_quotient_entry * S ((S (bls_index_kmcpx_total)) * tc) + (bls_quotient_kmcpx_total))) /\ ((a + b = bls_power_kmcpx_total * bls_quotient_kmcpx_total + bls_remainder_kmcpx_total /\ exists bls_remainder_gap_kmcpx_total_division. bls_remainder_gap_kmcpx_total_division + S (bls_remainder_kmcpx_total) = bls_power_kmcpx_total))))) -> exists cb cc. (forall kmc_index_kmcpx_result. (exists bcf_lt_gap_kmcpx_result_bound. bcf_lt_gap_kmcpx_result_bound + S (kmc_index_kmcpx_result) = l) -> exists kmc_left_kmcpx_result kmc_right_kmcpx_result kmc_total_kmcpx_result kmc_bit_kmcpx_result. (((exists fs_h_kmcpx_result_left. fs_h_kmcpx_result_left + S (kmc_left_kmcpx_result) = S ((S (kmc_index_kmcpx_result)) * lc)) /\ exists fs_q_kmcpx_result_left. lb = fs_q_kmcpx_result_left * S ((S (kmc_index_kmcpx_result)) * lc) + (kmc_left_kmcpx_result))) /\ ((((exists fs_h_kmcpx_result_right. fs_h_kmcpx_result_right + S (kmc_right_kmcpx_result) = S ((S (kmc_index_kmcpx_result)) * rc)) /\ exists fs_q_kmcpx_result_right. rb = fs_q_kmcpx_result_right * S ((S (kmc_index_kmcpx_result)) * rc) + (kmc_right_kmcpx_result))) /\ ((((exists fs_h_kmcpx_result_total. fs_h_kmcpx_result_total + S (kmc_total_kmcpx_result) = S ((S (kmc_index_kmcpx_result)) * tc)) /\ exists fs_q_kmcpx_result_total. tb = fs_q_kmcpx_result_total * S ((S (kmc_index_kmcpx_result)) * tc) + (kmc_total_kmcpx_result))) /\ ((((exists fs_h_kmcpx_result_bit. fs_h_kmcpx_result_bit + S (kmc_bit_kmcpx_result) = S ((S (kmc_index_kmcpx_result)) * cc)) /\ exists fs_q_kmcpx_result_bit. cb = fs_q_kmcpx_result_bit * S ((S (kmc_index_kmcpx_result)) * cc) + (kmc_bit_kmcpx_result))) /\ (((kmc_bit_kmcpx_result = 0 /\ kmc_total_kmcpx_result = kmc_left_kmcpx_result + kmc_right_kmcpx_result) \/ (kmc_bit_kmcpx_result = 1 /\ kmc_total_kmcpx_result = S (kmc_left_kmcpx_result + kmc_right_kmcpx_result))))))))Proof neighborhood
Direct theorem prerequisites
KU0006 add_quotient_carry_choice KU0007 add_quotient_carry_prefix_extendDirect theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
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 (2)
01Fix variables and assumptionsL1–9
02Induction on lL10–13
03Construct an explicit witnessL14–15
04Fix variables and assumptionsL16–17
05Separate the logical casesL18–19
06Establish hzeroL20–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero right.
07Fix variables and assumptionsL30–30
Work with arbitrary variables or the premises of the current implication.
- L30
intro htotal
08Establish hleft_prefixL31–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hleft.
09Establish hright_prefixL40–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hright.
10Establish htotal_prefixL49–57
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply htotal.
11Establish hprefixL58–62
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L58
have hprefix : ∃ cb. ∃ cc. ∀ kmc_index_kmcpx_previous. Lt(kmc_index_kmcpx_previous,l) → ∃ x. ∃ y. ∃ z. ∃ n. BetaAt(lb,lc,kmc_index_kmcpx_previous,x) ∧ (BetaAt(rb,rc,kmc_index_kmcpx_previous,y) ∧ (BetaAt(tb,tc,kmc_index_kmcpx_previous,z) ∧ (BetaAt(cb,cc,kmc_index_kmcpx_previous,n) ∧ (n = 0 ∧ z = x + y ∨ n = 1 ∧ z = S (x + y)))))Definitions: Lt(kmc_index_kmcpx_previous,l)BetaAt(lb,lc,kmc_index_kmcpx_previous,x)BetaAt(rb,rc,kmc_index_kmcpx_previous,y)BetaAt(tb,tc,kmc_index_kmcpx_previous,z)BetaAt(cb,cc,kmc_index_kmcpx_previous,n)Original native command in the exact edition - L59
apply IH - L60
exact hleft_prefix - L61
exact hright_prefix - L62
exact htotal_prefix
12Separate the logical casesL63–64
13Establish hlastL65–74
Establish this local claim before using it. It is not an additional assumption.
- L65
have hlast : ∃ q. ∃ s. ∃ Q. ∃ bit. BetaAt(lb,lc,l,q) ∧ (BetaAt(rb,rc,l,s) ∧ (BetaAt(tb,tc,l,Q) ∧ (bit = 0 ∧ Q = q + s ∨ bit = 1 ∧ Q = S (q + s))))Definitions: BetaAt(lb,lc,l,q)BetaAt(rb,rc,l,s)BetaAt(tb,tc,l,Q)Original native command in the exact edition - L66
specialize add_quotient_carry_choice p - L67
specialize add_quotient_carry_choice a - L68
specialize add_quotient_carry_choice b - L69
specialize add_quotient_carry_choice lb - L70
specialize add_quotient_carry_choice lc - L71
specialize add_quotient_carry_choice rb - L72
specialize add_quotient_carry_choice rc - L73
specialize add_quotient_carry_choice tb - L74
specialize add_quotient_carry_choice tc
14Use earlier factsL75–84
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L75
specialize add_quotient_carry_choice (S l) - L76
specialize add_quotient_carry_choice l - L77
apply add_quotient_carry_choice - L78
exact hleft - L79
exact hright - L80
exact htotal - L81
specialize le_refl (S l) - L82
exact le_refl - L83
specialize add_quotient_carry_prefix_extend lb - L84
specialize add_quotient_carry_prefix_extend lc
15Use earlier factsL85–94
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L85
specialize add_quotient_carry_prefix_extend rb - L86
specialize add_quotient_carry_prefix_extend rc - L87
specialize add_quotient_carry_prefix_extend tb - L88
specialize add_quotient_carry_prefix_extend tc - L89
specialize add_quotient_carry_prefix_extend x - L90
specialize add_quotient_carry_prefix_extend x1 - L91
specialize add_quotient_carry_prefix_extend l - L92
apply add_quotient_carry_prefix_extend - L93
exact hprefix_witness_witness - L94
exact hlast
Original defined command ledger · 94 lines
- 0001
intro p - 0002
intro a - 0003
intro b - 0004
intro lb - 0005
intro lc - 0006
intro rb - 0007
intro rc - 0008
intro tb - 0009
intro tc - 0010
induction l - 0011
intro hleft - 0012
intro hright - 0013
intro htotal - 0014
exists 0 - 0015
exists 0 - 0016
intro i - 0017
intro hi - 0018
exfalso - 0019
cases hi - 0020
have hzero : S i = 0 - 0021
specialize add_eq_zero_right x - 0022
specialize add_eq_zero_right (S i) - 0023
apply add_eq_zero_right - 0024
exact hi_witness - 0025
specialize succ_ne_zero i - 0026
apply succ_ne_zero - 0027
exact hzero - 0028
intro hleft - 0029
intro hright - 0030
intro htotal - 0031
have hleft_prefix : PowerQuotPrefix(p,a,lb,lc,l)Exact native replay line
have hleft_prefix : forall bls_index_kmcpx_left_previous. (exists bls_gap_kmcpx_left_previous_bound. bls_gap_kmcpx_left_previous_bound + S (bls_index_kmcpx_left_previous) = (l)) -> exists bls_power_kmcpx_left_previous bls_quotient_kmcpx_left_previous bls_remainder_kmcpx_left_previous. ((exists bpvi_b_bls_kmcpx_left_previous_power bpvi_c_bls_kmcpx_left_previous_power. ((forall bpvi_i_bls_kmcpx_left_previous_power. (exists bpvi_repeat_gap_bls_kmcpx_left_previous_power. bpvi_repeat_gap_bls_kmcpx_left_previous_power + S bpvi_i_bls_kmcpx_left_previous_power = S bls_index_kmcpx_left_previous) -> (((exists bpvi_h_bls_kmcpx_left_previous_power_repeat. bpvi_h_bls_kmcpx_left_previous_power_repeat + S (p) = S ((S (bpvi_i_bls_kmcpx_left_previous_power)) * bpvi_c_bls_kmcpx_left_previous_power)) /\ exists bpvi_q_bls_kmcpx_left_previous_power_repeat. bpvi_b_bls_kmcpx_left_previous_power = bpvi_q_bls_kmcpx_left_previous_power_repeat * S ((S (bpvi_i_bls_kmcpx_left_previous_power)) * bpvi_c_bls_kmcpx_left_previous_power) + (p)))) /\ (exists bpvi_u_bls_kmcpx_left_previous_power bpvi_v_bls_kmcpx_left_previous_power. ((((exists bpvi_h_bls_kmcpx_left_previous_power_start. bpvi_h_bls_kmcpx_left_previous_power_start + S (1) = S ((S (0)) * bpvi_v_bls_kmcpx_left_previous_power)) /\ exists bpvi_q_bls_kmcpx_left_previous_power_start. bpvi_u_bls_kmcpx_left_previous_power = bpvi_q_bls_kmcpx_left_previous_power_start * S ((S (0)) * bpvi_v_bls_kmcpx_left_previous_power) + (1))) /\ ((((exists bpvi_h_bls_kmcpx_left_previous_power_terminal. bpvi_h_bls_kmcpx_left_previous_power_terminal + S (bls_power_kmcpx_left_previous) = S ((S (S bls_index_kmcpx_left_previous)) * bpvi_v_bls_kmcpx_left_previous_power)) /\ exists bpvi_q_bls_kmcpx_left_previous_power_terminal. bpvi_u_bls_kmcpx_left_previous_power = bpvi_q_bls_kmcpx_left_previous_power_terminal * S ((S (S bls_index_kmcpx_left_previous)) * bpvi_v_bls_kmcpx_left_previous_power) + (bls_power_kmcpx_left_previous))) /\ forall bpvi_j_bls_kmcpx_left_previous_power. (exists bpvi_product_gap_bls_kmcpx_left_previous_power. bpvi_product_gap_bls_kmcpx_left_previous_power + S bpvi_j_bls_kmcpx_left_previous_power = S bls_index_kmcpx_left_previous) -> exists bpvi_factor_bls_kmcpx_left_previous_power bpvi_partial_bls_kmcpx_left_previous_power bpvi_successor_bls_kmcpx_left_previous_power. ((((exists bpvi_h_bls_kmcpx_left_previous_power_factor. bpvi_h_bls_kmcpx_left_previous_power_factor + S (bpvi_factor_bls_kmcpx_left_previous_power) = S ((S (bpvi_j_bls_kmcpx_left_previous_power)) * bpvi_c_bls_kmcpx_left_previous_power)) /\ exists bpvi_q_bls_kmcpx_left_previous_power_factor. bpvi_b_bls_kmcpx_left_previous_power = bpvi_q_bls_kmcpx_left_previous_power_factor * S ((S (bpvi_j_bls_kmcpx_left_previous_power)) * bpvi_c_bls_kmcpx_left_previous_power) + (bpvi_factor_bls_kmcpx_left_previous_power))) /\ ((((exists bpvi_h_bls_kmcpx_left_previous_power_partial. bpvi_h_bls_kmcpx_left_previous_power_partial + S (bpvi_partial_bls_kmcpx_left_previous_power) = S ((S (bpvi_j_bls_kmcpx_left_previous_power)) * bpvi_v_bls_kmcpx_left_previous_power)) /\ exists bpvi_q_bls_kmcpx_left_previous_power_partial. bpvi_u_bls_kmcpx_left_previous_power = bpvi_q_bls_kmcpx_left_previous_power_partial * S ((S (bpvi_j_bls_kmcpx_left_previous_power)) * bpvi_v_bls_kmcpx_left_previous_power) + (bpvi_partial_bls_kmcpx_left_previous_power))) /\ ((((exists bpvi_h_bls_kmcpx_left_previous_power_successor. bpvi_h_bls_kmcpx_left_previous_power_successor + S (bpvi_successor_bls_kmcpx_left_previous_power) = S ((S (S bpvi_j_bls_kmcpx_left_previous_power)) * bpvi_v_bls_kmcpx_left_previous_power)) /\ exists bpvi_q_bls_kmcpx_left_previous_power_successor. bpvi_u_bls_kmcpx_left_previous_power = bpvi_q_bls_kmcpx_left_previous_power_successor * S ((S (S bpvi_j_bls_kmcpx_left_previous_power)) * bpvi_v_bls_kmcpx_left_previous_power) + (bpvi_successor_bls_kmcpx_left_previous_power))) /\ bpvi_successor_bls_kmcpx_left_previous_power = bpvi_partial_bls_kmcpx_left_previous_power * bpvi_factor_bls_kmcpx_left_previous_power)))))))) /\ ((((exists ff_h_bls_kmcpx_left_previous_quotient_entry. ff_h_bls_kmcpx_left_previous_quotient_entry + S (bls_quotient_kmcpx_left_previous) = S ((S (bls_index_kmcpx_left_previous)) * lc)) /\ exists ff_q_bls_kmcpx_left_previous_quotient_entry. lb = ff_q_bls_kmcpx_left_previous_quotient_entry * S ((S (bls_index_kmcpx_left_previous)) * lc) + (bls_quotient_kmcpx_left_previous))) /\ ((a = bls_power_kmcpx_left_previous * bls_quotient_kmcpx_left_previous + bls_remainder_kmcpx_left_previous /\ exists bls_remainder_gap_kmcpx_left_previous_division. bls_remainder_gap_kmcpx_left_previous_division + S (bls_remainder_kmcpx_left_previous) = bls_power_kmcpx_left_previous)))) - 0032
intro i - 0033
intro hi - 0034
specialize hleft i - 0035
apply hleft - 0036
specialize le_succ (S i) - 0037
specialize le_succ l - 0038
apply le_succ - 0039
exact hi - 0040
have hright_prefix : PowerQuotPrefix(p,b,rb,rc,l)Exact native replay line
have hright_prefix : forall bls_index_kmcpx_right_previous. (exists bls_gap_kmcpx_right_previous_bound. bls_gap_kmcpx_right_previous_bound + S (bls_index_kmcpx_right_previous) = (l)) -> exists bls_power_kmcpx_right_previous bls_quotient_kmcpx_right_previous bls_remainder_kmcpx_right_previous. ((exists bpvi_b_bls_kmcpx_right_previous_power bpvi_c_bls_kmcpx_right_previous_power. ((forall bpvi_i_bls_kmcpx_right_previous_power. (exists bpvi_repeat_gap_bls_kmcpx_right_previous_power. bpvi_repeat_gap_bls_kmcpx_right_previous_power + S bpvi_i_bls_kmcpx_right_previous_power = S bls_index_kmcpx_right_previous) -> (((exists bpvi_h_bls_kmcpx_right_previous_power_repeat. bpvi_h_bls_kmcpx_right_previous_power_repeat + S (p) = S ((S (bpvi_i_bls_kmcpx_right_previous_power)) * bpvi_c_bls_kmcpx_right_previous_power)) /\ exists bpvi_q_bls_kmcpx_right_previous_power_repeat. bpvi_b_bls_kmcpx_right_previous_power = bpvi_q_bls_kmcpx_right_previous_power_repeat * S ((S (bpvi_i_bls_kmcpx_right_previous_power)) * bpvi_c_bls_kmcpx_right_previous_power) + (p)))) /\ (exists bpvi_u_bls_kmcpx_right_previous_power bpvi_v_bls_kmcpx_right_previous_power. ((((exists bpvi_h_bls_kmcpx_right_previous_power_start. bpvi_h_bls_kmcpx_right_previous_power_start + S (1) = S ((S (0)) * bpvi_v_bls_kmcpx_right_previous_power)) /\ exists bpvi_q_bls_kmcpx_right_previous_power_start. bpvi_u_bls_kmcpx_right_previous_power = bpvi_q_bls_kmcpx_right_previous_power_start * S ((S (0)) * bpvi_v_bls_kmcpx_right_previous_power) + (1))) /\ ((((exists bpvi_h_bls_kmcpx_right_previous_power_terminal. bpvi_h_bls_kmcpx_right_previous_power_terminal + S (bls_power_kmcpx_right_previous) = S ((S (S bls_index_kmcpx_right_previous)) * bpvi_v_bls_kmcpx_right_previous_power)) /\ exists bpvi_q_bls_kmcpx_right_previous_power_terminal. bpvi_u_bls_kmcpx_right_previous_power = bpvi_q_bls_kmcpx_right_previous_power_terminal * S ((S (S bls_index_kmcpx_right_previous)) * bpvi_v_bls_kmcpx_right_previous_power) + (bls_power_kmcpx_right_previous))) /\ forall bpvi_j_bls_kmcpx_right_previous_power. (exists bpvi_product_gap_bls_kmcpx_right_previous_power. bpvi_product_gap_bls_kmcpx_right_previous_power + S bpvi_j_bls_kmcpx_right_previous_power = S bls_index_kmcpx_right_previous) -> exists bpvi_factor_bls_kmcpx_right_previous_power bpvi_partial_bls_kmcpx_right_previous_power bpvi_successor_bls_kmcpx_right_previous_power. ((((exists bpvi_h_bls_kmcpx_right_previous_power_factor. bpvi_h_bls_kmcpx_right_previous_power_factor + S (bpvi_factor_bls_kmcpx_right_previous_power) = S ((S (bpvi_j_bls_kmcpx_right_previous_power)) * bpvi_c_bls_kmcpx_right_previous_power)) /\ exists bpvi_q_bls_kmcpx_right_previous_power_factor. bpvi_b_bls_kmcpx_right_previous_power = bpvi_q_bls_kmcpx_right_previous_power_factor * S ((S (bpvi_j_bls_kmcpx_right_previous_power)) * bpvi_c_bls_kmcpx_right_previous_power) + (bpvi_factor_bls_kmcpx_right_previous_power))) /\ ((((exists bpvi_h_bls_kmcpx_right_previous_power_partial. bpvi_h_bls_kmcpx_right_previous_power_partial + S (bpvi_partial_bls_kmcpx_right_previous_power) = S ((S (bpvi_j_bls_kmcpx_right_previous_power)) * bpvi_v_bls_kmcpx_right_previous_power)) /\ exists bpvi_q_bls_kmcpx_right_previous_power_partial. bpvi_u_bls_kmcpx_right_previous_power = bpvi_q_bls_kmcpx_right_previous_power_partial * S ((S (bpvi_j_bls_kmcpx_right_previous_power)) * bpvi_v_bls_kmcpx_right_previous_power) + (bpvi_partial_bls_kmcpx_right_previous_power))) /\ ((((exists bpvi_h_bls_kmcpx_right_previous_power_successor. bpvi_h_bls_kmcpx_right_previous_power_successor + S (bpvi_successor_bls_kmcpx_right_previous_power) = S ((S (S bpvi_j_bls_kmcpx_right_previous_power)) * bpvi_v_bls_kmcpx_right_previous_power)) /\ exists bpvi_q_bls_kmcpx_right_previous_power_successor. bpvi_u_bls_kmcpx_right_previous_power = bpvi_q_bls_kmcpx_right_previous_power_successor * S ((S (S bpvi_j_bls_kmcpx_right_previous_power)) * bpvi_v_bls_kmcpx_right_previous_power) + (bpvi_successor_bls_kmcpx_right_previous_power))) /\ bpvi_successor_bls_kmcpx_right_previous_power = bpvi_partial_bls_kmcpx_right_previous_power * bpvi_factor_bls_kmcpx_right_previous_power)))))))) /\ ((((exists ff_h_bls_kmcpx_right_previous_quotient_entry. ff_h_bls_kmcpx_right_previous_quotient_entry + S (bls_quotient_kmcpx_right_previous) = S ((S (bls_index_kmcpx_right_previous)) * rc)) /\ exists ff_q_bls_kmcpx_right_previous_quotient_entry. rb = ff_q_bls_kmcpx_right_previous_quotient_entry * S ((S (bls_index_kmcpx_right_previous)) * rc) + (bls_quotient_kmcpx_right_previous))) /\ ((b = bls_power_kmcpx_right_previous * bls_quotient_kmcpx_right_previous + bls_remainder_kmcpx_right_previous /\ exists bls_remainder_gap_kmcpx_right_previous_division. bls_remainder_gap_kmcpx_right_previous_division + S (bls_remainder_kmcpx_right_previous) = bls_power_kmcpx_right_previous)))) - 0041
intro i - 0042
intro hi - 0043
specialize hright i - 0044
apply hright - 0045
specialize le_succ (S i) - 0046
specialize le_succ l - 0047
apply le_succ - 0048
exact hi - 0049
have htotal_prefix : PowerQuotPrefix(p,a + b,tb,tc,l)Exact native replay line
have htotal_prefix : forall bls_index_kmcpx_total_previous. (exists bls_gap_kmcpx_total_previous_bound. bls_gap_kmcpx_total_previous_bound + S (bls_index_kmcpx_total_previous) = (l)) -> exists bls_power_kmcpx_total_previous bls_quotient_kmcpx_total_previous bls_remainder_kmcpx_total_previous. ((exists bpvi_b_bls_kmcpx_total_previous_power bpvi_c_bls_kmcpx_total_previous_power. ((forall bpvi_i_bls_kmcpx_total_previous_power. (exists bpvi_repeat_gap_bls_kmcpx_total_previous_power. bpvi_repeat_gap_bls_kmcpx_total_previous_power + S bpvi_i_bls_kmcpx_total_previous_power = S bls_index_kmcpx_total_previous) -> (((exists bpvi_h_bls_kmcpx_total_previous_power_repeat. bpvi_h_bls_kmcpx_total_previous_power_repeat + S (p) = S ((S (bpvi_i_bls_kmcpx_total_previous_power)) * bpvi_c_bls_kmcpx_total_previous_power)) /\ exists bpvi_q_bls_kmcpx_total_previous_power_repeat. bpvi_b_bls_kmcpx_total_previous_power = bpvi_q_bls_kmcpx_total_previous_power_repeat * S ((S (bpvi_i_bls_kmcpx_total_previous_power)) * bpvi_c_bls_kmcpx_total_previous_power) + (p)))) /\ (exists bpvi_u_bls_kmcpx_total_previous_power bpvi_v_bls_kmcpx_total_previous_power. ((((exists bpvi_h_bls_kmcpx_total_previous_power_start. bpvi_h_bls_kmcpx_total_previous_power_start + S (1) = S ((S (0)) * bpvi_v_bls_kmcpx_total_previous_power)) /\ exists bpvi_q_bls_kmcpx_total_previous_power_start. bpvi_u_bls_kmcpx_total_previous_power = bpvi_q_bls_kmcpx_total_previous_power_start * S ((S (0)) * bpvi_v_bls_kmcpx_total_previous_power) + (1))) /\ ((((exists bpvi_h_bls_kmcpx_total_previous_power_terminal. bpvi_h_bls_kmcpx_total_previous_power_terminal + S (bls_power_kmcpx_total_previous) = S ((S (S bls_index_kmcpx_total_previous)) * bpvi_v_bls_kmcpx_total_previous_power)) /\ exists bpvi_q_bls_kmcpx_total_previous_power_terminal. bpvi_u_bls_kmcpx_total_previous_power = bpvi_q_bls_kmcpx_total_previous_power_terminal * S ((S (S bls_index_kmcpx_total_previous)) * bpvi_v_bls_kmcpx_total_previous_power) + (bls_power_kmcpx_total_previous))) /\ forall bpvi_j_bls_kmcpx_total_previous_power. (exists bpvi_product_gap_bls_kmcpx_total_previous_power. bpvi_product_gap_bls_kmcpx_total_previous_power + S bpvi_j_bls_kmcpx_total_previous_power = S bls_index_kmcpx_total_previous) -> exists bpvi_factor_bls_kmcpx_total_previous_power bpvi_partial_bls_kmcpx_total_previous_power bpvi_successor_bls_kmcpx_total_previous_power. ((((exists bpvi_h_bls_kmcpx_total_previous_power_factor. bpvi_h_bls_kmcpx_total_previous_power_factor + S (bpvi_factor_bls_kmcpx_total_previous_power) = S ((S (bpvi_j_bls_kmcpx_total_previous_power)) * bpvi_c_bls_kmcpx_total_previous_power)) /\ exists bpvi_q_bls_kmcpx_total_previous_power_factor. bpvi_b_bls_kmcpx_total_previous_power = bpvi_q_bls_kmcpx_total_previous_power_factor * S ((S (bpvi_j_bls_kmcpx_total_previous_power)) * bpvi_c_bls_kmcpx_total_previous_power) + (bpvi_factor_bls_kmcpx_total_previous_power))) /\ ((((exists bpvi_h_bls_kmcpx_total_previous_power_partial. bpvi_h_bls_kmcpx_total_previous_power_partial + S (bpvi_partial_bls_kmcpx_total_previous_power) = S ((S (bpvi_j_bls_kmcpx_total_previous_power)) * bpvi_v_bls_kmcpx_total_previous_power)) /\ exists bpvi_q_bls_kmcpx_total_previous_power_partial. bpvi_u_bls_kmcpx_total_previous_power = bpvi_q_bls_kmcpx_total_previous_power_partial * S ((S (bpvi_j_bls_kmcpx_total_previous_power)) * bpvi_v_bls_kmcpx_total_previous_power) + (bpvi_partial_bls_kmcpx_total_previous_power))) /\ ((((exists bpvi_h_bls_kmcpx_total_previous_power_successor. bpvi_h_bls_kmcpx_total_previous_power_successor + S (bpvi_successor_bls_kmcpx_total_previous_power) = S ((S (S bpvi_j_bls_kmcpx_total_previous_power)) * bpvi_v_bls_kmcpx_total_previous_power)) /\ exists bpvi_q_bls_kmcpx_total_previous_power_successor. bpvi_u_bls_kmcpx_total_previous_power = bpvi_q_bls_kmcpx_total_previous_power_successor * S ((S (S bpvi_j_bls_kmcpx_total_previous_power)) * bpvi_v_bls_kmcpx_total_previous_power) + (bpvi_successor_bls_kmcpx_total_previous_power))) /\ bpvi_successor_bls_kmcpx_total_previous_power = bpvi_partial_bls_kmcpx_total_previous_power * bpvi_factor_bls_kmcpx_total_previous_power)))))))) /\ ((((exists ff_h_bls_kmcpx_total_previous_quotient_entry. ff_h_bls_kmcpx_total_previous_quotient_entry + S (bls_quotient_kmcpx_total_previous) = S ((S (bls_index_kmcpx_total_previous)) * tc)) /\ exists ff_q_bls_kmcpx_total_previous_quotient_entry. tb = ff_q_bls_kmcpx_total_previous_quotient_entry * S ((S (bls_index_kmcpx_total_previous)) * tc) + (bls_quotient_kmcpx_total_previous))) /\ ((a + b = bls_power_kmcpx_total_previous * bls_quotient_kmcpx_total_previous + bls_remainder_kmcpx_total_previous /\ exists bls_remainder_gap_kmcpx_total_previous_division. bls_remainder_gap_kmcpx_total_previous_division + S (bls_remainder_kmcpx_total_previous) = bls_power_kmcpx_total_previous)))) - 0050
intro i - 0051
intro hi - 0052
specialize htotal i - 0053
apply htotal - 0054
specialize le_succ (S i) - 0055
specialize le_succ l - 0056
apply le_succ - 0057
exact hi - 0058
have hprefix : ∃ cb. ∃ cc. ∀ kmc_index_kmcpx_previous. Lt(kmc_index_kmcpx_previous,l) → ∃ x. ∃ y. ∃ z. ∃ n. BetaAt(lb,lc,kmc_index_kmcpx_previous,x) ∧ (BetaAt(rb,rc,kmc_index_kmcpx_previous,y) ∧ (BetaAt(tb,tc,kmc_index_kmcpx_previous,z) ∧ (BetaAt(cb,cc,kmc_index_kmcpx_previous,n) ∧ (n = 0 ∧ z = x + y ∨ n = 1 ∧ z = S (x + y)))))Exact native replay line
have hprefix : exists cb cc. forall kmc_index_kmcpx_previous. (exists bcf_lt_gap_kmcpx_previous_bound. bcf_lt_gap_kmcpx_previous_bound + S (kmc_index_kmcpx_previous) = l) -> exists kmc_left_kmcpx_previous kmc_right_kmcpx_previous kmc_total_kmcpx_previous kmc_bit_kmcpx_previous. (((exists fs_h_kmcpx_previous_left. fs_h_kmcpx_previous_left + S (kmc_left_kmcpx_previous) = S ((S (kmc_index_kmcpx_previous)) * lc)) /\ exists fs_q_kmcpx_previous_left. lb = fs_q_kmcpx_previous_left * S ((S (kmc_index_kmcpx_previous)) * lc) + (kmc_left_kmcpx_previous))) /\ ((((exists fs_h_kmcpx_previous_right. fs_h_kmcpx_previous_right + S (kmc_right_kmcpx_previous) = S ((S (kmc_index_kmcpx_previous)) * rc)) /\ exists fs_q_kmcpx_previous_right. rb = fs_q_kmcpx_previous_right * S ((S (kmc_index_kmcpx_previous)) * rc) + (kmc_right_kmcpx_previous))) /\ ((((exists fs_h_kmcpx_previous_total. fs_h_kmcpx_previous_total + S (kmc_total_kmcpx_previous) = S ((S (kmc_index_kmcpx_previous)) * tc)) /\ exists fs_q_kmcpx_previous_total. tb = fs_q_kmcpx_previous_total * S ((S (kmc_index_kmcpx_previous)) * tc) + (kmc_total_kmcpx_previous))) /\ ((((exists fs_h_kmcpx_previous_bit. fs_h_kmcpx_previous_bit + S (kmc_bit_kmcpx_previous) = S ((S (kmc_index_kmcpx_previous)) * cc)) /\ exists fs_q_kmcpx_previous_bit. cb = fs_q_kmcpx_previous_bit * S ((S (kmc_index_kmcpx_previous)) * cc) + (kmc_bit_kmcpx_previous))) /\ (((kmc_bit_kmcpx_previous = 0 /\ kmc_total_kmcpx_previous = kmc_left_kmcpx_previous + kmc_right_kmcpx_previous) \/ (kmc_bit_kmcpx_previous = 1 /\ kmc_total_kmcpx_previous = S (kmc_left_kmcpx_previous + kmc_right_kmcpx_previous))))))) - 0059
apply IH - 0060
exact hleft_prefix - 0061
exact hright_prefix - 0062
exact htotal_prefix - 0063
cases hprefix - 0064
cases hprefix_witness - 0065
have hlast : ∃ q. ∃ s. ∃ Q. ∃ bit. BetaAt(lb,lc,l,q) ∧ (BetaAt(rb,rc,l,s) ∧ (BetaAt(tb,tc,l,Q) ∧ (bit = 0 ∧ Q = q + s ∨ bit = 1 ∧ Q = S (q + s))))Exact native replay line
have hlast : exists q s Q bit. (((exists fs_h_kmcpx_last_left. fs_h_kmcpx_last_left + S (q) = S ((S (l)) * lc)) /\ exists fs_q_kmcpx_last_left. lb = fs_q_kmcpx_last_left * S ((S (l)) * lc) + (q))) /\ ((((exists fs_h_kmcpx_last_right. fs_h_kmcpx_last_right + S (s) = S ((S (l)) * rc)) /\ exists fs_q_kmcpx_last_right. rb = fs_q_kmcpx_last_right * S ((S (l)) * rc) + (s))) /\ ((((exists fs_h_kmcpx_last_total. fs_h_kmcpx_last_total + S (Q) = S ((S (l)) * tc)) /\ exists fs_q_kmcpx_last_total. tb = fs_q_kmcpx_last_total * S ((S (l)) * tc) + (Q))) /\ (((bit = 0 /\ Q = q + s) \/ (bit = 1 /\ Q = S (q + s)))))) - 0066
specialize add_quotient_carry_choice p - 0067
specialize add_quotient_carry_choice a - 0068
specialize add_quotient_carry_choice b - 0069
specialize add_quotient_carry_choice lb - 0070
specialize add_quotient_carry_choice lc - 0071
specialize add_quotient_carry_choice rb - 0072
specialize add_quotient_carry_choice rc - 0073
specialize add_quotient_carry_choice tb - 0074
specialize add_quotient_carry_choice tc - 0075
specialize add_quotient_carry_choice (S l) - 0076
specialize add_quotient_carry_choice l - 0077
apply add_quotient_carry_choice - 0078
exact hleft - 0079
exact hright - 0080
exact htotal - 0081
specialize le_refl (S l) - 0082
exact le_refl - 0083
specialize add_quotient_carry_prefix_extend lb - 0084
specialize add_quotient_carry_prefix_extend lc - 0085
specialize add_quotient_carry_prefix_extend rb - 0086
specialize add_quotient_carry_prefix_extend rc - 0087
specialize add_quotient_carry_prefix_extend tb - 0088
specialize add_quotient_carry_prefix_extend tc - 0089
specialize add_quotient_carry_prefix_extend x - 0090
specialize add_quotient_carry_prefix_extend x1 - 0091
specialize add_quotient_carry_prefix_extend l - 0092
apply add_quotient_carry_prefix_extend - 0093
exact hprefix_witness_witness - 0094
exact hlast