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 t h e k u U v V q s H E. (exists cfc_tail_extend_old. ((exists cfc_state_extend_oldinitial. ((exists cfc_left_extend_oldinitialcode cfc_right_extend_oldinitialcode cfc_matrix_extend_oldinitialcode. ((cfc_left_extend_oldinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_extend_oldinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_extend_oldinitialcode = ((cfc_left_extend_oldinitialcode) + (cfc_right_extend_oldinitialcode)) * S ((cfc_left_extend_oldinitialcode) + (cfc_right_extend_oldinitialcode)) + ((cfc_right_extend_oldinitialcode) + (cfc_right_extend_oldinitialcode))) /\ ((cfc_state_extend_oldinitial) = ((cfc_tail_extend_old) + (cfc_matrix_extend_oldinitialcode)) * S ((cfc_tail_extend_old) + (cfc_matrix_extend_oldinitialcode)) + ((cfc_matrix_extend_oldinitialcode) + (cfc_matrix_extend_oldinitialcode))))))) /\ (((exists ff_h_extend_oldinitialentry. ff_h_extend_oldinitialentry + S (cfc_state_extend_oldinitial) = S ((S (0)) * e)) /\ exists ff_q_extend_oldinitialentry. h = ff_q_extend_oldinitialentry * S ((S (0)) * e) + (cfc_state_extend_oldinitial))))) /\ ((exists cfc_state_extend_oldterminal. ((exists cfc_left_extend_oldterminalcode cfc_right_extend_oldterminalcode cfc_matrix_extend_oldterminalcode. ((cfc_left_extend_oldterminalcode = ((u) + (U)) * S ((u) + (U)) + ((U) + (U))) /\ ((cfc_right_extend_oldterminalcode = ((v) + (V)) * S ((v) + (V)) + ((V) + (V))) /\ ((cfc_matrix_extend_oldterminalcode = ((cfc_left_extend_oldterminalcode) + (cfc_right_extend_oldterminalcode)) * S ((cfc_left_extend_oldterminalcode) + (cfc_right_extend_oldterminalcode)) + ((cfc_right_extend_oldterminalcode) + (cfc_right_extend_oldterminalcode))) /\ ((cfc_state_extend_oldterminal) = ((t) + (cfc_matrix_extend_oldterminalcode)) * S ((t) + (cfc_matrix_extend_oldterminalcode)) + ((cfc_matrix_extend_oldterminalcode) + (cfc_matrix_extend_oldterminalcode))))))) /\ (((exists ff_h_extend_oldterminalentry. ff_h_extend_oldterminalentry + S (cfc_state_extend_oldterminal) = S ((S (k)) * e)) /\ exists ff_q_extend_oldterminalentry. h = ff_q_extend_oldterminalentry * S ((S (k)) * e) + (cfc_state_extend_oldterminal))))) /\ (forall cfc_index_extend_old. (exists cfba_gap_extend_oldbound. cfba_gap_extend_oldbound + S (cfc_index_extend_old) = (k)) -> exists cfc_old_extend_old cfc_a_extend_old cfc_b_extend_old cfc_c_extend_old cfc_d_extend_old cfc_new_extend_old cfc_quotient_extend_old. ((exists cfc_state_extend_oldprevious. ((exists cfc_left_extend_oldpreviouscode cfc_right_extend_oldpreviouscode cfc_matrix_extend_oldpreviouscode. ((cfc_left_extend_oldpreviouscode = ((cfc_a_extend_old) + (cfc_b_extend_old)) * S ((cfc_a_extend_old) + (cfc_b_extend_old)) + ((cfc_b_extend_old) + (cfc_b_extend_old))) /\ ((cfc_right_extend_oldpreviouscode = ((cfc_c_extend_old) + (cfc_d_extend_old)) * S ((cfc_c_extend_old) + (cfc_d_extend_old)) + ((cfc_d_extend_old) + (cfc_d_extend_old))) /\ ((cfc_matrix_extend_oldpreviouscode = ((cfc_left_extend_oldpreviouscode) + (cfc_right_extend_oldpreviouscode)) * S ((cfc_left_extend_oldpreviouscode) + (cfc_right_extend_oldpreviouscode)) + ((cfc_right_extend_oldpreviouscode) + (cfc_right_extend_oldpreviouscode))) /\ ((cfc_state_extend_oldprevious) = ((cfc_old_extend_old) + (cfc_matrix_extend_oldpreviouscode)) * S ((cfc_old_extend_old) + (cfc_matrix_extend_oldpreviouscode)) + ((cfc_matrix_extend_oldpreviouscode) + (cfc_matrix_extend_oldpreviouscode))))))) /\ (((exists ff_h_extend_oldpreviousentry. ff_h_extend_oldpreviousentry + S (cfc_state_extend_oldprevious) = S ((S (cfc_index_extend_old)) * e)) /\ exists ff_q_extend_oldpreviousentry. h = ff_q_extend_oldpreviousentry * S ((S (cfc_index_extend_old)) * e) + (cfc_state_extend_oldprevious))))) /\ ((exists cfc_state_extend_oldfollowing. ((exists cfc_left_extend_oldfollowingcode cfc_right_extend_oldfollowingcode cfc_matrix_extend_oldfollowingcode. ((cfc_left_extend_oldfollowingcode = (((cfc_quotient_extend_old * cfc_a_extend_old + cfc_c_extend_old)) + ((cfc_quotient_extend_old * cfc_b_extend_old + cfc_d_extend_old))) * S (((cfc_quotient_extend_old * cfc_a_extend_old + cfc_c_extend_old)) + ((cfc_quotient_extend_old * cfc_b_extend_old + cfc_d_extend_old))) + (((cfc_quotient_extend_old * cfc_b_extend_old + cfc_d_extend_old)) + ((cfc_quotient_extend_old * cfc_b_extend_old + cfc_d_extend_old)))) /\ ((cfc_right_extend_oldfollowingcode = ((cfc_a_extend_old) + (cfc_b_extend_old)) * S ((cfc_a_extend_old) + (cfc_b_extend_old)) + ((cfc_b_extend_old) + (cfc_b_extend_old))) /\ ((cfc_matrix_extend_oldfollowingcode = ((cfc_left_extend_oldfollowingcode) + (cfc_right_extend_oldfollowingcode)) * S ((cfc_left_extend_oldfollowingcode) + (cfc_right_extend_oldfollowingcode)) + ((cfc_right_extend_oldfollowingcode) + (cfc_right_extend_oldfollowingcode))) /\ ((cfc_state_extend_oldfollowing) = ((cfc_new_extend_old) + (cfc_matrix_extend_oldfollowingcode)) * S ((cfc_new_extend_old) + (cfc_matrix_extend_oldfollowingcode)) + ((cfc_matrix_extend_oldfollowingcode) + (cfc_matrix_extend_oldfollowingcode))))))) /\ (((exists ff_h_extend_oldfollowingentry. ff_h_extend_oldfollowingentry + S (cfc_state_extend_oldfollowing) = S ((S (S cfc_index_extend_old)) * e)) /\ exists ff_q_extend_oldfollowingentry. h = ff_q_extend_oldfollowingentry * S ((S (S cfc_index_extend_old)) * e) + (cfc_state_extend_oldfollowing))))) /\ (cfc_new_extend_old = S ((cfc_quotient_extend_old + cfc_old_extend_old) * S (cfc_quotient_extend_old + cfc_old_extend_old) + (cfc_old_extend_old + cfc_old_extend_old))))))))) -> (s = S ((q + t) * S (q + t) + (t + t))) -> (exists cfc_state_extend_new_state. ((exists cfc_left_extend_new_statecode cfc_right_extend_new_statecode cfc_matrix_extend_new_statecode. ((cfc_left_extend_new_statecode = (((q * u + v)) + ((q * U + V))) * S (((q * u + v)) + ((q * U + V))) + (((q * U + V)) + ((q * U + V)))) /\ ((cfc_right_extend_new_statecode = ((u) + (U)) * S ((u) + (U)) + ((U) + (U))) /\ ((cfc_matrix_extend_new_statecode = ((cfc_left_extend_new_statecode) + (cfc_right_extend_new_statecode)) * S ((cfc_left_extend_new_statecode) + (cfc_right_extend_new_statecode)) + ((cfc_right_extend_new_statecode) + (cfc_right_extend_new_statecode))) /\ ((cfc_state_extend_new_state) = ((s) + (cfc_matrix_extend_new_statecode)) * S ((s) + (cfc_matrix_extend_new_statecode)) + ((cfc_matrix_extend_new_statecode) + (cfc_matrix_extend_new_statecode))))))) /\ (((exists ff_h_extend_new_stateentry. ff_h_extend_new_stateentry + S (cfc_state_extend_new_state) = S ((S (S k)) * E)) /\ exists ff_q_extend_new_stateentry. H = ff_q_extend_new_stateentry * S ((S (S k)) * E) + (cfc_state_extend_new_state))))) -> (forall cfc_index_extend_preserves cfc_value_extend_preserves. (exists cfba_gap_extend_preservesbound. cfba_gap_extend_preservesbound + S (cfc_index_extend_preserves) = (S k)) -> (((exists ff_h_extend_preservessource. ff_h_extend_preservessource + S (cfc_value_extend_preserves) = S ((S (cfc_index_extend_preserves)) * e)) /\ exists ff_q_extend_preservessource. h = ff_q_extend_preservessource * S ((S (cfc_index_extend_preserves)) * e) + (cfc_value_extend_preserves))) -> (((exists ff_h_extend_preservestarget. ff_h_extend_preservestarget + S (cfc_value_extend_preserves) = S ((S (cfc_index_extend_preserves)) * E)) /\ exists ff_q_extend_preservestarget. H = ff_q_extend_preservestarget * S ((S (cfc_index_extend_preserves)) * E) + (cfc_value_extend_preserves)))) -> (exists cfc_tail_extend_result. ((exists cfc_state_extend_resultinitial. ((exists cfc_left_extend_resultinitialcode cfc_right_extend_resultinitialcode cfc_matrix_extend_resultinitialcode. ((cfc_left_extend_resultinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_extend_resultinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_extend_resultinitialcode = ((cfc_left_extend_resultinitialcode) + (cfc_right_extend_resultinitialcode)) * S ((cfc_left_extend_resultinitialcode) + (cfc_right_extend_resultinitialcode)) + ((cfc_right_extend_resultinitialcode) + (cfc_right_extend_resultinitialcode))) /\ ((cfc_state_extend_resultinitial) = ((cfc_tail_extend_result) + (cfc_matrix_extend_resultinitialcode)) * S ((cfc_tail_extend_result) + (cfc_matrix_extend_resultinitialcode)) + ((cfc_matrix_extend_resultinitialcode) + (cfc_matrix_extend_resultinitialcode))))))) /\ (((exists ff_h_extend_resultinitialentry. ff_h_extend_resultinitialentry + S (cfc_state_extend_resultinitial) = S ((S (0)) * E)) /\ exists ff_q_extend_resultinitialentry. H = ff_q_extend_resultinitialentry * S ((S (0)) * E) + (cfc_state_extend_resultinitial))))) /\ ((exists cfc_state_extend_resultterminal. ((exists cfc_left_extend_resultterminalcode cfc_right_extend_resultterminalcode cfc_matrix_extend_resultterminalcode. ((cfc_left_extend_resultterminalcode = (((q * u + v)) + ((q * U + V))) * S (((q * u + v)) + ((q * U + V))) + (((q * U + V)) + ((q * U + V)))) /\ ((cfc_right_extend_resultterminalcode = ((u) + (U)) * S ((u) + (U)) + ((U) + (U))) /\ ((cfc_matrix_extend_resultterminalcode = ((cfc_left_extend_resultterminalcode) + (cfc_right_extend_resultterminalcode)) * S ((cfc_left_extend_resultterminalcode) + (cfc_right_extend_resultterminalcode)) + ((cfc_right_extend_resultterminalcode) + (cfc_right_extend_resultterminalcode))) /\ ((cfc_state_extend_resultterminal) = ((s) + (cfc_matrix_extend_resultterminalcode)) * S ((s) + (cfc_matrix_extend_resultterminalcode)) + ((cfc_matrix_extend_resultterminalcode) + (cfc_matrix_extend_resultterminalcode))))))) /\ (((exists ff_h_extend_resultterminalentry. ff_h_extend_resultterminalentry + S (cfc_state_extend_resultterminal) = S ((S (S k)) * E)) /\ exists ff_q_extend_resultterminalentry. H = ff_q_extend_resultterminalentry * S ((S (S k)) * E) + (cfc_state_extend_resultterminal))))) /\ (forall cfc_index_extend_result. (exists cfba_gap_extend_resultbound. cfba_gap_extend_resultbound + S (cfc_index_extend_result) = (S k)) -> exists cfc_old_extend_result cfc_a_extend_result cfc_b_extend_result cfc_c_extend_result cfc_d_extend_result cfc_new_extend_result cfc_quotient_extend_result. ((exists cfc_state_extend_resultprevious. ((exists cfc_left_extend_resultpreviouscode cfc_right_extend_resultpreviouscode cfc_matrix_extend_resultpreviouscode. ((cfc_left_extend_resultpreviouscode = ((cfc_a_extend_result) + (cfc_b_extend_result)) * S ((cfc_a_extend_result) + (cfc_b_extend_result)) + ((cfc_b_extend_result) + (cfc_b_extend_result))) /\ ((cfc_right_extend_resultpreviouscode = ((cfc_c_extend_result) + (cfc_d_extend_result)) * S ((cfc_c_extend_result) + (cfc_d_extend_result)) + ((cfc_d_extend_result) + (cfc_d_extend_result))) /\ ((cfc_matrix_extend_resultpreviouscode = ((cfc_left_extend_resultpreviouscode) + (cfc_right_extend_resultpreviouscode)) * S ((cfc_left_extend_resultpreviouscode) + (cfc_right_extend_resultpreviouscode)) + ((cfc_right_extend_resultpreviouscode) + (cfc_right_extend_resultpreviouscode))) /\ ((cfc_state_extend_resultprevious) = ((cfc_old_extend_result) + (cfc_matrix_extend_resultpreviouscode)) * S ((cfc_old_extend_result) + (cfc_matrix_extend_resultpreviouscode)) + ((cfc_matrix_extend_resultpreviouscode) + (cfc_matrix_extend_resultpreviouscode))))))) /\ (((exists ff_h_extend_resultpreviousentry. ff_h_extend_resultpreviousentry + S (cfc_state_extend_resultprevious) = S ((S (cfc_index_extend_result)) * E)) /\ exists ff_q_extend_resultpreviousentry. H = ff_q_extend_resultpreviousentry * S ((S (cfc_index_extend_result)) * E) + (cfc_state_extend_resultprevious))))) /\ ((exists cfc_state_extend_resultfollowing. ((exists cfc_left_extend_resultfollowingcode cfc_right_extend_resultfollowingcode cfc_matrix_extend_resultfollowingcode. ((cfc_left_extend_resultfollowingcode = (((cfc_quotient_extend_result * cfc_a_extend_result + cfc_c_extend_result)) + ((cfc_quotient_extend_result * cfc_b_extend_result + cfc_d_extend_result))) * S (((cfc_quotient_extend_result * cfc_a_extend_result + cfc_c_extend_result)) + ((cfc_quotient_extend_result * cfc_b_extend_result + cfc_d_extend_result))) + (((cfc_quotient_extend_result * cfc_b_extend_result + cfc_d_extend_result)) + ((cfc_quotient_extend_result * cfc_b_extend_result + cfc_d_extend_result)))) /\ ((cfc_right_extend_resultfollowingcode = ((cfc_a_extend_result) + (cfc_b_extend_result)) * S ((cfc_a_extend_result) + (cfc_b_extend_result)) + ((cfc_b_extend_result) + (cfc_b_extend_result))) /\ ((cfc_matrix_extend_resultfollowingcode = ((cfc_left_extend_resultfollowingcode) + (cfc_right_extend_resultfollowingcode)) * S ((cfc_left_extend_resultfollowingcode) + (cfc_right_extend_resultfollowingcode)) + ((cfc_right_extend_resultfollowingcode) + (cfc_right_extend_resultfollowingcode))) /\ ((cfc_state_extend_resultfollowing) = ((cfc_new_extend_result) + (cfc_matrix_extend_resultfollowingcode)) * S ((cfc_new_extend_result) + (cfc_matrix_extend_resultfollowingcode)) + ((cfc_matrix_extend_resultfollowingcode) + (cfc_matrix_extend_resultfollowingcode))))))) /\ (((exists ff_h_extend_resultfollowingentry. ff_h_extend_resultfollowingentry + S (cfc_state_extend_resultfollowing) = S ((S (S cfc_index_extend_result)) * E)) /\ exists ff_q_extend_resultfollowingentry. H = ff_q_extend_resultfollowingentry * S ((S (S cfc_index_extend_result)) * E) + (cfc_state_extend_resultfollowing))))) /\ (cfc_new_extend_result = S ((cfc_quotient_extend_result + cfc_old_extend_result) * S (cfc_quotient_extend_result + cfc_old_extend_result) + (cfc_old_extend_result + cfc_old_extend_result)))))))))Constructive proof overview
Generated structural guide
Appending the actual first-quotient matrix step preserves every earlier computed state and every transition under a genuine beta-prefix recoding.
The unchanged tactic script uses 5 declared prerequisites and contains 139 exact native proof lines.
Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
BA0038 cf_convergent_matrix_state_prefix_transport le_of_succ_le_succ Stable theorem; checked-use authorized le_eq_or_lt Stable theorem; checked-use authorized zero_add Stable theorem; checked-use authorized succ_le_succ Stable 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 (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–16
03Separate the logical casesL17–19
04Construct an explicit witnessL20–20
Supply the displayed value, then prove that it has the required property.
- L20
exists x
05Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
split
06Use earlier factsL22–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
specialize cf_convergent_matrix_state_prefix_transport (h) - L23
specialize cf_convergent_matrix_state_prefix_transport (e) - L24
specialize cf_convergent_matrix_state_prefix_transport (H) - L25
specialize cf_convergent_matrix_state_prefix_transport (E) - L26
specialize cf_convergent_matrix_state_prefix_transport (S k) - L27
specialize cf_convergent_matrix_state_prefix_transport (0) - L28
specialize cf_convergent_matrix_state_prefix_transport (x) - L29
specialize cf_convergent_matrix_state_prefix_transport (1) - L30
specialize cf_convergent_matrix_state_prefix_transport (0) - L31
specialize cf_convergent_matrix_state_prefix_transport (0)
07Use earlier factsL32–34
08Construct an explicit witnessL35–35
Supply the displayed value, then prove that it has the required property.
- L35
exists k
09Calculate and transport equalitiesL36–36
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L36
simp
10Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
exact ht_witness_left
11Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
split
12Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact hnew
13Fix variables and assumptionsL40–41
14Establish hjkL42–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le of succ le succ.
15Establish heqL47–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.
16Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
cases heq
17Calculate and transport equalitiesL53–56
18Construct an explicit witnessL57–63
19Separate the logical casesL64–64
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L64
split
20Use earlier factsL65–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
specialize cf_convergent_matrix_state_prefix_transport (h) - L66
specialize cf_convergent_matrix_state_prefix_transport (e) - L67
specialize cf_convergent_matrix_state_prefix_transport (H) - L68
specialize cf_convergent_matrix_state_prefix_transport (E) - L69
specialize cf_convergent_matrix_state_prefix_transport (S k) - L70
specialize cf_convergent_matrix_state_prefix_transport (k) - L71
specialize cf_convergent_matrix_state_prefix_transport (t) - L72
specialize cf_convergent_matrix_state_prefix_transport (u) - L73
specialize cf_convergent_matrix_state_prefix_transport (U) - L74
specialize cf_convergent_matrix_state_prefix_transport (v)
21Use earlier factsL75–77
22Construct an explicit witnessL78–78
Supply the displayed value, then prove that it has the required property.
- L78
exists 0
23Use earlier factsL79–80
24Separate the logical casesL81–81
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L81
split
25Use earlier factsL82–83
26Establish hsL84–87
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply ht witness right right.
- L84Definitions: ListCellConvergentMatrixAt
have hs · expand full local formula (768 characters)
have hs : ∃ cfc_old_extend_previous_step. ∃ cfc_a_extend_previous_step. ∃ cfc_b_extend_previous_step. ∃ cfc_c_extend_previous_step. ∃ cfc_d_extend_previous_step. ∃ cfc_new_extend_previous_step. ∃ cfc_q_extend_previous_step. ConvergentMatrixAt(h,e,j,cfc_old_extend_previous_step,cfc_a_extend_previous_step,cfc_b_extend_previous_step,cfc_c_extend_previous_step,cfc_d_extend_previous_step) ∧ (ConvergentMatrixAt(h,e,S j,cfc_new_extend_previous_step,cfc_q_extend_previous_step · cfc_a_extend_previous_step + cfc_c_extend_previous_step,cfc_q_extend_previous_step · cfc_b_extend_previous_step + cfc_d_extend_previous_step,cfc_a_extend_previous_step,cfc_b_extend_previous_step) ∧ ListCell(cfc_new_extend_previous_step,cfc_q_extend_previous_step,cfc_old_extend_previous_step)) - L85
specialize ht_witness_right_right (j) - L86
apply ht_witness_right_right - L87
exact heq_right
27Separate the logical casesL88–96
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L88
cases hs - L89
cases hs_witness - L90
cases hs_witness_witness - L91
cases hs_witness_witness_witness - L92
cases hs_witness_witness_witness_witness - L93
cases hs_witness_witness_witness_witness_witness - L94
cases hs_witness_witness_witness_witness_witness_witness - L95
cases hs_witness_witness_witness_witness_witness_witness_witness - L96
cases hs_witness_witness_witness_witness_witness_witness_witness_right
28Construct an explicit witnessL97–103
29Separate the logical casesL104–104
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L104
split
30Use earlier factsL105–114
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L105
specialize cf_convergent_matrix_state_prefix_transport (h) - L106
specialize cf_convergent_matrix_state_prefix_transport (e) - L107
specialize cf_convergent_matrix_state_prefix_transport (H) - L108
specialize cf_convergent_matrix_state_prefix_transport (E) - L109
specialize cf_convergent_matrix_state_prefix_transport (S k) - L110
specialize cf_convergent_matrix_state_prefix_transport (j) - L111
specialize cf_convergent_matrix_state_prefix_transport (x1) - L112
specialize cf_convergent_matrix_state_prefix_transport (x2) - L113
specialize cf_convergent_matrix_state_prefix_transport (x3) - L114
specialize cf_convergent_matrix_state_prefix_transport (x4)
31Use earlier factsL115–119
32Separate the logical casesL120–120
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L120
split
33Use earlier factsL121–130
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L121
specialize cf_convergent_matrix_state_prefix_transport (h) - L122
specialize cf_convergent_matrix_state_prefix_transport (e) - L123
specialize cf_convergent_matrix_state_prefix_transport (H) - L124
specialize cf_convergent_matrix_state_prefix_transport (E) - L125
specialize cf_convergent_matrix_state_prefix_transport (S k) - L126
specialize cf_convergent_matrix_state_prefix_transport (S j) - L127
specialize cf_convergent_matrix_state_prefix_transport (x6) - L128
specialize cf_convergent_matrix_state_prefix_transport (x7 * x2 + x4) - L129
specialize cf_convergent_matrix_state_prefix_transport (x7 * x3 + x5) - L130
specialize cf_convergent_matrix_state_prefix_transport (x2)
34Use earlier factsL131–139
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L131
specialize cf_convergent_matrix_state_prefix_transport (x3) - L132
apply cf_convergent_matrix_state_prefix_transport - L133
exact hp - L134
specialize succ_le_succ (S j) - L135
specialize succ_le_succ (k) - L136
apply succ_le_succ - L137
exact heq_right - L138
exact hs_witness_witness_witness_witness_witness_witness_witness_right_left - L139
exact hs_witness_witness_witness_witness_witness_witness_witness_right_right
Original exact command ledger · 139 lines
- 0001
intro t - 0002
intro h - 0003
intro e - 0004
intro k - 0005
intro u - 0006
intro U - 0007
intro v - 0008
intro V - 0009
intro q - 0010
intro s - 0011
intro H - 0012
intro E - 0013
intro ht - 0014
intro hcell - 0015
intro hnew - 0016
intro hp - 0017
cases ht - 0018
cases ht_witness - 0019
cases ht_witness_right - 0020
exists x - 0021
split - 0022
specialize cf_convergent_matrix_state_prefix_transport (h) - 0023
specialize cf_convergent_matrix_state_prefix_transport (e) - 0024
specialize cf_convergent_matrix_state_prefix_transport (H) - 0025
specialize cf_convergent_matrix_state_prefix_transport (E) - 0026
specialize cf_convergent_matrix_state_prefix_transport (S k) - 0027
specialize cf_convergent_matrix_state_prefix_transport (0) - 0028
specialize cf_convergent_matrix_state_prefix_transport (x) - 0029
specialize cf_convergent_matrix_state_prefix_transport (1) - 0030
specialize cf_convergent_matrix_state_prefix_transport (0) - 0031
specialize cf_convergent_matrix_state_prefix_transport (0) - 0032
specialize cf_convergent_matrix_state_prefix_transport (1) - 0033
apply cf_convergent_matrix_state_prefix_transport - 0034
exact hp - 0035
exists k - 0036
simp - 0037
exact ht_witness_left - 0038
split - 0039
exact hnew - 0040
intro j - 0041
intro hj - 0042
have hjk : exists cfba_bound_extend_index. cfba_bound_extend_index + (j) = (k) - 0043
specialize le_of_succ_le_succ (j) - 0044
specialize le_of_succ_le_succ (k) - 0045
apply le_of_succ_le_succ - 0046
exact hj - 0047
have heq : j = k \/ (exists cfba_gap_extend_case. cfba_gap_extend_case + S (j) = (k)) - 0048
specialize le_eq_or_lt (j) - 0049
specialize le_eq_or_lt (k) - 0050
apply le_eq_or_lt - 0051
exact hjk - 0052
cases heq - 0053
rewrite heq_left - 0054
rewrite heq_left - 0055
rewrite heq_left - 0056
rewrite heq_left - 0057
exists t - 0058
exists u - 0059
exists U - 0060
exists v - 0061
exists V - 0062
exists s - 0063
exists q - 0064
split - 0065
specialize cf_convergent_matrix_state_prefix_transport (h) - 0066
specialize cf_convergent_matrix_state_prefix_transport (e) - 0067
specialize cf_convergent_matrix_state_prefix_transport (H) - 0068
specialize cf_convergent_matrix_state_prefix_transport (E) - 0069
specialize cf_convergent_matrix_state_prefix_transport (S k) - 0070
specialize cf_convergent_matrix_state_prefix_transport (k) - 0071
specialize cf_convergent_matrix_state_prefix_transport (t) - 0072
specialize cf_convergent_matrix_state_prefix_transport (u) - 0073
specialize cf_convergent_matrix_state_prefix_transport (U) - 0074
specialize cf_convergent_matrix_state_prefix_transport (v) - 0075
specialize cf_convergent_matrix_state_prefix_transport (V) - 0076
apply cf_convergent_matrix_state_prefix_transport - 0077
exact hp - 0078
exists 0 - 0079
apply zero_add - 0080
exact ht_witness_right_left - 0081
split - 0082
exact hnew - 0083
exact hcell - 0084
have hs : exists cfc_old_extend_previous_step cfc_a_extend_previous_step cfc_b_extend_previous_step cfc_c_extend_previous_step cfc_d_extend_previous_step cfc_new_extend_previous_step cfc_q_extend_previous_step. ((exists cfc_state_extend_previous_stepprevious. ((exists cfc_left_extend_previous_steppreviouscode cfc_right_extend_previous_steppreviouscode cfc_matrix_extend_previous_steppreviouscode. ((cfc_left_extend_previous_steppreviouscode = ((cfc_a_extend_previous_step) + (cfc_b_extend_previous_step)) * S ((cfc_a_extend_previous_step) + (cfc_b_extend_previous_step)) + ((cfc_b_extend_previous_step) + (cfc_b_extend_previous_step))) /\ ((cfc_right_extend_previous_steppreviouscode = ((cfc_c_extend_previous_step) + (cfc_d_extend_previous_step)) * S ((cfc_c_extend_previous_step) + (cfc_d_extend_previous_step)) + ((cfc_d_extend_previous_step) + (cfc_d_extend_previous_step))) /\ ((cfc_matrix_extend_previous_steppreviouscode = ((cfc_left_extend_previous_steppreviouscode) + (cfc_right_extend_previous_steppreviouscode)) * S ((cfc_left_extend_previous_steppreviouscode) + (cfc_right_extend_previous_steppreviouscode)) + ((cfc_right_extend_previous_steppreviouscode) + (cfc_right_extend_previous_steppreviouscode))) /\ ((cfc_state_extend_previous_stepprevious) = ((cfc_old_extend_previous_step) + (cfc_matrix_extend_previous_steppreviouscode)) * S ((cfc_old_extend_previous_step) + (cfc_matrix_extend_previous_steppreviouscode)) + ((cfc_matrix_extend_previous_steppreviouscode) + (cfc_matrix_extend_previous_steppreviouscode))))))) /\ (((exists ff_h_extend_previous_steppreviousentry. ff_h_extend_previous_steppreviousentry + S (cfc_state_extend_previous_stepprevious) = S ((S (j)) * e)) /\ exists ff_q_extend_previous_steppreviousentry. h = ff_q_extend_previous_steppreviousentry * S ((S (j)) * e) + (cfc_state_extend_previous_stepprevious))))) /\ ((exists cfc_state_extend_previous_stepfollowing. ((exists cfc_left_extend_previous_stepfollowingcode cfc_right_extend_previous_stepfollowingcode cfc_matrix_extend_previous_stepfollowingcode. ((cfc_left_extend_previous_stepfollowingcode = (((cfc_q_extend_previous_step * cfc_a_extend_previous_step + cfc_c_extend_previous_step)) + ((cfc_q_extend_previous_step * cfc_b_extend_previous_step + cfc_d_extend_previous_step))) * S (((cfc_q_extend_previous_step * cfc_a_extend_previous_step + cfc_c_extend_previous_step)) + ((cfc_q_extend_previous_step * cfc_b_extend_previous_step + cfc_d_extend_previous_step))) + (((cfc_q_extend_previous_step * cfc_b_extend_previous_step + cfc_d_extend_previous_step)) + ((cfc_q_extend_previous_step * cfc_b_extend_previous_step + cfc_d_extend_previous_step)))) /\ ((cfc_right_extend_previous_stepfollowingcode = ((cfc_a_extend_previous_step) + (cfc_b_extend_previous_step)) * S ((cfc_a_extend_previous_step) + (cfc_b_extend_previous_step)) + ((cfc_b_extend_previous_step) + (cfc_b_extend_previous_step))) /\ ((cfc_matrix_extend_previous_stepfollowingcode = ((cfc_left_extend_previous_stepfollowingcode) + (cfc_right_extend_previous_stepfollowingcode)) * S ((cfc_left_extend_previous_stepfollowingcode) + (cfc_right_extend_previous_stepfollowingcode)) + ((cfc_right_extend_previous_stepfollowingcode) + (cfc_right_extend_previous_stepfollowingcode))) /\ ((cfc_state_extend_previous_stepfollowing) = ((cfc_new_extend_previous_step) + (cfc_matrix_extend_previous_stepfollowingcode)) * S ((cfc_new_extend_previous_step) + (cfc_matrix_extend_previous_stepfollowingcode)) + ((cfc_matrix_extend_previous_stepfollowingcode) + (cfc_matrix_extend_previous_stepfollowingcode))))))) /\ (((exists ff_h_extend_previous_stepfollowingentry. ff_h_extend_previous_stepfollowingentry + S (cfc_state_extend_previous_stepfollowing) = S ((S (S (j))) * e)) /\ exists ff_q_extend_previous_stepfollowingentry. h = ff_q_extend_previous_stepfollowingentry * S ((S (S (j))) * e) + (cfc_state_extend_previous_stepfollowing))))) /\ (cfc_new_extend_previous_step = S ((cfc_q_extend_previous_step + cfc_old_extend_previous_step) * S (cfc_q_extend_previous_step + cfc_old_extend_previous_step) + (cfc_old_extend_previous_step + cfc_old_extend_previous_step))))) - 0085
specialize ht_witness_right_right (j) - 0086
apply ht_witness_right_right - 0087
exact heq_right - 0088
cases hs - 0089
cases hs_witness - 0090
cases hs_witness_witness - 0091
cases hs_witness_witness_witness - 0092
cases hs_witness_witness_witness_witness - 0093
cases hs_witness_witness_witness_witness_witness - 0094
cases hs_witness_witness_witness_witness_witness_witness - 0095
cases hs_witness_witness_witness_witness_witness_witness_witness - 0096
cases hs_witness_witness_witness_witness_witness_witness_witness_right - 0097
exists x1 - 0098
exists x2 - 0099
exists x3 - 0100
exists x4 - 0101
exists x5 - 0102
exists x6 - 0103
exists x7 - 0104
split - 0105
specialize cf_convergent_matrix_state_prefix_transport (h) - 0106
specialize cf_convergent_matrix_state_prefix_transport (e) - 0107
specialize cf_convergent_matrix_state_prefix_transport (H) - 0108
specialize cf_convergent_matrix_state_prefix_transport (E) - 0109
specialize cf_convergent_matrix_state_prefix_transport (S k) - 0110
specialize cf_convergent_matrix_state_prefix_transport (j) - 0111
specialize cf_convergent_matrix_state_prefix_transport (x1) - 0112
specialize cf_convergent_matrix_state_prefix_transport (x2) - 0113
specialize cf_convergent_matrix_state_prefix_transport (x3) - 0114
specialize cf_convergent_matrix_state_prefix_transport (x4) - 0115
specialize cf_convergent_matrix_state_prefix_transport (x5) - 0116
apply cf_convergent_matrix_state_prefix_transport - 0117
exact hp - 0118
exact hj - 0119
exact hs_witness_witness_witness_witness_witness_witness_witness_left - 0120
split - 0121
specialize cf_convergent_matrix_state_prefix_transport (h) - 0122
specialize cf_convergent_matrix_state_prefix_transport (e) - 0123
specialize cf_convergent_matrix_state_prefix_transport (H) - 0124
specialize cf_convergent_matrix_state_prefix_transport (E) - 0125
specialize cf_convergent_matrix_state_prefix_transport (S k) - 0126
specialize cf_convergent_matrix_state_prefix_transport (S j) - 0127
specialize cf_convergent_matrix_state_prefix_transport (x6) - 0128
specialize cf_convergent_matrix_state_prefix_transport (x7 * x2 + x4) - 0129
specialize cf_convergent_matrix_state_prefix_transport (x7 * x3 + x5) - 0130
specialize cf_convergent_matrix_state_prefix_transport (x2) - 0131
specialize cf_convergent_matrix_state_prefix_transport (x3) - 0132
apply cf_convergent_matrix_state_prefix_transport - 0133
exact hp - 0134
specialize succ_le_succ (S j) - 0135
specialize succ_le_succ (k) - 0136
apply succ_le_succ - 0137
exact heq_right - 0138
exact hs_witness_witness_witness_witness_witness_witness_witness_right_left - 0139
exact hs_witness_witness_witness_witness_witness_witness_witness_right_right