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 expanded first-order arithmetic statement
forall ab ac L AB AC K bb bc M N i db dc. (exists pfc_gap_tri_prefix_old_length. pfc_gap_tri_prefix_old_length+(N)=(L)) -> (exists pfc_gap_tri_prefix_new_length. pfc_gap_tri_prefix_new_length+(N)=(K)) -> (forall mdr_i_pfp_tri_prefix_equal mdr_a_pfp_tri_prefix_equal. (exists mdr_gap_pfp_tri_prefix_equalb. mdr_gap_pfp_tri_prefix_equalb + S (mdr_i_pfp_tri_prefix_equal) = (N)) -> (((exists ff_h_mdr_pfp_tri_prefix_equalo. ff_h_mdr_pfp_tri_prefix_equalo + S (mdr_a_pfp_tri_prefix_equal) = S ((S (mdr_i_pfp_tri_prefix_equal)) * ac)) /\ exists ff_q_mdr_pfp_tri_prefix_equalo. ab = ff_q_mdr_pfp_tri_prefix_equalo * S ((S (mdr_i_pfp_tri_prefix_equal)) * ac) + (mdr_a_pfp_tri_prefix_equal))) -> (((exists ff_h_mdr_pfp_tri_prefix_equaln. ff_h_mdr_pfp_tri_prefix_equaln + S (mdr_a_pfp_tri_prefix_equal) = S ((S (mdr_i_pfp_tri_prefix_equal)) * AC)) /\ exists ff_q_mdr_pfp_tri_prefix_equaln. AB = ff_q_mdr_pfp_tri_prefix_equaln * S ((S (mdr_i_pfp_tri_prefix_equal)) * AC) + (mdr_a_pfp_tri_prefix_equal)))) -> (forall pfc_index_tri_prefix_old. (exists pfa_gap_tri_prefix_oldbound. pfa_gap_tri_prefix_oldbound + S (pfc_index_tri_prefix_old) = (N)) -> exists pfc_value_tri_prefix_old. ((((exists ff_h_pfp_tri_prefix_oldentry. ff_h_pfp_tri_prefix_oldentry + S (pfc_value_tri_prefix_old) = S ((S (pfc_index_tri_prefix_old)) * dc)) /\ exists ff_q_pfp_tri_prefix_oldentry. db = ff_q_pfp_tri_prefix_oldentry * S ((S (pfc_index_tri_prefix_old)) * dc) + (pfc_value_tri_prefix_old))) /\ ((exists pfc_complement_tri_prefix_oldterm pfc_left_tri_prefix_oldterm pfc_right_tri_prefix_oldterm. (((pfc_index_tri_prefix_old)+pfc_complement_tri_prefix_oldterm=(i)) /\ ((((((exists pfa_gap_tri_prefix_oldtermleftinside. pfa_gap_tri_prefix_oldtermleftinside + S (pfc_index_tri_prefix_old) = (L)) /\ ((((exists ff_h_pfp_tri_prefix_oldtermleftentry. ff_h_pfp_tri_prefix_oldtermleftentry + S (pfc_left_tri_prefix_oldterm) = S ((S (pfc_index_tri_prefix_old)) * ac)) /\ exists ff_q_pfp_tri_prefix_oldtermleftentry. ab = ff_q_pfp_tri_prefix_oldtermleftentry * S ((S (pfc_index_tri_prefix_old)) * ac) + (pfc_left_tri_prefix_oldterm)))))) \/ (((exists pfc_gap_tri_prefix_oldtermleftoutside. pfc_gap_tri_prefix_oldtermleftoutside+(L)=(pfc_index_tri_prefix_old)) /\ (((pfc_left_tri_prefix_oldterm)=0))))) /\ ((((((exists pfa_gap_tri_prefix_oldtermrightinside. pfa_gap_tri_prefix_oldtermrightinside + S (pfc_complement_tri_prefix_oldterm) = (M)) /\ ((((exists ff_h_pfp_tri_prefix_oldtermrightentry. ff_h_pfp_tri_prefix_oldtermrightentry + S (pfc_right_tri_prefix_oldterm) = S ((S (pfc_complement_tri_prefix_oldterm)) * bc)) /\ exists ff_q_pfp_tri_prefix_oldtermrightentry. bb = ff_q_pfp_tri_prefix_oldtermrightentry * S ((S (pfc_complement_tri_prefix_oldterm)) * bc) + (pfc_right_tri_prefix_oldterm)))))) \/ (((exists pfc_gap_tri_prefix_oldtermrightoutside. pfc_gap_tri_prefix_oldtermrightoutside+(M)=(pfc_complement_tri_prefix_oldterm)) /\ (((pfc_right_tri_prefix_oldterm)=0))))) /\ (((pfc_value_tri_prefix_old)=pfc_left_tri_prefix_oldterm*pfc_right_tri_prefix_oldterm))))))))))) -> (forall pfc_index_tri_prefix_new. (exists pfa_gap_tri_prefix_newbound. pfa_gap_tri_prefix_newbound + S (pfc_index_tri_prefix_new) = (N)) -> exists pfc_value_tri_prefix_new. ((((exists ff_h_pfp_tri_prefix_newentry. ff_h_pfp_tri_prefix_newentry + S (pfc_value_tri_prefix_new) = S ((S (pfc_index_tri_prefix_new)) * dc)) /\ exists ff_q_pfp_tri_prefix_newentry. db = ff_q_pfp_tri_prefix_newentry * S ((S (pfc_index_tri_prefix_new)) * dc) + (pfc_value_tri_prefix_new))) /\ ((exists pfc_complement_tri_prefix_newterm pfc_left_tri_prefix_newterm pfc_right_tri_prefix_newterm. (((pfc_index_tri_prefix_new)+pfc_complement_tri_prefix_newterm=(i)) /\ ((((((exists pfa_gap_tri_prefix_newtermleftinside. pfa_gap_tri_prefix_newtermleftinside + S (pfc_index_tri_prefix_new) = (K)) /\ ((((exists ff_h_pfp_tri_prefix_newtermleftentry. ff_h_pfp_tri_prefix_newtermleftentry + S (pfc_left_tri_prefix_newterm) = S ((S (pfc_index_tri_prefix_new)) * AC)) /\ exists ff_q_pfp_tri_prefix_newtermleftentry. AB = ff_q_pfp_tri_prefix_newtermleftentry * S ((S (pfc_index_tri_prefix_new)) * AC) + (pfc_left_tri_prefix_newterm)))))) \/ (((exists pfc_gap_tri_prefix_newtermleftoutside. pfc_gap_tri_prefix_newtermleftoutside+(K)=(pfc_index_tri_prefix_new)) /\ (((pfc_left_tri_prefix_newterm)=0))))) /\ ((((((exists pfa_gap_tri_prefix_newtermrightinside. pfa_gap_tri_prefix_newtermrightinside + S (pfc_complement_tri_prefix_newterm) = (M)) /\ ((((exists ff_h_pfp_tri_prefix_newtermrightentry. ff_h_pfp_tri_prefix_newtermrightentry + S (pfc_right_tri_prefix_newterm) = S ((S (pfc_complement_tri_prefix_newterm)) * bc)) /\ exists ff_q_pfp_tri_prefix_newtermrightentry. bb = ff_q_pfp_tri_prefix_newtermrightentry * S ((S (pfc_complement_tri_prefix_newterm)) * bc) + (pfc_right_tri_prefix_newterm)))))) \/ (((exists pfc_gap_tri_prefix_newtermrightoutside. pfc_gap_tri_prefix_newtermrightoutside+(M)=(pfc_complement_tri_prefix_newterm)) /\ (((pfc_right_tri_prefix_newterm)=0))))) /\ (((pfc_value_tri_prefix_new)=pfc_left_tri_prefix_newterm*pfc_right_tri_prefix_newterm)))))))))))Constructive proof overview
Generated structural guide
The same actual first-N antidiagonal table remains valid after a left input prefix extension.
The unchanged tactic script uses 1 declared prerequisite and contains 47 exact native proof lines.
Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
Direct 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.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–19
03Establish htL20–23
04Separate the logical casesL24–25
05Construct an explicit witnessL26–26
Supply the displayed value, then prove that it has the required property.
- L26
exists x
06Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
split
07Use earlier factsL28–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
exact ht_witness_left - L29
specialize polynomial_diagonal_left_prefix_transport (ab) - L30
specialize polynomial_diagonal_left_prefix_transport (ac) - L31
specialize polynomial_diagonal_left_prefix_transport (L) - L32
specialize polynomial_diagonal_left_prefix_transport (AB) - L33
specialize polynomial_diagonal_left_prefix_transport (AC) - L34
specialize polynomial_diagonal_left_prefix_transport (K) - L35
specialize polynomial_diagonal_left_prefix_transport (bb) - L36
specialize polynomial_diagonal_left_prefix_transport (bc) - L37
specialize polynomial_diagonal_left_prefix_transport (M)
08Use earlier factsL38–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
specialize polynomial_diagonal_left_prefix_transport (N) - L39
specialize polynomial_diagonal_left_prefix_transport (i) - L40
specialize polynomial_diagonal_left_prefix_transport (j) - L41
specialize polynomial_diagonal_left_prefix_transport (x) - L42
apply polynomial_diagonal_left_prefix_transport - L43
exact hl - L44
exact hk - L45
exact he - L46
exact hj - L47
exact ht_witness_right
Original exact command ledger · 47 lines
- 0001
intro ab - 0002
intro ac - 0003
intro L - 0004
intro AB - 0005
intro AC - 0006
intro K - 0007
intro bb - 0008
intro bc - 0009
intro M - 0010
intro N - 0011
intro i - 0012
intro db - 0013
intro dc - 0014
intro hl - 0015
intro hk - 0016
intro he - 0017
intro hd - 0018
intro j - 0019
intro hj - 0020
have ht : exists t. ((((exists ff_h_pfp_tri_prefix_chosen_entry. ff_h_pfp_tri_prefix_chosen_entry + S (t) = S ((S (j)) * dc)) /\ exists ff_q_pfp_tri_prefix_chosen_entry. db = ff_q_pfp_tri_prefix_chosen_entry * S ((S (j)) * dc) + (t))) /\ ((exists pfc_complement_tri_prefix_chosen_term pfc_left_tri_prefix_chosen_term pfc_right_tri_prefix_chosen_term. (((j)+pfc_complement_tri_prefix_chosen_term=(i)) /\ ((((((exists pfa_gap_tri_prefix_chosen_termleftinside. pfa_gap_tri_prefix_chosen_termleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_tri_prefix_chosen_termleftentry. ff_h_pfp_tri_prefix_chosen_termleftentry + S (pfc_left_tri_prefix_chosen_term) = S ((S (j)) * ac)) /\ exists ff_q_pfp_tri_prefix_chosen_termleftentry. ab = ff_q_pfp_tri_prefix_chosen_termleftentry * S ((S (j)) * ac) + (pfc_left_tri_prefix_chosen_term)))))) \/ (((exists pfc_gap_tri_prefix_chosen_termleftoutside. pfc_gap_tri_prefix_chosen_termleftoutside+(L)=(j)) /\ (((pfc_left_tri_prefix_chosen_term)=0))))) /\ ((((((exists pfa_gap_tri_prefix_chosen_termrightinside. pfa_gap_tri_prefix_chosen_termrightinside + S (pfc_complement_tri_prefix_chosen_term) = (M)) /\ ((((exists ff_h_pfp_tri_prefix_chosen_termrightentry. ff_h_pfp_tri_prefix_chosen_termrightentry + S (pfc_right_tri_prefix_chosen_term) = S ((S (pfc_complement_tri_prefix_chosen_term)) * bc)) /\ exists ff_q_pfp_tri_prefix_chosen_termrightentry. bb = ff_q_pfp_tri_prefix_chosen_termrightentry * S ((S (pfc_complement_tri_prefix_chosen_term)) * bc) + (pfc_right_tri_prefix_chosen_term)))))) \/ (((exists pfc_gap_tri_prefix_chosen_termrightoutside. pfc_gap_tri_prefix_chosen_termrightoutside+(M)=(pfc_complement_tri_prefix_chosen_term)) /\ (((pfc_right_tri_prefix_chosen_term)=0))))) /\ (((t)=pfc_left_tri_prefix_chosen_term*pfc_right_tri_prefix_chosen_term)))))))))) - 0021
specialize hd (j) - 0022
apply hd - 0023
exact hj - 0024
cases ht - 0025
cases ht_witness - 0026
exists x - 0027
split - 0028
exact ht_witness_left - 0029
specialize polynomial_diagonal_left_prefix_transport (ab) - 0030
specialize polynomial_diagonal_left_prefix_transport (ac) - 0031
specialize polynomial_diagonal_left_prefix_transport (L) - 0032
specialize polynomial_diagonal_left_prefix_transport (AB) - 0033
specialize polynomial_diagonal_left_prefix_transport (AC) - 0034
specialize polynomial_diagonal_left_prefix_transport (K) - 0035
specialize polynomial_diagonal_left_prefix_transport (bb) - 0036
specialize polynomial_diagonal_left_prefix_transport (bc) - 0037
specialize polynomial_diagonal_left_prefix_transport (M) - 0038
specialize polynomial_diagonal_left_prefix_transport (N) - 0039
specialize polynomial_diagonal_left_prefix_transport (i) - 0040
specialize polynomial_diagonal_left_prefix_transport (j) - 0041
specialize polynomial_diagonal_left_prefix_transport (x) - 0042
apply polynomial_diagonal_left_prefix_transport - 0043
exact hl - 0044
exact hk - 0045
exact he - 0046
exact hj - 0047
exact ht_witness_right