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.
Exact expanded first-order arithmetic statement
forall b c sb sc cb cc l. (forall mkm_index_binpositive_source. (exists mkm_lt_binpositive_source_bound. mkm_lt_binpositive_source_bound + S (mkm_index_binpositive_source) = (l)) -> (exists mkm_value_binpositive_source_point mkm_partial_binpositive_source_point mkm_factor_binpositive_source_point. (((exists fs_h_mkm_binpositive_source_point_source. fs_h_mkm_binpositive_source_point_source + S (mkm_value_binpositive_source_point) = S ((S (mkm_index_binpositive_source)) * c)) /\ exists fs_q_mkm_binpositive_source_point_source. b = fs_q_mkm_binpositive_source_point_source * S ((S (mkm_index_binpositive_source)) * c) + (mkm_value_binpositive_source_point))) /\ ((((exists fs_h_mkm_binpositive_source_point_partial. fs_h_mkm_binpositive_source_point_partial + S (mkm_partial_binpositive_source_point) = S ((S (mkm_index_binpositive_source)) * sc)) /\ exists fs_q_mkm_binpositive_source_point_partial. sb = fs_q_mkm_binpositive_source_point_partial * S ((S (mkm_index_binpositive_source)) * sc) + (mkm_partial_binpositive_source_point))) /\ ((((exists bcf_lt_gap_mkm_binpositive_source_point_choose_out_of_range. bcf_lt_gap_mkm_binpositive_source_point_choose_out_of_range + S (mkm_partial_binpositive_source_point + mkm_value_binpositive_source_point) = mkm_partial_binpositive_source_point) /\ mkm_factor_binpositive_source_point = 0) \/ ((exists bcf_le_gap_mkm_binpositive_source_point_choose_in_range. bcf_le_gap_mkm_binpositive_source_point_choose_in_range + (mkm_partial_binpositive_source_point) = mkm_partial_binpositive_source_point + mkm_value_binpositive_source_point) /\ (exists bcf_row_code_code_mkm_binpositive_source_point_choose bcf_row_code_scale_mkm_binpositive_source_point_choose bcf_row_scale_code_mkm_binpositive_source_point_choose bcf_row_scale_scale_mkm_binpositive_source_point_choose bcf_row_code_mkm_binpositive_source_point_choose bcf_row_scale_mkm_binpositive_source_point_choose. ((forall bcf_row_index_mkm_binpositive_source_point_choose_table. (exists bcf_lt_gap_mkm_binpositive_source_point_choose_table_row_bound. bcf_lt_gap_mkm_binpositive_source_point_choose_table_row_bound + S (bcf_row_index_mkm_binpositive_source_point_choose_table) = S (mkm_partial_binpositive_source_point + mkm_value_binpositive_source_point)) -> exists bcf_row_code_mkm_binpositive_source_point_choose_table bcf_row_scale_mkm_binpositive_source_point_choose_table. ((((exists bcf_height_mkm_binpositive_source_point_choose_table_decoded_row_code. bcf_height_mkm_binpositive_source_point_choose_table_decoded_row_code + S (bcf_row_code_mkm_binpositive_source_point_choose_table) = S ((S (bcf_row_index_mkm_binpositive_source_point_choose_table)) * bcf_row_code_scale_mkm_binpositive_source_point_choose)) /\ exists bcf_quotient_mkm_binpositive_source_point_choose_table_decoded_row_code. bcf_row_code_code_mkm_binpositive_source_point_choose = bcf_quotient_mkm_binpositive_source_point_choose_table_decoded_row_code * S ((S (bcf_row_index_mkm_binpositive_source_point_choose_table)) * bcf_row_code_scale_mkm_binpositive_source_point_choose) + (bcf_row_code_mkm_binpositive_source_point_choose_table))) /\ ((((exists bcf_height_mkm_binpositive_source_point_choose_table_decoded_row_scale. bcf_height_mkm_binpositive_source_point_choose_table_decoded_row_scale + S (bcf_row_scale_mkm_binpositive_source_point_choose_table) = S ((S (bcf_row_index_mkm_binpositive_source_point_choose_table)) * bcf_row_scale_scale_mkm_binpositive_source_point_choose)) /\ exists bcf_quotient_mkm_binpositive_source_point_choose_table_decoded_row_scale. bcf_row_scale_code_mkm_binpositive_source_point_choose = bcf_quotient_mkm_binpositive_source_point_choose_table_decoded_row_scale * S ((S (bcf_row_index_mkm_binpositive_source_point_choose_table)) * bcf_row_scale_scale_mkm_binpositive_source_point_choose) + (bcf_row_scale_mkm_binpositive_source_point_choose_table))) /\ ((bcf_row_index_mkm_binpositive_source_point_choose_table = 0 /\ (forall bcf_index_mkm_binpositive_source_point_choose_table_zero_row. (exists bcf_lt_gap_mkm_binpositive_source_point_choose_table_zero_row_bound. bcf_lt_gap_mkm_binpositive_source_point_choose_table_zero_row_bound + S (bcf_index_mkm_binpositive_source_point_choose_table_zero_row) = S (mkm_partial_binpositive_source_point + mkm_value_binpositive_source_point)) -> exists bcf_value_mkm_binpositive_source_point_choose_table_zero_row. ((((exists bcf_height_mkm_binpositive_source_point_choose_table_zero_row_entry. bcf_height_mkm_binpositive_source_point_choose_table_zero_row_entry + S (bcf_value_mkm_binpositive_source_point_choose_table_zero_row) = S ((S (bcf_index_mkm_binpositive_source_point_choose_table_zero_row)) * bcf_row_scale_mkm_binpositive_source_point_choose_table)) /\ exists bcf_quotient_mkm_binpositive_source_point_choose_table_zero_row_entry. bcf_row_code_mkm_binpositive_source_point_choose_table = bcf_quotient_mkm_binpositive_source_point_choose_table_zero_row_entry * S ((S (bcf_index_mkm_binpositive_source_point_choose_table_zero_row)) * bcf_row_scale_mkm_binpositive_source_point_choose_table) + (bcf_value_mkm_binpositive_source_point_choose_table_zero_row))) /\ ((bcf_index_mkm_binpositive_source_point_choose_table_zero_row = 0 /\ bcf_value_mkm_binpositive_source_point_choose_table_zero_row = 1) \/ exists bcf_predecessor_mkm_binpositive_source_point_choose_table_zero_row. bcf_index_mkm_binpositive_source_point_choose_table_zero_row = S bcf_predecessor_mkm_binpositive_source_point_choose_table_zero_row /\ bcf_value_mkm_binpositive_source_point_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_mkm_binpositive_source_point_choose_table bcf_previous_code_mkm_binpositive_source_point_choose_table bcf_previous_scale_mkm_binpositive_source_point_choose_table. bcf_row_index_mkm_binpositive_source_point_choose_table = S bcf_predecessor_mkm_binpositive_source_point_choose_table /\ ((((exists bcf_height_mkm_binpositive_source_point_choose_table_decoded_previous_code. bcf_height_mkm_binpositive_source_point_choose_table_decoded_previous_code + S (bcf_previous_code_mkm_binpositive_source_point_choose_table) = S ((S (bcf_predecessor_mkm_binpositive_source_point_choose_table)) * bcf_row_code_scale_mkm_binpositive_source_point_choose)) /\ exists bcf_quotient_mkm_binpositive_source_point_choose_table_decoded_previous_code. bcf_row_code_code_mkm_binpositive_source_point_choose = bcf_quotient_mkm_binpositive_source_point_choose_table_decoded_previous_code * S ((S (bcf_predecessor_mkm_binpositive_source_point_choose_table)) * bcf_row_code_scale_mkm_binpositive_source_point_choose) + (bcf_previous_code_mkm_binpositive_source_point_choose_table))) /\ ((((exists bcf_height_mkm_binpositive_source_point_choose_table_decoded_previous_scale. bcf_height_mkm_binpositive_source_point_choose_table_decoded_previous_scale + S (bcf_previous_scale_mkm_binpositive_source_point_choose_table) = S ((S (bcf_predecessor_mkm_binpositive_source_point_choose_table)) * bcf_row_scale_scale_mkm_binpositive_source_point_choose)) /\ exists bcf_quotient_mkm_binpositive_source_point_choose_table_decoded_previous_scale. bcf_row_scale_code_mkm_binpositive_source_point_choose = bcf_quotient_mkm_binpositive_source_point_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_mkm_binpositive_source_point_choose_table)) * bcf_row_scale_scale_mkm_binpositive_source_point_choose) + (bcf_previous_scale_mkm_binpositive_source_point_choose_table))) /\ (forall bcf_index_mkm_binpositive_source_point_choose_table_row_step. (exists bcf_lt_gap_mkm_binpositive_source_point_choose_table_row_step_bound. bcf_lt_gap_mkm_binpositive_source_point_choose_table_row_step_bound + S (bcf_index_mkm_binpositive_source_point_choose_table_row_step) = S (mkm_partial_binpositive_source_point + mkm_value_binpositive_source_point)) -> exists bcf_value_mkm_binpositive_source_point_choose_table_row_step. ((((exists bcf_height_mkm_binpositive_source_point_choose_table_row_step_entry. bcf_height_mkm_binpositive_source_point_choose_table_row_step_entry + S (bcf_value_mkm_binpositive_source_point_choose_table_row_step) = S ((S (bcf_index_mkm_binpositive_source_point_choose_table_row_step)) * bcf_row_scale_mkm_binpositive_source_point_choose_table)) /\ exists bcf_quotient_mkm_binpositive_source_point_choose_table_row_step_entry. bcf_row_code_mkm_binpositive_source_point_choose_table = bcf_quotient_mkm_binpositive_source_point_choose_table_row_step_entry * S ((S (bcf_index_mkm_binpositive_source_point_choose_table_row_step)) * bcf_row_scale_mkm_binpositive_source_point_choose_table) + (bcf_value_mkm_binpositive_source_point_choose_table_row_step))) /\ ((bcf_index_mkm_binpositive_source_point_choose_table_row_step = 0 /\ bcf_value_mkm_binpositive_source_point_choose_table_row_step = 1) \/ exists bcf_predecessor_mkm_binpositive_source_point_choose_table_row_step bcf_left_mkm_binpositive_source_point_choose_table_row_step bcf_right_mkm_binpositive_source_point_choose_table_row_step. bcf_index_mkm_binpositive_source_point_choose_table_row_step = S bcf_predecessor_mkm_binpositive_source_point_choose_table_row_step /\ ((((exists bcf_height_mkm_binpositive_source_point_choose_table_row_step_previous_left. bcf_height_mkm_binpositive_source_point_choose_table_row_step_previous_left + S (bcf_left_mkm_binpositive_source_point_choose_table_row_step) = S ((S (bcf_predecessor_mkm_binpositive_source_point_choose_table_row_step)) * bcf_previous_scale_mkm_binpositive_source_point_choose_table)) /\ exists bcf_quotient_mkm_binpositive_source_point_choose_table_row_step_previous_left. bcf_previous_code_mkm_binpositive_source_point_choose_table = bcf_quotient_mkm_binpositive_source_point_choose_table_row_step_previous_left * S ((S (bcf_predecessor_mkm_binpositive_source_point_choose_table_row_step)) * bcf_previous_scale_mkm_binpositive_source_point_choose_table) + (bcf_left_mkm_binpositive_source_point_choose_table_row_step))) /\ ((((exists bcf_height_mkm_binpositive_source_point_choose_table_row_step_previous_right. bcf_height_mkm_binpositive_source_point_choose_table_row_step_previous_right + S (bcf_right_mkm_binpositive_source_point_choose_table_row_step) = S ((S (S (bcf_predecessor_mkm_binpositive_source_point_choose_table_row_step))) * bcf_previous_scale_mkm_binpositive_source_point_choose_table)) /\ exists bcf_quotient_mkm_binpositive_source_point_choose_table_row_step_previous_right. bcf_previous_code_mkm_binpositive_source_point_choose_table = bcf_quotient_mkm_binpositive_source_point_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_mkm_binpositive_source_point_choose_table_row_step))) * bcf_previous_scale_mkm_binpositive_source_point_choose_table) + (bcf_right_mkm_binpositive_source_point_choose_table_row_step))) /\ bcf_value_mkm_binpositive_source_point_choose_table_row_step = bcf_left_mkm_binpositive_source_point_choose_table_row_step + bcf_right_mkm_binpositive_source_point_choose_table_row_step))))))))))) /\ ((((exists bcf_height_mkm_binpositive_source_point_choose_decoded_row_code. bcf_height_mkm_binpositive_source_point_choose_decoded_row_code + S (bcf_row_code_mkm_binpositive_source_point_choose) = S ((S (mkm_partial_binpositive_source_point + mkm_value_binpositive_source_point)) * bcf_row_code_scale_mkm_binpositive_source_point_choose)) /\ exists bcf_quotient_mkm_binpositive_source_point_choose_decoded_row_code. bcf_row_code_code_mkm_binpositive_source_point_choose = bcf_quotient_mkm_binpositive_source_point_choose_decoded_row_code * S ((S (mkm_partial_binpositive_source_point + mkm_value_binpositive_source_point)) * bcf_row_code_scale_mkm_binpositive_source_point_choose) + (bcf_row_code_mkm_binpositive_source_point_choose))) /\ ((((exists bcf_height_mkm_binpositive_source_point_choose_decoded_row_scale. bcf_height_mkm_binpositive_source_point_choose_decoded_row_scale + S (bcf_row_scale_mkm_binpositive_source_point_choose) = S ((S (mkm_partial_binpositive_source_point + mkm_value_binpositive_source_point)) * bcf_row_scale_scale_mkm_binpositive_source_point_choose)) /\ exists bcf_quotient_mkm_binpositive_source_point_choose_decoded_row_scale. bcf_row_scale_code_mkm_binpositive_source_point_choose = bcf_quotient_mkm_binpositive_source_point_choose_decoded_row_scale * S ((S (mkm_partial_binpositive_source_point + mkm_value_binpositive_source_point)) * bcf_row_scale_scale_mkm_binpositive_source_point_choose) + (bcf_row_scale_mkm_binpositive_source_point_choose))) /\ (((exists bcf_height_mkm_binpositive_source_point_choose_decoded_value. bcf_height_mkm_binpositive_source_point_choose_decoded_value + S (mkm_factor_binpositive_source_point) = S ((S (mkm_partial_binpositive_source_point)) * bcf_row_scale_mkm_binpositive_source_point_choose)) /\ exists bcf_quotient_mkm_binpositive_source_point_choose_decoded_value. bcf_row_code_mkm_binpositive_source_point_choose = bcf_quotient_mkm_binpositive_source_point_choose_decoded_value * S ((S (mkm_partial_binpositive_source_point)) * bcf_row_scale_mkm_binpositive_source_point_choose) + (mkm_factor_binpositive_source_point))))))))) /\ (((exists fs_h_mkm_binpositive_source_point_factor. fs_h_mkm_binpositive_source_point_factor + S (mkm_factor_binpositive_source_point) = S ((S (mkm_index_binpositive_source)) * cc)) /\ exists fs_q_mkm_binpositive_source_point_factor. cb = fs_q_mkm_binpositive_source_point_factor * S ((S (mkm_index_binpositive_source)) * cc) + (mkm_factor_binpositive_source_point))))))) -> (forall gcrt_positive_index_mkm_binpositive_target gcrt_positive_value_mkm_binpositive_target. (exists ff_lt_gcrt_mkm_binpositive_target_bound. ff_lt_gcrt_mkm_binpositive_target_bound + S gcrt_positive_index_mkm_binpositive_target = l) -> (((exists ff_h_gcrt_mkm_binpositive_target_entry. ff_h_gcrt_mkm_binpositive_target_entry + S (gcrt_positive_value_mkm_binpositive_target) = S ((S (gcrt_positive_index_mkm_binpositive_target)) * cc)) /\ exists ff_q_gcrt_mkm_binpositive_target_entry. cb = ff_q_gcrt_mkm_binpositive_target_entry * S ((S (gcrt_positive_index_mkm_binpositive_target)) * cc) + (gcrt_positive_value_mkm_binpositive_target))) -> ~(gcrt_positive_value_mkm_binpositive_target = 0))Constructive proof overview
Generated structural guide
Every actual multinomial binomial factor is strictly nonzero, including zero-valued input parts.
The unchanged tactic script uses 3 declared prerequisites and contains 51 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_at_unique Stable theorem; checked-use authorized choose_positive Alpha theorem; checked-use authorized le_add_right Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hpointL14–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.
- L14
have hpoint : ∃ mkm_value_binpositive_point. ∃ mkm_partial_binpositive_point. ∃ mkm_factor_binpositive_point. BetaAt(b,c,i,mkm_value_binpositive_point) ∧ (BetaAt(sb,sc,i,mkm_partial_binpositive_point) ∧ (Choose(mkm_partial_binpositive_point + mkm_value_binpositive_point,mkm_partial_binpositive_point,mkm_factor_binpositive_point) ∧ BetaAt(cb,cc,i,mkm_factor_binpositive_point)))Definitions: BetaAtChoose - L15
specialize h i - L16
apply h - L17
exact hi
04Separate the logical casesL18–23
05Establish hfactorL24–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
06Establish hpositiveL33–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply choose positive.
07Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
cases hpositive
Original exact command ledger · 51 lines
- 0001
intro b - 0002
intro c - 0003
intro sb - 0004
intro sc - 0005
intro cb - 0006
intro cc - 0007
intro l - 0008
intro h - 0009
intro i - 0010
intro C - 0011
intro hi - 0012
intro hC - 0013
intro hzero - 0014
have hpoint : exists mkm_value_binpositive_point mkm_partial_binpositive_point mkm_factor_binpositive_point. (((exists fs_h_mkm_binpositive_point_source. fs_h_mkm_binpositive_point_source + S (mkm_value_binpositive_point) = S ((S (i)) * c)) /\ exists fs_q_mkm_binpositive_point_source. b = fs_q_mkm_binpositive_point_source * S ((S (i)) * c) + (mkm_value_binpositive_point))) /\ ((((exists fs_h_mkm_binpositive_point_partial. fs_h_mkm_binpositive_point_partial + S (mkm_partial_binpositive_point) = S ((S (i)) * sc)) /\ exists fs_q_mkm_binpositive_point_partial. sb = fs_q_mkm_binpositive_point_partial * S ((S (i)) * sc) + (mkm_partial_binpositive_point))) /\ ((((exists bcf_lt_gap_mkm_binpositive_point_choose_out_of_range. bcf_lt_gap_mkm_binpositive_point_choose_out_of_range + S (mkm_partial_binpositive_point + mkm_value_binpositive_point) = mkm_partial_binpositive_point) /\ mkm_factor_binpositive_point = 0) \/ ((exists bcf_le_gap_mkm_binpositive_point_choose_in_range. bcf_le_gap_mkm_binpositive_point_choose_in_range + (mkm_partial_binpositive_point) = mkm_partial_binpositive_point + mkm_value_binpositive_point) /\ (exists bcf_row_code_code_mkm_binpositive_point_choose bcf_row_code_scale_mkm_binpositive_point_choose bcf_row_scale_code_mkm_binpositive_point_choose bcf_row_scale_scale_mkm_binpositive_point_choose bcf_row_code_mkm_binpositive_point_choose bcf_row_scale_mkm_binpositive_point_choose. ((forall bcf_row_index_mkm_binpositive_point_choose_table. (exists bcf_lt_gap_mkm_binpositive_point_choose_table_row_bound. bcf_lt_gap_mkm_binpositive_point_choose_table_row_bound + S (bcf_row_index_mkm_binpositive_point_choose_table) = S (mkm_partial_binpositive_point + mkm_value_binpositive_point)) -> exists bcf_row_code_mkm_binpositive_point_choose_table bcf_row_scale_mkm_binpositive_point_choose_table. ((((exists bcf_height_mkm_binpositive_point_choose_table_decoded_row_code. bcf_height_mkm_binpositive_point_choose_table_decoded_row_code + S (bcf_row_code_mkm_binpositive_point_choose_table) = S ((S (bcf_row_index_mkm_binpositive_point_choose_table)) * bcf_row_code_scale_mkm_binpositive_point_choose)) /\ exists bcf_quotient_mkm_binpositive_point_choose_table_decoded_row_code. bcf_row_code_code_mkm_binpositive_point_choose = bcf_quotient_mkm_binpositive_point_choose_table_decoded_row_code * S ((S (bcf_row_index_mkm_binpositive_point_choose_table)) * bcf_row_code_scale_mkm_binpositive_point_choose) + (bcf_row_code_mkm_binpositive_point_choose_table))) /\ ((((exists bcf_height_mkm_binpositive_point_choose_table_decoded_row_scale. bcf_height_mkm_binpositive_point_choose_table_decoded_row_scale + S (bcf_row_scale_mkm_binpositive_point_choose_table) = S ((S (bcf_row_index_mkm_binpositive_point_choose_table)) * bcf_row_scale_scale_mkm_binpositive_point_choose)) /\ exists bcf_quotient_mkm_binpositive_point_choose_table_decoded_row_scale. bcf_row_scale_code_mkm_binpositive_point_choose = bcf_quotient_mkm_binpositive_point_choose_table_decoded_row_scale * S ((S (bcf_row_index_mkm_binpositive_point_choose_table)) * bcf_row_scale_scale_mkm_binpositive_point_choose) + (bcf_row_scale_mkm_binpositive_point_choose_table))) /\ ((bcf_row_index_mkm_binpositive_point_choose_table = 0 /\ (forall bcf_index_mkm_binpositive_point_choose_table_zero_row. (exists bcf_lt_gap_mkm_binpositive_point_choose_table_zero_row_bound. bcf_lt_gap_mkm_binpositive_point_choose_table_zero_row_bound + S (bcf_index_mkm_binpositive_point_choose_table_zero_row) = S (mkm_partial_binpositive_point + mkm_value_binpositive_point)) -> exists bcf_value_mkm_binpositive_point_choose_table_zero_row. ((((exists bcf_height_mkm_binpositive_point_choose_table_zero_row_entry. bcf_height_mkm_binpositive_point_choose_table_zero_row_entry + S (bcf_value_mkm_binpositive_point_choose_table_zero_row) = S ((S (bcf_index_mkm_binpositive_point_choose_table_zero_row)) * bcf_row_scale_mkm_binpositive_point_choose_table)) /\ exists bcf_quotient_mkm_binpositive_point_choose_table_zero_row_entry. bcf_row_code_mkm_binpositive_point_choose_table = bcf_quotient_mkm_binpositive_point_choose_table_zero_row_entry * S ((S (bcf_index_mkm_binpositive_point_choose_table_zero_row)) * bcf_row_scale_mkm_binpositive_point_choose_table) + (bcf_value_mkm_binpositive_point_choose_table_zero_row))) /\ ((bcf_index_mkm_binpositive_point_choose_table_zero_row = 0 /\ bcf_value_mkm_binpositive_point_choose_table_zero_row = 1) \/ exists bcf_predecessor_mkm_binpositive_point_choose_table_zero_row. bcf_index_mkm_binpositive_point_choose_table_zero_row = S bcf_predecessor_mkm_binpositive_point_choose_table_zero_row /\ bcf_value_mkm_binpositive_point_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_mkm_binpositive_point_choose_table bcf_previous_code_mkm_binpositive_point_choose_table bcf_previous_scale_mkm_binpositive_point_choose_table. bcf_row_index_mkm_binpositive_point_choose_table = S bcf_predecessor_mkm_binpositive_point_choose_table /\ ((((exists bcf_height_mkm_binpositive_point_choose_table_decoded_previous_code. bcf_height_mkm_binpositive_point_choose_table_decoded_previous_code + S (bcf_previous_code_mkm_binpositive_point_choose_table) = S ((S (bcf_predecessor_mkm_binpositive_point_choose_table)) * bcf_row_code_scale_mkm_binpositive_point_choose)) /\ exists bcf_quotient_mkm_binpositive_point_choose_table_decoded_previous_code. bcf_row_code_code_mkm_binpositive_point_choose = bcf_quotient_mkm_binpositive_point_choose_table_decoded_previous_code * S ((S (bcf_predecessor_mkm_binpositive_point_choose_table)) * bcf_row_code_scale_mkm_binpositive_point_choose) + (bcf_previous_code_mkm_binpositive_point_choose_table))) /\ ((((exists bcf_height_mkm_binpositive_point_choose_table_decoded_previous_scale. bcf_height_mkm_binpositive_point_choose_table_decoded_previous_scale + S (bcf_previous_scale_mkm_binpositive_point_choose_table) = S ((S (bcf_predecessor_mkm_binpositive_point_choose_table)) * bcf_row_scale_scale_mkm_binpositive_point_choose)) /\ exists bcf_quotient_mkm_binpositive_point_choose_table_decoded_previous_scale. bcf_row_scale_code_mkm_binpositive_point_choose = bcf_quotient_mkm_binpositive_point_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_mkm_binpositive_point_choose_table)) * bcf_row_scale_scale_mkm_binpositive_point_choose) + (bcf_previous_scale_mkm_binpositive_point_choose_table))) /\ (forall bcf_index_mkm_binpositive_point_choose_table_row_step. (exists bcf_lt_gap_mkm_binpositive_point_choose_table_row_step_bound. bcf_lt_gap_mkm_binpositive_point_choose_table_row_step_bound + S (bcf_index_mkm_binpositive_point_choose_table_row_step) = S (mkm_partial_binpositive_point + mkm_value_binpositive_point)) -> exists bcf_value_mkm_binpositive_point_choose_table_row_step. ((((exists bcf_height_mkm_binpositive_point_choose_table_row_step_entry. bcf_height_mkm_binpositive_point_choose_table_row_step_entry + S (bcf_value_mkm_binpositive_point_choose_table_row_step) = S ((S (bcf_index_mkm_binpositive_point_choose_table_row_step)) * bcf_row_scale_mkm_binpositive_point_choose_table)) /\ exists bcf_quotient_mkm_binpositive_point_choose_table_row_step_entry. bcf_row_code_mkm_binpositive_point_choose_table = bcf_quotient_mkm_binpositive_point_choose_table_row_step_entry * S ((S (bcf_index_mkm_binpositive_point_choose_table_row_step)) * bcf_row_scale_mkm_binpositive_point_choose_table) + (bcf_value_mkm_binpositive_point_choose_table_row_step))) /\ ((bcf_index_mkm_binpositive_point_choose_table_row_step = 0 /\ bcf_value_mkm_binpositive_point_choose_table_row_step = 1) \/ exists bcf_predecessor_mkm_binpositive_point_choose_table_row_step bcf_left_mkm_binpositive_point_choose_table_row_step bcf_right_mkm_binpositive_point_choose_table_row_step. bcf_index_mkm_binpositive_point_choose_table_row_step = S bcf_predecessor_mkm_binpositive_point_choose_table_row_step /\ ((((exists bcf_height_mkm_binpositive_point_choose_table_row_step_previous_left. bcf_height_mkm_binpositive_point_choose_table_row_step_previous_left + S (bcf_left_mkm_binpositive_point_choose_table_row_step) = S ((S (bcf_predecessor_mkm_binpositive_point_choose_table_row_step)) * bcf_previous_scale_mkm_binpositive_point_choose_table)) /\ exists bcf_quotient_mkm_binpositive_point_choose_table_row_step_previous_left. bcf_previous_code_mkm_binpositive_point_choose_table = bcf_quotient_mkm_binpositive_point_choose_table_row_step_previous_left * S ((S (bcf_predecessor_mkm_binpositive_point_choose_table_row_step)) * bcf_previous_scale_mkm_binpositive_point_choose_table) + (bcf_left_mkm_binpositive_point_choose_table_row_step))) /\ ((((exists bcf_height_mkm_binpositive_point_choose_table_row_step_previous_right. bcf_height_mkm_binpositive_point_choose_table_row_step_previous_right + S (bcf_right_mkm_binpositive_point_choose_table_row_step) = S ((S (S (bcf_predecessor_mkm_binpositive_point_choose_table_row_step))) * bcf_previous_scale_mkm_binpositive_point_choose_table)) /\ exists bcf_quotient_mkm_binpositive_point_choose_table_row_step_previous_right. bcf_previous_code_mkm_binpositive_point_choose_table = bcf_quotient_mkm_binpositive_point_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_mkm_binpositive_point_choose_table_row_step))) * bcf_previous_scale_mkm_binpositive_point_choose_table) + (bcf_right_mkm_binpositive_point_choose_table_row_step))) /\ bcf_value_mkm_binpositive_point_choose_table_row_step = bcf_left_mkm_binpositive_point_choose_table_row_step + bcf_right_mkm_binpositive_point_choose_table_row_step))))))))))) /\ ((((exists bcf_height_mkm_binpositive_point_choose_decoded_row_code. bcf_height_mkm_binpositive_point_choose_decoded_row_code + S (bcf_row_code_mkm_binpositive_point_choose) = S ((S (mkm_partial_binpositive_point + mkm_value_binpositive_point)) * bcf_row_code_scale_mkm_binpositive_point_choose)) /\ exists bcf_quotient_mkm_binpositive_point_choose_decoded_row_code. bcf_row_code_code_mkm_binpositive_point_choose = bcf_quotient_mkm_binpositive_point_choose_decoded_row_code * S ((S (mkm_partial_binpositive_point + mkm_value_binpositive_point)) * bcf_row_code_scale_mkm_binpositive_point_choose) + (bcf_row_code_mkm_binpositive_point_choose))) /\ ((((exists bcf_height_mkm_binpositive_point_choose_decoded_row_scale. bcf_height_mkm_binpositive_point_choose_decoded_row_scale + S (bcf_row_scale_mkm_binpositive_point_choose) = S ((S (mkm_partial_binpositive_point + mkm_value_binpositive_point)) * bcf_row_scale_scale_mkm_binpositive_point_choose)) /\ exists bcf_quotient_mkm_binpositive_point_choose_decoded_row_scale. bcf_row_scale_code_mkm_binpositive_point_choose = bcf_quotient_mkm_binpositive_point_choose_decoded_row_scale * S ((S (mkm_partial_binpositive_point + mkm_value_binpositive_point)) * bcf_row_scale_scale_mkm_binpositive_point_choose) + (bcf_row_scale_mkm_binpositive_point_choose))) /\ (((exists bcf_height_mkm_binpositive_point_choose_decoded_value. bcf_height_mkm_binpositive_point_choose_decoded_value + S (mkm_factor_binpositive_point) = S ((S (mkm_partial_binpositive_point)) * bcf_row_scale_mkm_binpositive_point_choose)) /\ exists bcf_quotient_mkm_binpositive_point_choose_decoded_value. bcf_row_code_mkm_binpositive_point_choose = bcf_quotient_mkm_binpositive_point_choose_decoded_value * S ((S (mkm_partial_binpositive_point)) * bcf_row_scale_mkm_binpositive_point_choose) + (mkm_factor_binpositive_point))))))))) /\ (((exists fs_h_mkm_binpositive_point_factor. fs_h_mkm_binpositive_point_factor + S (mkm_factor_binpositive_point) = S ((S (i)) * cc)) /\ exists fs_q_mkm_binpositive_point_factor. cb = fs_q_mkm_binpositive_point_factor * S ((S (i)) * cc) + (mkm_factor_binpositive_point))))) - 0015
specialize h i - 0016
apply h - 0017
exact hi - 0018
cases hpoint - 0019
cases hpoint_witness - 0020
cases hpoint_witness_witness - 0021
cases hpoint_witness_witness_witness - 0022
cases hpoint_witness_witness_witness_right - 0023
cases hpoint_witness_witness_witness_right_right - 0024
have hfactor : x2 = C - 0025
specialize beta_at_unique cb - 0026
specialize beta_at_unique cc - 0027
specialize beta_at_unique i - 0028
specialize beta_at_unique x2 - 0029
specialize beta_at_unique C - 0030
apply beta_at_unique - 0031
exact hpoint_witness_witness_witness_right_right_right - 0032
exact hC - 0033
have hpositive : exists q. x2 = S q - 0034
specialize choose_positive (x1 + x) - 0035
specialize choose_positive x1 - 0036
specialize choose_positive x2 - 0037
apply choose_positive - 0038
specialize le_add_right x1 - 0039
specialize le_add_right x - 0040
apply le_add_right - 0041
exact hpoint_witness_witness_witness_right_right_left - 0042
cases hpositive - 0043
have hsucc : S x3 = 0 - 0044
trans x2 - 0045
symm - 0046
exact hpositive_witness - 0047
trans C - 0048
exact hfactor - 0049
exact hzero - 0050
apply PA1 - 0051
exact hsucc