DC0001

dirichlet_convolution_entry_zero

The zeroth summand is canonical zero without looking at either input value at zero.

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

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.

Each retained summand has a witnessed n=d*q and actual signed multiplication. Zero and nondivisors contribute zero. Input and output values at zero are unrestricted; uniqueness is for positive represented values. The separate inverse family proves the unit-at-one criterion. Full G009 multiplicative-function closure is now admitted in the separate Alpha-v32 multiplicative-convolution family.

Exact theorem in conservative defined notation

∀ F. ∀ G. ∀ n. DirichletEntry(F,G,n,0,0)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

none
Original expanded first-order statement
forall F G n. ((((~((0)=0)) /\ (exists dc_quotient_zero_result dc_left_zero_result dc_right_zero_result. (((n)=(0)*dc_quotient_zero_result) /\ (((exists dst_positive_code_zero_resultleft dst_positive_scale_zero_resultleft dst_negative_code_zero_resultleft dst_negative_scale_zero_resultleft dst_positive_zero_resultleft dst_negative_zero_resultleft. (((F) = (((((dst_positive_code_zero_resultleft) + (dst_positive_scale_zero_resultleft)) * S ((dst_positive_code_zero_resultleft) + (dst_positive_scale_zero_resultleft)) + ((dst_positive_scale_zero_resultleft) + (dst_positive_scale_zero_resultleft))) + (((dst_negative_code_zero_resultleft) + (dst_negative_scale_zero_resultleft)) * S ((dst_negative_code_zero_resultleft) + (dst_negative_scale_zero_resultleft)) + ((dst_negative_scale_zero_resultleft) + (dst_negative_scale_zero_resultleft)))) * S ((((dst_positive_code_zero_resultleft) + (dst_positive_scale_zero_resultleft)) * S ((dst_positive_code_zero_resultleft) + (dst_positive_scale_zero_resultleft)) + ((dst_positive_scale_zero_resultleft) + (dst_positive_scale_zero_resultleft))) + (((dst_negative_code_zero_resultleft) + (dst_negative_scale_zero_resultleft)) * S ((dst_negative_code_zero_resultleft) + (dst_negative_scale_zero_resultleft)) + ((dst_negative_scale_zero_resultleft) + (dst_negative_scale_zero_resultleft)))) + ((((dst_negative_code_zero_resultleft) + (dst_negative_scale_zero_resultleft)) * S ((dst_negative_code_zero_resultleft) + (dst_negative_scale_zero_resultleft)) + ((dst_negative_scale_zero_resultleft) + (dst_negative_scale_zero_resultleft))) + (((dst_negative_code_zero_resultleft) + (dst_negative_scale_zero_resultleft)) * S ((dst_negative_code_zero_resultleft) + (dst_negative_scale_zero_resultleft)) + ((dst_negative_scale_zero_resultleft) + (dst_negative_scale_zero_resultleft)))))) /\ (((((exists ff_h_pvs_zero_resultleftpositive. ff_h_pvs_zero_resultleftpositive + S (dst_positive_zero_resultleft) = S ((S (0)) * dst_positive_scale_zero_resultleft)) /\ exists ff_q_pvs_zero_resultleftpositive. dst_positive_code_zero_resultleft = ff_q_pvs_zero_resultleftpositive * S ((S (0)) * dst_positive_scale_zero_resultleft) + (dst_positive_zero_resultleft))) /\ (((((exists ff_h_pvs_zero_resultleftnegative. ff_h_pvs_zero_resultleftnegative + S (dst_negative_zero_resultleft) = S ((S (0)) * dst_negative_scale_zero_resultleft)) /\ exists ff_q_pvs_zero_resultleftnegative. dst_negative_code_zero_resultleft = ff_q_pvs_zero_resultleftnegative * S ((S (0)) * dst_negative_scale_zero_resultleft) + (dst_negative_zero_resultleft))) /\ (exists ge_balance_positive_zero_resultleftvalue ge_balance_negative_zero_resultleftvalue. (((((dc_left_zero_result) = 2 * (ge_balance_positive_zero_resultleftvalue) /\ (ge_balance_negative_zero_resultleftvalue) = 0) \/ exists ge_signed_half_zero_resultleftvaluedecode. (((dc_left_zero_result) = 2 * ge_signed_half_zero_resultleftvaluedecode + 1 /\ (ge_balance_positive_zero_resultleftvalue) = 0) /\ (ge_balance_negative_zero_resultleftvalue) = S ge_signed_half_zero_resultleftvaluedecode))) /\ ((dst_positive_zero_resultleft) + ge_balance_negative_zero_resultleftvalue = (dst_negative_zero_resultleft) + ge_balance_positive_zero_resultleftvalue))))))))) /\ (((exists dst_positive_code_zero_resultright dst_positive_scale_zero_resultright dst_negative_code_zero_resultright dst_negative_scale_zero_resultright dst_positive_zero_resultright dst_negative_zero_resultright. (((G) = (((((dst_positive_code_zero_resultright) + (dst_positive_scale_zero_resultright)) * S ((dst_positive_code_zero_resultright) + (dst_positive_scale_zero_resultright)) + ((dst_positive_scale_zero_resultright) + (dst_positive_scale_zero_resultright))) + (((dst_negative_code_zero_resultright) + (dst_negative_scale_zero_resultright)) * S ((dst_negative_code_zero_resultright) + (dst_negative_scale_zero_resultright)) + ((dst_negative_scale_zero_resultright) + (dst_negative_scale_zero_resultright)))) * S ((((dst_positive_code_zero_resultright) + (dst_positive_scale_zero_resultright)) * S ((dst_positive_code_zero_resultright) + (dst_positive_scale_zero_resultright)) + ((dst_positive_scale_zero_resultright) + (dst_positive_scale_zero_resultright))) + (((dst_negative_code_zero_resultright) + (dst_negative_scale_zero_resultright)) * S ((dst_negative_code_zero_resultright) + (dst_negative_scale_zero_resultright)) + ((dst_negative_scale_zero_resultright) + (dst_negative_scale_zero_resultright)))) + ((((dst_negative_code_zero_resultright) + (dst_negative_scale_zero_resultright)) * S ((dst_negative_code_zero_resultright) + (dst_negative_scale_zero_resultright)) + ((dst_negative_scale_zero_resultright) + (dst_negative_scale_zero_resultright))) + (((dst_negative_code_zero_resultright) + (dst_negative_scale_zero_resultright)) * S ((dst_negative_code_zero_resultright) + (dst_negative_scale_zero_resultright)) + ((dst_negative_scale_zero_resultright) + (dst_negative_scale_zero_resultright)))))) /\ (((((exists ff_h_pvs_zero_resultrightpositive. ff_h_pvs_zero_resultrightpositive + S (dst_positive_zero_resultright) = S ((S (dc_quotient_zero_result)) * dst_positive_scale_zero_resultright)) /\ exists ff_q_pvs_zero_resultrightpositive. dst_positive_code_zero_resultright = ff_q_pvs_zero_resultrightpositive * S ((S (dc_quotient_zero_result)) * dst_positive_scale_zero_resultright) + (dst_positive_zero_resultright))) /\ (((((exists ff_h_pvs_zero_resultrightnegative. ff_h_pvs_zero_resultrightnegative + S (dst_negative_zero_resultright) = S ((S (dc_quotient_zero_result)) * dst_negative_scale_zero_resultright)) /\ exists ff_q_pvs_zero_resultrightnegative. dst_negative_code_zero_resultright = ff_q_pvs_zero_resultrightnegative * S ((S (dc_quotient_zero_result)) * dst_negative_scale_zero_resultright) + (dst_negative_zero_resultright))) /\ (exists ge_balance_positive_zero_resultrightvalue ge_balance_negative_zero_resultrightvalue. (((((dc_right_zero_result) = 2 * (ge_balance_positive_zero_resultrightvalue) /\ (ge_balance_negative_zero_resultrightvalue) = 0) \/ exists ge_signed_half_zero_resultrightvaluedecode. (((dc_right_zero_result) = 2 * ge_signed_half_zero_resultrightvaluedecode + 1 /\ (ge_balance_positive_zero_resultrightvalue) = 0) /\ (ge_balance_negative_zero_resultrightvalue) = S ge_signed_half_zero_resultrightvaluedecode))) /\ ((dst_positive_zero_resultright) + ge_balance_negative_zero_resultrightvalue = (dst_negative_zero_resultright) + ge_balance_positive_zero_resultrightvalue))))))))) /\ (exists sto_ap_zero_resultproduct sto_an_zero_resultproduct sto_bp_zero_resultproduct sto_bn_zero_resultproduct sto_cp_zero_resultproduct sto_cn_zero_resultproduct. (((((dc_left_zero_result) = 2 * (sto_ap_zero_resultproduct) /\ (sto_an_zero_resultproduct) = 0) \/ exists ge_signed_half_zero_resultproductleft. (((dc_left_zero_result) = 2 * ge_signed_half_zero_resultproductleft + 1 /\ (sto_ap_zero_resultproduct) = 0) /\ (sto_an_zero_resultproduct) = S ge_signed_half_zero_resultproductleft))) /\ ((((((dc_right_zero_result) = 2 * (sto_bp_zero_resultproduct) /\ (sto_bn_zero_resultproduct) = 0) \/ exists ge_signed_half_zero_resultproductright. (((dc_right_zero_result) = 2 * ge_signed_half_zero_resultproductright + 1 /\ (sto_bp_zero_resultproduct) = 0) /\ (sto_bn_zero_resultproduct) = S ge_signed_half_zero_resultproductright))) /\ ((((((0) = 2 * (sto_cp_zero_resultproduct) /\ (sto_cn_zero_resultproduct) = 0) \/ exists ge_signed_half_zero_resultproductoutput. (((0) = 2 * ge_signed_half_zero_resultproductoutput + 1 /\ (sto_cp_zero_resultproduct) = 0) /\ (sto_cn_zero_resultproduct) = S ge_signed_half_zero_resultproductoutput))) /\ ((sto_ap_zero_resultproduct * sto_bp_zero_resultproduct + sto_an_zero_resultproduct * sto_bn_zero_resultproduct) + sto_cn_zero_resultproduct = (sto_ap_zero_resultproduct * sto_bn_zero_resultproduct + sto_an_zero_resultproduct * sto_bp_zero_resultproduct) + sto_cp_zero_resultproduct))))))))))))))) \/ ((((0)=0 \/ ~(exists pvs_factor_zero_resultnondivisor. (n) = (0) * pvs_factor_zero_resultnondivisor)) /\ ((0)=0))))

Complete tactic proof in conservative notation

All 8 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

8 script commands · 3 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.

01Fix variables and assumptionsL1–3

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

  1. L1
    intro F
  2. L2
    intro G
  3. L3
    intro n
02Separate the logical casesL4–6

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

  1. L4
    right
  2. L5
    split
  3. L6
    left
03Calculate and transport equalitiesL7–8

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

  1. L7
    refl
  2. L8
    refl

Library-wide reading audit

Original defined command ledger · 8 lines
  1. 0001intro F
  2. 0002intro G
  3. 0003intro n
  4. 0004right
  5. 0005split
  6. 0006left
  7. 0007refl
  8. 0008refl