PA00F3 · theorem

eisenstein_fubini_column_count_prefix_succ_restrict

Alpha v34 checked-use theorem · independently closed; not Stable

A semantic column-count prefix restricts from successor length to predecessor length.

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

∀ p. ∀ q. ∀ h. ∀ sh. ∀ bb. ∀ bc. ∀ db. ∀ dc. ∀ k. sh = S h → (∀ x. Lt(x,sh) → ∃ y. BetaAt(db,dc,x,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,k) → ∃ i. BetaAt(z,n,m,i) ∧ (∃ j. ∃ u. ∃ v. BetaAt(bb,bc,m,j) ∧ (∀ w. Lt(w,sh) → ∃ x0. BetaAt(u,v,w,x0) ∧ (x0 = 0 ∧ (Lt(p · S m,q · S w) ∧ ¬Lt(q · S w,p · S m)) ∨ x0 = 1 ∧ (Lt(q · S w,p · S m) ∧ ¬Lt(p · S m,q · S w)))) ∧ BitCount(u,v,sh,j)BetaAt(u,v,x,i))) ∧ BitCount(z,n,k,y))) → ∀ x. Lt(x,h) → ∃ y. BetaAt(db,dc,x,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,k) → ∃ i. BetaAt(z,n,m,i) ∧ (∃ j. ∃ u. ∃ v. BetaAt(bb,bc,m,j) ∧ (∀ w. Lt(w,sh) → ∃ x0. BetaAt(u,v,w,x0) ∧ (x0 = 0 ∧ (Lt(p · S m,q · S w) ∧ ¬Lt(q · S w,p · S m)) ∨ x0 = 1 ∧ (Lt(q · S w,p · S m) ∧ ¬Lt(p · S m,q · S w)))) ∧ BitCount(u,v,sh,j)BetaAt(u,v,x,i))) ∧ BitCount(z,n,k,y))

Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.

Definitions used by this theorem

In the theorem statement

28 occurrences

In local proof propositions

none

0 occurrences

