BA003C

cf_convergent_matrix_prepend_exists

A genuine tagged quotient prepends its exact matrix to any actually computed prefix and constructs a finite certificate of the longer computation.

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

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.

The initial 0/1 convergent is included: u is natural, not necessarily positive. Comparison denominators are strictly smaller and positive. Signed competitors are represented by an arbitrary difference rp−rn. Approximation inequalities are proved from the trace, never stored as assumptions in Convergent.

Exact theorem in conservative defined notation

∀ t. ∀ h. ∀ e. ∀ k. ∀ u. ∀ U. ∀ v. ∀ V. ∀ q. ∀ s. ConvergentMatrixTrace(t,h,e,k,u,U,v,V)ListCell(s,q,t) → ∃ x. ∃ y. ConvergentMatrixTrace(s,x,y,S k,q · u + v,q · U + V,u,U)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

cf_convergent_state_code_existsbeta_prefix_extend · checked external prerequisitecf_convergent_matrix_extend_preserved_prefix
Original expanded first-order statement
forall t h e k u U v V q s. (exists cfc_tail_prepend_exists_source. ((exists cfc_state_prepend_exists_sourceinitial. ((exists cfc_left_prepend_exists_sourceinitialcode cfc_right_prepend_exists_sourceinitialcode cfc_matrix_prepend_exists_sourceinitialcode. ((cfc_left_prepend_exists_sourceinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_prepend_exists_sourceinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_prepend_exists_sourceinitialcode = ((cfc_left_prepend_exists_sourceinitialcode) + (cfc_right_prepend_exists_sourceinitialcode)) * S ((cfc_left_prepend_exists_sourceinitialcode) + (cfc_right_prepend_exists_sourceinitialcode)) + ((cfc_right_prepend_exists_sourceinitialcode) + (cfc_right_prepend_exists_sourceinitialcode))) /\ ((cfc_state_prepend_exists_sourceinitial) = ((cfc_tail_prepend_exists_source) + (cfc_matrix_prepend_exists_sourceinitialcode)) * S ((cfc_tail_prepend_exists_source) + (cfc_matrix_prepend_exists_sourceinitialcode)) + ((cfc_matrix_prepend_exists_sourceinitialcode) + (cfc_matrix_prepend_exists_sourceinitialcode))))))) /\ (((exists ff_h_prepend_exists_sourceinitialentry. ff_h_prepend_exists_sourceinitialentry + S (cfc_state_prepend_exists_sourceinitial) = S ((S (0)) * e)) /\ exists ff_q_prepend_exists_sourceinitialentry. h = ff_q_prepend_exists_sourceinitialentry * S ((S (0)) * e) + (cfc_state_prepend_exists_sourceinitial))))) /\ ((exists cfc_state_prepend_exists_sourceterminal. ((exists cfc_left_prepend_exists_sourceterminalcode cfc_right_prepend_exists_sourceterminalcode cfc_matrix_prepend_exists_sourceterminalcode. ((cfc_left_prepend_exists_sourceterminalcode = ((u) + (U)) * S ((u) + (U)) + ((U) + (U))) /\ ((cfc_right_prepend_exists_sourceterminalcode = ((v) + (V)) * S ((v) + (V)) + ((V) + (V))) /\ ((cfc_matrix_prepend_exists_sourceterminalcode = ((cfc_left_prepend_exists_sourceterminalcode) + (cfc_right_prepend_exists_sourceterminalcode)) * S ((cfc_left_prepend_exists_sourceterminalcode) + (cfc_right_prepend_exists_sourceterminalcode)) + ((cfc_right_prepend_exists_sourceterminalcode) + (cfc_right_prepend_exists_sourceterminalcode))) /\ ((cfc_state_prepend_exists_sourceterminal) = ((t) + (cfc_matrix_prepend_exists_sourceterminalcode)) * S ((t) + (cfc_matrix_prepend_exists_sourceterminalcode)) + ((cfc_matrix_prepend_exists_sourceterminalcode) + (cfc_matrix_prepend_exists_sourceterminalcode))))))) /\ (((exists ff_h_prepend_exists_sourceterminalentry. ff_h_prepend_exists_sourceterminalentry + S (cfc_state_prepend_exists_sourceterminal) = S ((S (k)) * e)) /\ exists ff_q_prepend_exists_sourceterminalentry. h = ff_q_prepend_exists_sourceterminalentry * S ((S (k)) * e) + (cfc_state_prepend_exists_sourceterminal))))) /\ (forall cfc_index_prepend_exists_source. (exists cfba_gap_prepend_exists_sourcebound. cfba_gap_prepend_exists_sourcebound + S (cfc_index_prepend_exists_source) = (k)) -> exists cfc_old_prepend_exists_source cfc_a_prepend_exists_source cfc_b_prepend_exists_source cfc_c_prepend_exists_source cfc_d_prepend_exists_source cfc_new_prepend_exists_source cfc_quotient_prepend_exists_source. ((exists cfc_state_prepend_exists_sourceprevious. ((exists cfc_left_prepend_exists_sourcepreviouscode cfc_right_prepend_exists_sourcepreviouscode cfc_matrix_prepend_exists_sourcepreviouscode. ((cfc_left_prepend_exists_sourcepreviouscode = ((cfc_a_prepend_exists_source) + (cfc_b_prepend_exists_source)) * S ((cfc_a_prepend_exists_source) + (cfc_b_prepend_exists_source)) + ((cfc_b_prepend_exists_source) + (cfc_b_prepend_exists_source))) /\ ((cfc_right_prepend_exists_sourcepreviouscode = ((cfc_c_prepend_exists_source) + (cfc_d_prepend_exists_source)) * S ((cfc_c_prepend_exists_source) + (cfc_d_prepend_exists_source)) + ((cfc_d_prepend_exists_source) + (cfc_d_prepend_exists_source))) /\ ((cfc_matrix_prepend_exists_sourcepreviouscode = ((cfc_left_prepend_exists_sourcepreviouscode) + (cfc_right_prepend_exists_sourcepreviouscode)) * S ((cfc_left_prepend_exists_sourcepreviouscode) + (cfc_right_prepend_exists_sourcepreviouscode)) + ((cfc_right_prepend_exists_sourcepreviouscode) + (cfc_right_prepend_exists_sourcepreviouscode))) /\ ((cfc_state_prepend_exists_sourceprevious) = ((cfc_old_prepend_exists_source) + (cfc_matrix_prepend_exists_sourcepreviouscode)) * S ((cfc_old_prepend_exists_source) + (cfc_matrix_prepend_exists_sourcepreviouscode)) + ((cfc_matrix_prepend_exists_sourcepreviouscode) + (cfc_matrix_prepend_exists_sourcepreviouscode))))))) /\ (((exists ff_h_prepend_exists_sourcepreviousentry. ff_h_prepend_exists_sourcepreviousentry + S (cfc_state_prepend_exists_sourceprevious) = S ((S (cfc_index_prepend_exists_source)) * e)) /\ exists ff_q_prepend_exists_sourcepreviousentry. h = ff_q_prepend_exists_sourcepreviousentry * S ((S (cfc_index_prepend_exists_source)) * e) + (cfc_state_prepend_exists_sourceprevious))))) /\ ((exists cfc_state_prepend_exists_sourcefollowing. ((exists cfc_left_prepend_exists_sourcefollowingcode cfc_right_prepend_exists_sourcefollowingcode cfc_matrix_prepend_exists_sourcefollowingcode. ((cfc_left_prepend_exists_sourcefollowingcode = (((cfc_quotient_prepend_exists_source * cfc_a_prepend_exists_source + cfc_c_prepend_exists_source)) + ((cfc_quotient_prepend_exists_source * cfc_b_prepend_exists_source + cfc_d_prepend_exists_source))) * S (((cfc_quotient_prepend_exists_source * cfc_a_prepend_exists_source + cfc_c_prepend_exists_source)) + ((cfc_quotient_prepend_exists_source * cfc_b_prepend_exists_source + cfc_d_prepend_exists_source))) + (((cfc_quotient_prepend_exists_source * cfc_b_prepend_exists_source + cfc_d_prepend_exists_source)) + ((cfc_quotient_prepend_exists_source * cfc_b_prepend_exists_source + cfc_d_prepend_exists_source)))) /\ ((cfc_right_prepend_exists_sourcefollowingcode = ((cfc_a_prepend_exists_source) + (cfc_b_prepend_exists_source)) * S ((cfc_a_prepend_exists_source) + (cfc_b_prepend_exists_source)) + ((cfc_b_prepend_exists_source) + (cfc_b_prepend_exists_source))) /\ ((cfc_matrix_prepend_exists_sourcefollowingcode = ((cfc_left_prepend_exists_sourcefollowingcode) + (cfc_right_prepend_exists_sourcefollowingcode)) * S ((cfc_left_prepend_exists_sourcefollowingcode) + (cfc_right_prepend_exists_sourcefollowingcode)) + ((cfc_right_prepend_exists_sourcefollowingcode) + (cfc_right_prepend_exists_sourcefollowingcode))) /\ ((cfc_state_prepend_exists_sourcefollowing) = ((cfc_new_prepend_exists_source) + (cfc_matrix_prepend_exists_sourcefollowingcode)) * S ((cfc_new_prepend_exists_source) + (cfc_matrix_prepend_exists_sourcefollowingcode)) + ((cfc_matrix_prepend_exists_sourcefollowingcode) + (cfc_matrix_prepend_exists_sourcefollowingcode))))))) /\ (((exists ff_h_prepend_exists_sourcefollowingentry. ff_h_prepend_exists_sourcefollowingentry + S (cfc_state_prepend_exists_sourcefollowing) = S ((S (S cfc_index_prepend_exists_source)) * e)) /\ exists ff_q_prepend_exists_sourcefollowingentry. h = ff_q_prepend_exists_sourcefollowingentry * S ((S (S cfc_index_prepend_exists_source)) * e) + (cfc_state_prepend_exists_sourcefollowing))))) /\ (cfc_new_prepend_exists_source = S ((cfc_quotient_prepend_exists_source + cfc_old_prepend_exists_source) * S (cfc_quotient_prepend_exists_source + cfc_old_prepend_exists_source) + (cfc_old_prepend_exists_source + cfc_old_prepend_exists_source))))))))) -> (s = S ((q + t) * S (q + t) + (t + t))) -> exists H E. (exists cfc_tail_prepend_exists_target. ((exists cfc_state_prepend_exists_targetinitial. ((exists cfc_left_prepend_exists_targetinitialcode cfc_right_prepend_exists_targetinitialcode cfc_matrix_prepend_exists_targetinitialcode. ((cfc_left_prepend_exists_targetinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_prepend_exists_targetinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_prepend_exists_targetinitialcode = ((cfc_left_prepend_exists_targetinitialcode) + (cfc_right_prepend_exists_targetinitialcode)) * S ((cfc_left_prepend_exists_targetinitialcode) + (cfc_right_prepend_exists_targetinitialcode)) + ((cfc_right_prepend_exists_targetinitialcode) + (cfc_right_prepend_exists_targetinitialcode))) /\ ((cfc_state_prepend_exists_targetinitial) = ((cfc_tail_prepend_exists_target) + (cfc_matrix_prepend_exists_targetinitialcode)) * S ((cfc_tail_prepend_exists_target) + (cfc_matrix_prepend_exists_targetinitialcode)) + ((cfc_matrix_prepend_exists_targetinitialcode) + (cfc_matrix_prepend_exists_targetinitialcode))))))) /\ (((exists ff_h_prepend_exists_targetinitialentry. ff_h_prepend_exists_targetinitialentry + S (cfc_state_prepend_exists_targetinitial) = S ((S (0)) * E)) /\ exists ff_q_prepend_exists_targetinitialentry. H = ff_q_prepend_exists_targetinitialentry * S ((S (0)) * E) + (cfc_state_prepend_exists_targetinitial))))) /\ ((exists cfc_state_prepend_exists_targetterminal. ((exists cfc_left_prepend_exists_targetterminalcode cfc_right_prepend_exists_targetterminalcode cfc_matrix_prepend_exists_targetterminalcode. ((cfc_left_prepend_exists_targetterminalcode = (((q * u + v)) + ((q * U + V))) * S (((q * u + v)) + ((q * U + V))) + (((q * U + V)) + ((q * U + V)))) /\ ((cfc_right_prepend_exists_targetterminalcode = ((u) + (U)) * S ((u) + (U)) + ((U) + (U))) /\ ((cfc_matrix_prepend_exists_targetterminalcode = ((cfc_left_prepend_exists_targetterminalcode) + (cfc_right_prepend_exists_targetterminalcode)) * S ((cfc_left_prepend_exists_targetterminalcode) + (cfc_right_prepend_exists_targetterminalcode)) + ((cfc_right_prepend_exists_targetterminalcode) + (cfc_right_prepend_exists_targetterminalcode))) /\ ((cfc_state_prepend_exists_targetterminal) = ((s) + (cfc_matrix_prepend_exists_targetterminalcode)) * S ((s) + (cfc_matrix_prepend_exists_targetterminalcode)) + ((cfc_matrix_prepend_exists_targetterminalcode) + (cfc_matrix_prepend_exists_targetterminalcode))))))) /\ (((exists ff_h_prepend_exists_targetterminalentry. ff_h_prepend_exists_targetterminalentry + S (cfc_state_prepend_exists_targetterminal) = S ((S (S k)) * E)) /\ exists ff_q_prepend_exists_targetterminalentry. H = ff_q_prepend_exists_targetterminalentry * S ((S (S k)) * E) + (cfc_state_prepend_exists_targetterminal))))) /\ (forall cfc_index_prepend_exists_target. (exists cfba_gap_prepend_exists_targetbound. cfba_gap_prepend_exists_targetbound + S (cfc_index_prepend_exists_target) = (S k)) -> exists cfc_old_prepend_exists_target cfc_a_prepend_exists_target cfc_b_prepend_exists_target cfc_c_prepend_exists_target cfc_d_prepend_exists_target cfc_new_prepend_exists_target cfc_quotient_prepend_exists_target. ((exists cfc_state_prepend_exists_targetprevious. ((exists cfc_left_prepend_exists_targetpreviouscode cfc_right_prepend_exists_targetpreviouscode cfc_matrix_prepend_exists_targetpreviouscode. ((cfc_left_prepend_exists_targetpreviouscode = ((cfc_a_prepend_exists_target) + (cfc_b_prepend_exists_target)) * S ((cfc_a_prepend_exists_target) + (cfc_b_prepend_exists_target)) + ((cfc_b_prepend_exists_target) + (cfc_b_prepend_exists_target))) /\ ((cfc_right_prepend_exists_targetpreviouscode = ((cfc_c_prepend_exists_target) + (cfc_d_prepend_exists_target)) * S ((cfc_c_prepend_exists_target) + (cfc_d_prepend_exists_target)) + ((cfc_d_prepend_exists_target) + (cfc_d_prepend_exists_target))) /\ ((cfc_matrix_prepend_exists_targetpreviouscode = ((cfc_left_prepend_exists_targetpreviouscode) + (cfc_right_prepend_exists_targetpreviouscode)) * S ((cfc_left_prepend_exists_targetpreviouscode) + (cfc_right_prepend_exists_targetpreviouscode)) + ((cfc_right_prepend_exists_targetpreviouscode) + (cfc_right_prepend_exists_targetpreviouscode))) /\ ((cfc_state_prepend_exists_targetprevious) = ((cfc_old_prepend_exists_target) + (cfc_matrix_prepend_exists_targetpreviouscode)) * S ((cfc_old_prepend_exists_target) + (cfc_matrix_prepend_exists_targetpreviouscode)) + ((cfc_matrix_prepend_exists_targetpreviouscode) + (cfc_matrix_prepend_exists_targetpreviouscode))))))) /\ (((exists ff_h_prepend_exists_targetpreviousentry. ff_h_prepend_exists_targetpreviousentry + S (cfc_state_prepend_exists_targetprevious) = S ((S (cfc_index_prepend_exists_target)) * E)) /\ exists ff_q_prepend_exists_targetpreviousentry. H = ff_q_prepend_exists_targetpreviousentry * S ((S (cfc_index_prepend_exists_target)) * E) + (cfc_state_prepend_exists_targetprevious))))) /\ ((exists cfc_state_prepend_exists_targetfollowing. ((exists cfc_left_prepend_exists_targetfollowingcode cfc_right_prepend_exists_targetfollowingcode cfc_matrix_prepend_exists_targetfollowingcode. ((cfc_left_prepend_exists_targetfollowingcode = (((cfc_quotient_prepend_exists_target * cfc_a_prepend_exists_target + cfc_c_prepend_exists_target)) + ((cfc_quotient_prepend_exists_target * cfc_b_prepend_exists_target + cfc_d_prepend_exists_target))) * S (((cfc_quotient_prepend_exists_target * cfc_a_prepend_exists_target + cfc_c_prepend_exists_target)) + ((cfc_quotient_prepend_exists_target * cfc_b_prepend_exists_target + cfc_d_prepend_exists_target))) + (((cfc_quotient_prepend_exists_target * cfc_b_prepend_exists_target + cfc_d_prepend_exists_target)) + ((cfc_quotient_prepend_exists_target * cfc_b_prepend_exists_target + cfc_d_prepend_exists_target)))) /\ ((cfc_right_prepend_exists_targetfollowingcode = ((cfc_a_prepend_exists_target) + (cfc_b_prepend_exists_target)) * S ((cfc_a_prepend_exists_target) + (cfc_b_prepend_exists_target)) + ((cfc_b_prepend_exists_target) + (cfc_b_prepend_exists_target))) /\ ((cfc_matrix_prepend_exists_targetfollowingcode = ((cfc_left_prepend_exists_targetfollowingcode) + (cfc_right_prepend_exists_targetfollowingcode)) * S ((cfc_left_prepend_exists_targetfollowingcode) + (cfc_right_prepend_exists_targetfollowingcode)) + ((cfc_right_prepend_exists_targetfollowingcode) + (cfc_right_prepend_exists_targetfollowingcode))) /\ ((cfc_state_prepend_exists_targetfollowing) = ((cfc_new_prepend_exists_target) + (cfc_matrix_prepend_exists_targetfollowingcode)) * S ((cfc_new_prepend_exists_target) + (cfc_matrix_prepend_exists_targetfollowingcode)) + ((cfc_matrix_prepend_exists_targetfollowingcode) + (cfc_matrix_prepend_exists_targetfollowingcode))))))) /\ (((exists ff_h_prepend_exists_targetfollowingentry. ff_h_prepend_exists_targetfollowingentry + S (cfc_state_prepend_exists_targetfollowing) = S ((S (S cfc_index_prepend_exists_target)) * E)) /\ exists ff_q_prepend_exists_targetfollowingentry. H = ff_q_prepend_exists_targetfollowingentry * S ((S (S cfc_index_prepend_exists_target)) * E) + (cfc_state_prepend_exists_targetfollowing))))) /\ (cfc_new_prepend_exists_target = S ((cfc_quotient_prepend_exists_target + cfc_old_prepend_exists_target) * S (cfc_quotient_prepend_exists_target + cfc_old_prepend_exists_target) + (cfc_old_prepend_exists_target + cfc_old_prepend_exists_target)))))))))

