Exact expanded first-order arithmetic statement
forall d b c k. (forall jt_index_alldecyes jt_value_alldecyes. (exists jt_gap_alldecyesindex. jt_gap_alldecyesindex+S (jt_index_alldecyes)=(k)) -> (((exists fs_h_jt_alldecyesat. fs_h_jt_alldecyesat + S (jt_value_alldecyes) = S ((S (jt_index_alldecyes)) * c)) /\ exists fs_q_jt_alldecyesat. b = fs_q_jt_alldecyesat * S ((S (jt_index_alldecyes)) * c) + (jt_value_alldecyes))) -> (exists jt_factor_alldecyesdivides. (jt_value_alldecyes)=(d)*jt_factor_alldecyesdivides)) \/ ~(forall jt_index_alldecno jt_value_alldecno. (exists jt_gap_alldecnoindex. jt_gap_alldecnoindex+S (jt_index_alldecno)=(k)) -> (((exists fs_h_jt_alldecnoat. fs_h_jt_alldecnoat + S (jt_value_alldecno) = S ((S (jt_index_alldecno)) * c)) /\ exists fs_q_jt_alldecnoat. b = fs_q_jt_alldecnoat * S ((S (jt_index_alldecno)) * c) + (jt_value_alldecno))) -> (exists jt_factor_alldecnodivides. (jt_value_alldecno)=(d)*jt_factor_alldecnodivides))Constructive proof overview
Generated structural guide
Finite induction decides common divisibility from genuine beta entries; no bounded-code oracle.
The unchanged tactic script uses 6 declared prerequisites and contains 55 exact native proof lines.
Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
JT0010 jordan_tuple_all_divisible_empty beta_at_exists Alpha theorem; checked-use authorized multiple_decidable Alpha theorem; checked-use authorized JT0011 jordan_tuple_all_divisible_extend le_refl Alpha theorem; checked-use authorized le_succ 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.
Named ingredients (2)
01Fix variables and assumptionsL1–3
02Induction on kL4–4
Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.
- L4
induction k
03Separate the logical casesL5–5
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L5
left
04Use earlier factsL6–9
05Establish haL10–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
06Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases ha
07Establish hdL16–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply multiple decidable.
08Separate the logical casesL20–22
09Use earlier factsL23–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
specialize jordan_tuple_all_divisible_extend (d) - L24
specialize jordan_tuple_all_divisible_extend (b) - L25
specialize jordan_tuple_all_divisible_extend (c) - L26
specialize jordan_tuple_all_divisible_extend (k) - L27
specialize jordan_tuple_all_divisible_extend (x) - L28
apply jordan_tuple_all_divisible_extend - L29
exact IH_left - L30
exact ha_witness - L31
exact hd_left
10Separate the logical casesL32–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
right
11Fix variables and assumptionsL33–33
Work with arbitrary variables or the premises of the current implication.
- L33
intro h
12Use earlier factsL34–40
13Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
right
14Fix variables and assumptionsL42–42
Work with arbitrary variables or the premises of the current implication.
- L42
intro h
15Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
apply IH_right
16Fix variables and assumptionsL44–47
Original exact command ledger · 55 lines
- 0001
intro d - 0002
intro b - 0003
intro c - 0004
induction k - 0005
left - 0006
specialize jordan_tuple_all_divisible_empty (d) - 0007
specialize jordan_tuple_all_divisible_empty (b) - 0008
specialize jordan_tuple_all_divisible_empty (c) - 0009
apply jordan_tuple_all_divisible_empty - 0010
have ha : exists a. ((exists fs_h_jt_alllast. fs_h_jt_alllast + S (a) = S ((S (k)) * c)) /\ exists fs_q_jt_alllast. b = fs_q_jt_alllast * S ((S (k)) * c) + (a)) - 0011
specialize beta_at_exists (b) - 0012
specialize beta_at_exists (c) - 0013
specialize beta_at_exists (k) - 0014
apply beta_at_exists - 0015
cases ha - 0016
have hd : (exists jt_factor_allyes. (x)=(d)*jt_factor_allyes) \/ ~(exists jt_factor_allno. (x)=(d)*jt_factor_allno) - 0017
specialize multiple_decidable (d) - 0018
specialize multiple_decidable (x) - 0019
apply multiple_decidable - 0020
cases IH - 0021
cases hd - 0022
left - 0023
specialize jordan_tuple_all_divisible_extend (d) - 0024
specialize jordan_tuple_all_divisible_extend (b) - 0025
specialize jordan_tuple_all_divisible_extend (c) - 0026
specialize jordan_tuple_all_divisible_extend (k) - 0027
specialize jordan_tuple_all_divisible_extend (x) - 0028
apply jordan_tuple_all_divisible_extend - 0029
exact IH_left - 0030
exact ha_witness - 0031
exact hd_left - 0032
right - 0033
intro h - 0034
apply hd_right - 0035
specialize h (k) - 0036
specialize h (x) - 0037
apply h - 0038
specialize le_refl (S k) - 0039
apply le_refl - 0040
exact ha_witness - 0041
right - 0042
intro h - 0043
apply IH_right - 0044
intro i - 0045
intro a - 0046
intro hi - 0047
intro hat - 0048
specialize h (i) - 0049
specialize h (a) - 0050
apply h - 0051
specialize le_succ (S i) - 0052
specialize le_succ (k) - 0053
apply le_succ - 0054
exact hi - 0055
exact hat