GF0006

gaussian_add_output_valid

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

Actual Gaussian add certifies the output carrier, without treating every natural code as valid.

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 original first-admission records.

Exact expanded first-order arithmetic statement

forall a b c. (exists ge_first_rp_ring_add_output ge_first_rn_ring_add_output ge_first_ip_ring_add_output ge_first_in_ring_add_output ge_second_rp_ring_add_output ge_second_rn_ring_add_output ge_second_ip_ring_add_output ge_second_in_ring_add_output. ((exists ge_representation_real_code_ring_add_outputfirst ge_representation_imaginary_code_ring_add_outputfirst. (((a) = ((ge_representation_real_code_ring_add_outputfirst) + (ge_representation_imaginary_code_ring_add_outputfirst)) * S ((ge_representation_real_code_ring_add_outputfirst) + (ge_representation_imaginary_code_ring_add_outputfirst)) + ((ge_representation_imaginary_code_ring_add_outputfirst) + (ge_representation_imaginary_code_ring_add_outputfirst))) /\ ((exists ge_balance_positive_ring_add_outputfirstreal ge_balance_negative_ring_add_outputfirstreal. (((((ge_representation_real_code_ring_add_outputfirst) = 2 * (ge_balance_positive_ring_add_outputfirstreal) /\ (ge_balance_negative_ring_add_outputfirstreal) = 0) \/ exists ge_signed_half_ring_add_outputfirstrealdecode. (((ge_representation_real_code_ring_add_outputfirst) = 2 * ge_signed_half_ring_add_outputfirstrealdecode + 1 /\ (ge_balance_positive_ring_add_outputfirstreal) = 0) /\ (ge_balance_negative_ring_add_outputfirstreal) = S ge_signed_half_ring_add_outputfirstrealdecode))) /\ ((ge_first_rp_ring_add_output) + ge_balance_negative_ring_add_outputfirstreal = (ge_first_rn_ring_add_output) + ge_balance_positive_ring_add_outputfirstreal))) /\ (exists ge_balance_positive_ring_add_outputfirstimaginary ge_balance_negative_ring_add_outputfirstimaginary. (((((ge_representation_imaginary_code_ring_add_outputfirst) = 2 * (ge_balance_positive_ring_add_outputfirstimaginary) /\ (ge_balance_negative_ring_add_outputfirstimaginary) = 0) \/ exists ge_signed_half_ring_add_outputfirstimaginarydecode. (((ge_representation_imaginary_code_ring_add_outputfirst) = 2 * ge_signed_half_ring_add_outputfirstimaginarydecode + 1 /\ (ge_balance_positive_ring_add_outputfirstimaginary) = 0) /\ (ge_balance_negative_ring_add_outputfirstimaginary) = S ge_signed_half_ring_add_outputfirstimaginarydecode))) /\ ((ge_first_ip_ring_add_output) + ge_balance_negative_ring_add_outputfirstimaginary = (ge_first_in_ring_add_output) + ge_balance_positive_ring_add_outputfirstimaginary)))))) /\ ((exists ge_representation_real_code_ring_add_outputsecond ge_representation_imaginary_code_ring_add_outputsecond. (((b) = ((ge_representation_real_code_ring_add_outputsecond) + (ge_representation_imaginary_code_ring_add_outputsecond)) * S ((ge_representation_real_code_ring_add_outputsecond) + (ge_representation_imaginary_code_ring_add_outputsecond)) + ((ge_representation_imaginary_code_ring_add_outputsecond) + (ge_representation_imaginary_code_ring_add_outputsecond))) /\ ((exists ge_balance_positive_ring_add_outputsecondreal ge_balance_negative_ring_add_outputsecondreal. (((((ge_representation_real_code_ring_add_outputsecond) = 2 * (ge_balance_positive_ring_add_outputsecondreal) /\ (ge_balance_negative_ring_add_outputsecondreal) = 0) \/ exists ge_signed_half_ring_add_outputsecondrealdecode. (((ge_representation_real_code_ring_add_outputsecond) = 2 * ge_signed_half_ring_add_outputsecondrealdecode + 1 /\ (ge_balance_positive_ring_add_outputsecondreal) = 0) /\ (ge_balance_negative_ring_add_outputsecondreal) = S ge_signed_half_ring_add_outputsecondrealdecode))) /\ ((ge_second_rp_ring_add_output) + ge_balance_negative_ring_add_outputsecondreal = (ge_second_rn_ring_add_output) + ge_balance_positive_ring_add_outputsecondreal))) /\ (exists ge_balance_positive_ring_add_outputsecondimaginary ge_balance_negative_ring_add_outputsecondimaginary. (((((ge_representation_imaginary_code_ring_add_outputsecond) = 2 * (ge_balance_positive_ring_add_outputsecondimaginary) /\ (ge_balance_negative_ring_add_outputsecondimaginary) = 0) \/ exists ge_signed_half_ring_add_outputsecondimaginarydecode. (((ge_representation_imaginary_code_ring_add_outputsecond) = 2 * ge_signed_half_ring_add_outputsecondimaginarydecode + 1 /\ (ge_balance_positive_ring_add_outputsecondimaginary) = 0) /\ (ge_balance_negative_ring_add_outputsecondimaginary) = S ge_signed_half_ring_add_outputsecondimaginarydecode))) /\ ((ge_second_ip_ring_add_output) + ge_balance_negative_ring_add_outputsecondimaginary = (ge_second_in_ring_add_output) + ge_balance_positive_ring_add_outputsecondimaginary)))))) /\ (exists ge_representation_real_code_ring_add_outputoutput ge_representation_imaginary_code_ring_add_outputoutput. (((c) = ((ge_representation_real_code_ring_add_outputoutput) + (ge_representation_imaginary_code_ring_add_outputoutput)) * S ((ge_representation_real_code_ring_add_outputoutput) + (ge_representation_imaginary_code_ring_add_outputoutput)) + ((ge_representation_imaginary_code_ring_add_outputoutput) + (ge_representation_imaginary_code_ring_add_outputoutput))) /\ ((exists ge_balance_positive_ring_add_outputoutputreal ge_balance_negative_ring_add_outputoutputreal. (((((ge_representation_real_code_ring_add_outputoutput) = 2 * (ge_balance_positive_ring_add_outputoutputreal) /\ (ge_balance_negative_ring_add_outputoutputreal) = 0) \/ exists ge_signed_half_ring_add_outputoutputrealdecode. (((ge_representation_real_code_ring_add_outputoutput) = 2 * ge_signed_half_ring_add_outputoutputrealdecode + 1 /\ (ge_balance_positive_ring_add_outputoutputreal) = 0) /\ (ge_balance_negative_ring_add_outputoutputreal) = S ge_signed_half_ring_add_outputoutputrealdecode))) /\ ((((ge_first_rp_ring_add_output) + (ge_second_rp_ring_add_output))) + ge_balance_negative_ring_add_outputoutputreal = (((ge_first_rn_ring_add_output) + (ge_second_rn_ring_add_output))) + ge_balance_positive_ring_add_outputoutputreal))) /\ (exists ge_balance_positive_ring_add_outputoutputimaginary ge_balance_negative_ring_add_outputoutputimaginary. (((((ge_representation_imaginary_code_ring_add_outputoutput) = 2 * (ge_balance_positive_ring_add_outputoutputimaginary) /\ (ge_balance_negative_ring_add_outputoutputimaginary) = 0) \/ exists ge_signed_half_ring_add_outputoutputimaginarydecode. (((ge_representation_imaginary_code_ring_add_outputoutput) = 2 * ge_signed_half_ring_add_outputoutputimaginarydecode + 1 /\ (ge_balance_positive_ring_add_outputoutputimaginary) = 0) /\ (ge_balance_negative_ring_add_outputoutputimaginary) = S ge_signed_half_ring_add_outputoutputimaginarydecode))) /\ ((((ge_first_ip_ring_add_output) + (ge_second_ip_ring_add_output))) + ge_balance_negative_ring_add_outputoutputimaginary = (((ge_first_in_ring_add_output) + (ge_second_in_ring_add_output))) + ge_balance_positive_ring_add_outputoutputimaginary))))))))) -> (exists ge_real_positive_ring_add_output_domain ge_real_negative_ring_add_output_domain ge_imaginary_positive_ring_add_output_domain ge_imaginary_negative_ring_add_output_domain. (exists ge_real_code_ring_add_output_domaindecode ge_imaginary_code_ring_add_output_domaindecode. (((c) = ((ge_real_code_ring_add_output_domaindecode) + (ge_imaginary_code_ring_add_output_domaindecode)) * S ((ge_real_code_ring_add_output_domaindecode) + (ge_imaginary_code_ring_add_output_domaindecode)) + ((ge_imaginary_code_ring_add_output_domaindecode) + (ge_imaginary_code_ring_add_output_domaindecode))) /\ (((((ge_real_code_ring_add_output_domaindecode) = 2 * (ge_real_positive_ring_add_output_domain) /\ (ge_real_negative_ring_add_output_domain) = 0) \/ exists ge_signed_half_ge_ring_add_output_domaindecode_real. (((ge_real_code_ring_add_output_domaindecode) = 2 * ge_signed_half_ge_ring_add_output_domaindecode_real + 1 /\ (ge_real_positive_ring_add_output_domain) = 0) /\ (ge_real_negative_ring_add_output_domain) = S ge_signed_half_ge_ring_add_output_domaindecode_real))) /\ ((((ge_imaginary_code_ring_add_output_domaindecode) = 2 * (ge_imaginary_positive_ring_add_output_domain) /\ (ge_imaginary_negative_ring_add_output_domain) = 0) \/ exists ge_signed_half_ge_ring_add_output_domaindecode_imaginary. (((ge_imaginary_code_ring_add_output_domaindecode) = 2 * ge_signed_half_ge_ring_add_output_domaindecode_imaginary + 1 /\ (ge_imaginary_positive_ring_add_output_domain) = 0) /\ (ge_imaginary_negative_ring_add_output_domain) = S ge_signed_half_ge_ring_add_output_domaindecode_imaginary)))))))

