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. ∀ mb. ∀ mc. ∀ sb. ∀ sc. ∀ l. (∀ x. Lt(x,l) → ∃ 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. Lt(x,l) → ∃ y. BetaAt(mb,mc,x,y) ∧ (Lt(0,y) ∧ Le(y,h))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
12 occurrences
In local proof propositions
7 occurrences
Exact expanded native-PA statement
forall p h a b c mb mc sb sc l. (forall gsp_index_magnitude_range_source. (exists gsp_lt_gap_magnitude_range_source_index_bound. gsp_lt_gap_magnitude_range_source_index_bound + S gsp_index_magnitude_range_source = l) -> (exists gsp_value_magnitude_range_source_entry gsp_magnitude_magnitude_range_source_entry gsp_sign_magnitude_range_source_entry. (((exists ff_h_gsp_magnitude_range_source_entry_source. ff_h_gsp_magnitude_range_source_entry_source + S (gsp_value_magnitude_range_source_entry) = S ((S (gsp_index_magnitude_range_source)) * c)) /\ exists ff_q_gsp_magnitude_range_source_entry_source. b = ff_q_gsp_magnitude_range_source_entry_source * S ((S (gsp_index_magnitude_range_source)) * c) + (gsp_value_magnitude_range_source_entry))) /\ ((((exists ff_h_gsp_magnitude_range_source_entry_magnitude. ff_h_gsp_magnitude_range_source_entry_magnitude + S (gsp_magnitude_magnitude_range_source_entry) = S ((S (gsp_index_magnitude_range_source)) * mc)) /\ exists ff_q_gsp_magnitude_range_source_entry_magnitude. mb = ff_q_gsp_magnitude_range_source_entry_magnitude * S ((S (gsp_index_magnitude_range_source)) * mc) + (gsp_magnitude_magnitude_range_source_entry))) /\ ((((exists ff_h_gsp_magnitude_range_source_entry_sign. ff_h_gsp_magnitude_range_source_entry_sign + S (gsp_sign_magnitude_range_source_entry) = S ((S (gsp_index_magnitude_range_source)) * sc)) /\ exists ff_q_gsp_magnitude_range_source_entry_sign. sb = ff_q_gsp_magnitude_range_source_entry_sign * S ((S (gsp_index_magnitude_range_source)) * sc) + (gsp_sign_magnitude_range_source_entry))) /\ ((exists gsp_lt_gap_magnitude_range_source_entry_positive. gsp_lt_gap_magnitude_range_source_entry_positive + S 0 = gsp_magnitude_magnitude_range_source_entry) /\ ((exists gsp_le_gap_magnitude_range_source_entry_bounded. gsp_le_gap_magnitude_range_source_entry_bounded + gsp_magnitude_magnitude_range_source_entry = h) /\ ((gsp_sign_magnitude_range_source_entry = 0 \/ gsp_sign_magnitude_range_source_entry = 1) /\ (((gsp_sign_magnitude_range_source_entry = 0 /\ (exists gsp_mod_left_magnitude_range_source_entry_lower gsp_mod_right_magnitude_range_source_entry_lower. (a * gsp_value_magnitude_range_source_entry) + p * gsp_mod_left_magnitude_range_source_entry_lower = (gsp_magnitude_magnitude_range_source_entry) + p * gsp_mod_right_magnitude_range_source_entry_lower)) \/ (gsp_sign_magnitude_range_source_entry = 1 /\ (exists gsp_mod_left_magnitude_range_source_entry_reflected gsp_mod_right_magnitude_range_source_entry_reflected. (a * gsp_value_magnitude_range_source_entry) + p * gsp_mod_left_magnitude_range_source_entry_reflected = ((2 * h) * gsp_magnitude_magnitude_range_source_entry) + p * gsp_mod_right_magnitude_range_source_entry_reflected))))))))))) -> (forall gmp_index_magnitude_range_result. (exists gsp_lt_gap_magnitude_range_result_index_bound. gsp_lt_gap_magnitude_range_result_index_bound + S gmp_index_magnitude_range_result = l) -> exists gmp_magnitude_magnitude_range_result. ((((exists ff_h_gmp_magnitude_range_result_decoded. ff_h_gmp_magnitude_range_result_decoded + S (gmp_magnitude_magnitude_range_result) = S ((S (gmp_index_magnitude_range_result)) * mc)) /\ exists ff_q_gmp_magnitude_range_result_decoded. mb = ff_q_gmp_magnitude_range_result_decoded * S ((S (gmp_index_magnitude_range_result)) * mc) + (gmp_magnitude_magnitude_range_result))) /\ ((exists gsp_lt_gap_magnitude_range_result_positive. gsp_lt_gap_magnitude_range_result_positive + S 0 = gmp_magnitude_magnitude_range_result) /\ (exists gsp_le_gap_magnitude_range_result_bounded. gsp_le_gap_magnitude_range_result_bounded + gmp_magnitude_magnitude_range_result = h))))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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hentryL14–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
- L14Definitions: BetaAt(b,c,i,gsp_value_magnitude_range_entry)BetaAt(mb,mc,i,gsp_magnitude_magnitude_range_entry)BetaAt(sb,sc,i,gsp_sign_magnitude_range_entry)Lt(0,gsp_magnitude_magnitude_range_entry)Le(gsp_magnitude_magnitude_range_entry,h)ModEq(p,a · gsp_value_magnitude_range_entry,gsp_magnitude_magnitude_range_entry)ModEq(p,a · gsp_value_magnitude_range_entry,2 · h · gsp_magnitude_magnitude_range_entry)Original native command in the exact edition
have hentry · expand full local formula (694 characters)
have hentry : ∃ gsp_value_magnitude_range_entry. ∃ gsp_magnitude_magnitude_range_entry. ∃ gsp_sign_magnitude_range_entry. BetaAt(b,c,i,gsp_value_magnitude_range_entry) ∧ (BetaAt(mb,mc,i,gsp_magnitude_magnitude_range_entry) ∧ (BetaAt(sb,sc,i,gsp_sign_magnitude_range_entry) ∧ (Lt(0,gsp_magnitude_magnitude_range_entry) ∧ (Le(gsp_magnitude_magnitude_range_entry,h) ∧ ((gsp_sign_magnitude_range_entry = 0 ∨ gsp_sign_magnitude_range_entry = 1) ∧ (gsp_sign_magnitude_range_entry = 0 ∧ ModEq(p,a · gsp_value_magnitude_range_entry,gsp_magnitude_magnitude_range_entry) ∨ gsp_sign_magnitude_range_entry = 1 ∧ ModEq(p,a · gsp_value_magnitude_range_entry,2 · h · gsp_magnitude_magnitude_range_entry))))))) - L15
specialize hprefix i - L16
apply hprefix - L17
exact hi
04Separate the logical casesL18–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
cases hentry - L19
cases hentry_witness - L20
cases hentry_witness_witness - L21
cases hentry_witness_witness_witness - L22
cases hentry_witness_witness_witness_right - L23
cases hentry_witness_witness_witness_right_right - L24
cases hentry_witness_witness_witness_right_right_right - L25
cases hentry_witness_witness_witness_right_right_right_right
05Construct an explicit witnessL26–26
Supply the displayed value, then prove that it has the required property.
- L26
exists x1
06Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
split
07Use earlier factsL28–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
exact hentry_witness_witness_witness_right_left
08Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
split
Original defined command ledger · 31 lines
- 0001
intro p - 0002
intro h - 0003
intro a - 0004
intro b - 0005
intro c - 0006
intro mb - 0007
intro mc - 0008
intro sb - 0009
intro sc - 0010
intro l - 0011
intro hprefix - 0012
intro i - 0013
intro hi - 0014
have hentry : ∃ gsp_value_magnitude_range_entry. ∃ gsp_magnitude_magnitude_range_entry. ∃ gsp_sign_magnitude_range_entry. BetaAt(b,c,i,gsp_value_magnitude_range_entry) ∧ (BetaAt(mb,mc,i,gsp_magnitude_magnitude_range_entry) ∧ (BetaAt(sb,sc,i,gsp_sign_magnitude_range_entry) ∧ (Lt(0,gsp_magnitude_magnitude_range_entry) ∧ (Le(gsp_magnitude_magnitude_range_entry,h) ∧ ((gsp_sign_magnitude_range_entry = 0 ∨ gsp_sign_magnitude_range_entry = 1) ∧ (gsp_sign_magnitude_range_entry = 0 ∧ ModEq(p,a · gsp_value_magnitude_range_entry,gsp_magnitude_magnitude_range_entry) ∨ gsp_sign_magnitude_range_entry = 1 ∧ ModEq(p,a · gsp_value_magnitude_range_entry,2 · h · gsp_magnitude_magnitude_range_entry)))))))Exact native replay line
have hentry : exists gsp_value_magnitude_range_entry gsp_magnitude_magnitude_range_entry gsp_sign_magnitude_range_entry. (((exists ff_h_gsp_magnitude_range_entry_source. ff_h_gsp_magnitude_range_entry_source + S (gsp_value_magnitude_range_entry) = S ((S (i)) * c)) /\ exists ff_q_gsp_magnitude_range_entry_source. b = ff_q_gsp_magnitude_range_entry_source * S ((S (i)) * c) + (gsp_value_magnitude_range_entry))) /\ ((((exists ff_h_gsp_magnitude_range_entry_magnitude. ff_h_gsp_magnitude_range_entry_magnitude + S (gsp_magnitude_magnitude_range_entry) = S ((S (i)) * mc)) /\ exists ff_q_gsp_magnitude_range_entry_magnitude. mb = ff_q_gsp_magnitude_range_entry_magnitude * S ((S (i)) * mc) + (gsp_magnitude_magnitude_range_entry))) /\ ((((exists ff_h_gsp_magnitude_range_entry_sign. ff_h_gsp_magnitude_range_entry_sign + S (gsp_sign_magnitude_range_entry) = S ((S (i)) * sc)) /\ exists ff_q_gsp_magnitude_range_entry_sign. sb = ff_q_gsp_magnitude_range_entry_sign * S ((S (i)) * sc) + (gsp_sign_magnitude_range_entry))) /\ ((exists gsp_lt_gap_magnitude_range_entry_positive. gsp_lt_gap_magnitude_range_entry_positive + S 0 = gsp_magnitude_magnitude_range_entry) /\ ((exists gsp_le_gap_magnitude_range_entry_bounded. gsp_le_gap_magnitude_range_entry_bounded + gsp_magnitude_magnitude_range_entry = h) /\ ((gsp_sign_magnitude_range_entry = 0 \/ gsp_sign_magnitude_range_entry = 1) /\ (((gsp_sign_magnitude_range_entry = 0 /\ (exists gsp_mod_left_magnitude_range_entry_lower gsp_mod_right_magnitude_range_entry_lower. (a * gsp_value_magnitude_range_entry) + p * gsp_mod_left_magnitude_range_entry_lower = (gsp_magnitude_magnitude_range_entry) + p * gsp_mod_right_magnitude_range_entry_lower)) \/ (gsp_sign_magnitude_range_entry = 1 /\ (exists gsp_mod_left_magnitude_range_entry_reflected gsp_mod_right_magnitude_range_entry_reflected. (a * gsp_value_magnitude_range_entry) + p * gsp_mod_left_magnitude_range_entry_reflected = ((2 * h) * gsp_magnitude_magnitude_range_entry) + p * gsp_mod_right_magnitude_range_entry_reflected))))))))) - 0015
specialize hprefix i - 0016
apply hprefix - 0017
exact hi - 0018
cases hentry - 0019
cases hentry_witness - 0020
cases hentry_witness_witness - 0021
cases hentry_witness_witness_witness - 0022
cases hentry_witness_witness_witness_right - 0023
cases hentry_witness_witness_witness_right_right - 0024
cases hentry_witness_witness_witness_right_right_right - 0025
cases hentry_witness_witness_witness_right_right_right_right - 0026
exists x1 - 0027
split - 0028
exact hentry_witness_witness_witness_right_left - 0029
split - 0030
exact hentry_witness_witness_witness_right_right_right_left - 0031
exact hentry_witness_witness_witness_right_right_right_right_left