ND0089

Multinomial(b,c,l,n,z)

An actual list of parts with total n, a running sum, and the finite product of its iterated binomial factors; the empty product is one.

Conservative notation; not a theorem, primitive, or axiom.

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.

Definition in prerequisite notation

∃ mkm_sum_code_secondwave. ∃ mkm_sum_scale_secondwave. ∃ mkm_factor_code_secondwave. ∃ mkm_factor_scale_secondwave. BetaSumTrace(b,c,l,n,mkm_sum_code_secondwave,mkm_sum_scale_secondwave) ∧ (MultinomialBinomialPrefix(b,c,mkm_sum_code_secondwave,mkm_sum_scale_secondwave,mkm_factor_code_secondwave,mkm_factor_scale_secondwave,l)Product(mkm_factor_code_secondwave,mkm_factor_scale_secondwave,l,z))

Only definitions earlier in this acyclic notation graph are used here.

Hygienic expanded first-order definition
exists mkm_sum_code_secondwave mkm_sum_scale_secondwave mkm_factor_code_secondwave mkm_factor_scale_secondwave. (((((exists fs_h_mkm_secondwave_trace_start. fs_h_mkm_secondwave_trace_start + S (0) = S ((S (0)) * mkm_sum_scale_secondwave)) /\ exists fs_q_mkm_secondwave_trace_start. mkm_sum_code_secondwave = fs_q_mkm_secondwave_trace_start * S ((S (0)) * mkm_sum_scale_secondwave) + (0))) /\ ((((exists fs_h_mkm_secondwave_trace_terminal. fs_h_mkm_secondwave_trace_terminal + S (n) = S ((S (l)) * mkm_sum_scale_secondwave)) /\ exists fs_q_mkm_secondwave_trace_terminal. mkm_sum_code_secondwave = fs_q_mkm_secondwave_trace_terminal * S ((S (l)) * mkm_sum_scale_secondwave) + (n))) /\ forall fs_i_mkm_secondwave_trace_steps. (exists fs_lt_mkm_secondwave_trace_steps_bound. fs_lt_mkm_secondwave_trace_steps_bound + S fs_i_mkm_secondwave_trace_steps = l) -> exists fs_a_mkm_secondwave_trace_steps fs_r_mkm_secondwave_trace_steps fs_s_mkm_secondwave_trace_steps. ((((exists fs_h_mkm_secondwave_trace_steps_summand. fs_h_mkm_secondwave_trace_steps_summand + S (fs_a_mkm_secondwave_trace_steps) = S ((S (fs_i_mkm_secondwave_trace_steps)) * c)) /\ exists fs_q_mkm_secondwave_trace_steps_summand. b = fs_q_mkm_secondwave_trace_steps_summand * S ((S (fs_i_mkm_secondwave_trace_steps)) * c) + (fs_a_mkm_secondwave_trace_steps))) /\ ((((exists fs_h_mkm_secondwave_trace_steps_partial. fs_h_mkm_secondwave_trace_steps_partial + S (fs_r_mkm_secondwave_trace_steps) = S ((S (fs_i_mkm_secondwave_trace_steps)) * mkm_sum_scale_secondwave)) /\ exists fs_q_mkm_secondwave_trace_steps_partial. mkm_sum_code_secondwave = fs_q_mkm_secondwave_trace_steps_partial * S ((S (fs_i_mkm_secondwave_trace_steps)) * mkm_sum_scale_secondwave) + (fs_r_mkm_secondwave_trace_steps))) /\ ((((exists fs_h_mkm_secondwave_trace_steps_successor. fs_h_mkm_secondwave_trace_steps_successor + S (fs_s_mkm_secondwave_trace_steps) = S ((S (S fs_i_mkm_secondwave_trace_steps)) * mkm_sum_scale_secondwave)) /\ exists fs_q_mkm_secondwave_trace_steps_successor. mkm_sum_code_secondwave = fs_q_mkm_secondwave_trace_steps_successor * S ((S (S fs_i_mkm_secondwave_trace_steps)) * mkm_sum_scale_secondwave) + (fs_s_mkm_secondwave_trace_steps))) /\ fs_s_mkm_secondwave_trace_steps = fs_r_mkm_secondwave_trace_steps + fs_a_mkm_secondwave_trace_steps)))))) /\ ((forall mkm_index_secondwave_factors. (exists mkm_lt_secondwave_factors_bound. mkm_lt_secondwave_factors_bound + S (mkm_index_secondwave_factors) = (l)) -> (exists mkm_value_secondwave_factors_point mkm_partial_secondwave_factors_point mkm_factor_secondwave_factors_point. (((exists fs_h_mkm_secondwave_factors_point_source. fs_h_mkm_secondwave_factors_point_source + S (mkm_value_secondwave_factors_point) = S ((S (mkm_index_secondwave_factors)) * c)) /\ exists fs_q_mkm_secondwave_factors_point_source. b = fs_q_mkm_secondwave_factors_point_source * S ((S (mkm_index_secondwave_factors)) * c) + (mkm_value_secondwave_factors_point))) /\ ((((exists fs_h_mkm_secondwave_factors_point_partial. fs_h_mkm_secondwave_factors_point_partial + S (mkm_partial_secondwave_factors_point) = S ((S (mkm_index_secondwave_factors)) * mkm_sum_scale_secondwave)) /\ exists fs_q_mkm_secondwave_factors_point_partial. mkm_sum_code_secondwave = fs_q_mkm_secondwave_factors_point_partial * S ((S (mkm_index_secondwave_factors)) * mkm_sum_scale_secondwave) + (mkm_partial_secondwave_factors_point))) /\ ((((exists bcf_lt_gap_mkm_secondwave_factors_point_choose_out_of_range. bcf_lt_gap_mkm_secondwave_factors_point_choose_out_of_range + S (mkm_partial_secondwave_factors_point + mkm_value_secondwave_factors_point) = mkm_partial_secondwave_factors_point) /\ mkm_factor_secondwave_factors_point = 0) \/ ((exists bcf_le_gap_mkm_secondwave_factors_point_choose_in_range. bcf_le_gap_mkm_secondwave_factors_point_choose_in_range + (mkm_partial_secondwave_factors_point) = mkm_partial_secondwave_factors_point + mkm_value_secondwave_factors_point) /\ (exists bcf_row_code_code_mkm_secondwave_factors_point_choose bcf_row_code_scale_mkm_secondwave_factors_point_choose bcf_row_scale_code_mkm_secondwave_factors_point_choose bcf_row_scale_scale_mkm_secondwave_factors_point_choose bcf_row_code_mkm_secondwave_factors_point_choose bcf_row_scale_mkm_secondwave_factors_point_choose. ((forall bcf_row_index_mkm_secondwave_factors_point_choose_table. (exists bcf_lt_gap_mkm_secondwave_factors_point_choose_table_row_bound. bcf_lt_gap_mkm_secondwave_factors_point_choose_table_row_bound + S (bcf_row_index_mkm_secondwave_factors_point_choose_table) = S (mkm_partial_secondwave_factors_point + mkm_value_secondwave_factors_point)) -> exists bcf_row_code_mkm_secondwave_factors_point_choose_table bcf_row_scale_mkm_secondwave_factors_point_choose_table. ((((exists bcf_height_mkm_secondwave_factors_point_choose_table_decoded_row_code. bcf_height_mkm_secondwave_factors_point_choose_table_decoded_row_code + S (bcf_row_code_mkm_secondwave_factors_point_choose_table) = S ((S (bcf_row_index_mkm_secondwave_factors_point_choose_table)) * bcf_row_code_scale_mkm_secondwave_factors_point_choose)) /\ exists bcf_quotient_mkm_secondwave_factors_point_choose_table_decoded_row_code. bcf_row_code_code_mkm_secondwave_factors_point_choose = bcf_quotient_mkm_secondwave_factors_point_choose_table_decoded_row_code * S ((S (bcf_row_index_mkm_secondwave_factors_point_choose_table)) * bcf_row_code_scale_mkm_secondwave_factors_point_choose) + (bcf_row_code_mkm_secondwave_factors_point_choose_table))) /\ ((((exists bcf_height_mkm_secondwave_factors_point_choose_table_decoded_row_scale. bcf_height_mkm_secondwave_factors_point_choose_table_decoded_row_scale + S (bcf_row_scale_mkm_secondwave_factors_point_choose_table) = S ((S (bcf_row_index_mkm_secondwave_factors_point_choose_table)) * bcf_row_scale_scale_mkm_secondwave_factors_point_choose)) /\ exists bcf_quotient_mkm_secondwave_factors_point_choose_table_decoded_row_scale. bcf_row_scale_code_mkm_secondwave_factors_point_choose = bcf_quotient_mkm_secondwave_factors_point_choose_table_decoded_row_scale * S ((S (bcf_row_index_mkm_secondwave_factors_point_choose_table)) * bcf_row_scale_scale_mkm_secondwave_factors_point_choose) + (bcf_row_scale_mkm_secondwave_factors_point_choose_table))) /\ ((bcf_row_index_mkm_secondwave_factors_point_choose_table = 0 /\ (forall bcf_index_mkm_secondwave_factors_point_choose_table_zero_row. (exists bcf_lt_gap_mkm_secondwave_factors_point_choose_table_zero_row_bound. bcf_lt_gap_mkm_secondwave_factors_point_choose_table_zero_row_bound + S (bcf_index_mkm_secondwave_factors_point_choose_table_zero_row) = S (mkm_partial_secondwave_factors_point + mkm_value_secondwave_factors_point)) -> exists bcf_value_mkm_secondwave_factors_point_choose_table_zero_row. ((((exists bcf_height_mkm_secondwave_factors_point_choose_table_zero_row_entry. bcf_height_mkm_secondwave_factors_point_choose_table_zero_row_entry + S (bcf_value_mkm_secondwave_factors_point_choose_table_zero_row) = S ((S (bcf_index_mkm_secondwave_factors_point_choose_table_zero_row)) * bcf_row_scale_mkm_secondwave_factors_point_choose_table)) /\ exists bcf_quotient_mkm_secondwave_factors_point_choose_table_zero_row_entry. bcf_row_code_mkm_secondwave_factors_point_choose_table = bcf_quotient_mkm_secondwave_factors_point_choose_table_zero_row_entry * S ((S (bcf_index_mkm_secondwave_factors_point_choose_table_zero_row)) * bcf_row_scale_mkm_secondwave_factors_point_choose_table) + (bcf_value_mkm_secondwave_factors_point_choose_table_zero_row))) /\ ((bcf_index_mkm_secondwave_factors_point_choose_table_zero_row = 0 /\ bcf_value_mkm_secondwave_factors_point_choose_table_zero_row = 1) \/ exists bcf_predecessor_mkm_secondwave_factors_point_choose_table_zero_row. bcf_index_mkm_secondwave_factors_point_choose_table_zero_row = S bcf_predecessor_mkm_secondwave_factors_point_choose_table_zero_row /\ bcf_value_mkm_secondwave_factors_point_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_mkm_secondwave_factors_point_choose_table bcf_previous_code_mkm_secondwave_factors_point_choose_table bcf_previous_scale_mkm_secondwave_factors_point_choose_table. bcf_row_index_mkm_secondwave_factors_point_choose_table = S bcf_predecessor_mkm_secondwave_factors_point_choose_table /\ ((((exists bcf_height_mkm_secondwave_factors_point_choose_table_decoded_previous_code. bcf_height_mkm_secondwave_factors_point_choose_table_decoded_previous_code + S (bcf_previous_code_mkm_secondwave_factors_point_choose_table) = S ((S (bcf_predecessor_mkm_secondwave_factors_point_choose_table)) * bcf_row_code_scale_mkm_secondwave_factors_point_choose)) /\ exists bcf_quotient_mkm_secondwave_factors_point_choose_table_decoded_previous_code. bcf_row_code_code_mkm_secondwave_factors_point_choose = bcf_quotient_mkm_secondwave_factors_point_choose_table_decoded_previous_code * S ((S (bcf_predecessor_mkm_secondwave_factors_point_choose_table)) * bcf_row_code_scale_mkm_secondwave_factors_point_choose) + (bcf_previous_code_mkm_secondwave_factors_point_choose_table))) /\ ((((exists bcf_height_mkm_secondwave_factors_point_choose_table_decoded_previous_scale. bcf_height_mkm_secondwave_factors_point_choose_table_decoded_previous_scale + S (bcf_previous_scale_mkm_secondwave_factors_point_choose_table) = S ((S (bcf_predecessor_mkm_secondwave_factors_point_choose_table)) * bcf_row_scale_scale_mkm_secondwave_factors_point_choose)) /\ exists bcf_quotient_mkm_secondwave_factors_point_choose_table_decoded_previous_scale. bcf_row_scale_code_mkm_secondwave_factors_point_choose = bcf_quotient_mkm_secondwave_factors_point_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_mkm_secondwave_factors_point_choose_table)) * bcf_row_scale_scale_mkm_secondwave_factors_point_choose) + (bcf_previous_scale_mkm_secondwave_factors_point_choose_table))) /\ (forall bcf_index_mkm_secondwave_factors_point_choose_table_row_step. (exists bcf_lt_gap_mkm_secondwave_factors_point_choose_table_row_step_bound. bcf_lt_gap_mkm_secondwave_factors_point_choose_table_row_step_bound + S (bcf_index_mkm_secondwave_factors_point_choose_table_row_step) = S (mkm_partial_secondwave_factors_point + mkm_value_secondwave_factors_point)) -> exists bcf_value_mkm_secondwave_factors_point_choose_table_row_step. ((((exists bcf_height_mkm_secondwave_factors_point_choose_table_row_step_entry. bcf_height_mkm_secondwave_factors_point_choose_table_row_step_entry + S (bcf_value_mkm_secondwave_factors_point_choose_table_row_step) = S ((S (bcf_index_mkm_secondwave_factors_point_choose_table_row_step)) * bcf_row_scale_mkm_secondwave_factors_point_choose_table)) /\ exists bcf_quotient_mkm_secondwave_factors_point_choose_table_row_step_entry. bcf_row_code_mkm_secondwave_factors_point_choose_table = bcf_quotient_mkm_secondwave_factors_point_choose_table_row_step_entry * S ((S (bcf_index_mkm_secondwave_factors_point_choose_table_row_step)) * bcf_row_scale_mkm_secondwave_factors_point_choose_table) + (bcf_value_mkm_secondwave_factors_point_choose_table_row_step))) /\ ((bcf_index_mkm_secondwave_factors_point_choose_table_row_step = 0 /\ bcf_value_mkm_secondwave_factors_point_choose_table_row_step = 1) \/ exists bcf_predecessor_mkm_secondwave_factors_point_choose_table_row_step bcf_left_mkm_secondwave_factors_point_choose_table_row_step bcf_right_mkm_secondwave_factors_point_choose_table_row_step. bcf_index_mkm_secondwave_factors_point_choose_table_row_step = S bcf_predecessor_mkm_secondwave_factors_point_choose_table_row_step /\ ((((exists bcf_height_mkm_secondwave_factors_point_choose_table_row_step_previous_left. bcf_height_mkm_secondwave_factors_point_choose_table_row_step_previous_left + S (bcf_left_mkm_secondwave_factors_point_choose_table_row_step) = S ((S (bcf_predecessor_mkm_secondwave_factors_point_choose_table_row_step)) * bcf_previous_scale_mkm_secondwave_factors_point_choose_table)) /\ exists bcf_quotient_mkm_secondwave_factors_point_choose_table_row_step_previous_left. bcf_previous_code_mkm_secondwave_factors_point_choose_table = bcf_quotient_mkm_secondwave_factors_point_choose_table_row_step_previous_left * S ((S (bcf_predecessor_mkm_secondwave_factors_point_choose_table_row_step)) * bcf_previous_scale_mkm_secondwave_factors_point_choose_table) + (bcf_left_mkm_secondwave_factors_point_choose_table_row_step))) /\ ((((exists bcf_height_mkm_secondwave_factors_point_choose_table_row_step_previous_right. bcf_height_mkm_secondwave_factors_point_choose_table_row_step_previous_right + S (bcf_right_mkm_secondwave_factors_point_choose_table_row_step) = S ((S (S (bcf_predecessor_mkm_secondwave_factors_point_choose_table_row_step))) * bcf_previous_scale_mkm_secondwave_factors_point_choose_table)) /\ exists bcf_quotient_mkm_secondwave_factors_point_choose_table_row_step_previous_right. bcf_previous_code_mkm_secondwave_factors_point_choose_table = bcf_quotient_mkm_secondwave_factors_point_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_mkm_secondwave_factors_point_choose_table_row_step))) * bcf_previous_scale_mkm_secondwave_factors_point_choose_table) + (bcf_right_mkm_secondwave_factors_point_choose_table_row_step))) /\ bcf_value_mkm_secondwave_factors_point_choose_table_row_step = bcf_left_mkm_secondwave_factors_point_choose_table_row_step + bcf_right_mkm_secondwave_factors_point_choose_table_row_step))))))))))) /\ ((((exists bcf_height_mkm_secondwave_factors_point_choose_decoded_row_code. bcf_height_mkm_secondwave_factors_point_choose_decoded_row_code + S (bcf_row_code_mkm_secondwave_factors_point_choose) = S ((S (mkm_partial_secondwave_factors_point + mkm_value_secondwave_factors_point)) * bcf_row_code_scale_mkm_secondwave_factors_point_choose)) /\ exists bcf_quotient_mkm_secondwave_factors_point_choose_decoded_row_code. bcf_row_code_code_mkm_secondwave_factors_point_choose = bcf_quotient_mkm_secondwave_factors_point_choose_decoded_row_code * S ((S (mkm_partial_secondwave_factors_point + mkm_value_secondwave_factors_point)) * bcf_row_code_scale_mkm_secondwave_factors_point_choose) + (bcf_row_code_mkm_secondwave_factors_point_choose))) /\ ((((exists bcf_height_mkm_secondwave_factors_point_choose_decoded_row_scale. bcf_height_mkm_secondwave_factors_point_choose_decoded_row_scale + S (bcf_row_scale_mkm_secondwave_factors_point_choose) = S ((S (mkm_partial_secondwave_factors_point + mkm_value_secondwave_factors_point)) * bcf_row_scale_scale_mkm_secondwave_factors_point_choose)) /\ exists bcf_quotient_mkm_secondwave_factors_point_choose_decoded_row_scale. bcf_row_scale_code_mkm_secondwave_factors_point_choose = bcf_quotient_mkm_secondwave_factors_point_choose_decoded_row_scale * S ((S (mkm_partial_secondwave_factors_point + mkm_value_secondwave_factors_point)) * bcf_row_scale_scale_mkm_secondwave_factors_point_choose) + (bcf_row_scale_mkm_secondwave_factors_point_choose))) /\ (((exists bcf_height_mkm_secondwave_factors_point_choose_decoded_value. bcf_height_mkm_secondwave_factors_point_choose_decoded_value + S (mkm_factor_secondwave_factors_point) = S ((S (mkm_partial_secondwave_factors_point)) * bcf_row_scale_mkm_secondwave_factors_point_choose)) /\ exists bcf_quotient_mkm_secondwave_factors_point_choose_decoded_value. bcf_row_code_mkm_secondwave_factors_point_choose = bcf_quotient_mkm_secondwave_factors_point_choose_decoded_value * S ((S (mkm_partial_secondwave_factors_point)) * bcf_row_scale_mkm_secondwave_factors_point_choose) + (mkm_factor_secondwave_factors_point))))))))) /\ (((exists fs_h_mkm_secondwave_factors_point_factor. fs_h_mkm_secondwave_factors_point_factor + S (mkm_factor_secondwave_factors_point) = S ((S (mkm_index_secondwave_factors)) * mkm_factor_scale_secondwave)) /\ exists fs_q_mkm_secondwave_factors_point_factor. mkm_factor_code_secondwave = fs_q_mkm_secondwave_factors_point_factor * S ((S (mkm_index_secondwave_factors)) * mkm_factor_scale_secondwave) + (mkm_factor_secondwave_factors_point))))))) /\ (exists ff_u_mkm_secondwave_product ff_v_mkm_secondwave_product. ((((exists ff_h_mkm_secondwave_product_start. ff_h_mkm_secondwave_product_start + S (1) = S ((S (0)) * ff_v_mkm_secondwave_product)) /\ exists ff_q_mkm_secondwave_product_start. ff_u_mkm_secondwave_product = ff_q_mkm_secondwave_product_start * S ((S (0)) * ff_v_mkm_secondwave_product) + (1))) /\ ((((exists ff_h_mkm_secondwave_product_terminal. ff_h_mkm_secondwave_product_terminal + S (z) = S ((S (l)) * ff_v_mkm_secondwave_product)) /\ exists ff_q_mkm_secondwave_product_terminal. ff_u_mkm_secondwave_product = ff_q_mkm_secondwave_product_terminal * S ((S (l)) * ff_v_mkm_secondwave_product) + (z))) /\ forall ff_i_mkm_secondwave_product. (exists ff_lt_mkm_secondwave_product_bound. ff_lt_mkm_secondwave_product_bound + S ff_i_mkm_secondwave_product = l) -> exists ff_p_mkm_secondwave_product ff_r_mkm_secondwave_product ff_s_mkm_secondwave_product. ((((exists ff_h_mkm_secondwave_product_factor. ff_h_mkm_secondwave_product_factor + S (ff_p_mkm_secondwave_product) = S ((S (ff_i_mkm_secondwave_product)) * mkm_factor_scale_secondwave)) /\ exists ff_q_mkm_secondwave_product_factor. mkm_factor_code_secondwave = ff_q_mkm_secondwave_product_factor * S ((S (ff_i_mkm_secondwave_product)) * mkm_factor_scale_secondwave) + (ff_p_mkm_secondwave_product))) /\ ((((exists ff_h_mkm_secondwave_product_partial. ff_h_mkm_secondwave_product_partial + S (ff_r_mkm_secondwave_product) = S ((S (ff_i_mkm_secondwave_product)) * ff_v_mkm_secondwave_product)) /\ exists ff_q_mkm_secondwave_product_partial. ff_u_mkm_secondwave_product = ff_q_mkm_secondwave_product_partial * S ((S (ff_i_mkm_secondwave_product)) * ff_v_mkm_secondwave_product) + (ff_r_mkm_secondwave_product))) /\ ((((exists ff_h_mkm_secondwave_product_successor. ff_h_mkm_secondwave_product_successor + S (ff_s_mkm_secondwave_product) = S ((S (S ff_i_mkm_secondwave_product)) * ff_v_mkm_secondwave_product)) /\ exists ff_q_mkm_secondwave_product_successor. ff_u_mkm_secondwave_product = ff_q_mkm_secondwave_product_successor * S ((S (S ff_i_mkm_secondwave_product)) * ff_v_mkm_secondwave_product) + (ff_s_mkm_secondwave_product))) /\ ff_s_mkm_secondwave_product = ff_r_mkm_secondwave_product * ff_p_mkm_secondwave_product)))))))

The unchanged native kernel never receives this surface symbol. Binder-safe expansion produces only its existing first-order syntax.

Direct definition dependencies

Definitions depending on this notation

none

Checked theorems using this definition