Constructive proof overview

Generated structural guide

Actual Gaussian add certifies the output carrier, without treating every natural code as valid.

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

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

Proof neighborhood

Direct dependencies

gaussian_representation_is_gaussian 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 · 3 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–4

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

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro h
02Separate the logical casesL5–14

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

  1. L5
    cases h
  2. L6
    cases h_witness
  3. L7
    cases h_witness_witness
  4. L8
    cases h_witness_witness_witness
  5. L9
    cases h_witness_witness_witness_witness
  6. L10
    cases h_witness_witness_witness_witness_witness
  7. L11
    cases h_witness_witness_witness_witness_witness_witness
  8. L12
    cases h_witness_witness_witness_witness_witness_witness_witness
  9. L13
    cases h_witness_witness_witness_witness_witness_witness_witness_witness
  10. L14
    cases h_witness_witness_witness_witness_witness_witness_witness_witness_right
03Use earlier factsL15–21

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

  1. L15
    specialize gaussian_representation_is_gaussian (c)
  2. L16
    specialize gaussian_representation_is_gaussian (((x) + (x4)))
  3. L17
    specialize gaussian_representation_is_gaussian (((x1) + (x5)))
  4. L18
    specialize gaussian_representation_is_gaussian (((x2) + (x6)))
  5. L19
    specialize gaussian_representation_is_gaussian (((x3) + (x7)))
  6. L20
    apply gaussian_representation_is_gaussian
  7. L21
    exact h_witness_witness_witness_witness_witness_witness_witness_witness_right_right

Library-wide reading audit

Original exact command ledger · 21 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro c
  4. 0004intro h
  5. 0005cases h
  6. 0006cases h_witness
  7. 0007cases h_witness_witness
  8. 0008cases h_witness_witness_witness
  9. 0009cases h_witness_witness_witness_witness
  10. 0010cases h_witness_witness_witness_witness_witness
  11. 0011cases h_witness_witness_witness_witness_witness_witness
  12. 0012cases h_witness_witness_witness_witness_witness_witness_witness
  13. 0013cases h_witness_witness_witness_witness_witness_witness_witness_witness
  14. 0014cases h_witness_witness_witness_witness_witness_witness_witness_witness_right
  15. 0015specialize gaussian_representation_is_gaussian (c)
  16. 0016specialize gaussian_representation_is_gaussian (((x) + (x4)))
  17. 0017specialize gaussian_representation_is_gaussian (((x1) + (x5)))
  18. 0018specialize gaussian_representation_is_gaussian (((x2) + (x6)))
  19. 0019specialize gaussian_representation_is_gaussian (((x3) + (x7)))
  20. 0020apply gaussian_representation_is_gaussian
  21. 0021exact h_witness_witness_witness_witness_witness_witness_witness_witness_right_right