Exact expanded first-order arithmetic statement
forall F i a b. (exists dst_positive_code_functional_first dst_positive_scale_functional_first dst_negative_code_functional_first dst_negative_scale_functional_first dst_positive_functional_first dst_negative_functional_first. (((F) = (((((dst_positive_code_functional_first) + (dst_positive_scale_functional_first)) * S ((dst_positive_code_functional_first) + (dst_positive_scale_functional_first)) + ((dst_positive_scale_functional_first) + (dst_positive_scale_functional_first))) + (((dst_negative_code_functional_first) + (dst_negative_scale_functional_first)) * S ((dst_negative_code_functional_first) + (dst_negative_scale_functional_first)) + ((dst_negative_scale_functional_first) + (dst_negative_scale_functional_first)))) * S ((((dst_positive_code_functional_first) + (dst_positive_scale_functional_first)) * S ((dst_positive_code_functional_first) + (dst_positive_scale_functional_first)) + ((dst_positive_scale_functional_first) + (dst_positive_scale_functional_first))) + (((dst_negative_code_functional_first) + (dst_negative_scale_functional_first)) * S ((dst_negative_code_functional_first) + (dst_negative_scale_functional_first)) + ((dst_negative_scale_functional_first) + (dst_negative_scale_functional_first)))) + ((((dst_negative_code_functional_first) + (dst_negative_scale_functional_first)) * S ((dst_negative_code_functional_first) + (dst_negative_scale_functional_first)) + ((dst_negative_scale_functional_first) + (dst_negative_scale_functional_first))) + (((dst_negative_code_functional_first) + (dst_negative_scale_functional_first)) * S ((dst_negative_code_functional_first) + (dst_negative_scale_functional_first)) + ((dst_negative_scale_functional_first) + (dst_negative_scale_functional_first)))))) /\ (((((exists ff_h_pvs_functional_firstpositive. ff_h_pvs_functional_firstpositive + S (dst_positive_functional_first) = S ((S (i)) * dst_positive_scale_functional_first)) /\ exists ff_q_pvs_functional_firstpositive. dst_positive_code_functional_first = ff_q_pvs_functional_firstpositive * S ((S (i)) * dst_positive_scale_functional_first) + (dst_positive_functional_first))) /\ (((((exists ff_h_pvs_functional_firstnegative. ff_h_pvs_functional_firstnegative + S (dst_negative_functional_first) = S ((S (i)) * dst_negative_scale_functional_first)) /\ exists ff_q_pvs_functional_firstnegative. dst_negative_code_functional_first = ff_q_pvs_functional_firstnegative * S ((S (i)) * dst_negative_scale_functional_first) + (dst_negative_functional_first))) /\ (exists ge_balance_positive_functional_firstvalue ge_balance_negative_functional_firstvalue. (((((a) = 2 * (ge_balance_positive_functional_firstvalue) /\ (ge_balance_negative_functional_firstvalue) = 0) \/ exists ge_signed_half_functional_firstvaluedecode. (((a) = 2 * ge_signed_half_functional_firstvaluedecode + 1 /\ (ge_balance_positive_functional_firstvalue) = 0) /\ (ge_balance_negative_functional_firstvalue) = S ge_signed_half_functional_firstvaluedecode))) /\ ((dst_positive_functional_first) + ge_balance_negative_functional_firstvalue = (dst_negative_functional_first) + ge_balance_positive_functional_firstvalue))))))))) -> (exists dst_positive_code_functional_second dst_positive_scale_functional_second dst_negative_code_functional_second dst_negative_scale_functional_second dst_positive_functional_second dst_negative_functional_second. (((F) = (((((dst_positive_code_functional_second) + (dst_positive_scale_functional_second)) * S ((dst_positive_code_functional_second) + (dst_positive_scale_functional_second)) + ((dst_positive_scale_functional_second) + (dst_positive_scale_functional_second))) + (((dst_negative_code_functional_second) + (dst_negative_scale_functional_second)) * S ((dst_negative_code_functional_second) + (dst_negative_scale_functional_second)) + ((dst_negative_scale_functional_second) + (dst_negative_scale_functional_second)))) * S ((((dst_positive_code_functional_second) + (dst_positive_scale_functional_second)) * S ((dst_positive_code_functional_second) + (dst_positive_scale_functional_second)) + ((dst_positive_scale_functional_second) + (dst_positive_scale_functional_second))) + (((dst_negative_code_functional_second) + (dst_negative_scale_functional_second)) * S ((dst_negative_code_functional_second) + (dst_negative_scale_functional_second)) + ((dst_negative_scale_functional_second) + (dst_negative_scale_functional_second)))) + ((((dst_negative_code_functional_second) + (dst_negative_scale_functional_second)) * S ((dst_negative_code_functional_second) + (dst_negative_scale_functional_second)) + ((dst_negative_scale_functional_second) + (dst_negative_scale_functional_second))) + (((dst_negative_code_functional_second) + (dst_negative_scale_functional_second)) * S ((dst_negative_code_functional_second) + (dst_negative_scale_functional_second)) + ((dst_negative_scale_functional_second) + (dst_negative_scale_functional_second)))))) /\ (((((exists ff_h_pvs_functional_secondpositive. ff_h_pvs_functional_secondpositive + S (dst_positive_functional_second) = S ((S (i)) * dst_positive_scale_functional_second)) /\ exists ff_q_pvs_functional_secondpositive. dst_positive_code_functional_second = ff_q_pvs_functional_secondpositive * S ((S (i)) * dst_positive_scale_functional_second) + (dst_positive_functional_second))) /\ (((((exists ff_h_pvs_functional_secondnegative. ff_h_pvs_functional_secondnegative + S (dst_negative_functional_second) = S ((S (i)) * dst_negative_scale_functional_second)) /\ exists ff_q_pvs_functional_secondnegative. dst_negative_code_functional_second = ff_q_pvs_functional_secondnegative * S ((S (i)) * dst_negative_scale_functional_second) + (dst_negative_functional_second))) /\ (exists ge_balance_positive_functional_secondvalue ge_balance_negative_functional_secondvalue. (((((b) = 2 * (ge_balance_positive_functional_secondvalue) /\ (ge_balance_negative_functional_secondvalue) = 0) \/ exists ge_signed_half_functional_secondvaluedecode. (((b) = 2 * ge_signed_half_functional_secondvaluedecode + 1 /\ (ge_balance_positive_functional_secondvalue) = 0) /\ (ge_balance_negative_functional_secondvalue) = S ge_signed_half_functional_secondvaluedecode))) /\ ((dst_positive_functional_second) + ge_balance_negative_functional_secondvalue = (dst_negative_functional_second) + ge_balance_positive_functional_secondvalue))))))))) -> a = bConstructive proof overview
Generated structural guide
Actual beta functionality and canonical signed balance make each lookup code literally unique.
The unchanged tactic script uses 3 declared prerequisites and contains 57 exact native proof lines.
Public research checkpoint: original HA and independently compiled Lean verified; not Alpha-enrolled, no Alpha checked-use authority; not Stable
Proof neighborhood
Direct dependencies
SS0002 divisor_signed_table_at_to_components beta_at_unique Alpha theorem; checked-use authorized signed_balance_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. The literal dependency-closed bundle is checked by original HA and the independently compiled Lean verifier. Public delivery grants no Alpha checked-use authority or 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 (1)
01Fix variables and assumptionsL1–6
02Separate the logical casesL7–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
cases ha - L8
cases ha_witness - L9
cases ha_witness_witness - L10
cases ha_witness_witness_witness - L11
cases ha_witness_witness_witness_witness - L12
cases ha_witness_witness_witness_witness_witness - L13
cases ha_witness_witness_witness_witness_witness_witness - L14
cases ha_witness_witness_witness_witness_witness_witness_right - L15
cases ha_witness_witness_witness_witness_witness_witness_right_right
03Establish hotherL16–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table at to components.
- L16
have hother : ∃ p. ∃ n. BetaAt(x,x1,i,p) ∧ (BetaAt(x2,x3,i,n) ∧ SignedBalance(b,p,n))Definitions: SignedBalanceBetaAt - L17
specialize divisor_signed_table_at_to_components (F) - L18
specialize divisor_signed_table_at_to_components (x) - L19
specialize divisor_signed_table_at_to_components (x1) - L20
specialize divisor_signed_table_at_to_components (x2) - L21
specialize divisor_signed_table_at_to_components (x3) - L22
specialize divisor_signed_table_at_to_components (i) - L23
specialize divisor_signed_table_at_to_components (b) - L24
apply divisor_signed_table_at_to_components - L25
exact ha_witness_witness_witness_witness_witness_witness_left
04Use earlier factsL26–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
exact hb
05Separate the logical casesL27–30
06Establish hpL31–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L31
have hp : x6 = x4 - L32
specialize beta_at_unique (x) - L33
specialize beta_at_unique (x1) - L34
specialize beta_at_unique (i) - L35
specialize beta_at_unique (x6) - L36
specialize beta_at_unique (x4) - L37
apply beta_at_unique - L38
exact hother_witness_witness_left - L39
exact ha_witness_witness_witness_witness_witness_witness_right_left
07Establish hnL40–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L40
have hn : x7 = x5 - L41
specialize beta_at_unique (x2) - L42
specialize beta_at_unique (x3) - L43
specialize beta_at_unique (i) - L44
specialize beta_at_unique (x7) - L45
specialize beta_at_unique (x5) - L46
apply beta_at_unique - L47
exact hother_witness_witness_right_left - L48
exact ha_witness_witness_witness_witness_witness_witness_right_right_left - L49
rewrite hp at hother_witness_witness_right_right
08Calculate and transport equalitiesL50–50
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L50
rewrite hn at hother_witness_witness_right_right
09Use earlier factsL51–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L51
specialize signed_balance_functional (x4) - L52
specialize signed_balance_functional (x5) - L53
specialize signed_balance_functional (a) - L54
specialize signed_balance_functional (b) - L55
apply signed_balance_functional - L56
exact ha_witness_witness_witness_witness_witness_witness_right_right_right - L57
exact hother_witness_witness_right_right
Original exact command ledger · 57 lines
- 0001
intro F - 0002
intro i - 0003
intro a - 0004
intro b - 0005
intro ha - 0006
intro hb - 0007
cases ha - 0008
cases ha_witness - 0009
cases ha_witness_witness - 0010
cases ha_witness_witness_witness - 0011
cases ha_witness_witness_witness_witness - 0012
cases ha_witness_witness_witness_witness_witness - 0013
cases ha_witness_witness_witness_witness_witness_witness - 0014
cases ha_witness_witness_witness_witness_witness_witness_right - 0015
cases ha_witness_witness_witness_witness_witness_witness_right_right - 0016
have hother : exists p n. (((((exists ff_h_pvs_functional_otherpositive. ff_h_pvs_functional_otherpositive + S (p) = S ((S (i)) * x1)) /\ exists ff_q_pvs_functional_otherpositive. x = ff_q_pvs_functional_otherpositive * S ((S (i)) * x1) + (p))) /\ (((((exists ff_h_pvs_functional_othernegative. ff_h_pvs_functional_othernegative + S (n) = S ((S (i)) * x3)) /\ exists ff_q_pvs_functional_othernegative. x2 = ff_q_pvs_functional_othernegative * S ((S (i)) * x3) + (n))) /\ (exists ge_balance_positive_functional_othervalue ge_balance_negative_functional_othervalue. (((((b) = 2 * (ge_balance_positive_functional_othervalue) /\ (ge_balance_negative_functional_othervalue) = 0) \/ exists ge_signed_half_functional_othervaluedecode. (((b) = 2 * ge_signed_half_functional_othervaluedecode + 1 /\ (ge_balance_positive_functional_othervalue) = 0) /\ (ge_balance_negative_functional_othervalue) = S ge_signed_half_functional_othervaluedecode))) /\ ((p) + ge_balance_negative_functional_othervalue = (n) + ge_balance_positive_functional_othervalue))))))) - 0017
specialize divisor_signed_table_at_to_components (F) - 0018
specialize divisor_signed_table_at_to_components (x) - 0019
specialize divisor_signed_table_at_to_components (x1) - 0020
specialize divisor_signed_table_at_to_components (x2) - 0021
specialize divisor_signed_table_at_to_components (x3) - 0022
specialize divisor_signed_table_at_to_components (i) - 0023
specialize divisor_signed_table_at_to_components (b) - 0024
apply divisor_signed_table_at_to_components - 0025
exact ha_witness_witness_witness_witness_witness_witness_left - 0026
exact hb - 0027
cases hother - 0028
cases hother_witness - 0029
cases hother_witness_witness - 0030
cases hother_witness_witness_right - 0031
have hp : x6 = x4 - 0032
specialize beta_at_unique (x) - 0033
specialize beta_at_unique (x1) - 0034
specialize beta_at_unique (i) - 0035
specialize beta_at_unique (x6) - 0036
specialize beta_at_unique (x4) - 0037
apply beta_at_unique - 0038
exact hother_witness_witness_left - 0039
exact ha_witness_witness_witness_witness_witness_witness_right_left - 0040
have hn : x7 = x5 - 0041
specialize beta_at_unique (x2) - 0042
specialize beta_at_unique (x3) - 0043
specialize beta_at_unique (i) - 0044
specialize beta_at_unique (x7) - 0045
specialize beta_at_unique (x5) - 0046
apply beta_at_unique - 0047
exact hother_witness_witness_right_left - 0048
exact ha_witness_witness_witness_witness_witness_witness_right_right_left - 0049
rewrite hp at hother_witness_witness_right_right - 0050
rewrite hn at hother_witness_witness_right_right - 0051
specialize signed_balance_functional (x4) - 0052
specialize signed_balance_functional (x5) - 0053
specialize signed_balance_functional (a) - 0054
specialize signed_balance_functional (b) - 0055
apply signed_balance_functional - 0056
exact ha_witness_witness_witness_witness_witness_witness_right_right_right - 0057
exact hother_witness_witness_right_right