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 l. (exists dst_positive_code_identity_source dst_positive_scale_identity_source dst_negative_code_identity_source dst_negative_scale_identity_source. (((F) = (((((dst_positive_code_identity_source) + (dst_positive_scale_identity_source)) * S ((dst_positive_code_identity_source) + (dst_positive_scale_identity_source)) + ((dst_positive_scale_identity_source) + (dst_positive_scale_identity_source))) + (((dst_negative_code_identity_source) + (dst_negative_scale_identity_source)) * S ((dst_negative_code_identity_source) + (dst_negative_scale_identity_source)) + ((dst_negative_scale_identity_source) + (dst_negative_scale_identity_source)))) * S ((((dst_positive_code_identity_source) + (dst_positive_scale_identity_source)) * S ((dst_positive_code_identity_source) + (dst_positive_scale_identity_source)) + ((dst_positive_scale_identity_source) + (dst_positive_scale_identity_source))) + (((dst_negative_code_identity_source) + (dst_negative_scale_identity_source)) * S ((dst_negative_code_identity_source) + (dst_negative_scale_identity_source)) + ((dst_negative_scale_identity_source) + (dst_negative_scale_identity_source)))) + ((((dst_negative_code_identity_source) + (dst_negative_scale_identity_source)) * S ((dst_negative_code_identity_source) + (dst_negative_scale_identity_source)) + ((dst_negative_scale_identity_source) + (dst_negative_scale_identity_source))) + (((dst_negative_code_identity_source) + (dst_negative_scale_identity_source)) * S ((dst_negative_code_identity_source) + (dst_negative_scale_identity_source)) + ((dst_negative_scale_identity_source) + (dst_negative_scale_identity_source)))))) /\ (forall dst_index_identity_source. (exists pvs_le_gap_identity_sourcedomain. pvs_le_gap_identity_sourcedomain + (dst_index_identity_source) = (0)) -> exists dst_positive_identity_source dst_negative_identity_source dst_value_identity_source. ((((exists ff_h_pvs_identity_sourceentrypositive. ff_h_pvs_identity_sourceentrypositive + S (dst_positive_identity_source) = S ((S (dst_index_identity_source)) * dst_positive_scale_identity_source)) /\ exists ff_q_pvs_identity_sourceentrypositive. dst_positive_code_identity_source = ff_q_pvs_identity_sourceentrypositive * S ((S (dst_index_identity_source)) * dst_positive_scale_identity_source) + (dst_positive_identity_source))) /\ (((((exists ff_h_pvs_identity_sourceentrynegative. ff_h_pvs_identity_sourceentrynegative + S (dst_negative_identity_source) = S ((S (dst_index_identity_source)) * dst_negative_scale_identity_source)) /\ exists ff_q_pvs_identity_sourceentrynegative. dst_negative_code_identity_source = ff_q_pvs_identity_sourceentrynegative * S ((S (dst_index_identity_source)) * dst_negative_scale_identity_source) + (dst_negative_identity_source))) /\ (exists ge_balance_positive_identity_sourceentryvalue ge_balance_negative_identity_sourceentryvalue. (((((dst_value_identity_source) = 2 * (ge_balance_positive_identity_sourceentryvalue) /\ (ge_balance_negative_identity_sourceentryvalue) = 0) \/ exists ge_signed_half_identity_sourceentryvaluedecode. (((dst_value_identity_source) = 2 * ge_signed_half_identity_sourceentryvaluedecode + 1 /\ (ge_balance_positive_identity_sourceentryvalue) = 0) /\ (ge_balance_negative_identity_sourceentryvalue) = S ge_signed_half_identity_sourceentryvaluedecode))) /\ ((dst_positive_identity_source) + ge_balance_negative_identity_sourceentryvalue = (dst_negative_identity_source) + ge_balance_positive_identity_sourceentryvalue))))))))) -> (((exists dst_positive_code_identity_resultsource_table dst_positive_scale_identity_resultsource_table dst_negative_code_identity_resultsource_table dst_negative_scale_identity_resultsource_table. (((F) = (((((dst_positive_code_identity_resultsource_table) + (dst_positive_scale_identity_resultsource_table)) * S ((dst_positive_code_identity_resultsource_table) + (dst_positive_scale_identity_resultsource_table)) + ((dst_positive_scale_identity_resultsource_table) + (dst_positive_scale_identity_resultsource_table))) + (((dst_negative_code_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table)) * S ((dst_negative_code_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table)) + ((dst_negative_scale_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table)))) * S ((((dst_positive_code_identity_resultsource_table) + (dst_positive_scale_identity_resultsource_table)) * S ((dst_positive_code_identity_resultsource_table) + (dst_positive_scale_identity_resultsource_table)) + ((dst_positive_scale_identity_resultsource_table) + (dst_positive_scale_identity_resultsource_table))) + (((dst_negative_code_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table)) * S ((dst_negative_code_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table)) + ((dst_negative_scale_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table)))) + ((((dst_negative_code_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table)) * S ((dst_negative_code_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table)) + ((dst_negative_scale_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table))) + (((dst_negative_code_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table)) * S ((dst_negative_code_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table)) + ((dst_negative_scale_identity_resultsource_table) + (dst_negative_scale_identity_resultsource_table)))))) /\ (forall dst_index_identity_resultsource_table. (exists pvs_le_gap_identity_resultsource_tabledomain. pvs_le_gap_identity_resultsource_tabledomain + (dst_index_identity_resultsource_table) = (0)) -> exists dst_positive_identity_resultsource_table dst_negative_identity_resultsource_table dst_value_identity_resultsource_table. ((((exists ff_h_pvs_identity_resultsource_tableentrypositive. ff_h_pvs_identity_resultsource_tableentrypositive + S (dst_positive_identity_resultsource_table) = S ((S (dst_index_identity_resultsource_table)) * dst_positive_scale_identity_resultsource_table)) /\ exists ff_q_pvs_identity_resultsource_tableentrypositive. dst_positive_code_identity_resultsource_table = ff_q_pvs_identity_resultsource_tableentrypositive * S ((S (dst_index_identity_resultsource_table)) * dst_positive_scale_identity_resultsource_table) + (dst_positive_identity_resultsource_table))) /\ (((((exists ff_h_pvs_identity_resultsource_tableentrynegative. ff_h_pvs_identity_resultsource_tableentrynegative + S (dst_negative_identity_resultsource_table) = S ((S (dst_index_identity_resultsource_table)) * dst_negative_scale_identity_resultsource_table)) /\ exists ff_q_pvs_identity_resultsource_tableentrynegative. dst_negative_code_identity_resultsource_table = ff_q_pvs_identity_resultsource_tableentrynegative * S ((S (dst_index_identity_resultsource_table)) * dst_negative_scale_identity_resultsource_table) + (dst_negative_identity_resultsource_table))) /\ (exists ge_balance_positive_identity_resultsource_tableentryvalue ge_balance_negative_identity_resultsource_tableentryvalue. (((((dst_value_identity_resultsource_table) = 2 * (ge_balance_positive_identity_resultsource_tableentryvalue) /\ (ge_balance_negative_identity_resultsource_tableentryvalue) = 0) \/ exists ge_signed_half_identity_resultsource_tableentryvaluedecode. (((dst_value_identity_resultsource_table) = 2 * ge_signed_half_identity_resultsource_tableentryvaluedecode + 1 /\ (ge_balance_positive_identity_resultsource_tableentryvalue) = 0) /\ (ge_balance_negative_identity_resultsource_tableentryvalue) = S ge_signed_half_identity_resultsource_tableentryvaluedecode))) /\ ((dst_positive_identity_resultsource_table) + ge_balance_negative_identity_resultsource_tableentryvalue = (dst_negative_identity_resultsource_table) + ge_balance_positive_identity_resultsource_tableentryvalue))))))))) /\ (((exists dst_positive_code_identity_resultoutput_table dst_positive_scale_identity_resultoutput_table dst_negative_code_identity_resultoutput_table dst_negative_scale_identity_resultoutput_table. (((F) = (((((dst_positive_code_identity_resultoutput_table) + (dst_positive_scale_identity_resultoutput_table)) * S ((dst_positive_code_identity_resultoutput_table) + (dst_positive_scale_identity_resultoutput_table)) + ((dst_positive_scale_identity_resultoutput_table) + (dst_positive_scale_identity_resultoutput_table))) + (((dst_negative_code_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table)) * S ((dst_negative_code_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table)) + ((dst_negative_scale_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table)))) * S ((((dst_positive_code_identity_resultoutput_table) + (dst_positive_scale_identity_resultoutput_table)) * S ((dst_positive_code_identity_resultoutput_table) + (dst_positive_scale_identity_resultoutput_table)) + ((dst_positive_scale_identity_resultoutput_table) + (dst_positive_scale_identity_resultoutput_table))) + (((dst_negative_code_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table)) * S ((dst_negative_code_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table)) + ((dst_negative_scale_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table)))) + ((((dst_negative_code_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table)) * S ((dst_negative_code_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table)) + ((dst_negative_scale_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table))) + (((dst_negative_code_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table)) * S ((dst_negative_code_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table)) + ((dst_negative_scale_identity_resultoutput_table) + (dst_negative_scale_identity_resultoutput_table)))))) /\ (forall dst_index_identity_resultoutput_table. (exists pvs_le_gap_identity_resultoutput_tabledomain. pvs_le_gap_identity_resultoutput_tabledomain + (dst_index_identity_resultoutput_table) = (l)) -> exists dst_positive_identity_resultoutput_table dst_negative_identity_resultoutput_table dst_value_identity_resultoutput_table. ((((exists ff_h_pvs_identity_resultoutput_tableentrypositive. ff_h_pvs_identity_resultoutput_tableentrypositive + S (dst_positive_identity_resultoutput_table) = S ((S (dst_index_identity_resultoutput_table)) * dst_positive_scale_identity_resultoutput_table)) /\ exists ff_q_pvs_identity_resultoutput_tableentrypositive. dst_positive_code_identity_resultoutput_table = ff_q_pvs_identity_resultoutput_tableentrypositive * S ((S (dst_index_identity_resultoutput_table)) * dst_positive_scale_identity_resultoutput_table) + (dst_positive_identity_resultoutput_table))) /\ (((((exists ff_h_pvs_identity_resultoutput_tableentrynegative. ff_h_pvs_identity_resultoutput_tableentrynegative + S (dst_negative_identity_resultoutput_table) = S ((S (dst_index_identity_resultoutput_table)) * dst_negative_scale_identity_resultoutput_table)) /\ exists ff_q_pvs_identity_resultoutput_tableentrynegative. dst_negative_code_identity_resultoutput_table = ff_q_pvs_identity_resultoutput_tableentrynegative * S ((S (dst_index_identity_resultoutput_table)) * dst_negative_scale_identity_resultoutput_table) + (dst_negative_identity_resultoutput_table))) /\ (exists ge_balance_positive_identity_resultoutput_tableentryvalue ge_balance_negative_identity_resultoutput_tableentryvalue. (((((dst_value_identity_resultoutput_table) = 2 * (ge_balance_positive_identity_resultoutput_tableentryvalue) /\ (ge_balance_negative_identity_resultoutput_tableentryvalue) = 0) \/ exists ge_signed_half_identity_resultoutput_tableentryvaluedecode. (((dst_value_identity_resultoutput_table) = 2 * ge_signed_half_identity_resultoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_identity_resultoutput_tableentryvalue) = 0) /\ (ge_balance_negative_identity_resultoutput_tableentryvalue) = S ge_signed_half_identity_resultoutput_tableentryvaluedecode))) /\ ((dst_positive_identity_resultoutput_table) + ge_balance_negative_identity_resultoutput_tableentryvalue = (dst_negative_identity_resultoutput_table) + ge_balance_positive_identity_resultoutput_tableentryvalue))))))))) /\ (forall srs_index_identity_result. (exists pvs_gap_identity_resultbound. pvs_gap_identity_resultbound + S (srs_index_identity_result) = (l)) -> exists srs_value_identity_result. (((exists dst_positive_code_identity_resultentrysource dst_positive_scale_identity_resultentrysource dst_negative_code_identity_resultentrysource dst_negative_scale_identity_resultentrysource dst_positive_identity_resultentrysource dst_negative_identity_resultentrysource. (((F) = (((((dst_positive_code_identity_resultentrysource) + (dst_positive_scale_identity_resultentrysource)) * S ((dst_positive_code_identity_resultentrysource) + (dst_positive_scale_identity_resultentrysource)) + ((dst_positive_scale_identity_resultentrysource) + (dst_positive_scale_identity_resultentrysource))) + (((dst_negative_code_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource)) * S ((dst_negative_code_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource)) + ((dst_negative_scale_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource)))) * S ((((dst_positive_code_identity_resultentrysource) + (dst_positive_scale_identity_resultentrysource)) * S ((dst_positive_code_identity_resultentrysource) + (dst_positive_scale_identity_resultentrysource)) + ((dst_positive_scale_identity_resultentrysource) + (dst_positive_scale_identity_resultentrysource))) + (((dst_negative_code_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource)) * S ((dst_negative_code_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource)) + ((dst_negative_scale_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource)))) + ((((dst_negative_code_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource)) * S ((dst_negative_code_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource)) + ((dst_negative_scale_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource))) + (((dst_negative_code_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource)) * S ((dst_negative_code_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource)) + ((dst_negative_scale_identity_resultentrysource) + (dst_negative_scale_identity_resultentrysource)))))) /\ (((((exists ff_h_pvs_identity_resultentrysourcepositive. ff_h_pvs_identity_resultentrysourcepositive + S (dst_positive_identity_resultentrysource) = S ((S (((0) + ((1) * (srs_index_identity_result))))) * dst_positive_scale_identity_resultentrysource)) /\ exists ff_q_pvs_identity_resultentrysourcepositive. dst_positive_code_identity_resultentrysource = ff_q_pvs_identity_resultentrysourcepositive * S ((S (((0) + ((1) * (srs_index_identity_result))))) * dst_positive_scale_identity_resultentrysource) + (dst_positive_identity_resultentrysource))) /\ (((((exists ff_h_pvs_identity_resultentrysourcenegative. ff_h_pvs_identity_resultentrysourcenegative + S (dst_negative_identity_resultentrysource) = S ((S (((0) + ((1) * (srs_index_identity_result))))) * dst_negative_scale_identity_resultentrysource)) /\ exists ff_q_pvs_identity_resultentrysourcenegative. dst_negative_code_identity_resultentrysource = ff_q_pvs_identity_resultentrysourcenegative * S ((S (((0) + ((1) * (srs_index_identity_result))))) * dst_negative_scale_identity_resultentrysource) + (dst_negative_identity_resultentrysource))) /\ (exists ge_balance_positive_identity_resultentrysourcevalue ge_balance_negative_identity_resultentrysourcevalue. (((((srs_value_identity_result) = 2 * (ge_balance_positive_identity_resultentrysourcevalue) /\ (ge_balance_negative_identity_resultentrysourcevalue) = 0) \/ exists ge_signed_half_identity_resultentrysourcevaluedecode. (((srs_value_identity_result) = 2 * ge_signed_half_identity_resultentrysourcevaluedecode + 1 /\ (ge_balance_positive_identity_resultentrysourcevalue) = 0) /\ (ge_balance_negative_identity_resultentrysourcevalue) = S ge_signed_half_identity_resultentrysourcevaluedecode))) /\ ((dst_positive_identity_resultentrysource) + ge_balance_negative_identity_resultentrysourcevalue = (dst_negative_identity_resultentrysource) + ge_balance_positive_identity_resultentrysourcevalue))))))))) /\ (exists dst_positive_code_identity_resultentryoutput dst_positive_scale_identity_resultentryoutput dst_negative_code_identity_resultentryoutput dst_negative_scale_identity_resultentryoutput dst_positive_identity_resultentryoutput dst_negative_identity_resultentryoutput. (((F) = (((((dst_positive_code_identity_resultentryoutput) + (dst_positive_scale_identity_resultentryoutput)) * S ((dst_positive_code_identity_resultentryoutput) + (dst_positive_scale_identity_resultentryoutput)) + ((dst_positive_scale_identity_resultentryoutput) + (dst_positive_scale_identity_resultentryoutput))) + (((dst_negative_code_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput)) * S ((dst_negative_code_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput)) + ((dst_negative_scale_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput)))) * S ((((dst_positive_code_identity_resultentryoutput) + (dst_positive_scale_identity_resultentryoutput)) * S ((dst_positive_code_identity_resultentryoutput) + (dst_positive_scale_identity_resultentryoutput)) + ((dst_positive_scale_identity_resultentryoutput) + (dst_positive_scale_identity_resultentryoutput))) + (((dst_negative_code_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput)) * S ((dst_negative_code_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput)) + ((dst_negative_scale_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput)))) + ((((dst_negative_code_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput)) * S ((dst_negative_code_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput)) + ((dst_negative_scale_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput))) + (((dst_negative_code_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput)) * S ((dst_negative_code_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput)) + ((dst_negative_scale_identity_resultentryoutput) + (dst_negative_scale_identity_resultentryoutput)))))) /\ (((((exists ff_h_pvs_identity_resultentryoutputpositive. ff_h_pvs_identity_resultentryoutputpositive + S (dst_positive_identity_resultentryoutput) = S ((S (srs_index_identity_result)) * dst_positive_scale_identity_resultentryoutput)) /\ exists ff_q_pvs_identity_resultentryoutputpositive. dst_positive_code_identity_resultentryoutput = ff_q_pvs_identity_resultentryoutputpositive * S ((S (srs_index_identity_result)) * dst_positive_scale_identity_resultentryoutput) + (dst_positive_identity_resultentryoutput))) /\ (((((exists ff_h_pvs_identity_resultentryoutputnegative. ff_h_pvs_identity_resultentryoutputnegative + S (dst_negative_identity_resultentryoutput) = S ((S (srs_index_identity_result)) * dst_negative_scale_identity_resultentryoutput)) /\ exists ff_q_pvs_identity_resultentryoutputnegative. dst_negative_code_identity_resultentryoutput = ff_q_pvs_identity_resultentryoutputnegative * S ((S (srs_index_identity_result)) * dst_negative_scale_identity_resultentryoutput) + (dst_negative_identity_resultentryoutput))) /\ (exists ge_balance_positive_identity_resultentryoutputvalue ge_balance_negative_identity_resultentryoutputvalue. (((((srs_value_identity_result) = 2 * (ge_balance_positive_identity_resultentryoutputvalue) /\ (ge_balance_negative_identity_resultentryoutputvalue) = 0) \/ exists ge_signed_half_identity_resultentryoutputvaluedecode. (((srs_value_identity_result) = 2 * ge_signed_half_identity_resultentryoutputvaluedecode + 1 /\ (ge_balance_positive_identity_resultentryoutputvalue) = 0) /\ (ge_balance_negative_identity_resultentryoutputvalue) = S ge_signed_half_identity_resultentryoutputvaluedecode))) /\ ((dst_positive_identity_resultentryoutput) + ge_balance_negative_identity_resultentryoutputvalue = (dst_negative_identity_resultentryoutput) + ge_balance_positive_identity_resultentryoutputvalue))))))))))))))))Constructive proof overview
Generated structural guide
The original packed table itself is a genuine zero-origin, unit-stride slice; the certified endpoint is unused.
The unchanged tactic script uses 4 declared prerequisites and contains 34 exact native proof lines.
Alpha v34 checked-use · first admitted v32 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
signed_table_domain_resize Alpha theorem; checked-use authorized signed_table_lookup_any Alpha theorem; checked-use authorized zero_add Stable theorem; checked-use authorized one_mul Stable 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–3
02Separate the logical casesL4–4
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L4
split
03Use earlier factsL5–5
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L5
exact hF
04Separate the logical casesL6–6
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L6
split
05Use earlier factsL7–11
06Fix variables and assumptionsL12–13
07Establish hzL14–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed table lookup any.
08Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
cases hz
09Construct an explicit witnessL21–21
Supply the displayed value, then prove that it has the required property.
- L21
exists x
10Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
split
11Establish hindexL23–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply zero add.
Original exact command ledger · 34 lines
- 0001
intro F - 0002
intro l - 0003
intro hF - 0004
split - 0005
exact hF - 0006
split - 0007
specialize signed_table_domain_resize (0) - 0008
specialize signed_table_domain_resize (l) - 0009
specialize signed_table_domain_resize (F) - 0010
apply signed_table_domain_resize - 0011
exact hF - 0012
intro i - 0013
intro hi - 0014
have hz : exists z. (exists dst_positive_code_identity_value dst_positive_scale_identity_value dst_negative_code_identity_value dst_negative_scale_identity_value dst_positive_identity_value dst_negative_identity_value. (((F) = (((((dst_positive_code_identity_value) + (dst_positive_scale_identity_value)) * S ((dst_positive_code_identity_value) + (dst_positive_scale_identity_value)) + ((dst_positive_scale_identity_value) + (dst_positive_scale_identity_value))) + (((dst_negative_code_identity_value) + (dst_negative_scale_identity_value)) * S ((dst_negative_code_identity_value) + (dst_negative_scale_identity_value)) + ((dst_negative_scale_identity_value) + (dst_negative_scale_identity_value)))) * S ((((dst_positive_code_identity_value) + (dst_positive_scale_identity_value)) * S ((dst_positive_code_identity_value) + (dst_positive_scale_identity_value)) + ((dst_positive_scale_identity_value) + (dst_positive_scale_identity_value))) + (((dst_negative_code_identity_value) + (dst_negative_scale_identity_value)) * S ((dst_negative_code_identity_value) + (dst_negative_scale_identity_value)) + ((dst_negative_scale_identity_value) + (dst_negative_scale_identity_value)))) + ((((dst_negative_code_identity_value) + (dst_negative_scale_identity_value)) * S ((dst_negative_code_identity_value) + (dst_negative_scale_identity_value)) + ((dst_negative_scale_identity_value) + (dst_negative_scale_identity_value))) + (((dst_negative_code_identity_value) + (dst_negative_scale_identity_value)) * S ((dst_negative_code_identity_value) + (dst_negative_scale_identity_value)) + ((dst_negative_scale_identity_value) + (dst_negative_scale_identity_value)))))) /\ (((((exists ff_h_pvs_identity_valuepositive. ff_h_pvs_identity_valuepositive + S (dst_positive_identity_value) = S ((S (i)) * dst_positive_scale_identity_value)) /\ exists ff_q_pvs_identity_valuepositive. dst_positive_code_identity_value = ff_q_pvs_identity_valuepositive * S ((S (i)) * dst_positive_scale_identity_value) + (dst_positive_identity_value))) /\ (((((exists ff_h_pvs_identity_valuenegative. ff_h_pvs_identity_valuenegative + S (dst_negative_identity_value) = S ((S (i)) * dst_negative_scale_identity_value)) /\ exists ff_q_pvs_identity_valuenegative. dst_negative_code_identity_value = ff_q_pvs_identity_valuenegative * S ((S (i)) * dst_negative_scale_identity_value) + (dst_negative_identity_value))) /\ (exists ge_balance_positive_identity_valuevalue ge_balance_negative_identity_valuevalue. (((((z) = 2 * (ge_balance_positive_identity_valuevalue) /\ (ge_balance_negative_identity_valuevalue) = 0) \/ exists ge_signed_half_identity_valuevaluedecode. (((z) = 2 * ge_signed_half_identity_valuevaluedecode + 1 /\ (ge_balance_positive_identity_valuevalue) = 0) /\ (ge_balance_negative_identity_valuevalue) = S ge_signed_half_identity_valuevaluedecode))) /\ ((dst_positive_identity_value) + ge_balance_negative_identity_valuevalue = (dst_negative_identity_value) + ge_balance_positive_identity_valuevalue))))))))) - 0015
specialize signed_table_lookup_any (0) - 0016
specialize signed_table_lookup_any (F) - 0017
specialize signed_table_lookup_any (i) - 0018
apply signed_table_lookup_any - 0019
exact hF - 0020
cases hz - 0021
exists x - 0022
split - 0023
have hindex : ((0) + ((1) * (i))) = i - 0024
trans 1*i - 0025
specialize zero_add (1*i) - 0026
apply zero_add - 0027
specialize one_mul (i) - 0028
apply one_mul - 0029
rewrite hindex - 0030
rewrite hindex - 0031
rewrite hindex - 0032
rewrite hindex - 0033
exact hz_witness - 0034
exact hz_witness