DF0001

dirichlet_grid_entry_omitted

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Zero first or last factors and genuine nondivisor products give canonical zero without reading either zero-index input.

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 F G H n a e. ((a)=0 \/ ((e)=0 \/ ~(exists pvs_factor_omit_guardnondivisor. (n) = ((a)*(e)) * pvs_factor_omit_guardnondivisor))) -> ((((~((a)=0)) /\ (((~((e)=0)) /\ (exists dfg_middle_omit_result dfg_first_omit_result dfg_last_omit_result dfg_value_omit_result. (((n)=((a)*(e))*dfg_middle_omit_result) /\ (((exists dst_positive_code_omit_resultfirst dst_positive_scale_omit_resultfirst dst_negative_code_omit_resultfirst dst_negative_scale_omit_resultfirst dst_positive_omit_resultfirst dst_negative_omit_resultfirst. (((F) = (((((dst_positive_code_omit_resultfirst) + (dst_positive_scale_omit_resultfirst)) * S ((dst_positive_code_omit_resultfirst) + (dst_positive_scale_omit_resultfirst)) + ((dst_positive_scale_omit_resultfirst) + (dst_positive_scale_omit_resultfirst))) + (((dst_negative_code_omit_resultfirst) + (dst_negative_scale_omit_resultfirst)) * S ((dst_negative_code_omit_resultfirst) + (dst_negative_scale_omit_resultfirst)) + ((dst_negative_scale_omit_resultfirst) + (dst_negative_scale_omit_resultfirst)))) * S ((((dst_positive_code_omit_resultfirst) + (dst_positive_scale_omit_resultfirst)) * S ((dst_positive_code_omit_resultfirst) + (dst_positive_scale_omit_resultfirst)) + ((dst_positive_scale_omit_resultfirst) + (dst_positive_scale_omit_resultfirst))) + (((dst_negative_code_omit_resultfirst) + (dst_negative_scale_omit_resultfirst)) * S ((dst_negative_code_omit_resultfirst) + (dst_negative_scale_omit_resultfirst)) + ((dst_negative_scale_omit_resultfirst) + (dst_negative_scale_omit_resultfirst)))) + ((((dst_negative_code_omit_resultfirst) + (dst_negative_scale_omit_resultfirst)) * S ((dst_negative_code_omit_resultfirst) + (dst_negative_scale_omit_resultfirst)) + ((dst_negative_scale_omit_resultfirst) + (dst_negative_scale_omit_resultfirst))) + (((dst_negative_code_omit_resultfirst) + (dst_negative_scale_omit_resultfirst)) * S ((dst_negative_code_omit_resultfirst) + (dst_negative_scale_omit_resultfirst)) + ((dst_negative_scale_omit_resultfirst) + (dst_negative_scale_omit_resultfirst)))))) /\ (((((exists ff_h_pvs_omit_resultfirstpositive. ff_h_pvs_omit_resultfirstpositive + S (dst_positive_omit_resultfirst) = S ((S (a)) * dst_positive_scale_omit_resultfirst)) /\ exists ff_q_pvs_omit_resultfirstpositive. dst_positive_code_omit_resultfirst = ff_q_pvs_omit_resultfirstpositive * S ((S (a)) * dst_positive_scale_omit_resultfirst) + (dst_positive_omit_resultfirst))) /\ (((((exists ff_h_pvs_omit_resultfirstnegative. ff_h_pvs_omit_resultfirstnegative + S (dst_negative_omit_resultfirst) = S ((S (a)) * dst_negative_scale_omit_resultfirst)) /\ exists ff_q_pvs_omit_resultfirstnegative. dst_negative_code_omit_resultfirst = ff_q_pvs_omit_resultfirstnegative * S ((S (a)) * dst_negative_scale_omit_resultfirst) + (dst_negative_omit_resultfirst))) /\ (exists ge_balance_positive_omit_resultfirstvalue ge_balance_negative_omit_resultfirstvalue. (((((dfg_first_omit_result) = 2 * (ge_balance_positive_omit_resultfirstvalue) /\ (ge_balance_negative_omit_resultfirstvalue) = 0) \/ exists ge_signed_half_omit_resultfirstvaluedecode. (((dfg_first_omit_result) = 2 * ge_signed_half_omit_resultfirstvaluedecode + 1 /\ (ge_balance_positive_omit_resultfirstvalue) = 0) /\ (ge_balance_negative_omit_resultfirstvalue) = S ge_signed_half_omit_resultfirstvaluedecode))) /\ ((dst_positive_omit_resultfirst) + ge_balance_negative_omit_resultfirstvalue = (dst_negative_omit_resultfirst) + ge_balance_positive_omit_resultfirstvalue))))))))) /\ (((exists dst_positive_code_omit_resultlast dst_positive_scale_omit_resultlast dst_negative_code_omit_resultlast dst_negative_scale_omit_resultlast dst_positive_omit_resultlast dst_negative_omit_resultlast. (((H) = (((((dst_positive_code_omit_resultlast) + (dst_positive_scale_omit_resultlast)) * S ((dst_positive_code_omit_resultlast) + (dst_positive_scale_omit_resultlast)) + ((dst_positive_scale_omit_resultlast) + (dst_positive_scale_omit_resultlast))) + (((dst_negative_code_omit_resultlast) + (dst_negative_scale_omit_resultlast)) * S ((dst_negative_code_omit_resultlast) + (dst_negative_scale_omit_resultlast)) + ((dst_negative_scale_omit_resultlast) + (dst_negative_scale_omit_resultlast)))) * S ((((dst_positive_code_omit_resultlast) + (dst_positive_scale_omit_resultlast)) * S ((dst_positive_code_omit_resultlast) + (dst_positive_scale_omit_resultlast)) + ((dst_positive_scale_omit_resultlast) + (dst_positive_scale_omit_resultlast))) + (((dst_negative_code_omit_resultlast) + (dst_negative_scale_omit_resultlast)) * S ((dst_negative_code_omit_resultlast) + (dst_negative_scale_omit_resultlast)) + ((dst_negative_scale_omit_resultlast) + (dst_negative_scale_omit_resultlast)))) + ((((dst_negative_code_omit_resultlast) + (dst_negative_scale_omit_resultlast)) * S ((dst_negative_code_omit_resultlast) + (dst_negative_scale_omit_resultlast)) + ((dst_negative_scale_omit_resultlast) + (dst_negative_scale_omit_resultlast))) + (((dst_negative_code_omit_resultlast) + (dst_negative_scale_omit_resultlast)) * S ((dst_negative_code_omit_resultlast) + (dst_negative_scale_omit_resultlast)) + ((dst_negative_scale_omit_resultlast) + (dst_negative_scale_omit_resultlast)))))) /\ (((((exists ff_h_pvs_omit_resultlastpositive. ff_h_pvs_omit_resultlastpositive + S (dst_positive_omit_resultlast) = S ((S (e)) * dst_positive_scale_omit_resultlast)) /\ exists ff_q_pvs_omit_resultlastpositive. dst_positive_code_omit_resultlast = ff_q_pvs_omit_resultlastpositive * S ((S (e)) * dst_positive_scale_omit_resultlast) + (dst_positive_omit_resultlast))) /\ (((((exists ff_h_pvs_omit_resultlastnegative. ff_h_pvs_omit_resultlastnegative + S (dst_negative_omit_resultlast) = S ((S (e)) * dst_negative_scale_omit_resultlast)) /\ exists ff_q_pvs_omit_resultlastnegative. dst_negative_code_omit_resultlast = ff_q_pvs_omit_resultlastnegative * S ((S (e)) * dst_negative_scale_omit_resultlast) + (dst_negative_omit_resultlast))) /\ (exists ge_balance_positive_omit_resultlastvalue ge_balance_negative_omit_resultlastvalue. (((((dfg_last_omit_result) = 2 * (ge_balance_positive_omit_resultlastvalue) /\ (ge_balance_negative_omit_resultlastvalue) = 0) \/ exists ge_signed_half_omit_resultlastvaluedecode. (((dfg_last_omit_result) = 2 * ge_signed_half_omit_resultlastvaluedecode + 1 /\ (ge_balance_positive_omit_resultlastvalue) = 0) /\ (ge_balance_negative_omit_resultlastvalue) = S ge_signed_half_omit_resultlastvaluedecode))) /\ ((dst_positive_omit_resultlast) + ge_balance_negative_omit_resultlastvalue = (dst_negative_omit_resultlast) + ge_balance_positive_omit_resultlastvalue))))))))) /\ (((exists dst_positive_code_omit_resultmiddle dst_positive_scale_omit_resultmiddle dst_negative_code_omit_resultmiddle dst_negative_scale_omit_resultmiddle dst_positive_omit_resultmiddle dst_negative_omit_resultmiddle. (((G) = (((((dst_positive_code_omit_resultmiddle) + (dst_positive_scale_omit_resultmiddle)) * S ((dst_positive_code_omit_resultmiddle) + (dst_positive_scale_omit_resultmiddle)) + ((dst_positive_scale_omit_resultmiddle) + (dst_positive_scale_omit_resultmiddle))) + (((dst_negative_code_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle)) * S ((dst_negative_code_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle)) + ((dst_negative_scale_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle)))) * S ((((dst_positive_code_omit_resultmiddle) + (dst_positive_scale_omit_resultmiddle)) * S ((dst_positive_code_omit_resultmiddle) + (dst_positive_scale_omit_resultmiddle)) + ((dst_positive_scale_omit_resultmiddle) + (dst_positive_scale_omit_resultmiddle))) + (((dst_negative_code_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle)) * S ((dst_negative_code_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle)) + ((dst_negative_scale_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle)))) + ((((dst_negative_code_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle)) * S ((dst_negative_code_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle)) + ((dst_negative_scale_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle))) + (((dst_negative_code_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle)) * S ((dst_negative_code_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle)) + ((dst_negative_scale_omit_resultmiddle) + (dst_negative_scale_omit_resultmiddle)))))) /\ (((((exists ff_h_pvs_omit_resultmiddlepositive. ff_h_pvs_omit_resultmiddlepositive + S (dst_positive_omit_resultmiddle) = S ((S (dfg_middle_omit_result)) * dst_positive_scale_omit_resultmiddle)) /\ exists ff_q_pvs_omit_resultmiddlepositive. dst_positive_code_omit_resultmiddle = ff_q_pvs_omit_resultmiddlepositive * S ((S (dfg_middle_omit_result)) * dst_positive_scale_omit_resultmiddle) + (dst_positive_omit_resultmiddle))) /\ (((((exists ff_h_pvs_omit_resultmiddlenegative. ff_h_pvs_omit_resultmiddlenegative + S (dst_negative_omit_resultmiddle) = S ((S (dfg_middle_omit_result)) * dst_negative_scale_omit_resultmiddle)) /\ exists ff_q_pvs_omit_resultmiddlenegative. dst_negative_code_omit_resultmiddle = ff_q_pvs_omit_resultmiddlenegative * S ((S (dfg_middle_omit_result)) * dst_negative_scale_omit_resultmiddle) + (dst_negative_omit_resultmiddle))) /\ (exists ge_balance_positive_omit_resultmiddlevalue ge_balance_negative_omit_resultmiddlevalue. (((((dfg_value_omit_result) = 2 * (ge_balance_positive_omit_resultmiddlevalue) /\ (ge_balance_negative_omit_resultmiddlevalue) = 0) \/ exists ge_signed_half_omit_resultmiddlevaluedecode. (((dfg_value_omit_result) = 2 * ge_signed_half_omit_resultmiddlevaluedecode + 1 /\ (ge_balance_positive_omit_resultmiddlevalue) = 0) /\ (ge_balance_negative_omit_resultmiddlevalue) = S ge_signed_half_omit_resultmiddlevaluedecode))) /\ ((dst_positive_omit_resultmiddle) + ge_balance_negative_omit_resultmiddlevalue = (dst_negative_omit_resultmiddle) + ge_balance_positive_omit_resultmiddlevalue))))))))) /\ (exists dfg_inner_omit_resultproduct. ((exists sto_ap_omit_resultproductinner sto_an_omit_resultproductinner sto_bp_omit_resultproductinner sto_bn_omit_resultproductinner sto_cp_omit_resultproductinner sto_cn_omit_resultproductinner. (((((dfg_last_omit_result) = 2 * (sto_ap_omit_resultproductinner) /\ (sto_an_omit_resultproductinner) = 0) \/ exists ge_signed_half_omit_resultproductinnerleft. (((dfg_last_omit_result) = 2 * ge_signed_half_omit_resultproductinnerleft + 1 /\ (sto_ap_omit_resultproductinner) = 0) /\ (sto_an_omit_resultproductinner) = S ge_signed_half_omit_resultproductinnerleft))) /\ ((((((dfg_value_omit_result) = 2 * (sto_bp_omit_resultproductinner) /\ (sto_bn_omit_resultproductinner) = 0) \/ exists ge_signed_half_omit_resultproductinnerright. (((dfg_value_omit_result) = 2 * ge_signed_half_omit_resultproductinnerright + 1 /\ (sto_bp_omit_resultproductinner) = 0) /\ (sto_bn_omit_resultproductinner) = S ge_signed_half_omit_resultproductinnerright))) /\ ((((((dfg_inner_omit_resultproduct) = 2 * (sto_cp_omit_resultproductinner) /\ (sto_cn_omit_resultproductinner) = 0) \/ exists ge_signed_half_omit_resultproductinneroutput. (((dfg_inner_omit_resultproduct) = 2 * ge_signed_half_omit_resultproductinneroutput + 1 /\ (sto_cp_omit_resultproductinner) = 0) /\ (sto_cn_omit_resultproductinner) = S ge_signed_half_omit_resultproductinneroutput))) /\ ((sto_ap_omit_resultproductinner * sto_bp_omit_resultproductinner + sto_an_omit_resultproductinner * sto_bn_omit_resultproductinner) + sto_cn_omit_resultproductinner = (sto_ap_omit_resultproductinner * sto_bn_omit_resultproductinner + sto_an_omit_resultproductinner * sto_bp_omit_resultproductinner) + sto_cp_omit_resultproductinner))))))) /\ (exists sto_ap_omit_resultproductouter sto_an_omit_resultproductouter sto_bp_omit_resultproductouter sto_bn_omit_resultproductouter sto_cp_omit_resultproductouter sto_cn_omit_resultproductouter. (((((dfg_first_omit_result) = 2 * (sto_ap_omit_resultproductouter) /\ (sto_an_omit_resultproductouter) = 0) \/ exists ge_signed_half_omit_resultproductouterleft. (((dfg_first_omit_result) = 2 * ge_signed_half_omit_resultproductouterleft + 1 /\ (sto_ap_omit_resultproductouter) = 0) /\ (sto_an_omit_resultproductouter) = S ge_signed_half_omit_resultproductouterleft))) /\ ((((((dfg_inner_omit_resultproduct) = 2 * (sto_bp_omit_resultproductouter) /\ (sto_bn_omit_resultproductouter) = 0) \/ exists ge_signed_half_omit_resultproductouterright. (((dfg_inner_omit_resultproduct) = 2 * ge_signed_half_omit_resultproductouterright + 1 /\ (sto_bp_omit_resultproductouter) = 0) /\ (sto_bn_omit_resultproductouter) = S ge_signed_half_omit_resultproductouterright))) /\ ((((((0) = 2 * (sto_cp_omit_resultproductouter) /\ (sto_cn_omit_resultproductouter) = 0) \/ exists ge_signed_half_omit_resultproductouteroutput. (((0) = 2 * ge_signed_half_omit_resultproductouteroutput + 1 /\ (sto_cp_omit_resultproductouter) = 0) /\ (sto_cn_omit_resultproductouter) = S ge_signed_half_omit_resultproductouteroutput))) /\ ((sto_ap_omit_resultproductouter * sto_bp_omit_resultproductouter + sto_an_omit_resultproductouter * sto_bn_omit_resultproductouter) + sto_cn_omit_resultproductouter = (sto_ap_omit_resultproductouter * sto_bn_omit_resultproductouter + sto_an_omit_resultproductouter * sto_bp_omit_resultproductouter) + sto_cp_omit_resultproductouter))))))))))))))))))))) \/ ((((a)=0 \/ ((e)=0 \/ ~(exists pvs_factor_omit_resultomittednondivisor. (n) = ((a)*(e)) * pvs_factor_omit_resultomittednondivisor))) /\ ((0)=0))))

Constructive proof overview

Generated structural guide

Zero first or last factors and genuine nondivisor products give canonical zero without reading either zero-index input.

The unchanged tactic script uses 0 declared prerequisites and contains 11 exact native proof lines.

Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

none

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

11 script commands · 4 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.

01Fix variables and assumptionsL1–7

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

  1. L1
    intro F
  2. L2
    intro G
  3. L3
    intro H
  4. L4
    intro n
  5. L5
    intro a
  6. L6
    intro e
  7. L7
    intro h
02Separate the logical casesL8–9

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L8
    right
  2. L9
    split
03Use earlier factsL10–10

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

  1. L10
    exact h
04Calculate and transport equalitiesL11–11

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

  1. L11
    refl

Library-wide reading audit

Original exact command ledger · 11 lines
  1. 0001intro F
  2. 0002intro G
  3. 0003intro H
  4. 0004intro n
  5. 0005intro a
  6. 0006intro e
  7. 0007intro h
  8. 0008right
  9. 0009split
  10. 0010exact h
  11. 0011refl