PQ0043

prime_field_polynomial_monic_normalization_exists_unique

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

Construct a monic normalization of the same represented degree, with unique inverse scalar and unique decoded coefficient prefix.

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 expanded first-order arithmetic statement

forall p ab ac L d. (~((p) = 1) /\ forall pfa_factor_left_normalization_unique_prime pfa_factor_right_normalization_unique_prime. (p) = pfa_factor_left_normalization_unique_prime * pfa_factor_right_normalization_unique_prime -> pfa_factor_left_normalization_unique_prime = 1 \/ pfa_factor_right_normalization_unique_prime = 1) -> ((((L)=S (d)) /\ (((forall fom_index_pfp_normalization_unique_inputcoefficients. (exists fom_gap_pfp_normalization_unique_inputcoefficients_index_bound. fom_gap_pfp_normalization_unique_inputcoefficients_index_bound + S (fom_index_pfp_normalization_unique_inputcoefficients) = L) -> exists fom_value_pfp_normalization_unique_inputcoefficients. ((((exists fom_beta_height_pfp_normalization_unique_inputcoefficients_entry. fom_beta_height_pfp_normalization_unique_inputcoefficients_entry + S (fom_value_pfp_normalization_unique_inputcoefficients) = S ((S (fom_index_pfp_normalization_unique_inputcoefficients)) * ac)) /\ exists fom_beta_quotient_pfp_normalization_unique_inputcoefficients_entry. ab = fom_beta_quotient_pfp_normalization_unique_inputcoefficients_entry * S ((S (fom_index_pfp_normalization_unique_inputcoefficients)) * ac) + (fom_value_pfp_normalization_unique_inputcoefficients))) /\ (exists fom_gap_pfp_normalization_unique_inputcoefficients_value_bound. fom_gap_pfp_normalization_unique_inputcoefficients_value_bound + S (fom_value_pfp_normalization_unique_inputcoefficients) = p))) /\ ((exists pfd_leading_normalization_unique_input. ((((exists ff_h_pfp_normalization_unique_inputentry. ff_h_pfp_normalization_unique_inputentry + S (pfd_leading_normalization_unique_input) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_unique_inputentry. ab = ff_q_pfp_normalization_unique_inputentry * S ((S (0)) * ac) + (pfd_leading_normalization_unique_input))) /\ ((~(pfd_leading_normalization_unique_input=0)))))))))) -> exists k bb bc. (((((~((L) = 0)) /\ (((exists pfm_leading_normalization_unique_graph. ((((exists ff_h_pfp_normalization_unique_graphsource. ff_h_pfp_normalization_unique_graphsource + S (pfm_leading_normalization_unique_graph) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_unique_graphsource. ab = ff_q_pfp_normalization_unique_graphsource * S ((S (0)) * ac) + (pfm_leading_normalization_unique_graph))) /\ ((((~((pfm_leading_normalization_unique_graph) = 0)) /\ ((((exists pfa_gap_normalization_unique_graphinversemultiplicationleft. pfa_gap_normalization_unique_graphinversemultiplicationleft + S (pfm_leading_normalization_unique_graph) = (p)) /\ (((exists pfa_gap_normalization_unique_graphinversemultiplicationright. pfa_gap_normalization_unique_graphinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_normalization_unique_graphinversemultiplicationresultbound. pfa_gap_normalization_unique_graphinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_unique_graphinversemultiplicationresultcongruence pfa_offset_right_normalization_unique_graphinversemultiplicationresultcongruence. ((pfm_leading_normalization_unique_graph) * (k)) + (p) * pfa_offset_left_normalization_unique_graphinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_unique_graphinversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_normalization_unique_graphscalescalar. pfa_gap_normalization_unique_graphscalescalar + S (k) = (p)) /\ ((forall pfp_index_normalization_unique_graphscale. (exists pfa_gap_normalization_unique_graphscaleindex. pfa_gap_normalization_unique_graphscaleindex + S (pfp_index_normalization_unique_graphscale) = (L)) -> exists pfp_source_normalization_unique_graphscale pfp_value_normalization_unique_graphscale. ((((exists ff_h_pfp_normalization_unique_graphscalesource. ff_h_pfp_normalization_unique_graphscalesource + S (pfp_source_normalization_unique_graphscale) = S ((S (pfp_index_normalization_unique_graphscale)) * ac)) /\ exists ff_q_pfp_normalization_unique_graphscalesource. ab = ff_q_pfp_normalization_unique_graphscalesource * S ((S (pfp_index_normalization_unique_graphscale)) * ac) + (pfp_source_normalization_unique_graphscale))) /\ (((((exists ff_h_pfp_normalization_unique_graphscaletarget. ff_h_pfp_normalization_unique_graphscaletarget + S (pfp_value_normalization_unique_graphscale) = S ((S (pfp_index_normalization_unique_graphscale)) * bc)) /\ exists ff_q_pfp_normalization_unique_graphscaletarget. bb = ff_q_pfp_normalization_unique_graphscaletarget * S ((S (pfp_index_normalization_unique_graphscale)) * bc) + (pfp_value_normalization_unique_graphscale))) /\ ((((exists pfa_gap_normalization_unique_graphscaleoperationleft. pfa_gap_normalization_unique_graphscaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_unique_graphscaleoperationright. pfa_gap_normalization_unique_graphscaleoperationright + S (pfp_source_normalization_unique_graphscale) = (p)) /\ ((((exists pfa_gap_normalization_unique_graphscaleoperationresultbound. pfa_gap_normalization_unique_graphscaleoperationresultbound + S (pfp_value_normalization_unique_graphscale) = (p)) /\ ((exists pfa_offset_left_normalization_unique_graphscaleoperationresultcongruence pfa_offset_right_normalization_unique_graphscaleoperationresultcongruence. ((k) * (pfp_source_normalization_unique_graphscale)) + (p) * pfa_offset_left_normalization_unique_graphscaleoperationresultcongruence = (pfp_value_normalization_unique_graphscale) + (p) * pfa_offset_right_normalization_unique_graphscaleoperationresultcongruence)))))))))))))))))))))) /\ (((((~((L) = 0)) /\ (((forall fom_index_pfp_normalization_unique_moniccoefficients. (exists fom_gap_pfp_normalization_unique_moniccoefficients_index_bound. fom_gap_pfp_normalization_unique_moniccoefficients_index_bound + S (fom_index_pfp_normalization_unique_moniccoefficients) = L) -> exists fom_value_pfp_normalization_unique_moniccoefficients. ((((exists fom_beta_height_pfp_normalization_unique_moniccoefficients_entry. fom_beta_height_pfp_normalization_unique_moniccoefficients_entry + S (fom_value_pfp_normalization_unique_moniccoefficients) = S ((S (fom_index_pfp_normalization_unique_moniccoefficients)) * bc)) /\ exists fom_beta_quotient_pfp_normalization_unique_moniccoefficients_entry. bb = fom_beta_quotient_pfp_normalization_unique_moniccoefficients_entry * S ((S (fom_index_pfp_normalization_unique_moniccoefficients)) * bc) + (fom_value_pfp_normalization_unique_moniccoefficients))) /\ (exists fom_gap_pfp_normalization_unique_moniccoefficients_value_bound. fom_gap_pfp_normalization_unique_moniccoefficients_value_bound + S (fom_value_pfp_normalization_unique_moniccoefficients) = p))) /\ ((((exists ff_h_pfp_normalization_unique_monicleading. ff_h_pfp_normalization_unique_monicleading + S (1) = S ((S (0)) * bc)) /\ exists ff_q_pfp_normalization_unique_monicleading. bb = ff_q_pfp_normalization_unique_monicleading * S ((S (0)) * bc) + (1)))))))) /\ ((((((L)=S (d)) /\ (((forall fom_index_pfp_normalization_unique_degreecoefficients. (exists fom_gap_pfp_normalization_unique_degreecoefficients_index_bound. fom_gap_pfp_normalization_unique_degreecoefficients_index_bound + S (fom_index_pfp_normalization_unique_degreecoefficients) = L) -> exists fom_value_pfp_normalization_unique_degreecoefficients. ((((exists fom_beta_height_pfp_normalization_unique_degreecoefficients_entry. fom_beta_height_pfp_normalization_unique_degreecoefficients_entry + S (fom_value_pfp_normalization_unique_degreecoefficients) = S ((S (fom_index_pfp_normalization_unique_degreecoefficients)) * bc)) /\ exists fom_beta_quotient_pfp_normalization_unique_degreecoefficients_entry. bb = fom_beta_quotient_pfp_normalization_unique_degreecoefficients_entry * S ((S (fom_index_pfp_normalization_unique_degreecoefficients)) * bc) + (fom_value_pfp_normalization_unique_degreecoefficients))) /\ (exists fom_gap_pfp_normalization_unique_degreecoefficients_value_bound. fom_gap_pfp_normalization_unique_degreecoefficients_value_bound + S (fom_value_pfp_normalization_unique_degreecoefficients) = p))) /\ ((exists pfd_leading_normalization_unique_degree. ((((exists ff_h_pfp_normalization_unique_degreeentry. ff_h_pfp_normalization_unique_degreeentry + S (pfd_leading_normalization_unique_degree) = S ((S (0)) * bc)) /\ exists ff_q_pfp_normalization_unique_degreeentry. bb = ff_q_pfp_normalization_unique_degreeentry * S ((S (0)) * bc) + (pfd_leading_normalization_unique_degree))) /\ ((~(pfd_leading_normalization_unique_degree=0)))))))))) /\ ((forall j cb cc. (((~((L) = 0)) /\ (((exists pfm_leading_normalization_uniquecomparison. ((((exists ff_h_pfp_normalization_uniquecomparisonsource. ff_h_pfp_normalization_uniquecomparisonsource + S (pfm_leading_normalization_uniquecomparison) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_uniquecomparisonsource. ab = ff_q_pfp_normalization_uniquecomparisonsource * S ((S (0)) * ac) + (pfm_leading_normalization_uniquecomparison))) /\ ((((~((pfm_leading_normalization_uniquecomparison) = 0)) /\ ((((exists pfa_gap_normalization_uniquecomparisoninversemultiplicationleft. pfa_gap_normalization_uniquecomparisoninversemultiplicationleft + S (pfm_leading_normalization_uniquecomparison) = (p)) /\ (((exists pfa_gap_normalization_uniquecomparisoninversemultiplicationright. pfa_gap_normalization_uniquecomparisoninversemultiplicationright + S (j) = (p)) /\ ((((exists pfa_gap_normalization_uniquecomparisoninversemultiplicationresultbound. pfa_gap_normalization_uniquecomparisoninversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_uniquecomparisoninversemultiplicationresultcongruence pfa_offset_right_normalization_uniquecomparisoninversemultiplicationresultcongruence. ((pfm_leading_normalization_uniquecomparison) * (j)) + (p) * pfa_offset_left_normalization_uniquecomparisoninversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_uniquecomparisoninversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_normalization_uniquecomparisonscalescalar. pfa_gap_normalization_uniquecomparisonscalescalar + S (j) = (p)) /\ ((forall pfp_index_normalization_uniquecomparisonscale. (exists pfa_gap_normalization_uniquecomparisonscaleindex. pfa_gap_normalization_uniquecomparisonscaleindex + S (pfp_index_normalization_uniquecomparisonscale) = (L)) -> exists pfp_source_normalization_uniquecomparisonscale pfp_value_normalization_uniquecomparisonscale. ((((exists ff_h_pfp_normalization_uniquecomparisonscalesource. ff_h_pfp_normalization_uniquecomparisonscalesource + S (pfp_source_normalization_uniquecomparisonscale) = S ((S (pfp_index_normalization_uniquecomparisonscale)) * ac)) /\ exists ff_q_pfp_normalization_uniquecomparisonscalesource. ab = ff_q_pfp_normalization_uniquecomparisonscalesource * S ((S (pfp_index_normalization_uniquecomparisonscale)) * ac) + (pfp_source_normalization_uniquecomparisonscale))) /\ (((((exists ff_h_pfp_normalization_uniquecomparisonscaletarget. ff_h_pfp_normalization_uniquecomparisonscaletarget + S (pfp_value_normalization_uniquecomparisonscale) = S ((S (pfp_index_normalization_uniquecomparisonscale)) * cc)) /\ exists ff_q_pfp_normalization_uniquecomparisonscaletarget. cb = ff_q_pfp_normalization_uniquecomparisonscaletarget * S ((S (pfp_index_normalization_uniquecomparisonscale)) * cc) + (pfp_value_normalization_uniquecomparisonscale))) /\ ((((exists pfa_gap_normalization_uniquecomparisonscaleoperationleft. pfa_gap_normalization_uniquecomparisonscaleoperationleft + S (j) = (p)) /\ (((exists pfa_gap_normalization_uniquecomparisonscaleoperationright. pfa_gap_normalization_uniquecomparisonscaleoperationright + S (pfp_source_normalization_uniquecomparisonscale) = (p)) /\ ((((exists pfa_gap_normalization_uniquecomparisonscaleoperationresultbound. pfa_gap_normalization_uniquecomparisonscaleoperationresultbound + S (pfp_value_normalization_uniquecomparisonscale) = (p)) /\ ((exists pfa_offset_left_normalization_uniquecomparisonscaleoperationresultcongruence pfa_offset_right_normalization_uniquecomparisonscaleoperationresultcongruence. ((j) * (pfp_source_normalization_uniquecomparisonscale)) + (p) * pfa_offset_left_normalization_uniquecomparisonscaleoperationresultcongruence = (pfp_value_normalization_uniquecomparisonscale) + (p) * pfa_offset_right_normalization_uniquecomparisonscaleoperationresultcongruence)))))))))))))))))))))) -> ((j=(k)) /\ ((forall mdr_i_pfp_normalization_uniqueequal mdr_a_pfp_normalization_uniqueequal. (exists mdr_gap_pfp_normalization_uniqueequalb. mdr_gap_pfp_normalization_uniqueequalb + S (mdr_i_pfp_normalization_uniqueequal) = (L)) -> (((exists ff_h_mdr_pfp_normalization_uniqueequalo. ff_h_mdr_pfp_normalization_uniqueequalo + S (mdr_a_pfp_normalization_uniqueequal) = S ((S (mdr_i_pfp_normalization_uniqueequal)) * cc)) /\ exists ff_q_mdr_pfp_normalization_uniqueequalo. cb = ff_q_mdr_pfp_normalization_uniqueequalo * S ((S (mdr_i_pfp_normalization_uniqueequal)) * cc) + (mdr_a_pfp_normalization_uniqueequal))) -> (((exists ff_h_mdr_pfp_normalization_uniqueequaln. ff_h_mdr_pfp_normalization_uniqueequaln + S (mdr_a_pfp_normalization_uniqueequal) = S ((S (mdr_i_pfp_normalization_uniqueequal)) * bc)) /\ exists ff_q_mdr_pfp_normalization_uniqueequaln. bb = ff_q_mdr_pfp_normalization_uniqueequaln * S ((S (mdr_i_pfp_normalization_uniqueequal)) * bc) + (mdr_a_pfp_normalization_uniqueequal))))))))))))))

Constructive proof overview

Generated structural guide

Construct a monic normalization of the same represented degree, with unique inverse scalar and unique decoded coefficient prefix.

The unchanged tactic script uses 5 declared prerequisites and contains 77 exact native proof lines.

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

Proof neighborhood

Direct dependencies

Direct dependents

none

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

77 script commands · 16 reading checkpoints · 1 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.

Named ingredients (5)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–7

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

  1. L1
    intro p
  2. L2
    intro ab
  3. L3
    intro ac
  4. L4
    intro L
  5. L5
    intro d
  6. L6
    intro hp
  7. L7
    intro hd
02Establish hL8–16

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial monic normalization exists.

  1. L8
    have h : ∃ k. ∃ bb. ∃ bc. FpMonicNormalization(p,k,ab,ac,bb,bc,L)Definitions: FpMonicNormalization
  2. L9
    specialize prime_field_polynomial_monic_normalization_exists (p)
  3. L10
    specialize prime_field_polynomial_monic_normalization_exists (ab)
  4. L11
    specialize prime_field_polynomial_monic_normalization_exists (ac)
  5. L12
    specialize prime_field_polynomial_monic_normalization_exists (L)
  6. L13
    specialize prime_field_polynomial_monic_normalization_exists (d)
  7. L14
    apply prime_field_polynomial_monic_normalization_exists
  8. L15
    exact hp
  9. L16
    exact hd
03Separate the logical casesL17–19

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

  1. L17
    cases h
  2. L18
    cases h_witness
  3. L19
    cases h_witness_witness
04Construct an explicit witnessL20–22

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

  1. L20
    exists x
  2. L21
    exists x1
  3. L22
    exists x2
05Separate the logical casesL23–23

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

  1. L23
    split
06Use earlier factsL24–24

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

  1. L24
    exact h_witness_witness_witness
07Separate the logical casesL25–25

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

  1. L25
    split
08Use earlier factsL26–34

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

  1. L26
    specialize prime_field_polynomial_monic_normalization_monic (p)
  2. L27
    specialize prime_field_polynomial_monic_normalization_monic (x)
  3. L28
    specialize prime_field_polynomial_monic_normalization_monic (ab)
  4. L29
    specialize prime_field_polynomial_monic_normalization_monic (ac)
  5. L30
    specialize prime_field_polynomial_monic_normalization_monic (x1)
  6. L31
    specialize prime_field_polynomial_monic_normalization_monic (x2)
  7. L32
    specialize prime_field_polynomial_monic_normalization_monic (L)
  8. L33
    apply prime_field_polynomial_monic_normalization_monic
  9. L34
    exact h_witness_witness_witness
09Separate the logical casesL35–35

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

  1. L35
    split
10Use earlier factsL36–45

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

  1. L36
    specialize prime_field_polynomial_monic_normalization_represented_degree (p)
  2. L37
    specialize prime_field_polynomial_monic_normalization_represented_degree (x)
  3. L38
    specialize prime_field_polynomial_monic_normalization_represented_degree (ab)
  4. L39
    specialize prime_field_polynomial_monic_normalization_represented_degree (ac)
  5. L40
    specialize prime_field_polynomial_monic_normalization_represented_degree (x1)
  6. L41
    specialize prime_field_polynomial_monic_normalization_represented_degree (x2)
  7. L42
    specialize prime_field_polynomial_monic_normalization_represented_degree (L)
  8. L43
    specialize prime_field_polynomial_monic_normalization_represented_degree (d)
  9. L44
    apply prime_field_polynomial_monic_normalization_represented_degree
  10. L45
    exact hd
11Use earlier factsL46–46

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

  1. L46
    exact h_witness_witness_witness
12Fix variables and assumptionsL47–50

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

  1. L47
    intro j
  2. L48
    intro cb
  3. L49
    intro cc
  4. L50
    intro hj
13Separate the logical casesL51–51

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

  1. L51
    split
14Use earlier factsL52–61

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

  1. L52
    specialize prime_field_polynomial_monic_normalization_scalar_functional (p)
  2. L53
    specialize prime_field_polynomial_monic_normalization_scalar_functional (j)
  3. L54
    specialize prime_field_polynomial_monic_normalization_scalar_functional (x)
  4. L55
    specialize prime_field_polynomial_monic_normalization_scalar_functional (ab)
  5. L56
    specialize prime_field_polynomial_monic_normalization_scalar_functional (ac)
  6. L57
    specialize prime_field_polynomial_monic_normalization_scalar_functional (cb)
  7. L58
    specialize prime_field_polynomial_monic_normalization_scalar_functional (cc)
  8. L59
    specialize prime_field_polynomial_monic_normalization_scalar_functional (x1)
  9. L60
    specialize prime_field_polynomial_monic_normalization_scalar_functional (x2)
  10. L61
    specialize prime_field_polynomial_monic_normalization_scalar_functional (L)
15Use earlier factsL62–71

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

  1. L62
    apply prime_field_polynomial_monic_normalization_scalar_functional
  2. L63
    exact hj
  3. L64
    exact h_witness_witness_witness
  4. L65
    specialize prime_field_polynomial_monic_normalization_functional (p)
  5. L66
    specialize prime_field_polynomial_monic_normalization_functional (j)
  6. L67
    specialize prime_field_polynomial_monic_normalization_functional (x)
  7. L68
    specialize prime_field_polynomial_monic_normalization_functional (ab)
  8. L69
    specialize prime_field_polynomial_monic_normalization_functional (ac)
  9. L70
    specialize prime_field_polynomial_monic_normalization_functional (cb)
  10. L71
    specialize prime_field_polynomial_monic_normalization_functional (cc)
16Use earlier factsL72–77

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

  1. L72
    specialize prime_field_polynomial_monic_normalization_functional (x1)
  2. L73
    specialize prime_field_polynomial_monic_normalization_functional (x2)
  3. L74
    specialize prime_field_polynomial_monic_normalization_functional (L)
  4. L75
    apply prime_field_polynomial_monic_normalization_functional
  5. L76
    exact hj
  6. L77
    exact h_witness_witness_witness

Library-wide reading audit

Original exact command ledger · 77 lines
  1. 0001intro p
  2. 0002intro ab
  3. 0003intro ac
  4. 0004intro L
  5. 0005intro d
  6. 0006intro hp
  7. 0007intro hd
  8. 0008have h : exists k bb bc. (((~((L) = 0)) /\ (((exists pfm_leading_normalization_unique_choice. ((((exists ff_h_pfp_normalization_unique_choicesource. ff_h_pfp_normalization_unique_choicesource + S (pfm_leading_normalization_unique_choice) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_unique_choicesource. ab = ff_q_pfp_normalization_unique_choicesource * S ((S (0)) * ac) + (pfm_leading_normalization_unique_choice))) /\ ((((~((pfm_leading_normalization_unique_choice) = 0)) /\ ((((exists pfa_gap_normalization_unique_choiceinversemultiplicationleft. pfa_gap_normalization_unique_choiceinversemultiplicationleft + S (pfm_leading_normalization_unique_choice) = (p)) /\ (((exists pfa_gap_normalization_unique_choiceinversemultiplicationright. pfa_gap_normalization_unique_choiceinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_normalization_unique_choiceinversemultiplicationresultbound. pfa_gap_normalization_unique_choiceinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_unique_choiceinversemultiplicationresultcongruence pfa_offset_right_normalization_unique_choiceinversemultiplicationresultcongruence. ((pfm_leading_normalization_unique_choice) * (k)) + (p) * pfa_offset_left_normalization_unique_choiceinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_unique_choiceinversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_normalization_unique_choicescalescalar. pfa_gap_normalization_unique_choicescalescalar + S (k) = (p)) /\ ((forall pfp_index_normalization_unique_choicescale. (exists pfa_gap_normalization_unique_choicescaleindex. pfa_gap_normalization_unique_choicescaleindex + S (pfp_index_normalization_unique_choicescale) = (L)) -> exists pfp_source_normalization_unique_choicescale pfp_value_normalization_unique_choicescale. ((((exists ff_h_pfp_normalization_unique_choicescalesource. ff_h_pfp_normalization_unique_choicescalesource + S (pfp_source_normalization_unique_choicescale) = S ((S (pfp_index_normalization_unique_choicescale)) * ac)) /\ exists ff_q_pfp_normalization_unique_choicescalesource. ab = ff_q_pfp_normalization_unique_choicescalesource * S ((S (pfp_index_normalization_unique_choicescale)) * ac) + (pfp_source_normalization_unique_choicescale))) /\ (((((exists ff_h_pfp_normalization_unique_choicescaletarget. ff_h_pfp_normalization_unique_choicescaletarget + S (pfp_value_normalization_unique_choicescale) = S ((S (pfp_index_normalization_unique_choicescale)) * bc)) /\ exists ff_q_pfp_normalization_unique_choicescaletarget. bb = ff_q_pfp_normalization_unique_choicescaletarget * S ((S (pfp_index_normalization_unique_choicescale)) * bc) + (pfp_value_normalization_unique_choicescale))) /\ ((((exists pfa_gap_normalization_unique_choicescaleoperationleft. pfa_gap_normalization_unique_choicescaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_unique_choicescaleoperationright. pfa_gap_normalization_unique_choicescaleoperationright + S (pfp_source_normalization_unique_choicescale) = (p)) /\ ((((exists pfa_gap_normalization_unique_choicescaleoperationresultbound. pfa_gap_normalization_unique_choicescaleoperationresultbound + S (pfp_value_normalization_unique_choicescale) = (p)) /\ ((exists pfa_offset_left_normalization_unique_choicescaleoperationresultcongruence pfa_offset_right_normalization_unique_choicescaleoperationresultcongruence. ((k) * (pfp_source_normalization_unique_choicescale)) + (p) * pfa_offset_left_normalization_unique_choicescaleoperationresultcongruence = (pfp_value_normalization_unique_choicescale) + (p) * pfa_offset_right_normalization_unique_choicescaleoperationresultcongruence))))))))))))))))))))))
  9. 0009specialize prime_field_polynomial_monic_normalization_exists (p)
  10. 0010specialize prime_field_polynomial_monic_normalization_exists (ab)
  11. 0011specialize prime_field_polynomial_monic_normalization_exists (ac)
  12. 0012specialize prime_field_polynomial_monic_normalization_exists (L)
  13. 0013specialize prime_field_polynomial_monic_normalization_exists (d)
  14. 0014apply prime_field_polynomial_monic_normalization_exists
  15. 0015exact hp
  16. 0016exact hd
  17. 0017cases h
  18. 0018cases h_witness
  19. 0019cases h_witness_witness
  20. 0020exists x
  21. 0021exists x1
  22. 0022exists x2
  23. 0023split
  24. 0024exact h_witness_witness_witness
  25. 0025split
  26. 0026specialize prime_field_polynomial_monic_normalization_monic (p)
  27. 0027specialize prime_field_polynomial_monic_normalization_monic (x)
  28. 0028specialize prime_field_polynomial_monic_normalization_monic (ab)
  29. 0029specialize prime_field_polynomial_monic_normalization_monic (ac)
  30. 0030specialize prime_field_polynomial_monic_normalization_monic (x1)
  31. 0031specialize prime_field_polynomial_monic_normalization_monic (x2)
  32. 0032specialize prime_field_polynomial_monic_normalization_monic (L)
  33. 0033apply prime_field_polynomial_monic_normalization_monic
  34. 0034exact h_witness_witness_witness
  35. 0035split
  36. 0036specialize prime_field_polynomial_monic_normalization_represented_degree (p)
  37. 0037specialize prime_field_polynomial_monic_normalization_represented_degree (x)
  38. 0038specialize prime_field_polynomial_monic_normalization_represented_degree (ab)
  39. 0039specialize prime_field_polynomial_monic_normalization_represented_degree (ac)
  40. 0040specialize prime_field_polynomial_monic_normalization_represented_degree (x1)
  41. 0041specialize prime_field_polynomial_monic_normalization_represented_degree (x2)
  42. 0042specialize prime_field_polynomial_monic_normalization_represented_degree (L)
  43. 0043specialize prime_field_polynomial_monic_normalization_represented_degree (d)
  44. 0044apply prime_field_polynomial_monic_normalization_represented_degree
  45. 0045exact hd
  46. 0046exact h_witness_witness_witness
  47. 0047intro j
  48. 0048intro cb
  49. 0049intro cc
  50. 0050intro hj
  51. 0051split
  52. 0052specialize prime_field_polynomial_monic_normalization_scalar_functional (p)
  53. 0053specialize prime_field_polynomial_monic_normalization_scalar_functional (j)
  54. 0054specialize prime_field_polynomial_monic_normalization_scalar_functional (x)
  55. 0055specialize prime_field_polynomial_monic_normalization_scalar_functional (ab)
  56. 0056specialize prime_field_polynomial_monic_normalization_scalar_functional (ac)
  57. 0057specialize prime_field_polynomial_monic_normalization_scalar_functional (cb)
  58. 0058specialize prime_field_polynomial_monic_normalization_scalar_functional (cc)
  59. 0059specialize prime_field_polynomial_monic_normalization_scalar_functional (x1)
  60. 0060specialize prime_field_polynomial_monic_normalization_scalar_functional (x2)
  61. 0061specialize prime_field_polynomial_monic_normalization_scalar_functional (L)
  62. 0062apply prime_field_polynomial_monic_normalization_scalar_functional
  63. 0063exact hj
  64. 0064exact h_witness_witness_witness
  65. 0065specialize prime_field_polynomial_monic_normalization_functional (p)
  66. 0066specialize prime_field_polynomial_monic_normalization_functional (j)
  67. 0067specialize prime_field_polynomial_monic_normalization_functional (x)
  68. 0068specialize prime_field_polynomial_monic_normalization_functional (ab)
  69. 0069specialize prime_field_polynomial_monic_normalization_functional (ac)
  70. 0070specialize prime_field_polynomial_monic_normalization_functional (cb)
  71. 0071specialize prime_field_polynomial_monic_normalization_functional (cc)
  72. 0072specialize prime_field_polynomial_monic_normalization_functional (x1)
  73. 0073specialize prime_field_polynomial_monic_normalization_functional (x2)
  74. 0074specialize prime_field_polynomial_monic_normalization_functional (L)
  75. 0075apply prime_field_polynomial_monic_normalization_functional
  76. 0076exact hj
  77. 0077exact h_witness_witness_witness