Complete tactic proof in conservative notation

All 51 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

51 script commands · 12 reading checkpoints · 2 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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro t
  2. L2
    intro h
  3. L3
    intro e
  4. L4
    intro k
  5. L5
    intro u
  6. L6
    intro U
  7. L7
    intro v
  8. L8
    intro V
  9. L9
    intro q
  10. L10
    intro s
02Fix variables and assumptionsL11–12

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

  1. L11
    intro ht
  2. L12
    intro hcell
03Establish hzL13–19

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent state code exists.

  1. L13
    have hz : ∃ z. ConvergentMatrixCode(s,q · u + v,q · U + V,u,U,z)Definitions: ConvergentMatrixCode(s,q · u + v,q · U + V,u,U,z)Original native command in the exact edition
  2. L14
    specialize cf_convergent_state_code_exists (s)
  3. L15
    specialize cf_convergent_state_code_exists ((q * u + v))
  4. L16
    specialize cf_convergent_state_code_exists ((q * U + V))
  5. L17
    specialize cf_convergent_state_code_exists (u)
  6. L18
    specialize cf_convergent_state_code_exists (U)
  7. L19
    apply cf_convergent_state_code_exists
04Separate the logical casesL20–20

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

  1. L20
    cases hz
05Establish hbL21–26

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.

  1. L21
    have hb : ∃ H. ∃ E. BetaAt(H,E,S k,x) ∧ (∀ y. ∀ z. Lt(y,S k) → BetaAt(h,e,y,z) → BetaAt(H,E,y,z))Definitions: BetaAt(H,E,S k,x)Lt(y,S k)BetaAt(h,e,y,z)BetaAt(H,E,y,z)Original native command in the exact edition
  2. L22
    specialize beta_prefix_extend (S k)
  3. L23
    specialize beta_prefix_extend (h)
  4. L24
    specialize beta_prefix_extend (e)
  5. L25
    specialize beta_prefix_extend (x)
  6. L26
    apply beta_prefix_extend
