PG0013

polynomial_diagonal_sum_right_scale_congruent

Two actual antidiagonal tables and their actual natural sums satisfy scalar congruence; no supplied output identity or Fubini oracle is used.

Alpha v34 checked-use · first admitted v34 · 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.

All products and sums use actual beta-coded coefficients; equality is formal coefficient equivalence, not equality of evaluations or raw codes. The zero gcd is included. Uniqueness is up to formal equivalence, not unique Bézout coefficients. This proves the polynomial gcd component, not G091 irreducible-polynomial existence or arbitrary prime-power-field construction.

Exact theorem in conservative defined notation

∀ p. ∀ k. ∀ ab. ∀ ac. ∀ L. ∀ bb. ∀ bc. ∀ M. ∀ sb. ∀ sc. ∀ i. ∀ db. ∀ dc. ∀ eb. ∀ ec. ∀ N. ∀ u. ∀ v. FpPolyScale(p,k,bb,bc,sb,sc,M)PolynomialDiagonalPrefix(ab,ac,L,bb,bc,M,i,db,dc,N)Sum(db,dc,N,u)PolynomialDiagonalPrefix(ab,ac,L,sb,sc,M,i,eb,ec,N)Sum(eb,ec,N,v)ModEq(p,k · u,v)

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

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall p k ab ac L bb bc M sb sc i db dc eb ec N u v. (((exists pfa_gap_scalar_diagonal_operationscalar. pfa_gap_scalar_diagonal_operationscalar + S (k) = (p)) /\ ((forall pfp_index_scalar_diagonal_operation. (exists pfa_gap_scalar_diagonal_operationindex. pfa_gap_scalar_diagonal_operationindex + S (pfp_index_scalar_diagonal_operation) = (M)) -> exists pfp_source_scalar_diagonal_operation pfp_value_scalar_diagonal_operation. ((((exists ff_h_pfp_scalar_diagonal_operationsource. ff_h_pfp_scalar_diagonal_operationsource + S (pfp_source_scalar_diagonal_operation) = S ((S (pfp_index_scalar_diagonal_operation)) * bc)) /\ exists ff_q_pfp_scalar_diagonal_operationsource. bb = ff_q_pfp_scalar_diagonal_operationsource * S ((S (pfp_index_scalar_diagonal_operation)) * bc) + (pfp_source_scalar_diagonal_operation))) /\ (((((exists ff_h_pfp_scalar_diagonal_operationtarget. ff_h_pfp_scalar_diagonal_operationtarget + S (pfp_value_scalar_diagonal_operation) = S ((S (pfp_index_scalar_diagonal_operation)) * sc)) /\ exists ff_q_pfp_scalar_diagonal_operationtarget. sb = ff_q_pfp_scalar_diagonal_operationtarget * S ((S (pfp_index_scalar_diagonal_operation)) * sc) + (pfp_value_scalar_diagonal_operation))) /\ ((((exists pfa_gap_scalar_diagonal_operationoperationleft. pfa_gap_scalar_diagonal_operationoperationleft + S (k) = (p)) /\ (((exists pfa_gap_scalar_diagonal_operationoperationright. pfa_gap_scalar_diagonal_operationoperationright + S (pfp_source_scalar_diagonal_operation) = (p)) /\ ((((exists pfa_gap_scalar_diagonal_operationoperationresultbound. pfa_gap_scalar_diagonal_operationoperationresultbound + S (pfp_value_scalar_diagonal_operation) = (p)) /\ ((exists pfa_offset_left_scalar_diagonal_operationoperationresultcongruence pfa_offset_right_scalar_diagonal_operationoperationresultcongruence. ((k) * (pfp_source_scalar_diagonal_operation)) + (p) * pfa_offset_left_scalar_diagonal_operationoperationresultcongruence = (pfp_value_scalar_diagonal_operation) + (p) * pfa_offset_right_scalar_diagonal_operationoperationresultcongruence))))))))))))))))) -> (forall pfc_index_scalar_diagonal_old. (exists pfa_gap_scalar_diagonal_oldbound. pfa_gap_scalar_diagonal_oldbound + S (pfc_index_scalar_diagonal_old) = (N)) -> exists pfc_value_scalar_diagonal_old. ((((exists ff_h_pfp_scalar_diagonal_oldentry. ff_h_pfp_scalar_diagonal_oldentry + S (pfc_value_scalar_diagonal_old) = S ((S (pfc_index_scalar_diagonal_old)) * dc)) /\ exists ff_q_pfp_scalar_diagonal_oldentry. db = ff_q_pfp_scalar_diagonal_oldentry * S ((S (pfc_index_scalar_diagonal_old)) * dc) + (pfc_value_scalar_diagonal_old))) /\ ((exists pfc_complement_scalar_diagonal_oldterm pfc_left_scalar_diagonal_oldterm pfc_right_scalar_diagonal_oldterm. (((pfc_index_scalar_diagonal_old)+pfc_complement_scalar_diagonal_oldterm=(i)) /\ ((((((exists pfa_gap_scalar_diagonal_oldtermleftinside. pfa_gap_scalar_diagonal_oldtermleftinside + S (pfc_index_scalar_diagonal_old) = (L)) /\ ((((exists ff_h_pfp_scalar_diagonal_oldtermleftentry. ff_h_pfp_scalar_diagonal_oldtermleftentry + S (pfc_left_scalar_diagonal_oldterm) = S ((S (pfc_index_scalar_diagonal_old)) * ac)) /\ exists ff_q_pfp_scalar_diagonal_oldtermleftentry. ab = ff_q_pfp_scalar_diagonal_oldtermleftentry * S ((S (pfc_index_scalar_diagonal_old)) * ac) + (pfc_left_scalar_diagonal_oldterm)))))) \/ (((exists pfc_gap_scalar_diagonal_oldtermleftoutside. pfc_gap_scalar_diagonal_oldtermleftoutside+(L)=(pfc_index_scalar_diagonal_old)) /\ (((pfc_left_scalar_diagonal_oldterm)=0))))) /\ ((((((exists pfa_gap_scalar_diagonal_oldtermrightinside. pfa_gap_scalar_diagonal_oldtermrightinside + S (pfc_complement_scalar_diagonal_oldterm) = (M)) /\ ((((exists ff_h_pfp_scalar_diagonal_oldtermrightentry. ff_h_pfp_scalar_diagonal_oldtermrightentry + S (pfc_right_scalar_diagonal_oldterm) = S ((S (pfc_complement_scalar_diagonal_oldterm)) * bc)) /\ exists ff_q_pfp_scalar_diagonal_oldtermrightentry. bb = ff_q_pfp_scalar_diagonal_oldtermrightentry * S ((S (pfc_complement_scalar_diagonal_oldterm)) * bc) + (pfc_right_scalar_diagonal_oldterm)))))) \/ (((exists pfc_gap_scalar_diagonal_oldtermrightoutside. pfc_gap_scalar_diagonal_oldtermrightoutside+(M)=(pfc_complement_scalar_diagonal_oldterm)) /\ (((pfc_right_scalar_diagonal_oldterm)=0))))) /\ (((pfc_value_scalar_diagonal_old)=pfc_left_scalar_diagonal_oldterm*pfc_right_scalar_diagonal_oldterm))))))))))) -> (exists fs_u_pfc_scalar_diagonal_old_sum fs_v_pfc_scalar_diagonal_old_sum. ((((exists fs_h_pfc_scalar_diagonal_old_sum_body_start. fs_h_pfc_scalar_diagonal_old_sum_body_start + S (0) = S ((S (0)) * fs_v_pfc_scalar_diagonal_old_sum)) /\ exists fs_q_pfc_scalar_diagonal_old_sum_body_start. fs_u_pfc_scalar_diagonal_old_sum = fs_q_pfc_scalar_diagonal_old_sum_body_start * S ((S (0)) * fs_v_pfc_scalar_diagonal_old_sum) + (0))) /\ ((((exists fs_h_pfc_scalar_diagonal_old_sum_body_terminal. fs_h_pfc_scalar_diagonal_old_sum_body_terminal + S (u) = S ((S (N)) * fs_v_pfc_scalar_diagonal_old_sum)) /\ exists fs_q_pfc_scalar_diagonal_old_sum_body_terminal. fs_u_pfc_scalar_diagonal_old_sum = fs_q_pfc_scalar_diagonal_old_sum_body_terminal * S ((S (N)) * fs_v_pfc_scalar_diagonal_old_sum) + (u))) /\ forall fs_i_pfc_scalar_diagonal_old_sum_body_steps. (exists fs_lt_pfc_scalar_diagonal_old_sum_body_steps_bound. fs_lt_pfc_scalar_diagonal_old_sum_body_steps_bound + S fs_i_pfc_scalar_diagonal_old_sum_body_steps = N) -> exists fs_a_pfc_scalar_diagonal_old_sum_body_steps fs_r_pfc_scalar_diagonal_old_sum_body_steps fs_s_pfc_scalar_diagonal_old_sum_body_steps. ((((exists fs_h_pfc_scalar_diagonal_old_sum_body_steps_summand. fs_h_pfc_scalar_diagonal_old_sum_body_steps_summand + S (fs_a_pfc_scalar_diagonal_old_sum_body_steps) = S ((S (fs_i_pfc_scalar_diagonal_old_sum_body_steps)) * dc)) /\ exists fs_q_pfc_scalar_diagonal_old_sum_body_steps_summand. db = fs_q_pfc_scalar_diagonal_old_sum_body_steps_summand * S ((S (fs_i_pfc_scalar_diagonal_old_sum_body_steps)) * dc) + (fs_a_pfc_scalar_diagonal_old_sum_body_steps))) /\ ((((exists fs_h_pfc_scalar_diagonal_old_sum_body_steps_partial. fs_h_pfc_scalar_diagonal_old_sum_body_steps_partial + S (fs_r_pfc_scalar_diagonal_old_sum_body_steps) = S ((S (fs_i_pfc_scalar_diagonal_old_sum_body_steps)) * fs_v_pfc_scalar_diagonal_old_sum)) /\ exists fs_q_pfc_scalar_diagonal_old_sum_body_steps_partial. fs_u_pfc_scalar_diagonal_old_sum = fs_q_pfc_scalar_diagonal_old_sum_body_steps_partial * S ((S (fs_i_pfc_scalar_diagonal_old_sum_body_steps)) * fs_v_pfc_scalar_diagonal_old_sum) + (fs_r_pfc_scalar_diagonal_old_sum_body_steps))) /\ ((((exists fs_h_pfc_scalar_diagonal_old_sum_body_steps_successor. fs_h_pfc_scalar_diagonal_old_sum_body_steps_successor + S (fs_s_pfc_scalar_diagonal_old_sum_body_steps) = S ((S (S fs_i_pfc_scalar_diagonal_old_sum_body_steps)) * fs_v_pfc_scalar_diagonal_old_sum)) /\ exists fs_q_pfc_scalar_diagonal_old_sum_body_steps_successor. fs_u_pfc_scalar_diagonal_old_sum = fs_q_pfc_scalar_diagonal_old_sum_body_steps_successor * S ((S (S fs_i_pfc_scalar_diagonal_old_sum_body_steps)) * fs_v_pfc_scalar_diagonal_old_sum) + (fs_s_pfc_scalar_diagonal_old_sum_body_steps))) /\ fs_s_pfc_scalar_diagonal_old_sum_body_steps = fs_r_pfc_scalar_diagonal_old_sum_body_steps + fs_a_pfc_scalar_diagonal_old_sum_body_steps)))))) -> (forall pfc_index_scalar_diagonal_new. (exists pfa_gap_scalar_diagonal_newbound. pfa_gap_scalar_diagonal_newbound + S (pfc_index_scalar_diagonal_new) = (N)) -> exists pfc_value_scalar_diagonal_new. ((((exists ff_h_pfp_scalar_diagonal_newentry. ff_h_pfp_scalar_diagonal_newentry + S (pfc_value_scalar_diagonal_new) = S ((S (pfc_index_scalar_diagonal_new)) * ec)) /\ exists ff_q_pfp_scalar_diagonal_newentry. eb = ff_q_pfp_scalar_diagonal_newentry * S ((S (pfc_index_scalar_diagonal_new)) * ec) + (pfc_value_scalar_diagonal_new))) /\ ((exists pfc_complement_scalar_diagonal_newterm pfc_left_scalar_diagonal_newterm pfc_right_scalar_diagonal_newterm. (((pfc_index_scalar_diagonal_new)+pfc_complement_scalar_diagonal_newterm=(i)) /\ ((((((exists pfa_gap_scalar_diagonal_newtermleftinside. pfa_gap_scalar_diagonal_newtermleftinside + S (pfc_index_scalar_diagonal_new) = (L)) /\ ((((exists ff_h_pfp_scalar_diagonal_newtermleftentry. ff_h_pfp_scalar_diagonal_newtermleftentry + S (pfc_left_scalar_diagonal_newterm) = S ((S (pfc_index_scalar_diagonal_new)) * ac)) /\ exists ff_q_pfp_scalar_diagonal_newtermleftentry. ab = ff_q_pfp_scalar_diagonal_newtermleftentry * S ((S (pfc_index_scalar_diagonal_new)) * ac) + (pfc_left_scalar_diagonal_newterm)))))) \/ (((exists pfc_gap_scalar_diagonal_newtermleftoutside. pfc_gap_scalar_diagonal_newtermleftoutside+(L)=(pfc_index_scalar_diagonal_new)) /\ (((pfc_left_scalar_diagonal_newterm)=0))))) /\ ((((((exists pfa_gap_scalar_diagonal_newtermrightinside. pfa_gap_scalar_diagonal_newtermrightinside + S (pfc_complement_scalar_diagonal_newterm) = (M)) /\ ((((exists ff_h_pfp_scalar_diagonal_newtermrightentry. ff_h_pfp_scalar_diagonal_newtermrightentry + S (pfc_right_scalar_diagonal_newterm) = S ((S (pfc_complement_scalar_diagonal_newterm)) * sc)) /\ exists ff_q_pfp_scalar_diagonal_newtermrightentry. sb = ff_q_pfp_scalar_diagonal_newtermrightentry * S ((S (pfc_complement_scalar_diagonal_newterm)) * sc) + (pfc_right_scalar_diagonal_newterm)))))) \/ (((exists pfc_gap_scalar_diagonal_newtermrightoutside. pfc_gap_scalar_diagonal_newtermrightoutside+(M)=(pfc_complement_scalar_diagonal_newterm)) /\ (((pfc_right_scalar_diagonal_newterm)=0))))) /\ (((pfc_value_scalar_diagonal_new)=pfc_left_scalar_diagonal_newterm*pfc_right_scalar_diagonal_newterm))))))))))) -> (exists fs_u_pfc_scalar_diagonal_new_sum fs_v_pfc_scalar_diagonal_new_sum. ((((exists fs_h_pfc_scalar_diagonal_new_sum_body_start. fs_h_pfc_scalar_diagonal_new_sum_body_start + S (0) = S ((S (0)) * fs_v_pfc_scalar_diagonal_new_sum)) /\ exists fs_q_pfc_scalar_diagonal_new_sum_body_start. fs_u_pfc_scalar_diagonal_new_sum = fs_q_pfc_scalar_diagonal_new_sum_body_start * S ((S (0)) * fs_v_pfc_scalar_diagonal_new_sum) + (0))) /\ ((((exists fs_h_pfc_scalar_diagonal_new_sum_body_terminal. fs_h_pfc_scalar_diagonal_new_sum_body_terminal + S (v) = S ((S (N)) * fs_v_pfc_scalar_diagonal_new_sum)) /\ exists fs_q_pfc_scalar_diagonal_new_sum_body_terminal. fs_u_pfc_scalar_diagonal_new_sum = fs_q_pfc_scalar_diagonal_new_sum_body_terminal * S ((S (N)) * fs_v_pfc_scalar_diagonal_new_sum) + (v))) /\ forall fs_i_pfc_scalar_diagonal_new_sum_body_steps. (exists fs_lt_pfc_scalar_diagonal_new_sum_body_steps_bound. fs_lt_pfc_scalar_diagonal_new_sum_body_steps_bound + S fs_i_pfc_scalar_diagonal_new_sum_body_steps = N) -> exists fs_a_pfc_scalar_diagonal_new_sum_body_steps fs_r_pfc_scalar_diagonal_new_sum_body_steps fs_s_pfc_scalar_diagonal_new_sum_body_steps. ((((exists fs_h_pfc_scalar_diagonal_new_sum_body_steps_summand. fs_h_pfc_scalar_diagonal_new_sum_body_steps_summand + S (fs_a_pfc_scalar_diagonal_new_sum_body_steps) = S ((S (fs_i_pfc_scalar_diagonal_new_sum_body_steps)) * ec)) /\ exists fs_q_pfc_scalar_diagonal_new_sum_body_steps_summand. eb = fs_q_pfc_scalar_diagonal_new_sum_body_steps_summand * S ((S (fs_i_pfc_scalar_diagonal_new_sum_body_steps)) * ec) + (fs_a_pfc_scalar_diagonal_new_sum_body_steps))) /\ ((((exists fs_h_pfc_scalar_diagonal_new_sum_body_steps_partial. fs_h_pfc_scalar_diagonal_new_sum_body_steps_partial + S (fs_r_pfc_scalar_diagonal_new_sum_body_steps) = S ((S (fs_i_pfc_scalar_diagonal_new_sum_body_steps)) * fs_v_pfc_scalar_diagonal_new_sum)) /\ exists fs_q_pfc_scalar_diagonal_new_sum_body_steps_partial. fs_u_pfc_scalar_diagonal_new_sum = fs_q_pfc_scalar_diagonal_new_sum_body_steps_partial * S ((S (fs_i_pfc_scalar_diagonal_new_sum_body_steps)) * fs_v_pfc_scalar_diagonal_new_sum) + (fs_r_pfc_scalar_diagonal_new_sum_body_steps))) /\ ((((exists fs_h_pfc_scalar_diagonal_new_sum_body_steps_successor. fs_h_pfc_scalar_diagonal_new_sum_body_steps_successor + S (fs_s_pfc_scalar_diagonal_new_sum_body_steps) = S ((S (S fs_i_pfc_scalar_diagonal_new_sum_body_steps)) * fs_v_pfc_scalar_diagonal_new_sum)) /\ exists fs_q_pfc_scalar_diagonal_new_sum_body_steps_successor. fs_u_pfc_scalar_diagonal_new_sum = fs_q_pfc_scalar_diagonal_new_sum_body_steps_successor * S ((S (S fs_i_pfc_scalar_diagonal_new_sum_body_steps)) * fs_v_pfc_scalar_diagonal_new_sum) + (fs_s_pfc_scalar_diagonal_new_sum_body_steps))) /\ fs_s_pfc_scalar_diagonal_new_sum_body_steps = fs_r_pfc_scalar_diagonal_new_sum_body_steps + fs_a_pfc_scalar_diagonal_new_sum_body_steps)))))) -> (exists pfa_offset_left_scalar_diagonal_result pfa_offset_right_scalar_diagonal_result. (k*u) + (p) * pfa_offset_left_scalar_diagonal_result = (v) + (p) * pfa_offset_right_scalar_diagonal_result)

