PD0041

Choose(n,k,z)

z is the recurrence-defined binomial coefficient of row n and column k.

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

Lt(n,k) ∧ z = 0 ∨ Le(k,n) ∧ (∃ x. ∃ y. ∃ m. ∃ i. ∃ j. ∃ u. (∀ v. Lt(v,S n) → ∃ w. ∃ x0. BetaAt(x,y,v,w) ∧ (BetaAt(m,i,v,x0) ∧ (v = 0 ∧ (∀ x1. Lt(x1,S n) → ∃ x2. BetaAt(w,x0,x1,x2) ∧ (x1 = 0 ∧ x2 = 1 ∨ (∃ x3. x1 = S x3 ∧ x2 = 0))) ∨ (∃ x1. ∃ x2. ∃ x3. v = S x1 ∧ (BetaAt(x,y,x1,x2) ∧ (BetaAt(m,i,x1,x3) ∧ (∀ x4. Lt(x4,S n) → ∃ x5. BetaAt(w,x0,x4,x5) ∧ (x4 = 0 ∧ x5 = 1 ∨ (∃ x6. ∃ x7. ∃ x8. x4 = S x6 ∧ (BetaAt(x2,x3,x6,x7) ∧ (BetaAt(x2,x3,S x6,x8) ∧ x5 = x7 + x8))))))))))) ∧ (BetaAt(x,y,n,j) ∧ (BetaAt(m,i,n,u)BetaAt(j,u,k,z))))

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

