ND0332

FpMonicNormalization(p,k,ab,ac,bb,bc,L)

For nonempty length L, k is an actual inherited field inverse of the decoded source leading coefficient, and the result is its actual coefficientwise FpPolyScale action. Result monicity, degree preservation and represented-value uniqueness are separate conclusions, not premises. A recorded inverse can also exist at a composite modulus.

Conservative notation; not a theorem, primitive, or axiom.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.

Definition in prerequisite notation

¬L = 0 ∧ ((∃ x. BetaAt(ab,ac,0,x)FpInv(p,x,k)) ∧ FpPolyScale(p,k,ab,ac,bb,bc,L))

Only definitions earlier in this acyclic notation graph are used here.

Hygienic expanded first-order definition
((~(((L)) = 0)) /\ (((exists pfm_leading_polynomial_division_definition. ((((exists ff_h_pfp_polynomial_division_definitionsource. ff_h_pfp_polynomial_division_definitionsource + S (pfm_leading_polynomial_division_definition) = S ((S (0)) * (ac))) /\ exists ff_q_pfp_polynomial_division_definitionsource. (ab) = ff_q_pfp_polynomial_division_definitionsource * S ((S (0)) * (ac)) + (pfm_leading_polynomial_division_definition))) /\ ((((~((pfm_leading_polynomial_division_definition) = 0)) /\ ((((exists pfa_gap_polynomial_division_definitioninversemultiplicationleft. pfa_gap_polynomial_division_definitioninversemultiplicationleft + S (pfm_leading_polynomial_division_definition) = ((p))) /\ (((exists pfa_gap_polynomial_division_definitioninversemultiplicationright. pfa_gap_polynomial_division_definitioninversemultiplicationright + S ((k)) = ((p))) /\ ((((exists pfa_gap_polynomial_division_definitioninversemultiplicationresultbound. pfa_gap_polynomial_division_definitioninversemultiplicationresultbound + S (1) = ((p))) /\ ((exists pfa_offset_left_polynomial_division_definitioninversemultiplicationresultcongruence pfa_offset_right_polynomial_division_definitioninversemultiplicationresultcongruence. ((pfm_leading_polynomial_division_definition) * ((k))) + ((p)) * pfa_offset_left_polynomial_division_definitioninversemultiplicationresultcongruence = (1) + ((p)) * pfa_offset_right_polynomial_division_definitioninversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_polynomial_division_definitionscalescalar. pfa_gap_polynomial_division_definitionscalescalar + S ((k)) = ((p))) /\ ((forall pfp_index_polynomial_division_definitionscale. (exists pfa_gap_polynomial_division_definitionscaleindex. pfa_gap_polynomial_division_definitionscaleindex + S (pfp_index_polynomial_division_definitionscale) = ((L))) -> exists pfp_source_polynomial_division_definitionscale pfp_value_polynomial_division_definitionscale. ((((exists ff_h_pfp_polynomial_division_definitionscalesource. ff_h_pfp_polynomial_division_definitionscalesource + S (pfp_source_polynomial_division_definitionscale) = S ((S (pfp_index_polynomial_division_definitionscale)) * (ac))) /\ exists ff_q_pfp_polynomial_division_definitionscalesource. (ab) = ff_q_pfp_polynomial_division_definitionscalesource * S ((S (pfp_index_polynomial_division_definitionscale)) * (ac)) + (pfp_source_polynomial_division_definitionscale))) /\ (((((exists ff_h_pfp_polynomial_division_definitionscaletarget. ff_h_pfp_polynomial_division_definitionscaletarget + S (pfp_value_polynomial_division_definitionscale) = S ((S (pfp_index_polynomial_division_definitionscale)) * (bc))) /\ exists ff_q_pfp_polynomial_division_definitionscaletarget. (bb) = ff_q_pfp_polynomial_division_definitionscaletarget * S ((S (pfp_index_polynomial_division_definitionscale)) * (bc)) + (pfp_value_polynomial_division_definitionscale))) /\ ((((exists pfa_gap_polynomial_division_definitionscaleoperationleft. pfa_gap_polynomial_division_definitionscaleoperationleft + S ((k)) = ((p))) /\ (((exists pfa_gap_polynomial_division_definitionscaleoperationright. pfa_gap_polynomial_division_definitionscaleoperationright + S (pfp_source_polynomial_division_definitionscale) = ((p))) /\ ((((exists pfa_gap_polynomial_division_definitionscaleoperationresultbound. pfa_gap_polynomial_division_definitionscaleoperationresultbound + S (pfp_value_polynomial_division_definitionscale) = ((p))) /\ ((exists pfa_offset_left_polynomial_division_definitionscaleoperationresultcongruence pfa_offset_right_polynomial_division_definitionscaleoperationresultcongruence. (((k)) * (pfp_source_polynomial_division_definitionscale)) + ((p)) * pfa_offset_left_polynomial_division_definitionscaleoperationresultcongruence = (pfp_value_polynomial_division_definitionscale) + ((p)) * pfa_offset_right_polynomial_division_definitionscaleoperationresultcongruence)))))))))))))))))))))

The unchanged native kernel never receives this surface symbol. Binder-safe expansion produces only its existing first-order syntax.

Direct definition dependencies

Definitions depending on this notation

none

Checked theorems using this definition