Complete tactic proof in conservative notation

All 89 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

89 script commands · 11 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.

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 p
  2. L2
    intro k
  3. L3
    intro ab
  4. L4
    intro ac
  5. L5
    intro L
  6. L6
    intro bb
  7. L7
    intro bc
  8. L8
    intro M
  9. L9
    intro sb
  10. L10
    intro sc
02Fix variables and assumptionsL11–20

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

  1. L11
    intro i
  2. L12
    intro db
  3. L13
    intro dc
  4. L14
    intro eb
  5. L15
    intro ec
  6. L16
    intro N
  7. L17
    intro u
  8. L18
    intro v
  9. L19
    intro hs
  10. L20
    intro hd
03Fix variables and assumptionsL21–23

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

  1. L21
    intro hu
  2. L22
    intro he
  3. L23
    intro hv
04Use earlier factsL24–33

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

  1. L24
    specialize beta_sum_pointwise_mod_scale (p)
  2. L25
    specialize beta_sum_pointwise_mod_scale (k)
  3. L26
    specialize beta_sum_pointwise_mod_scale (db)
  4. L27
    specialize beta_sum_pointwise_mod_scale (dc)
  5. L28
    specialize beta_sum_pointwise_mod_scale (eb)
  6. L29
    specialize beta_sum_pointwise_mod_scale (ec)
  7. L30
    specialize beta_sum_pointwise_mod_scale (N)
  8. L31
    specialize beta_sum_pointwise_mod_scale (u)
  9. L32
    specialize beta_sum_pointwise_mod_scale (v)
  10. L33
    apply beta_sum_pointwise_mod_scale