06Separate the logical casesL27–29

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

  1. L27
    cases hb
  2. L28
    cases hb_witness
  3. L29
    cases hb_witness_witness
07Construct an explicit witnessL30–31

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

  1. L30
    exists x1
  2. L31
    exists x2
08Use earlier factsL32–41

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

  1. L32
    specialize cf_convergent_matrix_extend_preserved_prefix (t)
  2. L33
    specialize cf_convergent_matrix_extend_preserved_prefix (h)
  3. L34
    specialize cf_convergent_matrix_extend_preserved_prefix (e)
  4. L35
    specialize cf_convergent_matrix_extend_preserved_prefix (k)
  5. L36
    specialize cf_convergent_matrix_extend_preserved_prefix (u)
  6. L37
    specialize cf_convergent_matrix_extend_preserved_prefix (U)
  7. L38
    specialize cf_convergent_matrix_extend_preserved_prefix (v)
  8. L39
    specialize cf_convergent_matrix_extend_preserved_prefix (V)
  9. L40
    specialize cf_convergent_matrix_extend_preserved_prefix (q)
  10. L41
    specialize cf_convergent_matrix_extend_preserved_prefix (s)
09Use earlier factsL42–46

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

  1. L42
    specialize cf_convergent_matrix_extend_preserved_prefix (x1)
  2. L43
    specialize cf_convergent_matrix_extend_preserved_prefix (x2)
  3. L44
    apply cf_convergent_matrix_extend_preserved_prefix
  4. L45
    exact ht
  5. L46
    exact hcell