Hygienic expanded first-order definition
((exists bcf_lt_gap_bertrand_defined_choose_out_of_range. bcf_lt_gap_bertrand_defined_choose_out_of_range + S (n) = k) /\ z = 0) \/ ((exists bcf_le_gap_bertrand_defined_choose_in_range. bcf_le_gap_bertrand_defined_choose_in_range + (k) = n) /\ (exists bcf_row_code_code_bertrand_defined_choose bcf_row_code_scale_bertrand_defined_choose bcf_row_scale_code_bertrand_defined_choose bcf_row_scale_scale_bertrand_defined_choose bcf_row_code_bertrand_defined_choose bcf_row_scale_bertrand_defined_choose. ((forall bcf_row_index_bertrand_defined_choose_table. (exists bcf_lt_gap_bertrand_defined_choose_table_row_bound. bcf_lt_gap_bertrand_defined_choose_table_row_bound + S (bcf_row_index_bertrand_defined_choose_table) = S (n)) -> exists bcf_row_code_bertrand_defined_choose_table bcf_row_scale_bertrand_defined_choose_table. ((((exists bcf_height_bertrand_defined_choose_table_decoded_row_code. bcf_height_bertrand_defined_choose_table_decoded_row_code + S (bcf_row_code_bertrand_defined_choose_table) = S ((S (bcf_row_index_bertrand_defined_choose_table)) * bcf_row_code_scale_bertrand_defined_choose)) /\ exists bcf_quotient_bertrand_defined_choose_table_decoded_row_code. bcf_row_code_code_bertrand_defined_choose = bcf_quotient_bertrand_defined_choose_table_decoded_row_code * S ((S (bcf_row_index_bertrand_defined_choose_table)) * bcf_row_code_scale_bertrand_defined_choose) + (bcf_row_code_bertrand_defined_choose_table))) /\ ((((exists bcf_height_bertrand_defined_choose_table_decoded_row_scale. bcf_height_bertrand_defined_choose_table_decoded_row_scale + S (bcf_row_scale_bertrand_defined_choose_table) = S ((S (bcf_row_index_bertrand_defined_choose_table)) * bcf_row_scale_scale_bertrand_defined_choose)) /\ exists bcf_quotient_bertrand_defined_choose_table_decoded_row_scale. bcf_row_scale_code_bertrand_defined_choose = bcf_quotient_bertrand_defined_choose_table_decoded_row_scale * S ((S (bcf_row_index_bertrand_defined_choose_table)) * bcf_row_scale_scale_bertrand_defined_choose) + (bcf_row_scale_bertrand_defined_choose_table))) /\ ((bcf_row_index_bertrand_defined_choose_table = 0 /\ (forall bcf_index_bertrand_defined_choose_table_zero_row. (exists bcf_lt_gap_bertrand_defined_choose_table_zero_row_bound. bcf_lt_gap_bertrand_defined_choose_table_zero_row_bound + S (bcf_index_bertrand_defined_choose_table_zero_row) = S (n)) -> exists bcf_value_bertrand_defined_choose_table_zero_row. ((((exists bcf_height_bertrand_defined_choose_table_zero_row_entry. bcf_height_bertrand_defined_choose_table_zero_row_entry + S (bcf_value_bertrand_defined_choose_table_zero_row) = S ((S (bcf_index_bertrand_defined_choose_table_zero_row)) * bcf_row_scale_bertrand_defined_choose_table)) /\ exists bcf_quotient_bertrand_defined_choose_table_zero_row_entry. bcf_row_code_bertrand_defined_choose_table = bcf_quotient_bertrand_defined_choose_table_zero_row_entry * S ((S (bcf_index_bertrand_defined_choose_table_zero_row)) * bcf_row_scale_bertrand_defined_choose_table) + (bcf_value_bertrand_defined_choose_table_zero_row))) /\ ((bcf_index_bertrand_defined_choose_table_zero_row = 0 /\ bcf_value_bertrand_defined_choose_table_zero_row = 1) \/ exists bcf_predecessor_bertrand_defined_choose_table_zero_row. bcf_index_bertrand_defined_choose_table_zero_row = S bcf_predecessor_bertrand_defined_choose_table_zero_row /\ bcf_value_bertrand_defined_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_bertrand_defined_choose_table bcf_previous_code_bertrand_defined_choose_table bcf_previous_scale_bertrand_defined_choose_table. bcf_row_index_bertrand_defined_choose_table = S bcf_predecessor_bertrand_defined_choose_table /\ ((((exists bcf_height_bertrand_defined_choose_table_decoded_previous_code. bcf_height_bertrand_defined_choose_table_decoded_previous_code + S (bcf_previous_code_bertrand_defined_choose_table) = S ((S (bcf_predecessor_bertrand_defined_choose_table)) * bcf_row_code_scale_bertrand_defined_choose)) /\ exists bcf_quotient_bertrand_defined_choose_table_decoded_previous_code. bcf_row_code_code_bertrand_defined_choose = bcf_quotient_bertrand_defined_choose_table_decoded_previous_code * S ((S (bcf_predecessor_bertrand_defined_choose_table)) * bcf_row_code_scale_bertrand_defined_choose) + (bcf_previous_code_bertrand_defined_choose_table))) /\ ((((exists bcf_height_bertrand_defined_choose_table_decoded_previous_scale. bcf_height_bertrand_defined_choose_table_decoded_previous_scale + S (bcf_previous_scale_bertrand_defined_choose_table) = S ((S (bcf_predecessor_bertrand_defined_choose_table)) * bcf_row_scale_scale_bertrand_defined_choose)) /\ exists bcf_quotient_bertrand_defined_choose_table_decoded_previous_scale. bcf_row_scale_code_bertrand_defined_choose = bcf_quotient_bertrand_defined_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_bertrand_defined_choose_table)) * bcf_row_scale_scale_bertrand_defined_choose) + (bcf_previous_scale_bertrand_defined_choose_table))) /\ (forall bcf_index_bertrand_defined_choose_table_row_step. (exists bcf_lt_gap_bertrand_defined_choose_table_row_step_bound. bcf_lt_gap_bertrand_defined_choose_table_row_step_bound + S (bcf_index_bertrand_defined_choose_table_row_step) = S (n)) -> exists bcf_value_bertrand_defined_choose_table_row_step. ((((exists bcf_height_bertrand_defined_choose_table_row_step_entry. bcf_height_bertrand_defined_choose_table_row_step_entry + S (bcf_value_bertrand_defined_choose_table_row_step) = S ((S (bcf_index_bertrand_defined_choose_table_row_step)) * bcf_row_scale_bertrand_defined_choose_table)) /\ exists bcf_quotient_bertrand_defined_choose_table_row_step_entry. bcf_row_code_bertrand_defined_choose_table = bcf_quotient_bertrand_defined_choose_table_row_step_entry * S ((S (bcf_index_bertrand_defined_choose_table_row_step)) * bcf_row_scale_bertrand_defined_choose_table) + (bcf_value_bertrand_defined_choose_table_row_step))) /\ ((bcf_index_bertrand_defined_choose_table_row_step = 0 /\ bcf_value_bertrand_defined_choose_table_row_step = 1) \/ exists bcf_predecessor_bertrand_defined_choose_table_row_step bcf_left_bertrand_defined_choose_table_row_step bcf_right_bertrand_defined_choose_table_row_step. bcf_index_bertrand_defined_choose_table_row_step = S bcf_predecessor_bertrand_defined_choose_table_row_step /\ ((((exists bcf_height_bertrand_defined_choose_table_row_step_previous_left. bcf_height_bertrand_defined_choose_table_row_step_previous_left + S (bcf_left_bertrand_defined_choose_table_row_step) = S ((S (bcf_predecessor_bertrand_defined_choose_table_row_step)) * bcf_previous_scale_bertrand_defined_choose_table)) /\ exists bcf_quotient_bertrand_defined_choose_table_row_step_previous_left. bcf_previous_code_bertrand_defined_choose_table = bcf_quotient_bertrand_defined_choose_table_row_step_previous_left * S ((S (bcf_predecessor_bertrand_defined_choose_table_row_step)) * bcf_previous_scale_bertrand_defined_choose_table) + (bcf_left_bertrand_defined_choose_table_row_step))) /\ ((((exists bcf_height_bertrand_defined_choose_table_row_step_previous_right. bcf_height_bertrand_defined_choose_table_row_step_previous_right + S (bcf_right_bertrand_defined_choose_table_row_step) = S ((S (S (bcf_predecessor_bertrand_defined_choose_table_row_step))) * bcf_previous_scale_bertrand_defined_choose_table)) /\ exists bcf_quotient_bertrand_defined_choose_table_row_step_previous_right. bcf_previous_code_bertrand_defined_choose_table = bcf_quotient_bertrand_defined_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_bertrand_defined_choose_table_row_step))) * bcf_previous_scale_bertrand_defined_choose_table) + (bcf_right_bertrand_defined_choose_table_row_step))) /\ bcf_value_bertrand_defined_choose_table_row_step = bcf_left_bertrand_defined_choose_table_row_step + bcf_right_bertrand_defined_choose_table_row_step))))))))))) /\ ((((exists bcf_height_bertrand_defined_choose_decoded_row_code. bcf_height_bertrand_defined_choose_decoded_row_code + S (bcf_row_code_bertrand_defined_choose) = S ((S (n)) * bcf_row_code_scale_bertrand_defined_choose)) /\ exists bcf_quotient_bertrand_defined_choose_decoded_row_code. bcf_row_code_code_bertrand_defined_choose = bcf_quotient_bertrand_defined_choose_decoded_row_code * S ((S (n)) * bcf_row_code_scale_bertrand_defined_choose) + (bcf_row_code_bertrand_defined_choose))) /\ ((((exists bcf_height_bertrand_defined_choose_decoded_row_scale. bcf_height_bertrand_defined_choose_decoded_row_scale + S (bcf_row_scale_bertrand_defined_choose) = S ((S (n)) * bcf_row_scale_scale_bertrand_defined_choose)) /\ exists bcf_quotient_bertrand_defined_choose_decoded_row_scale. bcf_row_scale_code_bertrand_defined_choose = bcf_quotient_bertrand_defined_choose_decoded_row_scale * S ((S (n)) * bcf_row_scale_scale_bertrand_defined_choose) + (bcf_row_scale_bertrand_defined_choose))) /\ (((exists bcf_height_bertrand_defined_choose_decoded_value. bcf_height_bertrand_defined_choose_decoded_value + S (z) = S ((S (k)) * bcf_row_scale_bertrand_defined_choose)) /\ exists bcf_quotient_bertrand_defined_choose_decoded_value. bcf_row_code_bertrand_defined_choose = bcf_quotient_bertrand_defined_choose_decoded_value * S ((S (k)) * bcf_row_scale_bertrand_defined_choose) + (z))))))))

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

Checked theorems using this definition