05Use earlier factsL34–35

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

  1. L34
    exact hu
  2. L35
    exact hv
06Fix variables and assumptionsL36–41

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

  1. L36
    intro j
  2. L37
    intro a
  3. L38
    intro b
  4. L39
    intro hj
  5. L40
    intro ha
  6. L41
    intro hb
07Use earlier factsL42–51

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

  1. L42
    specialize polynomial_diagonal_term_right_scale_congruent (p)
  2. L43
    specialize polynomial_diagonal_term_right_scale_congruent (k)
  3. L44
    specialize polynomial_diagonal_term_right_scale_congruent (ab)
  4. L45
    specialize polynomial_diagonal_term_right_scale_congruent (ac)
  5. L46
    specialize polynomial_diagonal_term_right_scale_congruent (L)
  6. L47
    specialize polynomial_diagonal_term_right_scale_congruent (bb)
  7. L48
    specialize polynomial_diagonal_term_right_scale_congruent (bc)
  8. L49
    specialize polynomial_diagonal_term_right_scale_congruent (M)
  9. L50
    specialize polynomial_diagonal_term_right_scale_congruent (sb)
  10. L51
    specialize polynomial_diagonal_term_right_scale_congruent (sc)
08Use earlier factsL52–61

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

  1. L52
    specialize polynomial_diagonal_term_right_scale_congruent (i)
  2. L53
    specialize polynomial_diagonal_term_right_scale_congruent (j)
  3. L54
    specialize polynomial_diagonal_term_right_scale_congruent (a)
  4. L55
    specialize polynomial_diagonal_term_right_scale_congruent (b)
  5. L56
    apply polynomial_diagonal_term_right_scale_congruent
  6. L57
    exact hs
  7. L58
    specialize polynomial_diagonal_prefix_entry (ab)
  8. L59
    specialize polynomial_diagonal_prefix_entry (ac)
  9. L60
    specialize polynomial_diagonal_prefix_entry (L)
  10. L61
    specialize polynomial_diagonal_prefix_entry (bb)