10Construct an explicit witnessL47–47

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

  1. L47
    exists x
11Separate the logical casesL48–48

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

  1. L48
    split
12Use earlier factsL49–51

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

  1. L49
    exact hz_witness
  2. L50
    exact hb_witness_witness_left
  3. L51
    exact hb_witness_witness_right

Library-wide reading audit

Original defined command ledger · 51 lines
  1. 0001intro t
  2. 0002intro h
  3. 0003intro e
  4. 0004intro k
  5. 0005intro u
  6. 0006intro U
  7. 0007intro v
  8. 0008intro V
  9. 0009intro q
  10. 0010intro s
  11. 0011intro ht
  12. 0012intro hcell
  13. 0013have hz : ∃ z. ConvergentMatrixCode(s,q · u + v,q · U + V,u,U,z)
  14. 0014specialize cf_convergent_state_code_exists (s)
  15. 0015specialize cf_convergent_state_code_exists ((q * u + v))
  16. 0016specialize cf_convergent_state_code_exists ((q * U + V))
  17. 0017specialize cf_convergent_state_code_exists (u)
  18. 0018specialize cf_convergent_state_code_exists (U)
  19. 0019apply cf_convergent_state_code_exists
  20. 0020cases hz
  21. 0021have hb : ∃ H. ∃ E. BetaAt(H,E,S k,x) ∧ (∀ y. ∀ z. Lt(y,S k)BetaAt(h,e,y,z)BetaAt(H,E,y,z))
  22. 0022specialize beta_prefix_extend (S k)
  23. 0023specialize beta_prefix_extend (h)
  24. 0024specialize beta_prefix_extend (e)
  25. 0025specialize beta_prefix_extend (x)
  26. 0026apply beta_prefix_extend
  27. 0027cases hb
  28. 0028cases hb_witness
  29. 0029cases hb_witness_witness
  30. 0030exists x1
  31. 0031exists x2
  32. 0032specialize cf_convergent_matrix_extend_preserved_prefix (t)
  33. 0033specialize cf_convergent_matrix_extend_preserved_prefix (h)
  34. 0034specialize cf_convergent_matrix_extend_preserved_prefix (e)
  35. 0035specialize cf_convergent_matrix_extend_preserved_prefix (k)
  36. 0036specialize cf_convergent_matrix_extend_preserved_prefix (u)
  37. 0037specialize cf_convergent_matrix_extend_preserved_prefix (U)
  38. 0038specialize cf_convergent_matrix_extend_preserved_prefix (v)
  39. 0039specialize cf_convergent_matrix_extend_preserved_prefix (V)
  40. 0040specialize cf_convergent_matrix_extend_preserved_prefix (q)
  41. 0041specialize cf_convergent_matrix_extend_preserved_prefix (s)
  42. 0042specialize cf_convergent_matrix_extend_preserved_prefix (x1)
  43. 0043specialize cf_convergent_matrix_extend_preserved_prefix (x2)
  44. 0044apply cf_convergent_matrix_extend_preserved_prefix
  45. 0045exact ht
  46. 0046exact hcell
  47. 0047exists x
  48. 0048split
  49. 0049exact hz_witness
  50. 0050exact hb_witness_witness_left
  51. 0051exact hb_witness_witness_right