Exact expanded first-order arithmetic statement
forall d b c k a. (forall jt_index_allprefix jt_value_allprefix. (exists jt_gap_allprefixindex. jt_gap_allprefixindex+S (jt_index_allprefix)=(k)) -> (((exists fs_h_jt_allprefixat. fs_h_jt_allprefixat + S (jt_value_allprefix) = S ((S (jt_index_allprefix)) * c)) /\ exists fs_q_jt_allprefixat. b = fs_q_jt_allprefixat * S ((S (jt_index_allprefix)) * c) + (jt_value_allprefix))) -> (exists jt_factor_allprefixdivides. (jt_value_allprefix)=(d)*jt_factor_allprefixdivides)) -> (((exists fs_h_jt_allentry. fs_h_jt_allentry + S (a) = S ((S (k)) * c)) /\ exists fs_q_jt_allentry. b = fs_q_jt_allentry * S ((S (k)) * c) + (a))) -> (exists jt_factor_allvalue. (a)=(d)*jt_factor_allvalue) -> (forall jt_index_allsuccessor jt_value_allsuccessor. (exists jt_gap_allsuccessorindex. jt_gap_allsuccessorindex+S (jt_index_allsuccessor)=(S k)) -> (((exists fs_h_jt_allsuccessorat. fs_h_jt_allsuccessorat + S (jt_value_allsuccessor) = S ((S (jt_index_allsuccessor)) * c)) /\ exists fs_q_jt_allsuccessorat. b = fs_q_jt_allsuccessorat * S ((S (jt_index_allsuccessor)) * c) + (jt_value_allsuccessor))) -> (exists jt_factor_allsuccessordivides. (jt_value_allsuccessor)=(d)*jt_factor_allsuccessordivides))Constructive proof overview
Generated structural guide
Adjoining an actually decoded divisible entry preserves common divisibility.
The unchanged tactic script uses 2 declared prerequisites and contains 36 exact native proof lines.
Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
finite_lt_succ_eq_or_lt Alpha theorem; checked-use authorized 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–12
03Establish hcasesL13–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
04Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
cases hcases
05Establish heqL19–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
06Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
exact ha
07Calculate and transport equalitiesL30–30
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L30
rewrite <- heq at hda
Original exact command ledger · 36 lines
- 0001
intro d - 0002
intro b - 0003
intro c - 0004
intro k - 0005
intro a - 0006
intro hprefix - 0007
intro ha - 0008
intro hda - 0009
intro i - 0010
intro z - 0011
intro hi - 0012
intro hz - 0013
have hcases : i=k \/ (exists jt_gap_allcases. jt_gap_allcases+S (i)=(k)) - 0014
specialize finite_lt_succ_eq_or_lt (k) - 0015
specialize finite_lt_succ_eq_or_lt (i) - 0016
apply finite_lt_succ_eq_or_lt - 0017
exact hi - 0018
cases hcases - 0019
have heq : z=a - 0020
specialize beta_at_unique (b) - 0021
specialize beta_at_unique (c) - 0022
specialize beta_at_unique (k) - 0023
specialize beta_at_unique (z) - 0024
specialize beta_at_unique (a) - 0025
apply beta_at_unique - 0026
rewrite hcases_left at hz - 0027
rewrite hcases_left at hz - 0028
exact hz - 0029
exact ha - 0030
rewrite <- heq at hda - 0031
exact hda - 0032
specialize hprefix (i) - 0033
specialize hprefix (z) - 0034
apply hprefix - 0035
exact hcases_right - 0036
exact hz