09Use earlier factsL62–71

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

  1. L62
    specialize polynomial_diagonal_prefix_entry (bc)
  2. L63
    specialize polynomial_diagonal_prefix_entry (M)
  3. L64
    specialize polynomial_diagonal_prefix_entry (i)
  4. L65
    specialize polynomial_diagonal_prefix_entry (db)
  5. L66
    specialize polynomial_diagonal_prefix_entry (dc)
  6. L67
    specialize polynomial_diagonal_prefix_entry (N)
  7. L68
    specialize polynomial_diagonal_prefix_entry (j)
  8. L69
    specialize polynomial_diagonal_prefix_entry (a)
  9. L70
    apply polynomial_diagonal_prefix_entry
  10. L71
    exact hd
10Use earlier factsL72–81

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

  1. L72
    exact hj
  2. L73
    exact ha
  3. L74
    specialize polynomial_diagonal_prefix_entry (ab)
  4. L75
    specialize polynomial_diagonal_prefix_entry (ac)
  5. L76
    specialize polynomial_diagonal_prefix_entry (L)
  6. L77
    specialize polynomial_diagonal_prefix_entry (sb)
  7. L78
    specialize polynomial_diagonal_prefix_entry (sc)
  8. L79
    specialize polynomial_diagonal_prefix_entry (M)
  9. L80
    specialize polynomial_diagonal_prefix_entry (i)
  10. L81
    specialize polynomial_diagonal_prefix_entry (eb)
