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 n d a b. ((((~((d)=0)) /\ (exists dm_quotient_unique_first. (((n)=(d)*dm_quotient_unique_first) /\ (exists dst_positive_code_unique_firstinput dst_positive_scale_unique_firstinput dst_negative_code_unique_firstinput dst_negative_scale_unique_firstinput dst_positive_unique_firstinput dst_negative_unique_firstinput. (((F) = (((((dst_positive_code_unique_firstinput) + (dst_positive_scale_unique_firstinput)) * S ((dst_positive_code_unique_firstinput) + (dst_positive_scale_unique_firstinput)) + ((dst_positive_scale_unique_firstinput) + (dst_positive_scale_unique_firstinput))) + (((dst_negative_code_unique_firstinput) + (dst_negative_scale_unique_firstinput)) * S ((dst_negative_code_unique_firstinput) + (dst_negative_scale_unique_firstinput)) + ((dst_negative_scale_unique_firstinput) + (dst_negative_scale_unique_firstinput)))) * S ((((dst_positive_code_unique_firstinput) + (dst_positive_scale_unique_firstinput)) * S ((dst_positive_code_unique_firstinput) + (dst_positive_scale_unique_firstinput)) + ((dst_positive_scale_unique_firstinput) + (dst_positive_scale_unique_firstinput))) + (((dst_negative_code_unique_firstinput) + (dst_negative_scale_unique_firstinput)) * S ((dst_negative_code_unique_firstinput) + (dst_negative_scale_unique_firstinput)) + ((dst_negative_scale_unique_firstinput) + (dst_negative_scale_unique_firstinput)))) + ((((dst_negative_code_unique_firstinput) + (dst_negative_scale_unique_firstinput)) * S ((dst_negative_code_unique_firstinput) + (dst_negative_scale_unique_firstinput)) + ((dst_negative_scale_unique_firstinput) + (dst_negative_scale_unique_firstinput))) + (((dst_negative_code_unique_firstinput) + (dst_negative_scale_unique_firstinput)) * S ((dst_negative_code_unique_firstinput) + (dst_negative_scale_unique_firstinput)) + ((dst_negative_scale_unique_firstinput) + (dst_negative_scale_unique_firstinput)))))) /\ (((((exists ff_h_pvs_unique_firstinputpositive. ff_h_pvs_unique_firstinputpositive + S (dst_positive_unique_firstinput) = S ((S (d)) * dst_positive_scale_unique_firstinput)) /\ exists ff_q_pvs_unique_firstinputpositive. dst_positive_code_unique_firstinput = ff_q_pvs_unique_firstinputpositive * S ((S (d)) * dst_positive_scale_unique_firstinput) + (dst_positive_unique_firstinput))) /\ (((((exists ff_h_pvs_unique_firstinputnegative. ff_h_pvs_unique_firstinputnegative + S (dst_negative_unique_firstinput) = S ((S (d)) * dst_negative_scale_unique_firstinput)) /\ exists ff_q_pvs_unique_firstinputnegative. dst_negative_code_unique_firstinput = ff_q_pvs_unique_firstinputnegative * S ((S (d)) * dst_negative_scale_unique_firstinput) + (dst_negative_unique_firstinput))) /\ (exists ge_balance_positive_unique_firstinputvalue ge_balance_negative_unique_firstinputvalue. (((((a) = 2 * (ge_balance_positive_unique_firstinputvalue) /\ (ge_balance_negative_unique_firstinputvalue) = 0) \/ exists ge_signed_half_unique_firstinputvaluedecode. (((a) = 2 * ge_signed_half_unique_firstinputvaluedecode + 1 /\ (ge_balance_positive_unique_firstinputvalue) = 0) /\ (ge_balance_negative_unique_firstinputvalue) = S ge_signed_half_unique_firstinputvaluedecode))) /\ ((dst_positive_unique_firstinput) + ge_balance_negative_unique_firstinputvalue = (dst_negative_unique_firstinput) + ge_balance_positive_unique_firstinputvalue))))))))))))) \/ ((((d)=0 \/ ~(exists pvs_factor_unique_firstnondivisor. (n) = (d) * pvs_factor_unique_firstnondivisor)) /\ ((a)=0)))) -> ((((~((d)=0)) /\ (exists dm_quotient_unique_second. (((n)=(d)*dm_quotient_unique_second) /\ (exists dst_positive_code_unique_secondinput dst_positive_scale_unique_secondinput dst_negative_code_unique_secondinput dst_negative_scale_unique_secondinput dst_positive_unique_secondinput dst_negative_unique_secondinput. (((F) = (((((dst_positive_code_unique_secondinput) + (dst_positive_scale_unique_secondinput)) * S ((dst_positive_code_unique_secondinput) + (dst_positive_scale_unique_secondinput)) + ((dst_positive_scale_unique_secondinput) + (dst_positive_scale_unique_secondinput))) + (((dst_negative_code_unique_secondinput) + (dst_negative_scale_unique_secondinput)) * S ((dst_negative_code_unique_secondinput) + (dst_negative_scale_unique_secondinput)) + ((dst_negative_scale_unique_secondinput) + (dst_negative_scale_unique_secondinput)))) * S ((((dst_positive_code_unique_secondinput) + (dst_positive_scale_unique_secondinput)) * S ((dst_positive_code_unique_secondinput) + (dst_positive_scale_unique_secondinput)) + ((dst_positive_scale_unique_secondinput) + (dst_positive_scale_unique_secondinput))) + (((dst_negative_code_unique_secondinput) + (dst_negative_scale_unique_secondinput)) * S ((dst_negative_code_unique_secondinput) + (dst_negative_scale_unique_secondinput)) + ((dst_negative_scale_unique_secondinput) + (dst_negative_scale_unique_secondinput)))) + ((((dst_negative_code_unique_secondinput) + (dst_negative_scale_unique_secondinput)) * S ((dst_negative_code_unique_secondinput) + (dst_negative_scale_unique_secondinput)) + ((dst_negative_scale_unique_secondinput) + (dst_negative_scale_unique_secondinput))) + (((dst_negative_code_unique_secondinput) + (dst_negative_scale_unique_secondinput)) * S ((dst_negative_code_unique_secondinput) + (dst_negative_scale_unique_secondinput)) + ((dst_negative_scale_unique_secondinput) + (dst_negative_scale_unique_secondinput)))))) /\ (((((exists ff_h_pvs_unique_secondinputpositive. ff_h_pvs_unique_secondinputpositive + S (dst_positive_unique_secondinput) = S ((S (d)) * dst_positive_scale_unique_secondinput)) /\ exists ff_q_pvs_unique_secondinputpositive. dst_positive_code_unique_secondinput = ff_q_pvs_unique_secondinputpositive * S ((S (d)) * dst_positive_scale_unique_secondinput) + (dst_positive_unique_secondinput))) /\ (((((exists ff_h_pvs_unique_secondinputnegative. ff_h_pvs_unique_secondinputnegative + S (dst_negative_unique_secondinput) = S ((S (d)) * dst_negative_scale_unique_secondinput)) /\ exists ff_q_pvs_unique_secondinputnegative. dst_negative_code_unique_secondinput = ff_q_pvs_unique_secondinputnegative * S ((S (d)) * dst_negative_scale_unique_secondinput) + (dst_negative_unique_secondinput))) /\ (exists ge_balance_positive_unique_secondinputvalue ge_balance_negative_unique_secondinputvalue. (((((b) = 2 * (ge_balance_positive_unique_secondinputvalue) /\ (ge_balance_negative_unique_secondinputvalue) = 0) \/ exists ge_signed_half_unique_secondinputvaluedecode. (((b) = 2 * ge_signed_half_unique_secondinputvaluedecode + 1 /\ (ge_balance_positive_unique_secondinputvalue) = 0) /\ (ge_balance_negative_unique_secondinputvalue) = S ge_signed_half_unique_secondinputvaluedecode))) /\ ((dst_positive_unique_secondinput) + ge_balance_negative_unique_secondinputvalue = (dst_negative_unique_secondinput) + ge_balance_positive_unique_secondinputvalue))))))))))))) \/ ((((d)=0 \/ ~(exists pvs_factor_unique_secondnondivisor. (n) = (d) * pvs_factor_unique_secondnondivisor)) /\ ((b)=0)))) -> a=bConstructive proof overview
Generated structural guide
The kept and omitted alternatives are constructively exclusive, and actual signed input functionality makes the resulting code unique.
The unchanged tactic script uses 1 declared prerequisite and contains 47 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
divisor_signed_table_at_functional Alpha 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–7
02Separate the logical casesL8–15
03Use earlier factsL16–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L16
specialize divisor_signed_table_at_functional (F) - L17
specialize divisor_signed_table_at_functional (d) - L18
specialize divisor_signed_table_at_functional (a) - L19
specialize divisor_signed_table_at_functional (b) - L20
apply divisor_signed_table_at_functional - L21
exact ha_left_right_witness_right - L22
exact hb_left_right_witness_right
04Separate the logical casesL23–25
05Use earlier factsL26–28
06Construct an explicit witnessL29–29
Supply the displayed value, then prove that it has the required property.
- L29
exists x
07Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
exact ha_left_right_witness_left
08Separate the logical casesL31–37
09Use earlier factsL38–40
10Construct an explicit witnessL41–41
Supply the displayed value, then prove that it has the required property.
- L41
exists x
11Use earlier factsL42–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
exact hb_left_right_witness_left
12Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
cases hb_right
13Calculate and transport equalitiesL44–44
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L44
trans 0
14Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact ha_right_right
15Calculate and transport equalitiesL46–46
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L46
symm
16Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hb_right_right
Original exact command ledger · 47 lines
- 0001
intro F - 0002
intro n - 0003
intro d - 0004
intro a - 0005
intro b - 0006
intro ha - 0007
intro hb - 0008
cases ha - 0009
cases ha_left - 0010
cases ha_left_right - 0011
cases ha_left_right_witness - 0012
cases hb - 0013
cases hb_left - 0014
cases hb_left_right - 0015
cases hb_left_right_witness - 0016
specialize divisor_signed_table_at_functional (F) - 0017
specialize divisor_signed_table_at_functional (d) - 0018
specialize divisor_signed_table_at_functional (a) - 0019
specialize divisor_signed_table_at_functional (b) - 0020
apply divisor_signed_table_at_functional - 0021
exact ha_left_right_witness_right - 0022
exact hb_left_right_witness_right - 0023
cases hb_right - 0024
exfalso - 0025
cases hb_right_left - 0026
apply ha_left_left - 0027
exact hb_right_left_left - 0028
apply hb_right_left_right - 0029
exists x - 0030
exact ha_left_right_witness_left - 0031
cases ha_right - 0032
cases hb - 0033
cases hb_left - 0034
cases hb_left_right - 0035
cases hb_left_right_witness - 0036
exfalso - 0037
cases ha_right_left - 0038
apply hb_left_left - 0039
exact ha_right_left_left - 0040
apply ha_right_left_right - 0041
exists x - 0042
exact hb_left_right_witness_left - 0043
cases hb_right - 0044
trans 0 - 0045
exact ha_right_right - 0046
symm - 0047
exact hb_right_right