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 l M d q z. (((exists dst_positive_code_keep_masktable dst_positive_scale_keep_masktable dst_negative_code_keep_masktable dst_negative_scale_keep_masktable. (((M) = (((((dst_positive_code_keep_masktable) + (dst_positive_scale_keep_masktable)) * S ((dst_positive_code_keep_masktable) + (dst_positive_scale_keep_masktable)) + ((dst_positive_scale_keep_masktable) + (dst_positive_scale_keep_masktable))) + (((dst_negative_code_keep_masktable) + (dst_negative_scale_keep_masktable)) * S ((dst_negative_code_keep_masktable) + (dst_negative_scale_keep_masktable)) + ((dst_negative_scale_keep_masktable) + (dst_negative_scale_keep_masktable)))) * S ((((dst_positive_code_keep_masktable) + (dst_positive_scale_keep_masktable)) * S ((dst_positive_code_keep_masktable) + (dst_positive_scale_keep_masktable)) + ((dst_positive_scale_keep_masktable) + (dst_positive_scale_keep_masktable))) + (((dst_negative_code_keep_masktable) + (dst_negative_scale_keep_masktable)) * S ((dst_negative_code_keep_masktable) + (dst_negative_scale_keep_masktable)) + ((dst_negative_scale_keep_masktable) + (dst_negative_scale_keep_masktable)))) + ((((dst_negative_code_keep_masktable) + (dst_negative_scale_keep_masktable)) * S ((dst_negative_code_keep_masktable) + (dst_negative_scale_keep_masktable)) + ((dst_negative_scale_keep_masktable) + (dst_negative_scale_keep_masktable))) + (((dst_negative_code_keep_masktable) + (dst_negative_scale_keep_masktable)) * S ((dst_negative_code_keep_masktable) + (dst_negative_scale_keep_masktable)) + ((dst_negative_scale_keep_masktable) + (dst_negative_scale_keep_masktable)))))) /\ (forall dst_index_keep_masktable. (exists pvs_le_gap_keep_masktabledomain. pvs_le_gap_keep_masktabledomain + (dst_index_keep_masktable) = (l)) -> exists dst_positive_keep_masktable dst_negative_keep_masktable dst_value_keep_masktable. ((((exists ff_h_pvs_keep_masktableentrypositive. ff_h_pvs_keep_masktableentrypositive + S (dst_positive_keep_masktable) = S ((S (dst_index_keep_masktable)) * dst_positive_scale_keep_masktable)) /\ exists ff_q_pvs_keep_masktableentrypositive. dst_positive_code_keep_masktable = ff_q_pvs_keep_masktableentrypositive * S ((S (dst_index_keep_masktable)) * dst_positive_scale_keep_masktable) + (dst_positive_keep_masktable))) /\ (((((exists ff_h_pvs_keep_masktableentrynegative. ff_h_pvs_keep_masktableentrynegative + S (dst_negative_keep_masktable) = S ((S (dst_index_keep_masktable)) * dst_negative_scale_keep_masktable)) /\ exists ff_q_pvs_keep_masktableentrynegative. dst_negative_code_keep_masktable = ff_q_pvs_keep_masktableentrynegative * S ((S (dst_index_keep_masktable)) * dst_negative_scale_keep_masktable) + (dst_negative_keep_masktable))) /\ (exists ge_balance_positive_keep_masktableentryvalue ge_balance_negative_keep_masktableentryvalue. (((((dst_value_keep_masktable) = 2 * (ge_balance_positive_keep_masktableentryvalue) /\ (ge_balance_negative_keep_masktableentryvalue) = 0) \/ exists ge_signed_half_keep_masktableentryvaluedecode. (((dst_value_keep_masktable) = 2 * ge_signed_half_keep_masktableentryvaluedecode + 1 /\ (ge_balance_positive_keep_masktableentryvalue) = 0) /\ (ge_balance_negative_keep_masktableentryvalue) = S ge_signed_half_keep_masktableentryvaluedecode))) /\ ((dst_positive_keep_masktable) + ge_balance_negative_keep_masktableentryvalue = (dst_negative_keep_masktable) + ge_balance_positive_keep_masktableentryvalue))))))))) /\ (forall dm_index_keep_mask dm_value_keep_mask. (exists pvs_le_gap_keep_maskdomain. pvs_le_gap_keep_maskdomain + (dm_index_keep_mask) = (l)) -> (exists dst_positive_code_keep_masklookup dst_positive_scale_keep_masklookup dst_negative_code_keep_masklookup dst_negative_scale_keep_masklookup dst_positive_keep_masklookup dst_negative_keep_masklookup. (((M) = (((((dst_positive_code_keep_masklookup) + (dst_positive_scale_keep_masklookup)) * S ((dst_positive_code_keep_masklookup) + (dst_positive_scale_keep_masklookup)) + ((dst_positive_scale_keep_masklookup) + (dst_positive_scale_keep_masklookup))) + (((dst_negative_code_keep_masklookup) + (dst_negative_scale_keep_masklookup)) * S ((dst_negative_code_keep_masklookup) + (dst_negative_scale_keep_masklookup)) + ((dst_negative_scale_keep_masklookup) + (dst_negative_scale_keep_masklookup)))) * S ((((dst_positive_code_keep_masklookup) + (dst_positive_scale_keep_masklookup)) * S ((dst_positive_code_keep_masklookup) + (dst_positive_scale_keep_masklookup)) + ((dst_positive_scale_keep_masklookup) + (dst_positive_scale_keep_masklookup))) + (((dst_negative_code_keep_masklookup) + (dst_negative_scale_keep_masklookup)) * S ((dst_negative_code_keep_masklookup) + (dst_negative_scale_keep_masklookup)) + ((dst_negative_scale_keep_masklookup) + (dst_negative_scale_keep_masklookup)))) + ((((dst_negative_code_keep_masklookup) + (dst_negative_scale_keep_masklookup)) * S ((dst_negative_code_keep_masklookup) + (dst_negative_scale_keep_masklookup)) + ((dst_negative_scale_keep_masklookup) + (dst_negative_scale_keep_masklookup))) + (((dst_negative_code_keep_masklookup) + (dst_negative_scale_keep_masklookup)) * S ((dst_negative_code_keep_masklookup) + (dst_negative_scale_keep_masklookup)) + ((dst_negative_scale_keep_masklookup) + (dst_negative_scale_keep_masklookup)))))) /\ (((((exists ff_h_pvs_keep_masklookuppositive. ff_h_pvs_keep_masklookuppositive + S (dst_positive_keep_masklookup) = S ((S (dm_index_keep_mask)) * dst_positive_scale_keep_masklookup)) /\ exists ff_q_pvs_keep_masklookuppositive. dst_positive_code_keep_masklookup = ff_q_pvs_keep_masklookuppositive * S ((S (dm_index_keep_mask)) * dst_positive_scale_keep_masklookup) + (dst_positive_keep_masklookup))) /\ (((((exists ff_h_pvs_keep_masklookupnegative. ff_h_pvs_keep_masklookupnegative + S (dst_negative_keep_masklookup) = S ((S (dm_index_keep_mask)) * dst_negative_scale_keep_masklookup)) /\ exists ff_q_pvs_keep_masklookupnegative. dst_negative_code_keep_masklookup = ff_q_pvs_keep_masklookupnegative * S ((S (dm_index_keep_mask)) * dst_negative_scale_keep_masklookup) + (dst_negative_keep_masklookup))) /\ (exists ge_balance_positive_keep_masklookupvalue ge_balance_negative_keep_masklookupvalue. (((((dm_value_keep_mask) = 2 * (ge_balance_positive_keep_masklookupvalue) /\ (ge_balance_negative_keep_masklookupvalue) = 0) \/ exists ge_signed_half_keep_masklookupvaluedecode. (((dm_value_keep_mask) = 2 * ge_signed_half_keep_masklookupvaluedecode + 1 /\ (ge_balance_positive_keep_masklookupvalue) = 0) /\ (ge_balance_negative_keep_masklookupvalue) = S ge_signed_half_keep_masklookupvaluedecode))) /\ ((dst_positive_keep_masklookup) + ge_balance_negative_keep_masklookupvalue = (dst_negative_keep_masklookup) + ge_balance_positive_keep_masklookupvalue))))))))) -> ((((~((dm_index_keep_mask)=0)) /\ (exists dm_quotient_keep_maskentry. (((n)=(dm_index_keep_mask)*dm_quotient_keep_maskentry) /\ (exists dst_positive_code_keep_maskentryinput dst_positive_scale_keep_maskentryinput dst_negative_code_keep_maskentryinput dst_negative_scale_keep_maskentryinput dst_positive_keep_maskentryinput dst_negative_keep_maskentryinput. (((F) = (((((dst_positive_code_keep_maskentryinput) + (dst_positive_scale_keep_maskentryinput)) * S ((dst_positive_code_keep_maskentryinput) + (dst_positive_scale_keep_maskentryinput)) + ((dst_positive_scale_keep_maskentryinput) + (dst_positive_scale_keep_maskentryinput))) + (((dst_negative_code_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput)) * S ((dst_negative_code_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput)) + ((dst_negative_scale_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput)))) * S ((((dst_positive_code_keep_maskentryinput) + (dst_positive_scale_keep_maskentryinput)) * S ((dst_positive_code_keep_maskentryinput) + (dst_positive_scale_keep_maskentryinput)) + ((dst_positive_scale_keep_maskentryinput) + (dst_positive_scale_keep_maskentryinput))) + (((dst_negative_code_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput)) * S ((dst_negative_code_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput)) + ((dst_negative_scale_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput)))) + ((((dst_negative_code_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput)) * S ((dst_negative_code_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput)) + ((dst_negative_scale_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput))) + (((dst_negative_code_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput)) * S ((dst_negative_code_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput)) + ((dst_negative_scale_keep_maskentryinput) + (dst_negative_scale_keep_maskentryinput)))))) /\ (((((exists ff_h_pvs_keep_maskentryinputpositive. ff_h_pvs_keep_maskentryinputpositive + S (dst_positive_keep_maskentryinput) = S ((S (dm_index_keep_mask)) * dst_positive_scale_keep_maskentryinput)) /\ exists ff_q_pvs_keep_maskentryinputpositive. dst_positive_code_keep_maskentryinput = ff_q_pvs_keep_maskentryinputpositive * S ((S (dm_index_keep_mask)) * dst_positive_scale_keep_maskentryinput) + (dst_positive_keep_maskentryinput))) /\ (((((exists ff_h_pvs_keep_maskentryinputnegative. ff_h_pvs_keep_maskentryinputnegative + S (dst_negative_keep_maskentryinput) = S ((S (dm_index_keep_mask)) * dst_negative_scale_keep_maskentryinput)) /\ exists ff_q_pvs_keep_maskentryinputnegative. dst_negative_code_keep_maskentryinput = ff_q_pvs_keep_maskentryinputnegative * S ((S (dm_index_keep_mask)) * dst_negative_scale_keep_maskentryinput) + (dst_negative_keep_maskentryinput))) /\ (exists ge_balance_positive_keep_maskentryinputvalue ge_balance_negative_keep_maskentryinputvalue. (((((dm_value_keep_mask) = 2 * (ge_balance_positive_keep_maskentryinputvalue) /\ (ge_balance_negative_keep_maskentryinputvalue) = 0) \/ exists ge_signed_half_keep_maskentryinputvaluedecode. (((dm_value_keep_mask) = 2 * ge_signed_half_keep_maskentryinputvaluedecode + 1 /\ (ge_balance_positive_keep_maskentryinputvalue) = 0) /\ (ge_balance_negative_keep_maskentryinputvalue) = S ge_signed_half_keep_maskentryinputvaluedecode))) /\ ((dst_positive_keep_maskentryinput) + ge_balance_negative_keep_maskentryinputvalue = (dst_negative_keep_maskentryinput) + ge_balance_positive_keep_maskentryinputvalue))))))))))))) \/ ((((dm_index_keep_mask)=0 \/ ~(exists pvs_factor_keep_maskentrynondivisor. (n) = (dm_index_keep_mask) * pvs_factor_keep_maskentrynondivisor)) /\ ((dm_value_keep_mask)=0))))))) -> (exists pvs_le_gap_keep_bound. pvs_le_gap_keep_bound + (d) = (l)) -> ~(d=0) -> n=d*q -> (exists dst_positive_code_keep_source dst_positive_scale_keep_source dst_negative_code_keep_source dst_negative_scale_keep_source dst_positive_keep_source dst_negative_keep_source. (((F) = (((((dst_positive_code_keep_source) + (dst_positive_scale_keep_source)) * S ((dst_positive_code_keep_source) + (dst_positive_scale_keep_source)) + ((dst_positive_scale_keep_source) + (dst_positive_scale_keep_source))) + (((dst_negative_code_keep_source) + (dst_negative_scale_keep_source)) * S ((dst_negative_code_keep_source) + (dst_negative_scale_keep_source)) + ((dst_negative_scale_keep_source) + (dst_negative_scale_keep_source)))) * S ((((dst_positive_code_keep_source) + (dst_positive_scale_keep_source)) * S ((dst_positive_code_keep_source) + (dst_positive_scale_keep_source)) + ((dst_positive_scale_keep_source) + (dst_positive_scale_keep_source))) + (((dst_negative_code_keep_source) + (dst_negative_scale_keep_source)) * S ((dst_negative_code_keep_source) + (dst_negative_scale_keep_source)) + ((dst_negative_scale_keep_source) + (dst_negative_scale_keep_source)))) + ((((dst_negative_code_keep_source) + (dst_negative_scale_keep_source)) * S ((dst_negative_code_keep_source) + (dst_negative_scale_keep_source)) + ((dst_negative_scale_keep_source) + (dst_negative_scale_keep_source))) + (((dst_negative_code_keep_source) + (dst_negative_scale_keep_source)) * S ((dst_negative_code_keep_source) + (dst_negative_scale_keep_source)) + ((dst_negative_scale_keep_source) + (dst_negative_scale_keep_source)))))) /\ (((((exists ff_h_pvs_keep_sourcepositive. ff_h_pvs_keep_sourcepositive + S (dst_positive_keep_source) = S ((S (d)) * dst_positive_scale_keep_source)) /\ exists ff_q_pvs_keep_sourcepositive. dst_positive_code_keep_source = ff_q_pvs_keep_sourcepositive * S ((S (d)) * dst_positive_scale_keep_source) + (dst_positive_keep_source))) /\ (((((exists ff_h_pvs_keep_sourcenegative. ff_h_pvs_keep_sourcenegative + S (dst_negative_keep_source) = S ((S (d)) * dst_negative_scale_keep_source)) /\ exists ff_q_pvs_keep_sourcenegative. dst_negative_code_keep_source = ff_q_pvs_keep_sourcenegative * S ((S (d)) * dst_negative_scale_keep_source) + (dst_negative_keep_source))) /\ (exists ge_balance_positive_keep_sourcevalue ge_balance_negative_keep_sourcevalue. (((((z) = 2 * (ge_balance_positive_keep_sourcevalue) /\ (ge_balance_negative_keep_sourcevalue) = 0) \/ exists ge_signed_half_keep_sourcevaluedecode. (((z) = 2 * ge_signed_half_keep_sourcevaluedecode + 1 /\ (ge_balance_positive_keep_sourcevalue) = 0) /\ (ge_balance_negative_keep_sourcevalue) = S ge_signed_half_keep_sourcevaluedecode))) /\ ((dst_positive_keep_source) + ge_balance_negative_keep_sourcevalue = (dst_negative_keep_source) + ge_balance_positive_keep_sourcevalue))))))))) -> (exists dst_positive_code_keep_mask_entry dst_positive_scale_keep_mask_entry dst_negative_code_keep_mask_entry dst_negative_scale_keep_mask_entry dst_positive_keep_mask_entry dst_negative_keep_mask_entry. (((M) = (((((dst_positive_code_keep_mask_entry) + (dst_positive_scale_keep_mask_entry)) * S ((dst_positive_code_keep_mask_entry) + (dst_positive_scale_keep_mask_entry)) + ((dst_positive_scale_keep_mask_entry) + (dst_positive_scale_keep_mask_entry))) + (((dst_negative_code_keep_mask_entry) + (dst_negative_scale_keep_mask_entry)) * S ((dst_negative_code_keep_mask_entry) + (dst_negative_scale_keep_mask_entry)) + ((dst_negative_scale_keep_mask_entry) + (dst_negative_scale_keep_mask_entry)))) * S ((((dst_positive_code_keep_mask_entry) + (dst_positive_scale_keep_mask_entry)) * S ((dst_positive_code_keep_mask_entry) + (dst_positive_scale_keep_mask_entry)) + ((dst_positive_scale_keep_mask_entry) + (dst_positive_scale_keep_mask_entry))) + (((dst_negative_code_keep_mask_entry) + (dst_negative_scale_keep_mask_entry)) * S ((dst_negative_code_keep_mask_entry) + (dst_negative_scale_keep_mask_entry)) + ((dst_negative_scale_keep_mask_entry) + (dst_negative_scale_keep_mask_entry)))) + ((((dst_negative_code_keep_mask_entry) + (dst_negative_scale_keep_mask_entry)) * S ((dst_negative_code_keep_mask_entry) + (dst_negative_scale_keep_mask_entry)) + ((dst_negative_scale_keep_mask_entry) + (dst_negative_scale_keep_mask_entry))) + (((dst_negative_code_keep_mask_entry) + (dst_negative_scale_keep_mask_entry)) * S ((dst_negative_code_keep_mask_entry) + (dst_negative_scale_keep_mask_entry)) + ((dst_negative_scale_keep_mask_entry) + (dst_negative_scale_keep_mask_entry)))))) /\ (((((exists ff_h_pvs_keep_mask_entrypositive. ff_h_pvs_keep_mask_entrypositive + S (dst_positive_keep_mask_entry) = S ((S (d)) * dst_positive_scale_keep_mask_entry)) /\ exists ff_q_pvs_keep_mask_entrypositive. dst_positive_code_keep_mask_entry = ff_q_pvs_keep_mask_entrypositive * S ((S (d)) * dst_positive_scale_keep_mask_entry) + (dst_positive_keep_mask_entry))) /\ (((((exists ff_h_pvs_keep_mask_entrynegative. ff_h_pvs_keep_mask_entrynegative + S (dst_negative_keep_mask_entry) = S ((S (d)) * dst_negative_scale_keep_mask_entry)) /\ exists ff_q_pvs_keep_mask_entrynegative. dst_negative_code_keep_mask_entry = ff_q_pvs_keep_mask_entrynegative * S ((S (d)) * dst_negative_scale_keep_mask_entry) + (dst_negative_keep_mask_entry))) /\ (exists ge_balance_positive_keep_mask_entryvalue ge_balance_negative_keep_mask_entryvalue. (((((z) = 2 * (ge_balance_positive_keep_mask_entryvalue) /\ (ge_balance_negative_keep_mask_entryvalue) = 0) \/ exists ge_signed_half_keep_mask_entryvaluedecode. (((z) = 2 * ge_signed_half_keep_mask_entryvaluedecode + 1 /\ (ge_balance_positive_keep_mask_entryvalue) = 0) /\ (ge_balance_negative_keep_mask_entryvalue) = S ge_signed_half_keep_mask_entryvaluedecode))) /\ ((dst_positive_keep_mask_entry) + ge_balance_negative_keep_mask_entryvalue = (dst_negative_keep_mask_entry) + ge_balance_positive_keep_mask_entryvalue)))))))))Constructive proof overview
Generated structural guide
The constructed mask retains precisely the canonical input value at every witnessed positive divisor inside its finite domain.
The unchanged tactic script uses 3 declared prerequisites and contains 45 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_lookup Alpha theorem; checked-use authorized DV0014 divisor_mask_entry_functional DV0011 divisor_mask_entry_from_quotientDirect 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–12
03Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hm
04Establish huL14–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table lookup.
05Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases hu
06Establish heqL22–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor mask entry functional.
- L22
have heq : x=z - L23
specialize divisor_mask_entry_functional (F) - L24
specialize divisor_mask_entry_functional (n) - L25
specialize divisor_mask_entry_functional (d) - L26
specialize divisor_mask_entry_functional (x) - L27
specialize divisor_mask_entry_functional (z) - L28
apply divisor_mask_entry_functional - L29
specialize hm_right (d) - L30
specialize hm_right (x) - L31
apply hm_right
07Use earlier factsL32–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
exact hbound - L33
exact hu_witness - L34
specialize divisor_mask_entry_from_quotient (F) - L35
specialize divisor_mask_entry_from_quotient (n) - L36
specialize divisor_mask_entry_from_quotient (d) - L37
specialize divisor_mask_entry_from_quotient (q) - L38
specialize divisor_mask_entry_from_quotient (z) - L39
apply divisor_mask_entry_from_quotient - L40
exact hd - L41
exact hq
08Use earlier factsL42–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
exact hz
09Calculate and transport equalitiesL43–44
10Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hu_witness
Original exact command ledger · 45 lines
- 0001
intro F - 0002
intro n - 0003
intro l - 0004
intro M - 0005
intro d - 0006
intro q - 0007
intro z - 0008
intro hm - 0009
intro hbound - 0010
intro hd - 0011
intro hq - 0012
intro hz - 0013
cases hm - 0014
have hu : exists u. (exists dst_positive_code_keep_actual_lookup dst_positive_scale_keep_actual_lookup dst_negative_code_keep_actual_lookup dst_negative_scale_keep_actual_lookup dst_positive_keep_actual_lookup dst_negative_keep_actual_lookup. (((M) = (((((dst_positive_code_keep_actual_lookup) + (dst_positive_scale_keep_actual_lookup)) * S ((dst_positive_code_keep_actual_lookup) + (dst_positive_scale_keep_actual_lookup)) + ((dst_positive_scale_keep_actual_lookup) + (dst_positive_scale_keep_actual_lookup))) + (((dst_negative_code_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup)) * S ((dst_negative_code_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup)) + ((dst_negative_scale_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup)))) * S ((((dst_positive_code_keep_actual_lookup) + (dst_positive_scale_keep_actual_lookup)) * S ((dst_positive_code_keep_actual_lookup) + (dst_positive_scale_keep_actual_lookup)) + ((dst_positive_scale_keep_actual_lookup) + (dst_positive_scale_keep_actual_lookup))) + (((dst_negative_code_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup)) * S ((dst_negative_code_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup)) + ((dst_negative_scale_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup)))) + ((((dst_negative_code_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup)) * S ((dst_negative_code_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup)) + ((dst_negative_scale_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup))) + (((dst_negative_code_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup)) * S ((dst_negative_code_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup)) + ((dst_negative_scale_keep_actual_lookup) + (dst_negative_scale_keep_actual_lookup)))))) /\ (((((exists ff_h_pvs_keep_actual_lookuppositive. ff_h_pvs_keep_actual_lookuppositive + S (dst_positive_keep_actual_lookup) = S ((S (d)) * dst_positive_scale_keep_actual_lookup)) /\ exists ff_q_pvs_keep_actual_lookuppositive. dst_positive_code_keep_actual_lookup = ff_q_pvs_keep_actual_lookuppositive * S ((S (d)) * dst_positive_scale_keep_actual_lookup) + (dst_positive_keep_actual_lookup))) /\ (((((exists ff_h_pvs_keep_actual_lookupnegative. ff_h_pvs_keep_actual_lookupnegative + S (dst_negative_keep_actual_lookup) = S ((S (d)) * dst_negative_scale_keep_actual_lookup)) /\ exists ff_q_pvs_keep_actual_lookupnegative. dst_negative_code_keep_actual_lookup = ff_q_pvs_keep_actual_lookupnegative * S ((S (d)) * dst_negative_scale_keep_actual_lookup) + (dst_negative_keep_actual_lookup))) /\ (exists ge_balance_positive_keep_actual_lookupvalue ge_balance_negative_keep_actual_lookupvalue. (((((u) = 2 * (ge_balance_positive_keep_actual_lookupvalue) /\ (ge_balance_negative_keep_actual_lookupvalue) = 0) \/ exists ge_signed_half_keep_actual_lookupvaluedecode. (((u) = 2 * ge_signed_half_keep_actual_lookupvaluedecode + 1 /\ (ge_balance_positive_keep_actual_lookupvalue) = 0) /\ (ge_balance_negative_keep_actual_lookupvalue) = S ge_signed_half_keep_actual_lookupvaluedecode))) /\ ((dst_positive_keep_actual_lookup) + ge_balance_negative_keep_actual_lookupvalue = (dst_negative_keep_actual_lookup) + ge_balance_positive_keep_actual_lookupvalue))))))))) - 0015
specialize divisor_signed_table_lookup (l) - 0016
specialize divisor_signed_table_lookup (M) - 0017
specialize divisor_signed_table_lookup (d) - 0018
apply divisor_signed_table_lookup - 0019
exact hm_left - 0020
exact hbound - 0021
cases hu - 0022
have heq : x=z - 0023
specialize divisor_mask_entry_functional (F) - 0024
specialize divisor_mask_entry_functional (n) - 0025
specialize divisor_mask_entry_functional (d) - 0026
specialize divisor_mask_entry_functional (x) - 0027
specialize divisor_mask_entry_functional (z) - 0028
apply divisor_mask_entry_functional - 0029
specialize hm_right (d) - 0030
specialize hm_right (x) - 0031
apply hm_right - 0032
exact hbound - 0033
exact hu_witness - 0034
specialize divisor_mask_entry_from_quotient (F) - 0035
specialize divisor_mask_entry_from_quotient (n) - 0036
specialize divisor_mask_entry_from_quotient (d) - 0037
specialize divisor_mask_entry_from_quotient (q) - 0038
specialize divisor_mask_entry_from_quotient (z) - 0039
apply divisor_mask_entry_from_quotient - 0040
exact hd - 0041
exact hq - 0042
exact hz - 0043
rewrite heq at hu_witness - 0044
rewrite heq at hu_witness - 0045
exact hu_witness