Exact expanded first-order arithmetic statement
forall n b c k d. ((exists jt_factor_leaftestyesmodulus. (n)=(d)*jt_factor_leaftestyesmodulus) -> (forall jt_index_leaftestyescoordinates jt_value_leaftestyescoordinates. (exists jt_gap_leaftestyescoordinatesindex. jt_gap_leaftestyescoordinatesindex+S (jt_index_leaftestyescoordinates)=(k)) -> (((exists fs_h_jt_leaftestyescoordinatesat. fs_h_jt_leaftestyescoordinatesat + S (jt_value_leaftestyescoordinates) = S ((S (jt_index_leaftestyescoordinates)) * c)) /\ exists fs_q_jt_leaftestyescoordinatesat. b = fs_q_jt_leaftestyescoordinatesat * S ((S (jt_index_leaftestyescoordinates)) * c) + (jt_value_leaftestyescoordinates))) -> (exists jt_factor_leaftestyescoordinatesdivides. (jt_value_leaftestyescoordinates)=(d)*jt_factor_leaftestyescoordinatesdivides)) -> (d)=1) \/ ~((exists jt_factor_leaftestnomodulus. (n)=(d)*jt_factor_leaftestnomodulus) -> (forall jt_index_leaftestnocoordinates jt_value_leaftestnocoordinates. (exists jt_gap_leaftestnocoordinatesindex. jt_gap_leaftestnocoordinatesindex+S (jt_index_leaftestnocoordinates)=(k)) -> (((exists fs_h_jt_leaftestnocoordinatesat. fs_h_jt_leaftestnocoordinatesat + S (jt_value_leaftestnocoordinates) = S ((S (jt_index_leaftestnocoordinates)) * c)) /\ exists fs_q_jt_leaftestnocoordinatesat. b = fs_q_jt_leaftestnocoordinatesat * S ((S (jt_index_leaftestnocoordinates)) * c) + (jt_value_leaftestnocoordinates))) -> (exists jt_factor_leaftestnocoordinatesdivides. (jt_value_leaftestnocoordinates)=(d)*jt_factor_leaftestnocoordinatesdivides)) -> (d)=1)Constructive proof overview
Generated structural guide
Decide each actual common-divisor-one implication constructively.
The unchanged tactic script uses 3 declared prerequisites and contains 44 exact native proof lines.
Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
eq_decidable Alpha theorem; checked-use authorized multiple_decidable Alpha theorem; checked-use authorized JT0012 jordan_tuple_all_divisible_decidableDirect 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 (1)
01Fix variables and assumptionsL1–5
02Establish heqL6–9
03Separate the logical casesL10–11
04Fix variables and assumptionsL12–13
05Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
exact heq_left
06Establish hdL15–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply multiple decidable.
07Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
cases hd
08Establish hallL20–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple all divisible decidable.
- L20
have hall : JordanTupleAllDivisible(d,b,c,k) ∨ ¬JordanTupleAllDivisible(d,b,c,k)Definitions: JordanTupleAllDivisible - L21
specialize jordan_tuple_all_divisible_decidable (d) - L22
specialize jordan_tuple_all_divisible_decidable (b) - L23
specialize jordan_tuple_all_divisible_decidable (c) - L24
specialize jordan_tuple_all_divisible_decidable (k) - L25
apply jordan_tuple_all_divisible_decidable
09Separate the logical casesL26–27
10Fix variables and assumptionsL28–28
Work with arbitrary variables or the premises of the current implication.
- L28
intro h
11Use earlier factsL29–32
12Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
left
13Fix variables and assumptionsL34–35
14Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
exfalso
15Use earlier factsL37–38
16Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
left
17Fix variables and assumptionsL40–41
18Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
exfalso
Original exact command ledger · 44 lines
- 0001
intro n - 0002
intro b - 0003
intro c - 0004
intro k - 0005
intro d - 0006
have heq : d=1 \/ ~(d=1) - 0007
specialize eq_decidable (d) - 0008
specialize eq_decidable (1) - 0009
apply eq_decidable - 0010
cases heq - 0011
left - 0012
intro hd - 0013
intro hall - 0014
exact heq_left - 0015
have hd : (exists jt_factor_leafyes. (n)=(d)*jt_factor_leafyes) \/ ~(exists jt_factor_leafno. (n)=(d)*jt_factor_leafno) - 0016
specialize multiple_decidable (d) - 0017
specialize multiple_decidable (n) - 0018
apply multiple_decidable - 0019
cases hd - 0020
have hall : (forall jt_index_leafallyes jt_value_leafallyes. (exists jt_gap_leafallyesindex. jt_gap_leafallyesindex+S (jt_index_leafallyes)=(k)) -> (((exists fs_h_jt_leafallyesat. fs_h_jt_leafallyesat + S (jt_value_leafallyes) = S ((S (jt_index_leafallyes)) * c)) /\ exists fs_q_jt_leafallyesat. b = fs_q_jt_leafallyesat * S ((S (jt_index_leafallyes)) * c) + (jt_value_leafallyes))) -> (exists jt_factor_leafallyesdivides. (jt_value_leafallyes)=(d)*jt_factor_leafallyesdivides)) \/ ~(forall jt_index_leafallno jt_value_leafallno. (exists jt_gap_leafallnoindex. jt_gap_leafallnoindex+S (jt_index_leafallno)=(k)) -> (((exists fs_h_jt_leafallnoat. fs_h_jt_leafallnoat + S (jt_value_leafallno) = S ((S (jt_index_leafallno)) * c)) /\ exists fs_q_jt_leafallnoat. b = fs_q_jt_leafallnoat * S ((S (jt_index_leafallno)) * c) + (jt_value_leafallno))) -> (exists jt_factor_leafallnodivides. (jt_value_leafallno)=(d)*jt_factor_leafallnodivides)) - 0021
specialize jordan_tuple_all_divisible_decidable (d) - 0022
specialize jordan_tuple_all_divisible_decidable (b) - 0023
specialize jordan_tuple_all_divisible_decidable (c) - 0024
specialize jordan_tuple_all_divisible_decidable (k) - 0025
apply jordan_tuple_all_divisible_decidable - 0026
cases hall - 0027
right - 0028
intro h - 0029
apply heq_right - 0030
apply h - 0031
exact hd_left - 0032
exact hall_left - 0033
left - 0034
intro hdiv - 0035
intro hcoords - 0036
exfalso - 0037
apply hall_right - 0038
exact hcoords - 0039
left - 0040
intro hdiv - 0041
intro hcoords - 0042
exfalso - 0043
apply hd_right - 0044
exact hdiv