11Use earlier factsL82–89

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

  1. L82
    specialize polynomial_diagonal_prefix_entry (ec)
  2. L83
    specialize polynomial_diagonal_prefix_entry (N)
  3. L84
    specialize polynomial_diagonal_prefix_entry (j)
  4. L85
    specialize polynomial_diagonal_prefix_entry (b)
  5. L86
    apply polynomial_diagonal_prefix_entry
  6. L87
    exact he
  7. L88
    exact hj
  8. L89
    exact hb

Library-wide reading audit

Original defined command ledger · 89 lines
  1. 0001intro p
  2. 0002intro k
  3. 0003intro ab
  4. 0004intro ac
  5. 0005intro L
  6. 0006intro bb
  7. 0007intro bc
  8. 0008intro M
  9. 0009intro sb
  10. 0010intro sc
  11. 0011intro i
  12. 0012intro db
  13. 0013intro dc
  14. 0014intro eb
  15. 0015intro ec
  16. 0016intro N
  17. 0017intro u
  18. 0018intro v
  19. 0019intro hs
  20. 0020intro hd
  21. 0021intro hu
  22. 0022intro he
  23. 0023intro hv
  24. 0024specialize beta_sum_pointwise_mod_scale (p)
  25. 0025specialize beta_sum_pointwise_mod_scale (k)
  26. 0026specialize beta_sum_pointwise_mod_scale (db)
  27. 0027specialize beta_sum_pointwise_mod_scale (dc)
  28. 0028specialize beta_sum_pointwise_mod_scale (eb)
  29. 0029specialize beta_sum_pointwise_mod_scale (ec)
  30. 0030specialize beta_sum_pointwise_mod_scale (N)
  31. 0031specialize beta_sum_pointwise_mod_scale (u)
  32. 0032specialize beta_sum_pointwise_mod_scale (v)
  33. 0033apply beta_sum_pointwise_mod_scale
  34. 0034exact hu
  35. 0035exact hv
  36. 0036intro j
  37. 0037intro a
  38. 0038intro b
  39. 0039intro hj
  40. 0040intro ha
  41. 0041intro hb
  42. 0042specialize polynomial_diagonal_term_right_scale_congruent (p)
  43. 0043specialize polynomial_diagonal_term_right_scale_congruent (k)
  44. 0044specialize polynomial_diagonal_term_right_scale_congruent (ab)
  45. 0045specialize polynomial_diagonal_term_right_scale_congruent (ac)
  46. 0046specialize polynomial_diagonal_term_right_scale_congruent (L)
  47. 0047specialize polynomial_diagonal_term_right_scale_congruent (bb)
  48. 0048specialize polynomial_diagonal_term_right_scale_congruent (bc)
  49. 0049specialize polynomial_diagonal_term_right_scale_congruent (M)
  50. 0050specialize polynomial_diagonal_term_right_scale_congruent (sb)
  51. 0051specialize polynomial_diagonal_term_right_scale_congruent (sc)
  52. 0052specialize polynomial_diagonal_term_right_scale_congruent (i)
  53. 0053specialize polynomial_diagonal_term_right_scale_congruent (j)
  54. 0054specialize polynomial_diagonal_term_right_scale_congruent (a)
  55. 0055specialize polynomial_diagonal_term_right_scale_congruent (b)
  56. 0056apply polynomial_diagonal_term_right_scale_congruent
  57. 0057exact hs
  58. 0058specialize polynomial_diagonal_prefix_entry (ab)
  59. 0059specialize polynomial_diagonal_prefix_entry (ac)
  60. 0060specialize polynomial_diagonal_prefix_entry (L)
  61. 0061specialize polynomial_diagonal_prefix_entry (bb)
  62. 0062specialize polynomial_diagonal_prefix_entry (bc)
  63. 0063specialize polynomial_diagonal_prefix_entry (M)
  64. 0064specialize polynomial_diagonal_prefix_entry (i)
  65. 0065specialize polynomial_diagonal_prefix_entry (db)
  66. 0066specialize polynomial_diagonal_prefix_entry (dc)
  67. 0067specialize polynomial_diagonal_prefix_entry (N)
  68. 0068specialize polynomial_diagonal_prefix_entry (j)
  69. 0069specialize polynomial_diagonal_prefix_entry (a)
  70. 0070apply polynomial_diagonal_prefix_entry
  71. 0071exact hd
  72. 0072exact hj
  73. 0073exact ha
  74. 0074specialize polynomial_diagonal_prefix_entry (ab)
  75. 0075specialize polynomial_diagonal_prefix_entry (ac)
  76. 0076specialize polynomial_diagonal_prefix_entry (L)
  77. 0077specialize polynomial_diagonal_prefix_entry (sb)
  78. 0078specialize polynomial_diagonal_prefix_entry (sc)
  79. 0079specialize polynomial_diagonal_prefix_entry (M)
  80. 0080specialize polynomial_diagonal_prefix_entry (i)
  81. 0081specialize polynomial_diagonal_prefix_entry (eb)
  82. 0082specialize polynomial_diagonal_prefix_entry (ec)
  83. 0083specialize polynomial_diagonal_prefix_entry (N)
  84. 0084specialize polynomial_diagonal_prefix_entry (j)
  85. 0085specialize polynomial_diagonal_prefix_entry (b)
  86. 0086apply polynomial_diagonal_prefix_entry
  87. 0087exact he
  88. 0088exact hj
  89. 0089exact hb