Exact expanded first-order arithmetic statement
forall k A B C D E F G H Z W q v i j. (forall jt_index_actual_given_map. (exists jt_gap_actual_given_mapindex. jt_gap_actual_given_mapindex+S (jt_index_actual_given_map)=(q)) -> exists jt_image_actual_given_map. ((((exists fs_h_jt_actual_given_mapat. fs_h_jt_actual_given_mapat + S (jt_image_actual_given_map) = S ((S (jt_index_actual_given_map)) * W)) /\ exists fs_q_jt_actual_given_mapat. Z = fs_q_jt_actual_given_mapat * S ((S (jt_index_actual_given_map)) * W) + (jt_image_actual_given_map))) /\ (((exists jt_gap_actual_given_mapbound. jt_gap_actual_given_mapbound+S (jt_image_actual_given_map)=(v)) /\ (forall jt_b_actual_given_mapmatch jt_c_actual_given_mapmatch jt_d_actual_given_mapmatch jt_e_actual_given_mapmatch. (((((exists fs_h_jt_actual_given_mapmatchleftcode. fs_h_jt_actual_given_mapmatchleftcode + S (jt_b_actual_given_mapmatch) = S ((S (jt_index_actual_given_map)) * B)) /\ exists fs_q_jt_actual_given_mapmatchleftcode. A = fs_q_jt_actual_given_mapmatchleftcode * S ((S (jt_index_actual_given_map)) * B) + (jt_b_actual_given_mapmatch))) /\ (((exists fs_h_jt_actual_given_mapmatchleftscale. fs_h_jt_actual_given_mapmatchleftscale + S (jt_c_actual_given_mapmatch) = S ((S (jt_index_actual_given_map)) * D)) /\ exists fs_q_jt_actual_given_mapmatchleftscale. C = fs_q_jt_actual_given_mapmatchleftscale * S ((S (jt_index_actual_given_map)) * D) + (jt_c_actual_given_mapmatch))))) -> (((((exists fs_h_jt_actual_given_mapmatchrightcode. fs_h_jt_actual_given_mapmatchrightcode + S (jt_d_actual_given_mapmatch) = S ((S (jt_image_actual_given_map)) * F)) /\ exists fs_q_jt_actual_given_mapmatchrightcode. E = fs_q_jt_actual_given_mapmatchrightcode * S ((S (jt_image_actual_given_map)) * F) + (jt_d_actual_given_mapmatch))) /\ (((exists fs_h_jt_actual_given_mapmatchrightscale. fs_h_jt_actual_given_mapmatchrightscale + S (jt_e_actual_given_mapmatch) = S ((S (jt_image_actual_given_map)) * H)) /\ exists fs_q_jt_actual_given_mapmatchrightscale. G = fs_q_jt_actual_given_mapmatchrightscale * S ((S (jt_image_actual_given_map)) * H) + (jt_e_actual_given_mapmatch))))) -> (forall jt_index_actual_given_mapmatchequal jt_left_actual_given_mapmatchequal jt_right_actual_given_mapmatchequal. (exists jt_gap_actual_given_mapmatchequalindex. jt_gap_actual_given_mapmatchequalindex+S (jt_index_actual_given_mapmatchequal)=(k)) -> (((exists fs_h_jt_actual_given_mapmatchequalleft. fs_h_jt_actual_given_mapmatchequalleft + S (jt_left_actual_given_mapmatchequal) = S ((S (jt_index_actual_given_mapmatchequal)) * jt_c_actual_given_mapmatch)) /\ exists fs_q_jt_actual_given_mapmatchequalleft. jt_b_actual_given_mapmatch = fs_q_jt_actual_given_mapmatchequalleft * S ((S (jt_index_actual_given_mapmatchequal)) * jt_c_actual_given_mapmatch) + (jt_left_actual_given_mapmatchequal))) -> (((exists fs_h_jt_actual_given_mapmatchequalright. fs_h_jt_actual_given_mapmatchequalright + S (jt_right_actual_given_mapmatchequal) = S ((S (jt_index_actual_given_mapmatchequal)) * jt_e_actual_given_mapmatch)) /\ exists fs_q_jt_actual_given_mapmatchequalright. jt_d_actual_given_mapmatch = fs_q_jt_actual_given_mapmatchequalright * S ((S (jt_index_actual_given_mapmatchequal)) * jt_e_actual_given_mapmatch) + (jt_right_actual_given_mapmatchequal))) -> jt_left_actual_given_mapmatchequal=jt_right_actual_given_mapmatchequal)))))) -> (exists jt_gap_actual_index. jt_gap_actual_index+S (i)=(q)) -> (((exists fs_h_jt_actual_value. fs_h_jt_actual_value + S (j) = S ((S (i)) * W)) /\ exists fs_q_jt_actual_value. Z = fs_q_jt_actual_value * S ((S (i)) * W) + (j))) -> (((exists jt_gap_actual_result_bound. jt_gap_actual_result_bound+S (j)=(v)) /\ (forall jt_b_actual_result_match jt_c_actual_result_match jt_d_actual_result_match jt_e_actual_result_match. (((((exists fs_h_jt_actual_result_matchleftcode. fs_h_jt_actual_result_matchleftcode + S (jt_b_actual_result_match) = S ((S (i)) * B)) /\ exists fs_q_jt_actual_result_matchleftcode. A = fs_q_jt_actual_result_matchleftcode * S ((S (i)) * B) + (jt_b_actual_result_match))) /\ (((exists fs_h_jt_actual_result_matchleftscale. fs_h_jt_actual_result_matchleftscale + S (jt_c_actual_result_match) = S ((S (i)) * D)) /\ exists fs_q_jt_actual_result_matchleftscale. C = fs_q_jt_actual_result_matchleftscale * S ((S (i)) * D) + (jt_c_actual_result_match))))) -> (((((exists fs_h_jt_actual_result_matchrightcode. fs_h_jt_actual_result_matchrightcode + S (jt_d_actual_result_match) = S ((S (j)) * F)) /\ exists fs_q_jt_actual_result_matchrightcode. E = fs_q_jt_actual_result_matchrightcode * S ((S (j)) * F) + (jt_d_actual_result_match))) /\ (((exists fs_h_jt_actual_result_matchrightscale. fs_h_jt_actual_result_matchrightscale + S (jt_e_actual_result_match) = S ((S (j)) * H)) /\ exists fs_q_jt_actual_result_matchrightscale. G = fs_q_jt_actual_result_matchrightscale * S ((S (j)) * H) + (jt_e_actual_result_match))))) -> (forall jt_index_actual_result_matchequal jt_left_actual_result_matchequal jt_right_actual_result_matchequal. (exists jt_gap_actual_result_matchequalindex. jt_gap_actual_result_matchequalindex+S (jt_index_actual_result_matchequal)=(k)) -> (((exists fs_h_jt_actual_result_matchequalleft. fs_h_jt_actual_result_matchequalleft + S (jt_left_actual_result_matchequal) = S ((S (jt_index_actual_result_matchequal)) * jt_c_actual_result_match)) /\ exists fs_q_jt_actual_result_matchequalleft. jt_b_actual_result_match = fs_q_jt_actual_result_matchequalleft * S ((S (jt_index_actual_result_matchequal)) * jt_c_actual_result_match) + (jt_left_actual_result_matchequal))) -> (((exists fs_h_jt_actual_result_matchequalright. fs_h_jt_actual_result_matchequalright + S (jt_right_actual_result_matchequal) = S ((S (jt_index_actual_result_matchequal)) * jt_e_actual_result_match)) /\ exists fs_q_jt_actual_result_matchequalright. jt_d_actual_result_match = fs_q_jt_actual_result_matchequalright * S ((S (jt_index_actual_result_matchequal)) * jt_e_actual_result_match) + (jt_right_actual_result_matchequal))) -> jt_left_actual_result_matchequal=jt_right_actual_result_matchequal))))Constructive proof overview
Generated structural guide
Every actual decoded map value is bounded and matches the represented source tuple.
The unchanged tactic script uses 1 declared prerequisite and contains 42 exact native proof lines.
Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_at_unique 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. 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–10
02Fix variables and assumptionsL11–18
03Establish hvL19–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hm.
04Separate the logical casesL23–25
05Establish heL26–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
06Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
split
07Calculate and transport equalitiesL36–36
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L36
rewrite he at hv_witness_right_left
08Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
exact hv_witness_right_left
09Calculate and transport equalitiesL38–41
10Use earlier factsL42–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
exact hv_witness_right_right
Original exact command ledger · 42 lines
- 0001
intro k - 0002
intro A - 0003
intro B - 0004
intro C - 0005
intro D - 0006
intro E - 0007
intro F - 0008
intro G - 0009
intro H - 0010
intro Z - 0011
intro W - 0012
intro q - 0013
intro v - 0014
intro i - 0015
intro j - 0016
intro hm - 0017
intro hi - 0018
intro hat - 0019
have hv : exists r. ((((exists fs_h_jt_actual_mapat. fs_h_jt_actual_mapat + S (r) = S ((S (i)) * W)) /\ exists fs_q_jt_actual_mapat. Z = fs_q_jt_actual_mapat * S ((S (i)) * W) + (r))) /\ (((exists jt_gap_actual_mapbound. jt_gap_actual_mapbound+S (r)=(v)) /\ (forall jt_b_actual_mapmatch jt_c_actual_mapmatch jt_d_actual_mapmatch jt_e_actual_mapmatch. (((((exists fs_h_jt_actual_mapmatchleftcode. fs_h_jt_actual_mapmatchleftcode + S (jt_b_actual_mapmatch) = S ((S (i)) * B)) /\ exists fs_q_jt_actual_mapmatchleftcode. A = fs_q_jt_actual_mapmatchleftcode * S ((S (i)) * B) + (jt_b_actual_mapmatch))) /\ (((exists fs_h_jt_actual_mapmatchleftscale. fs_h_jt_actual_mapmatchleftscale + S (jt_c_actual_mapmatch) = S ((S (i)) * D)) /\ exists fs_q_jt_actual_mapmatchleftscale. C = fs_q_jt_actual_mapmatchleftscale * S ((S (i)) * D) + (jt_c_actual_mapmatch))))) -> (((((exists fs_h_jt_actual_mapmatchrightcode. fs_h_jt_actual_mapmatchrightcode + S (jt_d_actual_mapmatch) = S ((S (r)) * F)) /\ exists fs_q_jt_actual_mapmatchrightcode. E = fs_q_jt_actual_mapmatchrightcode * S ((S (r)) * F) + (jt_d_actual_mapmatch))) /\ (((exists fs_h_jt_actual_mapmatchrightscale. fs_h_jt_actual_mapmatchrightscale + S (jt_e_actual_mapmatch) = S ((S (r)) * H)) /\ exists fs_q_jt_actual_mapmatchrightscale. G = fs_q_jt_actual_mapmatchrightscale * S ((S (r)) * H) + (jt_e_actual_mapmatch))))) -> (forall jt_index_actual_mapmatchequal jt_left_actual_mapmatchequal jt_right_actual_mapmatchequal. (exists jt_gap_actual_mapmatchequalindex. jt_gap_actual_mapmatchequalindex+S (jt_index_actual_mapmatchequal)=(k)) -> (((exists fs_h_jt_actual_mapmatchequalleft. fs_h_jt_actual_mapmatchequalleft + S (jt_left_actual_mapmatchequal) = S ((S (jt_index_actual_mapmatchequal)) * jt_c_actual_mapmatch)) /\ exists fs_q_jt_actual_mapmatchequalleft. jt_b_actual_mapmatch = fs_q_jt_actual_mapmatchequalleft * S ((S (jt_index_actual_mapmatchequal)) * jt_c_actual_mapmatch) + (jt_left_actual_mapmatchequal))) -> (((exists fs_h_jt_actual_mapmatchequalright. fs_h_jt_actual_mapmatchequalright + S (jt_right_actual_mapmatchequal) = S ((S (jt_index_actual_mapmatchequal)) * jt_e_actual_mapmatch)) /\ exists fs_q_jt_actual_mapmatchequalright. jt_d_actual_mapmatch = fs_q_jt_actual_mapmatchequalright * S ((S (jt_index_actual_mapmatchequal)) * jt_e_actual_mapmatch) + (jt_right_actual_mapmatchequal))) -> jt_left_actual_mapmatchequal=jt_right_actual_mapmatchequal))))) - 0020
specialize hm (i) - 0021
apply hm - 0022
exact hi - 0023
cases hv - 0024
cases hv_witness - 0025
cases hv_witness_right - 0026
have he : x=j - 0027
specialize beta_at_unique (Z) - 0028
specialize beta_at_unique (W) - 0029
specialize beta_at_unique (i) - 0030
specialize beta_at_unique (x) - 0031
specialize beta_at_unique (j) - 0032
apply beta_at_unique - 0033
exact hv_witness_left - 0034
exact hat - 0035
split - 0036
rewrite he at hv_witness_right_left - 0037
exact hv_witness_right_left - 0038
rewrite he at hv_witness_right_right - 0039
rewrite he at hv_witness_right_right - 0040
rewrite he at hv_witness_right_right - 0041
rewrite he at hv_witness_right_right - 0042
exact hv_witness_right_right