ND0241

UnitScaledPrefix(a,m,b,c,d,e,l)

Public research checkpoint, not admitted to Alpha or Stable. Alpha v30 remains 3222 checked-use theorems; Stable remains 432. The on-demand Alpha Lean service does not yet expose these checkpoint theorems; their independently checked literal bundles and unchanged sources are available below.

Two genuine beta prefixes are related by modular multiplication by a precisely at coprime indices, with the other factors unchanged.

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

Definition in prerequisite notation

∀ eu_scale_index_bottomlayer. ∀ eu_scale_source_bottomlayer. ∀ eu_scale_target_bottomlayer. Lt(eu_scale_index_bottomlayer,l)BetaAt(b,c,eu_scale_index_bottomlayer,eu_scale_source_bottomlayer)BetaAt(d,e,eu_scale_index_bottomlayer,eu_scale_target_bottomlayer) → (Coprime(eu_scale_index_bottomlayer,m)ModEq(m,a · eu_scale_source_bottomlayer,eu_scale_target_bottomlayer)) ∧ (¬Coprime(eu_scale_index_bottomlayer,m)ModEq(m,eu_scale_source_bottomlayer,eu_scale_target_bottomlayer))

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

Hygienic expanded first-order definition
forall eu_scale_index_bottomlayer eu_scale_source_bottomlayer eu_scale_target_bottomlayer. (exists eut_gap_eu_bottomlayer_index. eut_gap_eu_bottomlayer_index + S (eu_scale_index_bottomlayer) = ((l))) -> (((exists fs_h_eu_bottomlayer_source. fs_h_eu_bottomlayer_source + S (eu_scale_source_bottomlayer) = S ((S (eu_scale_index_bottomlayer)) * (c))) /\ exists fs_q_eu_bottomlayer_source. (b) = fs_q_eu_bottomlayer_source * S ((S (eu_scale_index_bottomlayer)) * (c)) + (eu_scale_source_bottomlayer))) -> (((exists fs_h_eu_bottomlayer_target. fs_h_eu_bottomlayer_target + S (eu_scale_target_bottomlayer) = S ((S (eu_scale_index_bottomlayer)) * (e))) /\ exists fs_q_eu_bottomlayer_target. (d) = fs_q_eu_bottomlayer_target * S ((S (eu_scale_index_bottomlayer)) * (e)) + (eu_scale_target_bottomlayer))) -> (((forall eut_divisor_eu_bottomlayer_unit. (exists eut_left_eu_bottomlayer_unit. (eu_scale_index_bottomlayer) = eut_divisor_eu_bottomlayer_unit * eut_left_eu_bottomlayer_unit) -> (exists eut_right_eu_bottomlayer_unit. ((m)) = eut_divisor_eu_bottomlayer_unit * eut_right_eu_bottomlayer_unit) -> eut_divisor_eu_bottomlayer_unit = 1) -> (exists eu_mod_left_bottomlayer_scaled eu_mod_right_bottomlayer_scaled. (((a))*eu_scale_source_bottomlayer) + ((m)) * eu_mod_left_bottomlayer_scaled = (eu_scale_target_bottomlayer) + ((m)) * eu_mod_right_bottomlayer_scaled)) /\ (~(forall eut_divisor_eu_bottomlayer_unit. (exists eut_left_eu_bottomlayer_unit. (eu_scale_index_bottomlayer) = eut_divisor_eu_bottomlayer_unit * eut_left_eu_bottomlayer_unit) -> (exists eut_right_eu_bottomlayer_unit. ((m)) = eut_divisor_eu_bottomlayer_unit * eut_right_eu_bottomlayer_unit) -> eut_divisor_eu_bottomlayer_unit = 1) -> (exists eu_mod_left_bottomlayer_unchanged eu_mod_right_bottomlayer_unchanged. (eu_scale_source_bottomlayer) + ((m)) * eu_mod_left_bottomlayer_unchanged = (eu_scale_target_bottomlayer) + ((m)) * eu_mod_right_bottomlayer_unchanged)))

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