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.
Statement with defined notation
∀ p. ∀ h. ∀ a. ∀ b. ∀ c. ∀ tb. ∀ tc. ∀ qb. ∀ qc. ∀ rb. ∀ rc. ∀ mb. ∀ mc. ∀ sb. ∀ sc. p = 2 · h + 1 → Odd(a) → Range(b,c,1,h) → (∀ x. ∀ y. Lt(x,h) → BetaAt(tb,tc,x,y) → y = a · (1 + x)) → DivisionPrefix(p,tb,tc,qb,qc,rb,rc,h) → (∀ x. Lt(x,h) → ∃ y. ∃ z. ∃ n. BetaAt(b,c,x,y) ∧ (BetaAt(mb,mc,x,z) ∧ (BetaAt(sb,sc,x,n) ∧ (Lt(0,z) ∧ (Le(z,h) ∧ ((n = 0 ∨ n = 1) ∧ (n = 0 ∧ ModEq(p,a · y,z) ∨ n = 1 ∧ ModEq(p,a · y,2 · h · z)))))))) → ∀ x. ∀ y. ∀ z. ∀ n. ∀ m. Lt(x,h) → BetaAt(b,c,x,y) → BetaAt(qb,qc,x,z) → BetaAt(mb,mc,x,n) → BetaAt(sb,sc,x,m) → ModEq(2,y,z + n + m)Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.
Definitions used by this theorem
In the theorem statement
19 occurrences
In local proof propositions
17 occurrences
Exact expanded native-PA statement
forall p h a b c tb tc qb qc rb rc mb mc sb sc. p = 2 * h + 1 -> (exists sdp_odd_gep_scale. a = 2 * sdp_odd_gep_scale + 1) -> (forall gsp_range_index_gep_half. (exists gsp_lt_gap_gep_half_range_bound. gsp_lt_gap_gep_half_range_bound + S gsp_range_index_gep_half = h) -> (((exists gsp_beta_height_gep_half_range_entry. gsp_beta_height_gep_half_range_entry + S (1 + gsp_range_index_gep_half) = S ((S (gsp_range_index_gep_half)) * c)) /\ exists gsp_beta_quotient_gep_half_range_entry. b = gsp_beta_quotient_gep_half_range_entry * S ((S (gsp_range_index_gep_half)) * c) + (1 + gsp_range_index_gep_half)))) -> (forall esd_index_gep_scaled esd_value_gep_scaled. (exists esd_gap_gep_scaled. esd_gap_gep_scaled + S esd_index_gep_scaled = h) -> (((exists ff_h_esd_gep_scaled_decoded. ff_h_esd_gep_scaled_decoded + S (esd_value_gep_scaled) = S ((S (esd_index_gep_scaled)) * tc)) /\ exists ff_q_esd_gep_scaled_decoded. tb = ff_q_esd_gep_scaled_decoded * S ((S (esd_index_gep_scaled)) * tc) + (esd_value_gep_scaled))) -> esd_value_gep_scaled = a * (1 + esd_index_gep_scaled)) -> (forall fdp_index_gep_division. (exists gsp_lt_gap_gep_division_index_bound. gsp_lt_gap_gep_division_index_bound + S fdp_index_gep_division = h) -> exists fdp_value_gep_division fdp_quotient_gep_division fdp_remainder_gep_division. (((exists ff_h_fdp_gep_division_source. ff_h_fdp_gep_division_source + S (fdp_value_gep_division) = S ((S (fdp_index_gep_division)) * tc)) /\ exists ff_q_fdp_gep_division_source. tb = ff_q_fdp_gep_division_source * S ((S (fdp_index_gep_division)) * tc) + (fdp_value_gep_division))) /\ ((((exists ff_h_fdp_gep_division_quotient_entry. ff_h_fdp_gep_division_quotient_entry + S (fdp_quotient_gep_division) = S ((S (fdp_index_gep_division)) * qc)) /\ exists ff_q_fdp_gep_division_quotient_entry. qb = ff_q_fdp_gep_division_quotient_entry * S ((S (fdp_index_gep_division)) * qc) + (fdp_quotient_gep_division))) /\ ((((exists ff_h_fdp_gep_division_remainder_entry. ff_h_fdp_gep_division_remainder_entry + S (fdp_remainder_gep_division) = S ((S (fdp_index_gep_division)) * rc)) /\ exists ff_q_fdp_gep_division_remainder_entry. rb = ff_q_fdp_gep_division_remainder_entry * S ((S (fdp_index_gep_division)) * rc) + (fdp_remainder_gep_division))) /\ (fdp_value_gep_division = p * fdp_quotient_gep_division + fdp_remainder_gep_division /\ (exists gsp_lt_gap_gep_division_remainder_bound. gsp_lt_gap_gep_division_remainder_bound + S fdp_remainder_gep_division = p))))) -> (forall gsp_index_gep_signed. (exists gsp_lt_gap_gep_signed_index_bound. gsp_lt_gap_gep_signed_index_bound + S gsp_index_gep_signed = h) -> (exists gsp_value_gep_signed_entry gsp_magnitude_gep_signed_entry gsp_sign_gep_signed_entry. (((exists ff_h_gsp_gep_signed_entry_source. ff_h_gsp_gep_signed_entry_source + S (gsp_value_gep_signed_entry) = S ((S (gsp_index_gep_signed)) * c)) /\ exists ff_q_gsp_gep_signed_entry_source. b = ff_q_gsp_gep_signed_entry_source * S ((S (gsp_index_gep_signed)) * c) + (gsp_value_gep_signed_entry))) /\ ((((exists ff_h_gsp_gep_signed_entry_magnitude. ff_h_gsp_gep_signed_entry_magnitude + S (gsp_magnitude_gep_signed_entry) = S ((S (gsp_index_gep_signed)) * mc)) /\ exists ff_q_gsp_gep_signed_entry_magnitude. mb = ff_q_gsp_gep_signed_entry_magnitude * S ((S (gsp_index_gep_signed)) * mc) + (gsp_magnitude_gep_signed_entry))) /\ ((((exists ff_h_gsp_gep_signed_entry_sign. ff_h_gsp_gep_signed_entry_sign + S (gsp_sign_gep_signed_entry) = S ((S (gsp_index_gep_signed)) * sc)) /\ exists ff_q_gsp_gep_signed_entry_sign. sb = ff_q_gsp_gep_signed_entry_sign * S ((S (gsp_index_gep_signed)) * sc) + (gsp_sign_gep_signed_entry))) /\ ((exists gsp_lt_gap_gep_signed_entry_positive. gsp_lt_gap_gep_signed_entry_positive + S 0 = gsp_magnitude_gep_signed_entry) /\ ((exists gsp_le_gap_gep_signed_entry_bounded. gsp_le_gap_gep_signed_entry_bounded + gsp_magnitude_gep_signed_entry = h) /\ ((gsp_sign_gep_signed_entry = 0 \/ gsp_sign_gep_signed_entry = 1) /\ (((gsp_sign_gep_signed_entry = 0 /\ (exists gsp_mod_left_gep_signed_entry_lower gsp_mod_right_gep_signed_entry_lower. (a * gsp_value_gep_signed_entry) + p * gsp_mod_left_gep_signed_entry_lower = (gsp_magnitude_gep_signed_entry) + p * gsp_mod_right_gep_signed_entry_lower)) \/ (gsp_sign_gep_signed_entry = 1 /\ (exists gsp_mod_left_gep_signed_entry_reflected gsp_mod_right_gep_signed_entry_reflected. (a * gsp_value_gep_signed_entry) + p * gsp_mod_left_gep_signed_entry_reflected = ((2 * h) * gsp_magnitude_gep_signed_entry) + p * gsp_mod_right_gep_signed_entry_reflected))))))))))) -> (forall i x q m s. (exists gsp_lt_gap_gep_index. gsp_lt_gap_gep_index + S i = h) -> (((exists ff_h_gep_source_entry. ff_h_gep_source_entry + S (x) = S ((S (i)) * c)) /\ exists ff_q_gep_source_entry. b = ff_q_gep_source_entry * S ((S (i)) * c) + (x))) -> (((exists ff_h_gep_quotient_entry. ff_h_gep_quotient_entry + S (q) = S ((S (i)) * qc)) /\ exists ff_q_gep_quotient_entry. qb = ff_q_gep_quotient_entry * S ((S (i)) * qc) + (q))) -> (((exists ff_h_gep_magnitude_entry. ff_h_gep_magnitude_entry + S (m) = S ((S (i)) * mc)) /\ exists ff_q_gep_magnitude_entry. mb = ff_q_gep_magnitude_entry * S ((S (i)) * mc) + (m))) -> (((exists ff_h_gep_sign_entry. ff_h_gep_sign_entry + S (s) = S ((S (i)) * sc)) /\ exists ff_q_gep_sign_entry. sb = ff_q_gep_sign_entry * S ((S (i)) * sc) + (s))) -> (exists sdp_u_gep_prefix_result sdp_v_gep_prefix_result. (x) + 2 * sdp_u_gep_prefix_result = (q + m + s) + 2 * sdp_v_gep_prefix_result))Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.
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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–30
04Fix variables and assumptionsL31–31
Work with arbitrary variables or the premises of the current implication.
- L31
intro hs
05Establish hcanonicalL32–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hhalf.
- L32
have hcanonical : BetaAt(b,c,i,1 + i)Definitions: BetaAt(b,c,i,1 + i)Original native command in the exact edition - L33
specialize hhalf i - L34
apply hhalf - L35
exact hi
06Establish hdivdataL36–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hdivision.
- L36
have hdivdata : ∃ x1. ∃ x2. ∃ x3. BetaAt(tb,tc,i,x1) ∧ (BetaAt(qb,qc,i,x2) ∧ (BetaAt(rb,rc,i,x3) ∧ DivRem(x1,p,x2,x3)))Definitions: BetaAt(tb,tc,i,x1)BetaAt(qb,qc,i,x2)BetaAt(rb,rc,i,x3)DivRem(x1,p,x2,x3)Original native command in the exact edition - L37
specialize hdivision i - L38
apply hdivision - L39
exact hi
07Separate the logical casesL40–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
08Establish hsigneddataL47–50
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hsigned.
- L47
have hsigneddata : ∃ x4. ∃ x5. ∃ x6. BetaAt(b,c,i,x4) ∧ (BetaAt(mb,mc,i,x5) ∧ (BetaAt(sb,sc,i,x6) ∧ (Lt(0,x5) ∧ (Le(x5,h) ∧ ((x6 = 0 ∨ x6 = 1) ∧ (x6 = 0 ∧ ModEq(p,a · x4,x5) ∨ x6 = 1 ∧ ModEq(p,a · x4,2 · h · x5)))))))Definitions: BetaAt(b,c,i,x4)BetaAt(mb,mc,i,x5)BetaAt(sb,sc,i,x6)Lt(0,x5)Le(x5,h)ModEq(p,a · x4,x5)ModEq(p,a · x4,2 · h · x5)Original native command in the exact edition - L48
specialize hsigned i - L49
apply hsigned - L50
exact hi
09Separate the logical casesL51–59
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L51
cases hsigneddata - L52
cases hsigneddata_witness - L53
cases hsigneddata_witness_witness - L54
cases hsigneddata_witness_witness_witness - L55
cases hsigneddata_witness_witness_witness_right - L56
cases hsigneddata_witness_witness_witness_right_right - L57
cases hsigneddata_witness_witness_witness_right_right_right - L58
cases hsigneddata_witness_witness_witness_right_right_right_right - L59
cases hsigneddata_witness_witness_witness_right_right_right_right_right
10Establish hxcanonicalL60–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
11Establish hnscaleL69–69
Establish this local claim before using it. It is not an additional assumption.
- L69
have hnscale : x1 = a * x4
12Establish hscale_exactL70–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hscale exact.
- L70
have hscale_exact : ∀ esd_index_gep_proof_scaled. ∀ esd_value_gep_proof_scaled. Lt(esd_index_gep_proof_scaled,h) → BetaAt(tb,tc,esd_index_gep_proof_scaled,esd_value_gep_proof_scaled) → esd_value_gep_proof_scaled = a · (1 + esd_index_gep_proof_scaled)Definitions: Lt(esd_index_gep_proof_scaled,h)BetaAt(tb,tc,esd_index_gep_proof_scaled,esd_value_gep_proof_scaled)Original native command in the exact edition - L71
exact hscaled - L72
trans a * (1 + i) - L73
specialize hscale_exact i - L74
specialize hscale_exact x1 - L75
apply hscale_exact - L76
exact hi - L77
exact hdivdata_witness_witness_witness_left - L78
congr - L79
refl
13Calculate and transport equalitiesL80–80
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L80
symm
14Use earlier factsL81–81
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L81
exact hxcanonical
15Establish hsignednL82–82
Establish this local claim before using it. It is not an additional assumption.
- L82
have hsignedn : x6 = 0 ∧ ModEq(p,x1,x5) ∨ x6 = 1 ∧ ModEq(p,x1,2 · h · x5)Definitions: ModEq(p,x1,x5)ModEq(p,x1,2 · h · x5)Original native command in the exact edition
16Separate the logical casesL83–86
17Use earlier factsL87–87
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L87
exact hsigneddata_witness_witness_witness_right_right_right_right_right_right_left_left
18Calculate and transport equalitiesL88–88
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L88
rewrite hnscale
19Use earlier factsL89–89
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L89
exact hsigneddata_witness_witness_witness_right_right_right_right_right_right_left_right
20Separate the logical casesL90–92
21Use earlier factsL93–93
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L93
exact hsigneddata_witness_witness_witness_right_right_right_right_right_right_right_left
22Calculate and transport equalitiesL94–94
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L94
rewrite hnscale
23Use earlier factsL95–95
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L95
exact hsigneddata_witness_witness_witness_right_right_right_right_right_right_right_right
24Establish hlocalL96–105
Establish this local claim before using it. It is not an additional assumption.
- L96
have hlocal : ModEq(2,x4,x2 + x5 + x6)Definitions: ModEq(2,x4,x2 + x5 + x6)Original native command in the exact edition - L97
specialize odd_signed_division_congruence_mod_two p - L98
specialize odd_signed_division_congruence_mod_two h - L99
specialize odd_signed_division_congruence_mod_two a - L100
specialize odd_signed_division_congruence_mod_two x4 - L101
specialize odd_signed_division_congruence_mod_two x1 - L102
specialize odd_signed_division_congruence_mod_two x2 - L103
specialize odd_signed_division_congruence_mod_two x3 - L104
specialize odd_signed_division_congruence_mod_two x5 - L105
specialize odd_signed_division_congruence_mod_two x6
25Use earlier factsL106–114
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L106
apply odd_signed_division_congruence_mod_two - L107
exact hp - L108
exact ha - L109
exact hnscale - L110
exact hdivdata_witness_witness_witness_right_right_right_left - L111
exact hdivdata_witness_witness_witness_right_right_right_right - L112
exact hsigneddata_witness_witness_witness_right_right_right_left - L113
exact hsigneddata_witness_witness_witness_right_right_right_right_left - L114
exact hsignedn
26Establish hxeqL115–123
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
27Establish hqeqL124–132
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
28Establish hmeqL133–141
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
29Establish hseqL142–151
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
30Calculate and transport equalitiesL152–154
31Use earlier factsL155–155
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L155
exact hlocal
Original defined command ledger · 155 lines
- 0001
intro p - 0002
intro h - 0003
intro a - 0004
intro b - 0005
intro c - 0006
intro tb - 0007
intro tc - 0008
intro qb - 0009
intro qc - 0010
intro rb - 0011
intro rc - 0012
intro mb - 0013
intro mc - 0014
intro sb - 0015
intro sc - 0016
intro hp - 0017
intro ha - 0018
intro hhalf - 0019
intro hscaled - 0020
intro hdivision - 0021
intro hsigned - 0022
intro i - 0023
intro x - 0024
intro q - 0025
intro m - 0026
intro s - 0027
intro hi - 0028
intro hx - 0029
intro hq - 0030
intro hm - 0031
intro hs - 0032
have hcanonical : BetaAt(b,c,i,1 + i)Exact native replay line
have hcanonical : ((exists gsp_beta_height_gep_proof_canonical. gsp_beta_height_gep_proof_canonical + S (1 + i) = S ((S (i)) * c)) /\ exists gsp_beta_quotient_gep_proof_canonical. b = gsp_beta_quotient_gep_proof_canonical * S ((S (i)) * c) + (1 + i)) - 0033
specialize hhalf i - 0034
apply hhalf - 0035
exact hi - 0036
have hdivdata : ∃ x1. ∃ x2. ∃ x3. BetaAt(tb,tc,i,x1) ∧ (BetaAt(qb,qc,i,x2) ∧ (BetaAt(rb,rc,i,x3) ∧ DivRem(x1,p,x2,x3)))Exact native replay line
have hdivdata : exists x1 x2 x3. (((exists ff_h_gep_proof_div_source. ff_h_gep_proof_div_source + S (x1) = S ((S (i)) * tc)) /\ exists ff_q_gep_proof_div_source. tb = ff_q_gep_proof_div_source * S ((S (i)) * tc) + (x1))) /\ ((((exists ff_h_gep_proof_div_q. ff_h_gep_proof_div_q + S (x2) = S ((S (i)) * qc)) /\ exists ff_q_gep_proof_div_q. qb = ff_q_gep_proof_div_q * S ((S (i)) * qc) + (x2))) /\ ((((exists ff_h_gep_proof_div_r. ff_h_gep_proof_div_r + S (x3) = S ((S (i)) * rc)) /\ exists ff_q_gep_proof_div_r. rb = ff_q_gep_proof_div_r * S ((S (i)) * rc) + (x3))) /\ (x1 = p * x2 + x3 /\ (exists gsp_lt_gap_gep_proof_div_r_below. gsp_lt_gap_gep_proof_div_r_below + S x3 = p)))) - 0037
specialize hdivision i - 0038
apply hdivision - 0039
exact hi - 0040
cases hdivdata - 0041
cases hdivdata_witness - 0042
cases hdivdata_witness_witness - 0043
cases hdivdata_witness_witness_witness - 0044
cases hdivdata_witness_witness_witness_right - 0045
cases hdivdata_witness_witness_witness_right_right - 0046
cases hdivdata_witness_witness_witness_right_right_right - 0047
have hsigneddata : ∃ x4. ∃ x5. ∃ x6. BetaAt(b,c,i,x4) ∧ (BetaAt(mb,mc,i,x5) ∧ (BetaAt(sb,sc,i,x6) ∧ (Lt(0,x5) ∧ (Le(x5,h) ∧ ((x6 = 0 ∨ x6 = 1) ∧ (x6 = 0 ∧ ModEq(p,a · x4,x5) ∨ x6 = 1 ∧ ModEq(p,a · x4,2 · h · x5)))))))Exact native replay line
have hsigneddata : exists x4 x5 x6. (((exists ff_h_gep_proof_signed_source. ff_h_gep_proof_signed_source + S (x4) = S ((S (i)) * c)) /\ exists ff_q_gep_proof_signed_source. b = ff_q_gep_proof_signed_source * S ((S (i)) * c) + (x4))) /\ ((((exists ff_h_gep_proof_signed_magnitude. ff_h_gep_proof_signed_magnitude + S (x5) = S ((S (i)) * mc)) /\ exists ff_q_gep_proof_signed_magnitude. mb = ff_q_gep_proof_signed_magnitude * S ((S (i)) * mc) + (x5))) /\ ((((exists ff_h_gep_proof_signed_sign. ff_h_gep_proof_signed_sign + S (x6) = S ((S (i)) * sc)) /\ exists ff_q_gep_proof_signed_sign. sb = ff_q_gep_proof_signed_sign * S ((S (i)) * sc) + (x6))) /\ ((exists gsp_lt_gap_gep_proof_signed_positive. gsp_lt_gap_gep_proof_signed_positive + S 0 = x5) /\ ((exists gsp_le_gap_gep_proof_signed_bounded. gsp_le_gap_gep_proof_signed_bounded + x5 = h) /\ ((x6 = 0 \/ x6 = 1) /\ (((x6 = 0 /\ (exists wpp_mod_left_gep_proof_signed_lower wpp_mod_right_gep_proof_signed_lower. (a * x4) + p * wpp_mod_left_gep_proof_signed_lower = (x5) + p * wpp_mod_right_gep_proof_signed_lower)) \/ (x6 = 1 /\ (exists wpp_mod_left_gep_proof_signed_upper wpp_mod_right_gep_proof_signed_upper. (a * x4) + p * wpp_mod_left_gep_proof_signed_upper = ((2 * h) * x5) + p * wpp_mod_right_gep_proof_signed_upper))))))))) - 0048
specialize hsigned i - 0049
apply hsigned - 0050
exact hi - 0051
cases hsigneddata - 0052
cases hsigneddata_witness - 0053
cases hsigneddata_witness_witness - 0054
cases hsigneddata_witness_witness_witness - 0055
cases hsigneddata_witness_witness_witness_right - 0056
cases hsigneddata_witness_witness_witness_right_right - 0057
cases hsigneddata_witness_witness_witness_right_right_right - 0058
cases hsigneddata_witness_witness_witness_right_right_right_right - 0059
cases hsigneddata_witness_witness_witness_right_right_right_right_right - 0060
have hxcanonical : x4 = 1 + i - 0061
specialize beta_at_unique b - 0062
specialize beta_at_unique c - 0063
specialize beta_at_unique i - 0064
specialize beta_at_unique x4 - 0065
specialize beta_at_unique (1 + i) - 0066
apply beta_at_unique - 0067
exact hsigneddata_witness_witness_witness_left - 0068
exact hcanonical - 0069
have hnscale : x1 = a * x4 - 0070
have hscale_exact : ∀ esd_index_gep_proof_scaled. ∀ esd_value_gep_proof_scaled. Lt(esd_index_gep_proof_scaled,h) → BetaAt(tb,tc,esd_index_gep_proof_scaled,esd_value_gep_proof_scaled) → esd_value_gep_proof_scaled = a · (1 + esd_index_gep_proof_scaled)Exact native replay line
have hscale_exact : forall esd_index_gep_proof_scaled esd_value_gep_proof_scaled. (exists esd_gap_gep_proof_scaled. esd_gap_gep_proof_scaled + S esd_index_gep_proof_scaled = h) -> (((exists ff_h_esd_gep_proof_scaled_decoded. ff_h_esd_gep_proof_scaled_decoded + S (esd_value_gep_proof_scaled) = S ((S (esd_index_gep_proof_scaled)) * tc)) /\ exists ff_q_esd_gep_proof_scaled_decoded. tb = ff_q_esd_gep_proof_scaled_decoded * S ((S (esd_index_gep_proof_scaled)) * tc) + (esd_value_gep_proof_scaled))) -> esd_value_gep_proof_scaled = a * (1 + esd_index_gep_proof_scaled) - 0071
exact hscaled - 0072
trans a * (1 + i) - 0073
specialize hscale_exact i - 0074
specialize hscale_exact x1 - 0075
apply hscale_exact - 0076
exact hi - 0077
exact hdivdata_witness_witness_witness_left - 0078
congr - 0079
refl - 0080
symm - 0081
exact hxcanonical - 0082
have hsignedn : x6 = 0 ∧ ModEq(p,x1,x5) ∨ x6 = 1 ∧ ModEq(p,x1,2 · h · x5)Exact native replay line
have hsignedn : ((x6 = 0 /\ (exists wpp_mod_left_gep_proof_n_mod_m wpp_mod_right_gep_proof_n_mod_m. (x1) + p * wpp_mod_left_gep_proof_n_mod_m = (x5) + p * wpp_mod_right_gep_proof_n_mod_m)) \/ (x6 = 1 /\ (exists wpp_mod_left_gep_proof_n_mod_upper wpp_mod_right_gep_proof_n_mod_upper. (x1) + p * wpp_mod_left_gep_proof_n_mod_upper = ((2 * h) * x5) + p * wpp_mod_right_gep_proof_n_mod_upper))) - 0083
cases hsigneddata_witness_witness_witness_right_right_right_right_right_right - 0084
left - 0085
cases hsigneddata_witness_witness_witness_right_right_right_right_right_right_left - 0086
split - 0087
exact hsigneddata_witness_witness_witness_right_right_right_right_right_right_left_left - 0088
rewrite hnscale - 0089
exact hsigneddata_witness_witness_witness_right_right_right_right_right_right_left_right - 0090
right - 0091
cases hsigneddata_witness_witness_witness_right_right_right_right_right_right_right - 0092
split - 0093
exact hsigneddata_witness_witness_witness_right_right_right_right_right_right_right_left - 0094
rewrite hnscale - 0095
exact hsigneddata_witness_witness_witness_right_right_right_right_right_right_right_right - 0096
have hlocal : ModEq(2,x4,x2 + x5 + x6)Exact native replay line
have hlocal : exists sdp_u_gep_proof_final sdp_v_gep_proof_final. (x4) + 2 * sdp_u_gep_proof_final = (x2 + x5 + x6) + 2 * sdp_v_gep_proof_final - 0097
specialize odd_signed_division_congruence_mod_two p - 0098
specialize odd_signed_division_congruence_mod_two h - 0099
specialize odd_signed_division_congruence_mod_two a - 0100
specialize odd_signed_division_congruence_mod_two x4 - 0101
specialize odd_signed_division_congruence_mod_two x1 - 0102
specialize odd_signed_division_congruence_mod_two x2 - 0103
specialize odd_signed_division_congruence_mod_two x3 - 0104
specialize odd_signed_division_congruence_mod_two x5 - 0105
specialize odd_signed_division_congruence_mod_two x6 - 0106
apply odd_signed_division_congruence_mod_two - 0107
exact hp - 0108
exact ha - 0109
exact hnscale - 0110
exact hdivdata_witness_witness_witness_right_right_right_left - 0111
exact hdivdata_witness_witness_witness_right_right_right_right - 0112
exact hsigneddata_witness_witness_witness_right_right_right_left - 0113
exact hsigneddata_witness_witness_witness_right_right_right_right_left - 0114
exact hsignedn - 0115
have hxeq : x = x4 - 0116
specialize beta_at_unique b - 0117
specialize beta_at_unique c - 0118
specialize beta_at_unique i - 0119
specialize beta_at_unique x - 0120
specialize beta_at_unique x4 - 0121
apply beta_at_unique - 0122
exact hx - 0123
exact hsigneddata_witness_witness_witness_left - 0124
have hqeq : q = x2 - 0125
specialize beta_at_unique qb - 0126
specialize beta_at_unique qc - 0127
specialize beta_at_unique i - 0128
specialize beta_at_unique q - 0129
specialize beta_at_unique x2 - 0130
apply beta_at_unique - 0131
exact hq - 0132
exact hdivdata_witness_witness_witness_right_left - 0133
have hmeq : m = x5 - 0134
specialize beta_at_unique mb - 0135
specialize beta_at_unique mc - 0136
specialize beta_at_unique i - 0137
specialize beta_at_unique m - 0138
specialize beta_at_unique x5 - 0139
apply beta_at_unique - 0140
exact hm - 0141
exact hsigneddata_witness_witness_witness_right_left - 0142
have hseq : s = x6 - 0143
specialize beta_at_unique sb - 0144
specialize beta_at_unique sc - 0145
specialize beta_at_unique i - 0146
specialize beta_at_unique s - 0147
specialize beta_at_unique x6 - 0148
apply beta_at_unique - 0149
exact hs - 0150
exact hsigneddata_witness_witness_witness_right_right_left - 0151
rewrite hxeq - 0152
rewrite hqeq - 0153
rewrite hmeq - 0154
rewrite hseq - 0155
exact hlocal