CF0002

continued_fraction_empty_trace

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

The zero-divisor Euclidean base case has exactly the empty quotient list and no transitions.

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.

Exact expanded first-order arithmetic statement

forall a z c. (((exists ff_h_cf_initial_exists_state. ff_h_cf_initial_exists_state + S (((a) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((a) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * c)) /\ exists ff_q_cf_initial_exists_state. z = ff_q_cf_initial_exists_state * S ((S (0)) * c) + (((a) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((a) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))))) -> (exists cf_gcd_empty. ((((exists ff_h_cf_empty_initial_state. ff_h_cf_empty_initial_state + S (((cf_gcd_empty) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_empty) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * c)) /\ exists ff_q_cf_empty_initial_state. z = ff_q_cf_empty_initial_state * S ((S (0)) * c) + (((cf_gcd_empty) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_empty) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))))) /\ ((((exists ff_h_cf_empty_terminal_state. ff_h_cf_empty_terminal_state + S (((a) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((a) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * c)) /\ exists ff_q_cf_empty_terminal_state. z = ff_q_cf_empty_terminal_state * S ((S (0)) * c) + (((a) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((a) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))))) /\ forall cf_index_empty. (exists ff_lt_cf_empty_index. ff_lt_cf_empty_index + S cf_index_empty = 0) -> exists cf_old_a_empty cf_old_b_empty cf_tail_empty cf_new_a_empty cf_new_b_empty cf_head_empty cf_quotient_empty. ((((exists ff_h_cf_empty_previous_state. ff_h_cf_empty_previous_state + S (((cf_old_a_empty) + (((cf_old_b_empty) + (cf_tail_empty)) * S ((cf_old_b_empty) + (cf_tail_empty)) + ((cf_tail_empty) + (cf_tail_empty)))) * S ((cf_old_a_empty) + (((cf_old_b_empty) + (cf_tail_empty)) * S ((cf_old_b_empty) + (cf_tail_empty)) + ((cf_tail_empty) + (cf_tail_empty)))) + ((((cf_old_b_empty) + (cf_tail_empty)) * S ((cf_old_b_empty) + (cf_tail_empty)) + ((cf_tail_empty) + (cf_tail_empty))) + (((cf_old_b_empty) + (cf_tail_empty)) * S ((cf_old_b_empty) + (cf_tail_empty)) + ((cf_tail_empty) + (cf_tail_empty))))) = S ((S (cf_index_empty)) * c)) /\ exists ff_q_cf_empty_previous_state. z = ff_q_cf_empty_previous_state * S ((S (cf_index_empty)) * c) + (((cf_old_a_empty) + (((cf_old_b_empty) + (cf_tail_empty)) * S ((cf_old_b_empty) + (cf_tail_empty)) + ((cf_tail_empty) + (cf_tail_empty)))) * S ((cf_old_a_empty) + (((cf_old_b_empty) + (cf_tail_empty)) * S ((cf_old_b_empty) + (cf_tail_empty)) + ((cf_tail_empty) + (cf_tail_empty)))) + ((((cf_old_b_empty) + (cf_tail_empty)) * S ((cf_old_b_empty) + (cf_tail_empty)) + ((cf_tail_empty) + (cf_tail_empty))) + (((cf_old_b_empty) + (cf_tail_empty)) * S ((cf_old_b_empty) + (cf_tail_empty)) + ((cf_tail_empty) + (cf_tail_empty))))))) /\ ((((exists ff_h_cf_empty_following_state. ff_h_cf_empty_following_state + S (((cf_new_a_empty) + (((cf_new_b_empty) + (cf_head_empty)) * S ((cf_new_b_empty) + (cf_head_empty)) + ((cf_head_empty) + (cf_head_empty)))) * S ((cf_new_a_empty) + (((cf_new_b_empty) + (cf_head_empty)) * S ((cf_new_b_empty) + (cf_head_empty)) + ((cf_head_empty) + (cf_head_empty)))) + ((((cf_new_b_empty) + (cf_head_empty)) * S ((cf_new_b_empty) + (cf_head_empty)) + ((cf_head_empty) + (cf_head_empty))) + (((cf_new_b_empty) + (cf_head_empty)) * S ((cf_new_b_empty) + (cf_head_empty)) + ((cf_head_empty) + (cf_head_empty))))) = S ((S (S cf_index_empty)) * c)) /\ exists ff_q_cf_empty_following_state. z = ff_q_cf_empty_following_state * S ((S (S cf_index_empty)) * c) + (((cf_new_a_empty) + (((cf_new_b_empty) + (cf_head_empty)) * S ((cf_new_b_empty) + (cf_head_empty)) + ((cf_head_empty) + (cf_head_empty)))) * S ((cf_new_a_empty) + (((cf_new_b_empty) + (cf_head_empty)) * S ((cf_new_b_empty) + (cf_head_empty)) + ((cf_head_empty) + (cf_head_empty)))) + ((((cf_new_b_empty) + (cf_head_empty)) * S ((cf_new_b_empty) + (cf_head_empty)) + ((cf_head_empty) + (cf_head_empty))) + (((cf_new_b_empty) + (cf_head_empty)) * S ((cf_new_b_empty) + (cf_head_empty)) + ((cf_head_empty) + (cf_head_empty))))))) /\ (cf_new_b_empty = cf_old_a_empty /\ (cf_new_a_empty = cf_new_b_empty * cf_quotient_empty + cf_old_b_empty /\ ((exists ff_lt_cf_empty_remainder. ff_lt_cf_empty_remainder + S cf_old_b_empty = cf_new_b_empty) /\ (cf_head_empty = S ((cf_quotient_empty + cf_tail_empty) * S (cf_quotient_empty + cf_tail_empty) + (cf_tail_empty + cf_tail_empty)))))))))))

Constructive proof overview

Generated structural guide

The zero-divisor Euclidean base case has exactly the empty quotient list and no transitions.

The unchanged tactic script uses 0 declared prerequisites and contains 16 exact native proof lines.

Alpha v34 checked-use · first admitted v20 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

none

Direct 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

16 script commands · 10 reading checkpoints · 0 local claims

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–4

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro a
  2. L2
    intro z
  3. L3
    intro c
  4. L4
    intro hinitial
02Construct an explicit witnessL5–5

Supply the displayed value, then prove that it has the required property.

  1. L5
    exists a
03Separate the logical casesL6–6

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L6
    split
04Use earlier factsL7–7

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L7
    exact hinitial
05Separate the logical casesL8–8

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L8
    split
06Use earlier factsL9–9

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L9
    exact hinitial
07Fix variables and assumptionsL10–11

Work with arbitrary variables or the premises of the current implication.

  1. L10
    intro i
  2. L11
    intro hi
08Separate the logical casesL12–13

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L12
    exfalso
  2. L13
    cases hi
09Calculate and transport equalitiesL14–14

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L14
    rewrite PA4 at hi_witness
10Use earlier factsL15–16

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L15
    apply PA1
  2. L16
    exact hi_witness

Library-wide reading audit

Original exact command ledger · 16 lines
  1. 0001intro a
  2. 0002intro z
  3. 0003intro c
  4. 0004intro hinitial
  5. 0005exists a
  6. 0006split
  7. 0007exact hinitial
  8. 0008split
  9. 0009exact hinitial
  10. 0010intro i
  11. 0011intro hi
  12. 0012exfalso
  13. 0013cases hi
  14. 0014rewrite PA4 at hi_witness
  15. 0015apply PA1
  16. 0016exact hi_witness