SS000F

divisor_signed_balance_negate

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Canonical signed negation swaps arbitrary natural-component balances, not merely normalized representatives.

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 a b p n. (exists ge_balance_positive_negate_balance ge_balance_negative_negate_balance. (((((a) = 2 * (ge_balance_positive_negate_balance) /\ (ge_balance_negative_negate_balance) = 0) \/ exists ge_signed_half_negate_balancedecode. (((a) = 2 * ge_signed_half_negate_balancedecode + 1 /\ (ge_balance_positive_negate_balance) = 0) /\ (ge_balance_negative_negate_balance) = S ge_signed_half_negate_balancedecode))) /\ ((p) + ge_balance_negative_negate_balance = (n) + ge_balance_positive_negate_balance))) -> (exists mps_positive_negate_graph mps_negative_negate_graph. (((((a) = 2 * (mps_positive_negate_graph) /\ (mps_negative_negate_graph) = 0) \/ exists ge_signed_half_negate_graphsource. (((a) = 2 * ge_signed_half_negate_graphsource + 1 /\ (mps_positive_negate_graph) = 0) /\ (mps_negative_negate_graph) = S ge_signed_half_negate_graphsource))) /\ ((((b) = 2 * (mps_negative_negate_graph) /\ (mps_positive_negate_graph) = 0) \/ exists ge_signed_half_negate_graphtarget. (((b) = 2 * ge_signed_half_negate_graphtarget + 1 /\ (mps_negative_negate_graph) = 0) /\ (mps_positive_negate_graph) = S ge_signed_half_negate_graphtarget))))) -> (exists ge_balance_positive_negate_result ge_balance_negative_negate_result. (((((b) = 2 * (ge_balance_positive_negate_result) /\ (ge_balance_negative_negate_result) = 0) \/ exists ge_signed_half_negate_resultdecode. (((b) = 2 * ge_signed_half_negate_resultdecode + 1 /\ (ge_balance_positive_negate_result) = 0) /\ (ge_balance_negative_negate_result) = S ge_signed_half_negate_resultdecode))) /\ ((n) + ge_balance_negative_negate_result = (p) + ge_balance_positive_negate_result)))

Constructive proof overview

Generated structural guide

Canonical signed negation swaps arbitrary natural-component balances, not merely normalized representatives.

The unchanged tactic script uses 1 declared prerequisite and contains 21 exact native proof lines.

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

Proof neighborhood

Direct dependencies

signed_negate_to_swapped_decode Alpha theorem; checked-use authorized

Direct 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

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

01Fix variables and assumptionsL1–6

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

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro p
  4. L4
    intro n
  5. L5
    intro hbalance
  6. L6
    intro hneg
02Separate the logical casesL7–9

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

  1. L7
    cases hbalance
  2. L8
    cases hbalance_witness
  3. L9
    cases hbalance_witness_witness
03Construct an explicit witnessL10–11

Supply the displayed value, then prove that it has the required property.

  1. L10
    exists x1
  2. L11
    exists x
04Separate the logical casesL12–12

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

  1. L12
    split
05Use earlier factsL13–19

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L13
    specialize signed_negate_to_swapped_decode (a)
  2. L14
    specialize signed_negate_to_swapped_decode (b)
  3. L15
    specialize signed_negate_to_swapped_decode (x)
  4. L16
    specialize signed_negate_to_swapped_decode (x1)
  5. L17
    apply signed_negate_to_swapped_decode
  6. L18
    exact hbalance_witness_witness_left
  7. L19
    exact hneg
06Calculate and transport equalitiesL20–20

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

  1. L20
    symm
07Use earlier factsL21–21

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L21
    exact hbalance_witness_witness_right

Library-wide reading audit

Original exact command ledger · 21 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro p
  4. 0004intro n
  5. 0005intro hbalance
  6. 0006intro hneg
  7. 0007cases hbalance
  8. 0008cases hbalance_witness
  9. 0009cases hbalance_witness_witness
  10. 0010exists x1
  11. 0011exists x
  12. 0012split
  13. 0013specialize signed_negate_to_swapped_decode (a)
  14. 0014specialize signed_negate_to_swapped_decode (b)
  15. 0015specialize signed_negate_to_swapped_decode (x)
  16. 0016specialize signed_negate_to_swapped_decode (x1)
  17. 0017apply signed_negate_to_swapped_decode
  18. 0018exact hbalance_witness_witness_left
  19. 0019exact hneg
  20. 0020symm
  21. 0021exact hbalance_witness_witness_right