Exact expanded native-PA statement
forall p q h sh bb bc db dc k. sh = S h -> (forall eft_fixed_index_fubini_total_restrict_successor. (exists edt_lt_gap_eft_fubini_total_restrict_successor_bound. edt_lt_gap_eft_fubini_total_restrict_successor_bound + S (eft_fixed_index_fubini_total_restrict_successor) = sh) -> exists eft_count_fubini_total_restrict_successor. ((((exists ff_h_eft_fubini_total_restrict_successor_decoded. ff_h_eft_fubini_total_restrict_successor_decoded + S (eft_count_fubini_total_restrict_successor) = S ((S (eft_fixed_index_fubini_total_restrict_successor)) * dc)) /\ exists ff_q_eft_fubini_total_restrict_successor_decoded. db = ff_q_eft_fubini_total_restrict_successor_decoded * S ((S (eft_fixed_index_fubini_total_restrict_successor)) * dc) + (eft_count_fubini_total_restrict_successor))) /\ (exists eft_column_code_fubini_total_restrict_successor_witness eft_column_scale_fubini_total_restrict_successor_witness. ((forall etc_row_index_eft_fubini_total_restrict_successor_witness_column. (exists edt_lt_gap_eft_fubini_total_restrict_successor_witness_column_bound. edt_lt_gap_eft_fubini_total_restrict_successor_witness_column_bound + S (etc_row_index_eft_fubini_total_restrict_successor_witness_column) = k) -> exists etc_bit_eft_fubini_total_restrict_successor_witness_column. ((((exists ff_h_etc_eft_fubini_total_restrict_successor_witness_column_decoded. ff_h_etc_eft_fubini_total_restrict_successor_witness_column_decoded + S (etc_bit_eft_fubini_total_restrict_successor_witness_column) = S ((S (etc_row_index_eft_fubini_total_restrict_successor_witness_column)) * eft_column_scale_fubini_total_restrict_successor_witness)) /\ exists ff_q_etc_eft_fubini_total_restrict_successor_witness_column_decoded. eft_column_code_fubini_total_restrict_successor_witness = ff_q_etc_eft_fubini_total_restrict_successor_witness_column_decoded * S ((S (etc_row_index_eft_fubini_total_restrict_successor_witness_column)) * eft_column_scale_fubini_total_restrict_successor_witness) + (etc_bit_eft_fubini_total_restrict_successor_witness_column))) /\ (exists etc_count_eft_fubini_total_restrict_successor_witness_column_witness etc_row_code_eft_fubini_total_restrict_successor_witness_column_witness etc_row_scale_eft_fubini_total_restrict_successor_witness_column_witness. ((((((exists ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_outer_entry. ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_outer_entry + S (etc_count_eft_fubini_total_restrict_successor_witness_column_witness) = S ((S (etc_row_index_eft_fubini_total_restrict_successor_witness_column)) * bc)) /\ exists ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_outer_entry. bb = ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_outer_entry * S ((S (etc_row_index_eft_fubini_total_restrict_successor_witness_column)) * bc) + (etc_count_eft_fubini_total_restrict_successor_witness_column_witness))) /\ (forall eri_column_etc_eft_fubini_total_restrict_successor_witness_column_witness_row. (exists eri_gap_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_bound. eri_gap_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_bound + S (eri_column_etc_eft_fubini_total_restrict_successor_witness_column_witness_row) = sh) -> exists eri_bit_etc_eft_fubini_total_restrict_successor_witness_column_witness_row. ((((exists ff_h_eri_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_decoded. ff_h_eri_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_decoded + S (eri_bit_etc_eft_fubini_total_restrict_successor_witness_column_witness_row) = S ((S (eri_column_etc_eft_fubini_total_restrict_successor_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_restrict_successor_witness_column_witness)) /\ exists ff_q_eri_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_decoded. etc_row_code_eft_fubini_total_restrict_successor_witness_column_witness = ff_q_eri_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_decoded * S ((S (eri_column_etc_eft_fubini_total_restrict_successor_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_restrict_successor_witness_column_witness) + (eri_bit_etc_eft_fubini_total_restrict_successor_witness_column_witness_row))) /\ (((eri_bit_etc_eft_fubini_total_restrict_successor_witness_column_witness_row = 0 /\ ((exists eri_gap_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_restrict_successor_witness_column) = q * S eri_column_etc_eft_fubini_total_restrict_successor_witness_column_witness_row) /\ ~(exists eri_gap_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_restrict_successor_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_restrict_successor_witness_column))) \/ (eri_bit_etc_eft_fubini_total_restrict_successor_witness_column_witness_row = 1 /\ ((exists eri_gap_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_restrict_successor_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_restrict_successor_witness_column) /\ ~(exists eri_gap_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_restrict_successor_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_restrict_successor_witness_column) = q * S eri_column_etc_eft_fubini_total_restrict_successor_witness_column_witness_row)))))))) /\ (((exists ff_u_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum ff_v_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_start. ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_start. ff_u_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_terminal. ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_terminal + S (etc_count_eft_fubini_total_restrict_successor_witness_column_witness) = S ((S (sh)) * ff_v_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_terminal. ff_u_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_terminal * S ((S (sh)) * ff_v_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum) + (etc_count_eft_fubini_total_restrict_successor_witness_column_witness))) /\ forall ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum. (exists ff_lt_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_bound. ff_lt_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_bound + S ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum = sh) -> exists ff_a_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum ff_r_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum ff_s_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_summand. ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_summand + S (ff_a_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_restrict_successor_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_summand. etc_row_code_eft_fubini_total_restrict_successor_witness_column_witness = ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_summand * S ((S (ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_restrict_successor_witness_column_witness) + (ff_a_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_partial. ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_partial + S (ff_r_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_partial. ff_u_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_partial * S ((S (ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum) + (ff_r_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_successor. ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_successor + S (ff_s_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum) = S ((S (S ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_successor. ff_u_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum_successor * S ((S (S ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum) + (ff_s_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum))) /\ ff_s_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum = ff_r_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum + ff_a_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_sum)))))) /\ (forall ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits. (exists ff_lt_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits_bound. ff_lt_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits_bound + S ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits = sh) -> exists ff_bit_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits. ((((exists ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits_decoded. ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits_decoded + S (ff_bit_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits) = S ((S (ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_restrict_successor_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits_decoded. etc_row_code_eft_fubini_total_restrict_successor_witness_column_witness = ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits_decoded * S ((S (ff_i_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_restrict_successor_witness_column_witness) + (ff_bit_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits))) /\ (ff_bit_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits = 0 \/ ff_bit_etc_eft_fubini_total_restrict_successor_witness_column_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_inner_entry. ff_h_etc_eft_fubini_total_restrict_successor_witness_column_witness_inner_entry + S (etc_bit_eft_fubini_total_restrict_successor_witness_column) = S ((S (eft_fixed_index_fubini_total_restrict_successor)) * etc_row_scale_eft_fubini_total_restrict_successor_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_inner_entry. etc_row_code_eft_fubini_total_restrict_successor_witness_column_witness = ff_q_etc_eft_fubini_total_restrict_successor_witness_column_witness_inner_entry * S ((S (eft_fixed_index_fubini_total_restrict_successor)) * etc_row_scale_eft_fubini_total_restrict_successor_witness_column_witness) + (etc_bit_eft_fubini_total_restrict_successor_witness_column))))))) /\ (((exists ff_u_eft_fubini_total_restrict_successor_witness_count_sum ff_v_eft_fubini_total_restrict_successor_witness_count_sum. ((((exists ff_h_eft_fubini_total_restrict_successor_witness_count_sum_start. ff_h_eft_fubini_total_restrict_successor_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_eft_fubini_total_restrict_successor_witness_count_sum)) /\ exists ff_q_eft_fubini_total_restrict_successor_witness_count_sum_start. ff_u_eft_fubini_total_restrict_successor_witness_count_sum = ff_q_eft_fubini_total_restrict_successor_witness_count_sum_start * S ((S (0)) * ff_v_eft_fubini_total_restrict_successor_witness_count_sum) + (0))) /\ ((((exists ff_h_eft_fubini_total_restrict_successor_witness_count_sum_terminal. ff_h_eft_fubini_total_restrict_successor_witness_count_sum_terminal + S (eft_count_fubini_total_restrict_successor) = S ((S (k)) * ff_v_eft_fubini_total_restrict_successor_witness_count_sum)) /\ exists ff_q_eft_fubini_total_restrict_successor_witness_count_sum_terminal. ff_u_eft_fubini_total_restrict_successor_witness_count_sum = ff_q_eft_fubini_total_restrict_successor_witness_count_sum_terminal * S ((S (k)) * ff_v_eft_fubini_total_restrict_successor_witness_count_sum) + (eft_count_fubini_total_restrict_successor))) /\ forall ff_i_eft_fubini_total_restrict_successor_witness_count_sum. (exists ff_lt_eft_fubini_total_restrict_successor_witness_count_sum_bound. ff_lt_eft_fubini_total_restrict_successor_witness_count_sum_bound + S ff_i_eft_fubini_total_restrict_successor_witness_count_sum = k) -> exists ff_a_eft_fubini_total_restrict_successor_witness_count_sum ff_r_eft_fubini_total_restrict_successor_witness_count_sum ff_s_eft_fubini_total_restrict_successor_witness_count_sum. ((((exists ff_h_eft_fubini_total_restrict_successor_witness_count_sum_summand. ff_h_eft_fubini_total_restrict_successor_witness_count_sum_summand + S (ff_a_eft_fubini_total_restrict_successor_witness_count_sum) = S ((S (ff_i_eft_fubini_total_restrict_successor_witness_count_sum)) * eft_column_scale_fubini_total_restrict_successor_witness)) /\ exists ff_q_eft_fubini_total_restrict_successor_witness_count_sum_summand. eft_column_code_fubini_total_restrict_successor_witness = ff_q_eft_fubini_total_restrict_successor_witness_count_sum_summand * S ((S (ff_i_eft_fubini_total_restrict_successor_witness_count_sum)) * eft_column_scale_fubini_total_restrict_successor_witness) + (ff_a_eft_fubini_total_restrict_successor_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_restrict_successor_witness_count_sum_partial. ff_h_eft_fubini_total_restrict_successor_witness_count_sum_partial + S (ff_r_eft_fubini_total_restrict_successor_witness_count_sum) = S ((S (ff_i_eft_fubini_total_restrict_successor_witness_count_sum)) * ff_v_eft_fubini_total_restrict_successor_witness_count_sum)) /\ exists ff_q_eft_fubini_total_restrict_successor_witness_count_sum_partial. ff_u_eft_fubini_total_restrict_successor_witness_count_sum = ff_q_eft_fubini_total_restrict_successor_witness_count_sum_partial * S ((S (ff_i_eft_fubini_total_restrict_successor_witness_count_sum)) * ff_v_eft_fubini_total_restrict_successor_witness_count_sum) + (ff_r_eft_fubini_total_restrict_successor_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_restrict_successor_witness_count_sum_successor. ff_h_eft_fubini_total_restrict_successor_witness_count_sum_successor + S (ff_s_eft_fubini_total_restrict_successor_witness_count_sum) = S ((S (S ff_i_eft_fubini_total_restrict_successor_witness_count_sum)) * ff_v_eft_fubini_total_restrict_successor_witness_count_sum)) /\ exists ff_q_eft_fubini_total_restrict_successor_witness_count_sum_successor. ff_u_eft_fubini_total_restrict_successor_witness_count_sum = ff_q_eft_fubini_total_restrict_successor_witness_count_sum_successor * S ((S (S ff_i_eft_fubini_total_restrict_successor_witness_count_sum)) * ff_v_eft_fubini_total_restrict_successor_witness_count_sum) + (ff_s_eft_fubini_total_restrict_successor_witness_count_sum))) /\ ff_s_eft_fubini_total_restrict_successor_witness_count_sum = ff_r_eft_fubini_total_restrict_successor_witness_count_sum + ff_a_eft_fubini_total_restrict_successor_witness_count_sum)))))) /\ (forall ff_i_eft_fubini_total_restrict_successor_witness_count_bits. (exists ff_lt_eft_fubini_total_restrict_successor_witness_count_bits_bound. ff_lt_eft_fubini_total_restrict_successor_witness_count_bits_bound + S ff_i_eft_fubini_total_restrict_successor_witness_count_bits = k) -> exists ff_bit_eft_fubini_total_restrict_successor_witness_count_bits. ((((exists ff_h_eft_fubini_total_restrict_successor_witness_count_bits_decoded. ff_h_eft_fubini_total_restrict_successor_witness_count_bits_decoded + S (ff_bit_eft_fubini_total_restrict_successor_witness_count_bits) = S ((S (ff_i_eft_fubini_total_restrict_successor_witness_count_bits)) * eft_column_scale_fubini_total_restrict_successor_witness)) /\ exists ff_q_eft_fubini_total_restrict_successor_witness_count_bits_decoded. eft_column_code_fubini_total_restrict_successor_witness = ff_q_eft_fubini_total_restrict_successor_witness_count_bits_decoded * S ((S (ff_i_eft_fubini_total_restrict_successor_witness_count_bits)) * eft_column_scale_fubini_total_restrict_successor_witness) + (ff_bit_eft_fubini_total_restrict_successor_witness_count_bits))) /\ (ff_bit_eft_fubini_total_restrict_successor_witness_count_bits = 0 \/ ff_bit_eft_fubini_total_restrict_successor_witness_count_bits = 1))))))))) -> (forall eft_fixed_index_fubini_total_restrict_predecessor. (exists edt_lt_gap_eft_fubini_total_restrict_predecessor_bound. edt_lt_gap_eft_fubini_total_restrict_predecessor_bound + S (eft_fixed_index_fubini_total_restrict_predecessor) = h) -> exists eft_count_fubini_total_restrict_predecessor. ((((exists ff_h_eft_fubini_total_restrict_predecessor_decoded. ff_h_eft_fubini_total_restrict_predecessor_decoded + S (eft_count_fubini_total_restrict_predecessor) = S ((S (eft_fixed_index_fubini_total_restrict_predecessor)) * dc)) /\ exists ff_q_eft_fubini_total_restrict_predecessor_decoded. db = ff_q_eft_fubini_total_restrict_predecessor_decoded * S ((S (eft_fixed_index_fubini_total_restrict_predecessor)) * dc) + (eft_count_fubini_total_restrict_predecessor))) /\ (exists eft_column_code_fubini_total_restrict_predecessor_witness eft_column_scale_fubini_total_restrict_predecessor_witness. ((forall etc_row_index_eft_fubini_total_restrict_predecessor_witness_column. (exists edt_lt_gap_eft_fubini_total_restrict_predecessor_witness_column_bound. edt_lt_gap_eft_fubini_total_restrict_predecessor_witness_column_bound + S (etc_row_index_eft_fubini_total_restrict_predecessor_witness_column) = k) -> exists etc_bit_eft_fubini_total_restrict_predecessor_witness_column. ((((exists ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_decoded. ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_decoded + S (etc_bit_eft_fubini_total_restrict_predecessor_witness_column) = S ((S (etc_row_index_eft_fubini_total_restrict_predecessor_witness_column)) * eft_column_scale_fubini_total_restrict_predecessor_witness)) /\ exists ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_decoded. eft_column_code_fubini_total_restrict_predecessor_witness = ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_decoded * S ((S (etc_row_index_eft_fubini_total_restrict_predecessor_witness_column)) * eft_column_scale_fubini_total_restrict_predecessor_witness) + (etc_bit_eft_fubini_total_restrict_predecessor_witness_column))) /\ (exists etc_count_eft_fubini_total_restrict_predecessor_witness_column_witness etc_row_code_eft_fubini_total_restrict_predecessor_witness_column_witness etc_row_scale_eft_fubini_total_restrict_predecessor_witness_column_witness. ((((((exists ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_outer_entry. ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_outer_entry + S (etc_count_eft_fubini_total_restrict_predecessor_witness_column_witness) = S ((S (etc_row_index_eft_fubini_total_restrict_predecessor_witness_column)) * bc)) /\ exists ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_outer_entry. bb = ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_outer_entry * S ((S (etc_row_index_eft_fubini_total_restrict_predecessor_witness_column)) * bc) + (etc_count_eft_fubini_total_restrict_predecessor_witness_column_witness))) /\ (forall eri_column_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row. (exists eri_gap_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_bound. eri_gap_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_bound + S (eri_column_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row) = sh) -> exists eri_bit_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row. ((((exists ff_h_eri_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_decoded. ff_h_eri_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_decoded + S (eri_bit_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row) = S ((S (eri_column_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_restrict_predecessor_witness_column_witness)) /\ exists ff_q_eri_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_decoded. etc_row_code_eft_fubini_total_restrict_predecessor_witness_column_witness = ff_q_eri_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_decoded * S ((S (eri_column_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_restrict_predecessor_witness_column_witness) + (eri_bit_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row))) /\ (((eri_bit_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row = 0 /\ ((exists eri_gap_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_restrict_predecessor_witness_column) = q * S eri_column_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row) /\ ~(exists eri_gap_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_restrict_predecessor_witness_column))) \/ (eri_bit_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row = 1 /\ ((exists eri_gap_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_restrict_predecessor_witness_column) /\ ~(exists eri_gap_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_restrict_predecessor_witness_column) = q * S eri_column_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_row)))))))) /\ (((exists ff_u_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum ff_v_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_start. ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_start. ff_u_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_terminal. ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_terminal + S (etc_count_eft_fubini_total_restrict_predecessor_witness_column_witness) = S ((S (sh)) * ff_v_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_terminal. ff_u_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_terminal * S ((S (sh)) * ff_v_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum) + (etc_count_eft_fubini_total_restrict_predecessor_witness_column_witness))) /\ forall ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum. (exists ff_lt_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_bound. ff_lt_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_bound + S ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum = sh) -> exists ff_a_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum ff_r_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum ff_s_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_summand. ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_summand + S (ff_a_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_restrict_predecessor_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_summand. etc_row_code_eft_fubini_total_restrict_predecessor_witness_column_witness = ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_summand * S ((S (ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_restrict_predecessor_witness_column_witness) + (ff_a_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_partial. ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_partial + S (ff_r_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_partial. ff_u_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_partial * S ((S (ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum) + (ff_r_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_successor. ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_successor + S (ff_s_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum) = S ((S (S ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_successor. ff_u_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum_successor * S ((S (S ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum) + (ff_s_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum))) /\ ff_s_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum = ff_r_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum + ff_a_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_sum)))))) /\ (forall ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits. (exists ff_lt_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits_bound. ff_lt_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits_bound + S ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits = sh) -> exists ff_bit_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits. ((((exists ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits_decoded. ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits_decoded + S (ff_bit_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits) = S ((S (ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_restrict_predecessor_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits_decoded. etc_row_code_eft_fubini_total_restrict_predecessor_witness_column_witness = ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits_decoded * S ((S (ff_i_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_restrict_predecessor_witness_column_witness) + (ff_bit_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits))) /\ (ff_bit_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits = 0 \/ ff_bit_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_inner_entry. ff_h_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_inner_entry + S (etc_bit_eft_fubini_total_restrict_predecessor_witness_column) = S ((S (eft_fixed_index_fubini_total_restrict_predecessor)) * etc_row_scale_eft_fubini_total_restrict_predecessor_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_inner_entry. etc_row_code_eft_fubini_total_restrict_predecessor_witness_column_witness = ff_q_etc_eft_fubini_total_restrict_predecessor_witness_column_witness_inner_entry * S ((S (eft_fixed_index_fubini_total_restrict_predecessor)) * etc_row_scale_eft_fubini_total_restrict_predecessor_witness_column_witness) + (etc_bit_eft_fubini_total_restrict_predecessor_witness_column))))))) /\ (((exists ff_u_eft_fubini_total_restrict_predecessor_witness_count_sum ff_v_eft_fubini_total_restrict_predecessor_witness_count_sum. ((((exists ff_h_eft_fubini_total_restrict_predecessor_witness_count_sum_start. ff_h_eft_fubini_total_restrict_predecessor_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_eft_fubini_total_restrict_predecessor_witness_count_sum)) /\ exists ff_q_eft_fubini_total_restrict_predecessor_witness_count_sum_start. ff_u_eft_fubini_total_restrict_predecessor_witness_count_sum = ff_q_eft_fubini_total_restrict_predecessor_witness_count_sum_start * S ((S (0)) * ff_v_eft_fubini_total_restrict_predecessor_witness_count_sum) + (0))) /\ ((((exists ff_h_eft_fubini_total_restrict_predecessor_witness_count_sum_terminal. ff_h_eft_fubini_total_restrict_predecessor_witness_count_sum_terminal + S (eft_count_fubini_total_restrict_predecessor) = S ((S (k)) * ff_v_eft_fubini_total_restrict_predecessor_witness_count_sum)) /\ exists ff_q_eft_fubini_total_restrict_predecessor_witness_count_sum_terminal. ff_u_eft_fubini_total_restrict_predecessor_witness_count_sum = ff_q_eft_fubini_total_restrict_predecessor_witness_count_sum_terminal * S ((S (k)) * ff_v_eft_fubini_total_restrict_predecessor_witness_count_sum) + (eft_count_fubini_total_restrict_predecessor))) /\ forall ff_i_eft_fubini_total_restrict_predecessor_witness_count_sum. (exists ff_lt_eft_fubini_total_restrict_predecessor_witness_count_sum_bound. ff_lt_eft_fubini_total_restrict_predecessor_witness_count_sum_bound + S ff_i_eft_fubini_total_restrict_predecessor_witness_count_sum = k) -> exists ff_a_eft_fubini_total_restrict_predecessor_witness_count_sum ff_r_eft_fubini_total_restrict_predecessor_witness_count_sum ff_s_eft_fubini_total_restrict_predecessor_witness_count_sum. ((((exists ff_h_eft_fubini_total_restrict_predecessor_witness_count_sum_summand. ff_h_eft_fubini_total_restrict_predecessor_witness_count_sum_summand + S (ff_a_eft_fubini_total_restrict_predecessor_witness_count_sum) = S ((S (ff_i_eft_fubini_total_restrict_predecessor_witness_count_sum)) * eft_column_scale_fubini_total_restrict_predecessor_witness)) /\ exists ff_q_eft_fubini_total_restrict_predecessor_witness_count_sum_summand. eft_column_code_fubini_total_restrict_predecessor_witness = ff_q_eft_fubini_total_restrict_predecessor_witness_count_sum_summand * S ((S (ff_i_eft_fubini_total_restrict_predecessor_witness_count_sum)) * eft_column_scale_fubini_total_restrict_predecessor_witness) + (ff_a_eft_fubini_total_restrict_predecessor_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_restrict_predecessor_witness_count_sum_partial. ff_h_eft_fubini_total_restrict_predecessor_witness_count_sum_partial + S (ff_r_eft_fubini_total_restrict_predecessor_witness_count_sum) = S ((S (ff_i_eft_fubini_total_restrict_predecessor_witness_count_sum)) * ff_v_eft_fubini_total_restrict_predecessor_witness_count_sum)) /\ exists ff_q_eft_fubini_total_restrict_predecessor_witness_count_sum_partial. ff_u_eft_fubini_total_restrict_predecessor_witness_count_sum = ff_q_eft_fubini_total_restrict_predecessor_witness_count_sum_partial * S ((S (ff_i_eft_fubini_total_restrict_predecessor_witness_count_sum)) * ff_v_eft_fubini_total_restrict_predecessor_witness_count_sum) + (ff_r_eft_fubini_total_restrict_predecessor_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_restrict_predecessor_witness_count_sum_successor. ff_h_eft_fubini_total_restrict_predecessor_witness_count_sum_successor + S (ff_s_eft_fubini_total_restrict_predecessor_witness_count_sum) = S ((S (S ff_i_eft_fubini_total_restrict_predecessor_witness_count_sum)) * ff_v_eft_fubini_total_restrict_predecessor_witness_count_sum)) /\ exists ff_q_eft_fubini_total_restrict_predecessor_witness_count_sum_successor. ff_u_eft_fubini_total_restrict_predecessor_witness_count_sum = ff_q_eft_fubini_total_restrict_predecessor_witness_count_sum_successor * S ((S (S ff_i_eft_fubini_total_restrict_predecessor_witness_count_sum)) * ff_v_eft_fubini_total_restrict_predecessor_witness_count_sum) + (ff_s_eft_fubini_total_restrict_predecessor_witness_count_sum))) /\ ff_s_eft_fubini_total_restrict_predecessor_witness_count_sum = ff_r_eft_fubini_total_restrict_predecessor_witness_count_sum + ff_a_eft_fubini_total_restrict_predecessor_witness_count_sum)))))) /\ (forall ff_i_eft_fubini_total_restrict_predecessor_witness_count_bits. (exists ff_lt_eft_fubini_total_restrict_predecessor_witness_count_bits_bound. ff_lt_eft_fubini_total_restrict_predecessor_witness_count_bits_bound + S ff_i_eft_fubini_total_restrict_predecessor_witness_count_bits = k) -> exists ff_bit_eft_fubini_total_restrict_predecessor_witness_count_bits. ((((exists ff_h_eft_fubini_total_restrict_predecessor_witness_count_bits_decoded. ff_h_eft_fubini_total_restrict_predecessor_witness_count_bits_decoded + S (ff_bit_eft_fubini_total_restrict_predecessor_witness_count_bits) = S ((S (ff_i_eft_fubini_total_restrict_predecessor_witness_count_bits)) * eft_column_scale_fubini_total_restrict_predecessor_witness)) /\ exists ff_q_eft_fubini_total_restrict_predecessor_witness_count_bits_decoded. eft_column_code_fubini_total_restrict_predecessor_witness = ff_q_eft_fubini_total_restrict_predecessor_witness_count_bits_decoded * S ((S (ff_i_eft_fubini_total_restrict_predecessor_witness_count_bits)) * eft_column_scale_fubini_total_restrict_predecessor_witness) + (ff_bit_eft_fubini_total_restrict_predecessor_witness_count_bits))) /\ (ff_bit_eft_fubini_total_restrict_predecessor_witness_count_bits = 0 \/ ff_bit_eft_fubini_total_restrict_predecessor_witness_count_bits = 1)))))))))

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.

Read the argument

Proof checkpoints

20 script commands · 5 reading checkpoints · 0 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (1)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro p
  2. L2
    intro q
  3. L3
    intro h
  4. L4
    intro sh
  5. L5
    intro bb
  6. L6
    intro bc
  7. L7
    intro db
  8. L8
    intro dc
  9. L9
    intro k
  10. L10
    intro hsh
02Fix variables and assumptionsL11–11

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

  1. L11
    intro hprefix
03Calculate and transport equalitiesL12–12

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L12
    rewrite hsh at hprefix
04Fix variables and assumptionsL13–14

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

  1. L13
    intro i
  2. L14
    intro hi
05Use earlier factsL15–20

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

  1. L15
    specialize hprefix i
  2. L16
    apply hprefix
  3. L17
    specialize le_succ (S i)
  4. L18
    specialize le_succ h
  5. L19
    apply le_succ
  6. L20
    exact hi

Library-wide reading audit

Original defined command ledger · 20 lines
  1. 0001intro p
  2. 0002intro q
  3. 0003intro h
  4. 0004intro sh
  5. 0005intro bb
  6. 0006intro bc
  7. 0007intro db
  8. 0008intro dc
  9. 0009intro k
  10. 0010intro hsh
  11. 0011intro hprefix
  12. 0012rewrite hsh at hprefix
  13. 0013intro i
  14. 0014intro hi
  15. 0015specialize hprefix i
  16. 0016apply hprefix
  17. 0017specialize le_succ (S i)
  18. 0018specialize le_succ h
  19. 0019apply le_succ
  20. 0020exact hi