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 r s i j z w. (exists ssr_entry_value_functional_first ssr_entry_image_functional_first. ((exists dst_positive_code_functional_firstsource dst_positive_scale_functional_firstsource dst_negative_code_functional_firstsource dst_negative_scale_functional_firstsource dst_positive_functional_firstsource dst_negative_functional_firstsource. (((A) = (((((dst_positive_code_functional_firstsource) + (dst_positive_scale_functional_firstsource)) * S ((dst_positive_code_functional_firstsource) + (dst_positive_scale_functional_firstsource)) + ((dst_positive_scale_functional_firstsource) + (dst_positive_scale_functional_firstsource))) + (((dst_negative_code_functional_firstsource) + (dst_negative_scale_functional_firstsource)) * S ((dst_negative_code_functional_firstsource) + (dst_negative_scale_functional_firstsource)) + ((dst_negative_scale_functional_firstsource) + (dst_negative_scale_functional_firstsource)))) * S ((((dst_positive_code_functional_firstsource) + (dst_positive_scale_functional_firstsource)) * S ((dst_positive_code_functional_firstsource) + (dst_positive_scale_functional_firstsource)) + ((dst_positive_scale_functional_firstsource) + (dst_positive_scale_functional_firstsource))) + (((dst_negative_code_functional_firstsource) + (dst_negative_scale_functional_firstsource)) * S ((dst_negative_code_functional_firstsource) + (dst_negative_scale_functional_firstsource)) + ((dst_negative_scale_functional_firstsource) + (dst_negative_scale_functional_firstsource)))) + ((((dst_negative_code_functional_firstsource) + (dst_negative_scale_functional_firstsource)) * S ((dst_negative_code_functional_firstsource) + (dst_negative_scale_functional_firstsource)) + ((dst_negative_scale_functional_firstsource) + (dst_negative_scale_functional_firstsource))) + (((dst_negative_code_functional_firstsource) + (dst_negative_scale_functional_firstsource)) * S ((dst_negative_code_functional_firstsource) + (dst_negative_scale_functional_firstsource)) + ((dst_negative_scale_functional_firstsource) + (dst_negative_scale_functional_firstsource)))))) /\ (((((exists ff_h_pvs_functional_firstsourcepositive. ff_h_pvs_functional_firstsourcepositive + S (dst_positive_functional_firstsource) = S ((S (i)) * dst_positive_scale_functional_firstsource)) /\ exists ff_q_pvs_functional_firstsourcepositive. dst_positive_code_functional_firstsource = ff_q_pvs_functional_firstsourcepositive * S ((S (i)) * dst_positive_scale_functional_firstsource) + (dst_positive_functional_firstsource))) /\ (((((exists ff_h_pvs_functional_firstsourcenegative. ff_h_pvs_functional_firstsourcenegative + S (dst_negative_functional_firstsource) = S ((S (i)) * dst_negative_scale_functional_firstsource)) /\ exists ff_q_pvs_functional_firstsourcenegative. dst_negative_code_functional_firstsource = ff_q_pvs_functional_firstsourcenegative * S ((S (i)) * dst_negative_scale_functional_firstsource) + (dst_negative_functional_firstsource))) /\ (exists ge_balance_positive_functional_firstsourcevalue ge_balance_negative_functional_firstsourcevalue. (((((ssr_entry_value_functional_first) = 2 * (ge_balance_positive_functional_firstsourcevalue) /\ (ge_balance_negative_functional_firstsourcevalue) = 0) \/ exists ge_signed_half_functional_firstsourcevaluedecode. (((ssr_entry_value_functional_first) = 2 * ge_signed_half_functional_firstsourcevaluedecode + 1 /\ (ge_balance_positive_functional_firstsourcevalue) = 0) /\ (ge_balance_negative_functional_firstsourcevalue) = S ge_signed_half_functional_firstsourcevaluedecode))) /\ ((dst_positive_functional_firstsource) + ge_balance_negative_functional_firstsourcevalue = (dst_negative_functional_firstsource) + ge_balance_positive_functional_firstsourcevalue))))))))) /\ (((((exists ff_h_pvs_functional_firstmap. ff_h_pvs_functional_firstmap + S (ssr_entry_image_functional_first) = S ((S (i)) * s)) /\ exists ff_q_pvs_functional_firstmap. r = ff_q_pvs_functional_firstmap * S ((S (i)) * s) + (ssr_entry_image_functional_first))) /\ (((((j)=(ssr_entry_image_functional_first)) /\ ((z)=(ssr_entry_value_functional_first)))) \/ (((~((j)=(ssr_entry_image_functional_first))) /\ ((z)=0)))))))) -> (exists ssr_entry_value_functional_second ssr_entry_image_functional_second. ((exists dst_positive_code_functional_secondsource dst_positive_scale_functional_secondsource dst_negative_code_functional_secondsource dst_negative_scale_functional_secondsource dst_positive_functional_secondsource dst_negative_functional_secondsource. (((A) = (((((dst_positive_code_functional_secondsource) + (dst_positive_scale_functional_secondsource)) * S ((dst_positive_code_functional_secondsource) + (dst_positive_scale_functional_secondsource)) + ((dst_positive_scale_functional_secondsource) + (dst_positive_scale_functional_secondsource))) + (((dst_negative_code_functional_secondsource) + (dst_negative_scale_functional_secondsource)) * S ((dst_negative_code_functional_secondsource) + (dst_negative_scale_functional_secondsource)) + ((dst_negative_scale_functional_secondsource) + (dst_negative_scale_functional_secondsource)))) * S ((((dst_positive_code_functional_secondsource) + (dst_positive_scale_functional_secondsource)) * S ((dst_positive_code_functional_secondsource) + (dst_positive_scale_functional_secondsource)) + ((dst_positive_scale_functional_secondsource) + (dst_positive_scale_functional_secondsource))) + (((dst_negative_code_functional_secondsource) + (dst_negative_scale_functional_secondsource)) * S ((dst_negative_code_functional_secondsource) + (dst_negative_scale_functional_secondsource)) + ((dst_negative_scale_functional_secondsource) + (dst_negative_scale_functional_secondsource)))) + ((((dst_negative_code_functional_secondsource) + (dst_negative_scale_functional_secondsource)) * S ((dst_negative_code_functional_secondsource) + (dst_negative_scale_functional_secondsource)) + ((dst_negative_scale_functional_secondsource) + (dst_negative_scale_functional_secondsource))) + (((dst_negative_code_functional_secondsource) + (dst_negative_scale_functional_secondsource)) * S ((dst_negative_code_functional_secondsource) + (dst_negative_scale_functional_secondsource)) + ((dst_negative_scale_functional_secondsource) + (dst_negative_scale_functional_secondsource)))))) /\ (((((exists ff_h_pvs_functional_secondsourcepositive. ff_h_pvs_functional_secondsourcepositive + S (dst_positive_functional_secondsource) = S ((S (i)) * dst_positive_scale_functional_secondsource)) /\ exists ff_q_pvs_functional_secondsourcepositive. dst_positive_code_functional_secondsource = ff_q_pvs_functional_secondsourcepositive * S ((S (i)) * dst_positive_scale_functional_secondsource) + (dst_positive_functional_secondsource))) /\ (((((exists ff_h_pvs_functional_secondsourcenegative. ff_h_pvs_functional_secondsourcenegative + S (dst_negative_functional_secondsource) = S ((S (i)) * dst_negative_scale_functional_secondsource)) /\ exists ff_q_pvs_functional_secondsourcenegative. dst_negative_code_functional_secondsource = ff_q_pvs_functional_secondsourcenegative * S ((S (i)) * dst_negative_scale_functional_secondsource) + (dst_negative_functional_secondsource))) /\ (exists ge_balance_positive_functional_secondsourcevalue ge_balance_negative_functional_secondsourcevalue. (((((ssr_entry_value_functional_second) = 2 * (ge_balance_positive_functional_secondsourcevalue) /\ (ge_balance_negative_functional_secondsourcevalue) = 0) \/ exists ge_signed_half_functional_secondsourcevaluedecode. (((ssr_entry_value_functional_second) = 2 * ge_signed_half_functional_secondsourcevaluedecode + 1 /\ (ge_balance_positive_functional_secondsourcevalue) = 0) /\ (ge_balance_negative_functional_secondsourcevalue) = S ge_signed_half_functional_secondsourcevaluedecode))) /\ ((dst_positive_functional_secondsource) + ge_balance_negative_functional_secondsourcevalue = (dst_negative_functional_secondsource) + ge_balance_positive_functional_secondsourcevalue))))))))) /\ (((((exists ff_h_pvs_functional_secondmap. ff_h_pvs_functional_secondmap + S (ssr_entry_image_functional_second) = S ((S (i)) * s)) /\ exists ff_q_pvs_functional_secondmap. r = ff_q_pvs_functional_secondmap * S ((S (i)) * s) + (ssr_entry_image_functional_second))) /\ (((((j)=(ssr_entry_image_functional_second)) /\ ((w)=(ssr_entry_value_functional_second)))) \/ (((~((j)=(ssr_entry_image_functional_second))) /\ ((w)=0)))))))) -> z=wConstructive proof overview
Generated structural guide
The actual incidence value is unique, independent of witnesses and component representations.
The unchanged tactic script uses 1 declared prerequisite and contains 49 exact native proof lines.
Alpha v34 checked-use · first admitted v32 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
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
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–9
02Separate the logical casesL10–13
03Establish hdL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed support incidence entry decode.
- L14
have hd : ((((j)=(x1)) /\ ((w)=(x)))) \/ (((~((j)=(x1))) /\ ((w)=0))) - L15
specialize signed_support_incidence_entry_decode (A) - L16
specialize signed_support_incidence_entry_decode (r) - L17
specialize signed_support_incidence_entry_decode (s) - L18
specialize signed_support_incidence_entry_decode (i) - L19
specialize signed_support_incidence_entry_decode (j) - L20
specialize signed_support_incidence_entry_decode (x) - L21
specialize signed_support_incidence_entry_decode (x1) - L22
specialize signed_support_incidence_entry_decode (w) - L23
apply signed_support_incidence_entry_decode
04Use earlier factsL24–26
05Separate the logical casesL27–30
06Calculate and transport equalitiesL31–31
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L31
trans x
07Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
exact hz_witness_witness_right_right_left_right
08Calculate and transport equalitiesL33–33
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L33
symm
09Use earlier factsL34–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
exact hd_left_right
10Separate the logical casesL35–36
11Use earlier factsL37–38
12Separate the logical casesL39–42
13Use earlier factsL43–44
14Separate the logical casesL45–45
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L45
cases hd_right
15Calculate and transport equalitiesL46–46
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L46
trans 0
16Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hz_witness_witness_right_right_right_right
17Calculate and transport equalitiesL48–48
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L48
symm
18Use earlier factsL49–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
exact hd_right_right
Original exact command ledger · 49 lines
- 0001
intro A - 0002
intro r - 0003
intro s - 0004
intro i - 0005
intro j - 0006
intro z - 0007
intro w - 0008
intro hz - 0009
intro hw - 0010
cases hz - 0011
cases hz_witness - 0012
cases hz_witness_witness - 0013
cases hz_witness_witness_right - 0014
have hd : ((((j)=(x1)) /\ ((w)=(x)))) \/ (((~((j)=(x1))) /\ ((w)=0))) - 0015
specialize signed_support_incidence_entry_decode (A) - 0016
specialize signed_support_incidence_entry_decode (r) - 0017
specialize signed_support_incidence_entry_decode (s) - 0018
specialize signed_support_incidence_entry_decode (i) - 0019
specialize signed_support_incidence_entry_decode (j) - 0020
specialize signed_support_incidence_entry_decode (x) - 0021
specialize signed_support_incidence_entry_decode (x1) - 0022
specialize signed_support_incidence_entry_decode (w) - 0023
apply signed_support_incidence_entry_decode - 0024
exact hz_witness_witness_left - 0025
exact hz_witness_witness_right_left - 0026
exact hw - 0027
cases hz_witness_witness_right_right - 0028
cases hz_witness_witness_right_right_left - 0029
cases hd - 0030
cases hd_left - 0031
trans x - 0032
exact hz_witness_witness_right_right_left_right - 0033
symm - 0034
exact hd_left_right - 0035
cases hd_right - 0036
exfalso - 0037
apply hd_right_left - 0038
exact hz_witness_witness_right_right_left_left - 0039
cases hz_witness_witness_right_right_right - 0040
cases hd - 0041
cases hd_left - 0042
exfalso - 0043
apply hz_witness_witness_right_right_right_left - 0044
exact hd_left_left - 0045
cases hd_right - 0046
trans 0 - 0047
exact hz_witness_witness_right_right_right_right - 0048
symm - 0049
exact hd_right_right