JT004A

jordan_totient_coprime_product

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

Actual finite tuple-count Jordan values multiply at coprime moduli.

Exact expanded first-order arithmetic statement

forall k a b u v. (forall jt_divisor_jmulcop. (exists jt_factor_jmulcopa. (a)=(jt_divisor_jmulcop)*jt_factor_jmulcopa) -> (exists jt_factor_jmulcopb. (b)=(jt_divisor_jmulcop)*jt_factor_jmulcopb) -> jt_divisor_jmulcop=1) -> (((~((k)=0)) /\ (((~((a)=0)) /\ (exists jt_codes_jmulleft jt_code_scale_jmulleft jt_scales_jmulleft jt_scale_scale_jmulleft. ((forall jt_i_jmulleftenum. (exists jt_gap_jmulleftenumsoundindex. jt_gap_jmulleftenumsoundindex+S (jt_i_jmulleftenum)=(u)) -> exists jt_b_jmulleftenum jt_c_jmulleftenum. ((((((exists fs_h_jt_jmulleftenumsoundcode. fs_h_jt_jmulleftenumsoundcode + S (jt_b_jmulleftenum) = S ((S (jt_i_jmulleftenum)) * jt_code_scale_jmulleft)) /\ exists fs_q_jt_jmulleftenumsoundcode. jt_codes_jmulleft = fs_q_jt_jmulleftenumsoundcode * S ((S (jt_i_jmulleftenum)) * jt_code_scale_jmulleft) + (jt_b_jmulleftenum))) /\ (((exists fs_h_jt_jmulleftenumsoundscale. fs_h_jt_jmulleftenumsoundscale + S (jt_c_jmulleftenum) = S ((S (jt_i_jmulleftenum)) * jt_scale_scale_jmulleft)) /\ exists fs_q_jt_jmulleftenumsoundscale. jt_scales_jmulleft = fs_q_jt_jmulleftenumsoundscale * S ((S (jt_i_jmulleftenum)) * jt_scale_scale_jmulleft) + (jt_c_jmulleftenum))))) /\ (((forall jt_index_jmulleftenumbound. (exists jt_gap_jmulleftenumboundindex. jt_gap_jmulleftenumboundindex+S (jt_index_jmulleftenumbound)=(k)) -> exists jt_value_jmulleftenumbound. ((((exists fs_h_jt_jmulleftenumboundat. fs_h_jt_jmulleftenumboundat + S (jt_value_jmulleftenumbound) = S ((S (jt_index_jmulleftenumbound)) * jt_c_jmulleftenum)) /\ exists fs_q_jt_jmulleftenumboundat. jt_b_jmulleftenum = fs_q_jt_jmulleftenumboundat * S ((S (jt_index_jmulleftenumbound)) * jt_c_jmulleftenum) + (jt_value_jmulleftenumbound))) /\ (exists jt_gap_jmulleftenumboundvalue. jt_gap_jmulleftenumboundvalue+S (jt_value_jmulleftenumbound)=(a)))) /\ (forall jt_divisor_jmulleftenumprimitive. (exists jt_factor_jmulleftenumprimitivemodulus. (a)=(jt_divisor_jmulleftenumprimitive)*jt_factor_jmulleftenumprimitivemodulus) -> (forall jt_index_jmulleftenumprimitivecoordinates jt_value_jmulleftenumprimitivecoordinates. (exists jt_gap_jmulleftenumprimitivecoordinatesindex. jt_gap_jmulleftenumprimitivecoordinatesindex+S (jt_index_jmulleftenumprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jmulleftenumprimitivecoordinatesat. fs_h_jt_jmulleftenumprimitivecoordinatesat + S (jt_value_jmulleftenumprimitivecoordinates) = S ((S (jt_index_jmulleftenumprimitivecoordinates)) * jt_c_jmulleftenum)) /\ exists fs_q_jt_jmulleftenumprimitivecoordinatesat. jt_b_jmulleftenum = fs_q_jt_jmulleftenumprimitivecoordinatesat * S ((S (jt_index_jmulleftenumprimitivecoordinates)) * jt_c_jmulleftenum) + (jt_value_jmulleftenumprimitivecoordinates))) -> (exists jt_factor_jmulleftenumprimitivecoordinatesdivides. (jt_value_jmulleftenumprimitivecoordinates)=(jt_divisor_jmulleftenumprimitive)*jt_factor_jmulleftenumprimitivecoordinatesdivides)) -> jt_divisor_jmulleftenumprimitive=1))))) /\ (((forall jt_b_jmulleftenum jt_c_jmulleftenum. (forall jt_index_jmulleftenuminputbound. (exists jt_gap_jmulleftenuminputboundindex. jt_gap_jmulleftenuminputboundindex+S (jt_index_jmulleftenuminputbound)=(k)) -> exists jt_value_jmulleftenuminputbound. ((((exists fs_h_jt_jmulleftenuminputboundat. fs_h_jt_jmulleftenuminputboundat + S (jt_value_jmulleftenuminputbound) = S ((S (jt_index_jmulleftenuminputbound)) * jt_c_jmulleftenum)) /\ exists fs_q_jt_jmulleftenuminputboundat. jt_b_jmulleftenum = fs_q_jt_jmulleftenuminputboundat * S ((S (jt_index_jmulleftenuminputbound)) * jt_c_jmulleftenum) + (jt_value_jmulleftenuminputbound))) /\ (exists jt_gap_jmulleftenuminputboundvalue. jt_gap_jmulleftenuminputboundvalue+S (jt_value_jmulleftenuminputbound)=(a)))) -> (forall jt_divisor_jmulleftenuminputprimitive. (exists jt_factor_jmulleftenuminputprimitivemodulus. (a)=(jt_divisor_jmulleftenuminputprimitive)*jt_factor_jmulleftenuminputprimitivemodulus) -> (forall jt_index_jmulleftenuminputprimitivecoordinates jt_value_jmulleftenuminputprimitivecoordinates. (exists jt_gap_jmulleftenuminputprimitivecoordinatesindex. jt_gap_jmulleftenuminputprimitivecoordinatesindex+S (jt_index_jmulleftenuminputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jmulleftenuminputprimitivecoordinatesat. fs_h_jt_jmulleftenuminputprimitivecoordinatesat + S (jt_value_jmulleftenuminputprimitivecoordinates) = S ((S (jt_index_jmulleftenuminputprimitivecoordinates)) * jt_c_jmulleftenum)) /\ exists fs_q_jt_jmulleftenuminputprimitivecoordinatesat. jt_b_jmulleftenum = fs_q_jt_jmulleftenuminputprimitivecoordinatesat * S ((S (jt_index_jmulleftenuminputprimitivecoordinates)) * jt_c_jmulleftenum) + (jt_value_jmulleftenuminputprimitivecoordinates))) -> (exists jt_factor_jmulleftenuminputprimitivecoordinatesdivides. (jt_value_jmulleftenuminputprimitivecoordinates)=(jt_divisor_jmulleftenuminputprimitive)*jt_factor_jmulleftenuminputprimitivecoordinatesdivides)) -> jt_divisor_jmulleftenuminputprimitive=1) -> exists jt_i_jmulleftenum jt_d_jmulleftenum jt_e_jmulleftenum. ((exists jt_gap_jmulleftenumcompleteindex. jt_gap_jmulleftenumcompleteindex+S (jt_i_jmulleftenum)=(u)) /\ (((((((exists fs_h_jt_jmulleftenumcompletecode. fs_h_jt_jmulleftenumcompletecode + S (jt_d_jmulleftenum) = S ((S (jt_i_jmulleftenum)) * jt_code_scale_jmulleft)) /\ exists fs_q_jt_jmulleftenumcompletecode. jt_codes_jmulleft = fs_q_jt_jmulleftenumcompletecode * S ((S (jt_i_jmulleftenum)) * jt_code_scale_jmulleft) + (jt_d_jmulleftenum))) /\ (((exists fs_h_jt_jmulleftenumcompletescale. fs_h_jt_jmulleftenumcompletescale + S (jt_e_jmulleftenum) = S ((S (jt_i_jmulleftenum)) * jt_scale_scale_jmulleft)) /\ exists fs_q_jt_jmulleftenumcompletescale. jt_scales_jmulleft = fs_q_jt_jmulleftenumcompletescale * S ((S (jt_i_jmulleftenum)) * jt_scale_scale_jmulleft) + (jt_e_jmulleftenum))))) /\ (forall jt_index_jmulleftenumrepresented jt_left_jmulleftenumrepresented jt_right_jmulleftenumrepresented. (exists jt_gap_jmulleftenumrepresentedindex. jt_gap_jmulleftenumrepresentedindex+S (jt_index_jmulleftenumrepresented)=(k)) -> (((exists fs_h_jt_jmulleftenumrepresentedleft. fs_h_jt_jmulleftenumrepresentedleft + S (jt_left_jmulleftenumrepresented) = S ((S (jt_index_jmulleftenumrepresented)) * jt_c_jmulleftenum)) /\ exists fs_q_jt_jmulleftenumrepresentedleft. jt_b_jmulleftenum = fs_q_jt_jmulleftenumrepresentedleft * S ((S (jt_index_jmulleftenumrepresented)) * jt_c_jmulleftenum) + (jt_left_jmulleftenumrepresented))) -> (((exists fs_h_jt_jmulleftenumrepresentedright. fs_h_jt_jmulleftenumrepresentedright + S (jt_right_jmulleftenumrepresented) = S ((S (jt_index_jmulleftenumrepresented)) * jt_e_jmulleftenum)) /\ exists fs_q_jt_jmulleftenumrepresentedright. jt_d_jmulleftenum = fs_q_jt_jmulleftenumrepresentedright * S ((S (jt_index_jmulleftenumrepresented)) * jt_e_jmulleftenum) + (jt_right_jmulleftenumrepresented))) -> jt_left_jmulleftenumrepresented=jt_right_jmulleftenumrepresented))))) /\ (forall jt_i_jmulleftenum jt_h_jmulleftenum jt_b_jmulleftenum jt_c_jmulleftenum jt_d_jmulleftenum jt_e_jmulleftenum. (exists jt_gap_jmulleftenumfirstindex. jt_gap_jmulleftenumfirstindex+S (jt_i_jmulleftenum)=(u)) -> (exists jt_gap_jmulleftenumsecondindex. jt_gap_jmulleftenumsecondindex+S (jt_h_jmulleftenum)=(u)) -> (((((exists fs_h_jt_jmulleftenumfirstcode. fs_h_jt_jmulleftenumfirstcode + S (jt_b_jmulleftenum) = S ((S (jt_i_jmulleftenum)) * jt_code_scale_jmulleft)) /\ exists fs_q_jt_jmulleftenumfirstcode. jt_codes_jmulleft = fs_q_jt_jmulleftenumfirstcode * S ((S (jt_i_jmulleftenum)) * jt_code_scale_jmulleft) + (jt_b_jmulleftenum))) /\ (((exists fs_h_jt_jmulleftenumfirstscale. fs_h_jt_jmulleftenumfirstscale + S (jt_c_jmulleftenum) = S ((S (jt_i_jmulleftenum)) * jt_scale_scale_jmulleft)) /\ exists fs_q_jt_jmulleftenumfirstscale. jt_scales_jmulleft = fs_q_jt_jmulleftenumfirstscale * S ((S (jt_i_jmulleftenum)) * jt_scale_scale_jmulleft) + (jt_c_jmulleftenum))))) -> (((((exists fs_h_jt_jmulleftenumsecondcode. fs_h_jt_jmulleftenumsecondcode + S (jt_d_jmulleftenum) = S ((S (jt_h_jmulleftenum)) * jt_code_scale_jmulleft)) /\ exists fs_q_jt_jmulleftenumsecondcode. jt_codes_jmulleft = fs_q_jt_jmulleftenumsecondcode * S ((S (jt_h_jmulleftenum)) * jt_code_scale_jmulleft) + (jt_d_jmulleftenum))) /\ (((exists fs_h_jt_jmulleftenumsecondscale. fs_h_jt_jmulleftenumsecondscale + S (jt_e_jmulleftenum) = S ((S (jt_h_jmulleftenum)) * jt_scale_scale_jmulleft)) /\ exists fs_q_jt_jmulleftenumsecondscale. jt_scales_jmulleft = fs_q_jt_jmulleftenumsecondscale * S ((S (jt_h_jmulleftenum)) * jt_scale_scale_jmulleft) + (jt_e_jmulleftenum))))) -> (forall jt_index_jmulleftenumsame jt_left_jmulleftenumsame jt_right_jmulleftenumsame. (exists jt_gap_jmulleftenumsameindex. jt_gap_jmulleftenumsameindex+S (jt_index_jmulleftenumsame)=(k)) -> (((exists fs_h_jt_jmulleftenumsameleft. fs_h_jt_jmulleftenumsameleft + S (jt_left_jmulleftenumsame) = S ((S (jt_index_jmulleftenumsame)) * jt_c_jmulleftenum)) /\ exists fs_q_jt_jmulleftenumsameleft. jt_b_jmulleftenum = fs_q_jt_jmulleftenumsameleft * S ((S (jt_index_jmulleftenumsame)) * jt_c_jmulleftenum) + (jt_left_jmulleftenumsame))) -> (((exists fs_h_jt_jmulleftenumsameright. fs_h_jt_jmulleftenumsameright + S (jt_right_jmulleftenumsame) = S ((S (jt_index_jmulleftenumsame)) * jt_e_jmulleftenum)) /\ exists fs_q_jt_jmulleftenumsameright. jt_d_jmulleftenum = fs_q_jt_jmulleftenumsameright * S ((S (jt_index_jmulleftenumsame)) * jt_e_jmulleftenum) + (jt_right_jmulleftenumsame))) -> jt_left_jmulleftenumsame=jt_right_jmulleftenumsame) -> jt_i_jmulleftenum=jt_h_jmulleftenum))))))))) -> (((~((k)=0)) /\ (((~((b)=0)) /\ (exists jt_codes_jmulright jt_code_scale_jmulright jt_scales_jmulright jt_scale_scale_jmulright. ((forall jt_i_jmulrightenum. (exists jt_gap_jmulrightenumsoundindex. jt_gap_jmulrightenumsoundindex+S (jt_i_jmulrightenum)=(v)) -> exists jt_b_jmulrightenum jt_c_jmulrightenum. ((((((exists fs_h_jt_jmulrightenumsoundcode. fs_h_jt_jmulrightenumsoundcode + S (jt_b_jmulrightenum) = S ((S (jt_i_jmulrightenum)) * jt_code_scale_jmulright)) /\ exists fs_q_jt_jmulrightenumsoundcode. jt_codes_jmulright = fs_q_jt_jmulrightenumsoundcode * S ((S (jt_i_jmulrightenum)) * jt_code_scale_jmulright) + (jt_b_jmulrightenum))) /\ (((exists fs_h_jt_jmulrightenumsoundscale. fs_h_jt_jmulrightenumsoundscale + S (jt_c_jmulrightenum) = S ((S (jt_i_jmulrightenum)) * jt_scale_scale_jmulright)) /\ exists fs_q_jt_jmulrightenumsoundscale. jt_scales_jmulright = fs_q_jt_jmulrightenumsoundscale * S ((S (jt_i_jmulrightenum)) * jt_scale_scale_jmulright) + (jt_c_jmulrightenum))))) /\ (((forall jt_index_jmulrightenumbound. (exists jt_gap_jmulrightenumboundindex. jt_gap_jmulrightenumboundindex+S (jt_index_jmulrightenumbound)=(k)) -> exists jt_value_jmulrightenumbound. ((((exists fs_h_jt_jmulrightenumboundat. fs_h_jt_jmulrightenumboundat + S (jt_value_jmulrightenumbound) = S ((S (jt_index_jmulrightenumbound)) * jt_c_jmulrightenum)) /\ exists fs_q_jt_jmulrightenumboundat. jt_b_jmulrightenum = fs_q_jt_jmulrightenumboundat * S ((S (jt_index_jmulrightenumbound)) * jt_c_jmulrightenum) + (jt_value_jmulrightenumbound))) /\ (exists jt_gap_jmulrightenumboundvalue. jt_gap_jmulrightenumboundvalue+S (jt_value_jmulrightenumbound)=(b)))) /\ (forall jt_divisor_jmulrightenumprimitive. (exists jt_factor_jmulrightenumprimitivemodulus. (b)=(jt_divisor_jmulrightenumprimitive)*jt_factor_jmulrightenumprimitivemodulus) -> (forall jt_index_jmulrightenumprimitivecoordinates jt_value_jmulrightenumprimitivecoordinates. (exists jt_gap_jmulrightenumprimitivecoordinatesindex. jt_gap_jmulrightenumprimitivecoordinatesindex+S (jt_index_jmulrightenumprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jmulrightenumprimitivecoordinatesat. fs_h_jt_jmulrightenumprimitivecoordinatesat + S (jt_value_jmulrightenumprimitivecoordinates) = S ((S (jt_index_jmulrightenumprimitivecoordinates)) * jt_c_jmulrightenum)) /\ exists fs_q_jt_jmulrightenumprimitivecoordinatesat. jt_b_jmulrightenum = fs_q_jt_jmulrightenumprimitivecoordinatesat * S ((S (jt_index_jmulrightenumprimitivecoordinates)) * jt_c_jmulrightenum) + (jt_value_jmulrightenumprimitivecoordinates))) -> (exists jt_factor_jmulrightenumprimitivecoordinatesdivides. (jt_value_jmulrightenumprimitivecoordinates)=(jt_divisor_jmulrightenumprimitive)*jt_factor_jmulrightenumprimitivecoordinatesdivides)) -> jt_divisor_jmulrightenumprimitive=1))))) /\ (((forall jt_b_jmulrightenum jt_c_jmulrightenum. (forall jt_index_jmulrightenuminputbound. (exists jt_gap_jmulrightenuminputboundindex. jt_gap_jmulrightenuminputboundindex+S (jt_index_jmulrightenuminputbound)=(k)) -> exists jt_value_jmulrightenuminputbound. ((((exists fs_h_jt_jmulrightenuminputboundat. fs_h_jt_jmulrightenuminputboundat + S (jt_value_jmulrightenuminputbound) = S ((S (jt_index_jmulrightenuminputbound)) * jt_c_jmulrightenum)) /\ exists fs_q_jt_jmulrightenuminputboundat. jt_b_jmulrightenum = fs_q_jt_jmulrightenuminputboundat * S ((S (jt_index_jmulrightenuminputbound)) * jt_c_jmulrightenum) + (jt_value_jmulrightenuminputbound))) /\ (exists jt_gap_jmulrightenuminputboundvalue. jt_gap_jmulrightenuminputboundvalue+S (jt_value_jmulrightenuminputbound)=(b)))) -> (forall jt_divisor_jmulrightenuminputprimitive. (exists jt_factor_jmulrightenuminputprimitivemodulus. (b)=(jt_divisor_jmulrightenuminputprimitive)*jt_factor_jmulrightenuminputprimitivemodulus) -> (forall jt_index_jmulrightenuminputprimitivecoordinates jt_value_jmulrightenuminputprimitivecoordinates. (exists jt_gap_jmulrightenuminputprimitivecoordinatesindex. jt_gap_jmulrightenuminputprimitivecoordinatesindex+S (jt_index_jmulrightenuminputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jmulrightenuminputprimitivecoordinatesat. fs_h_jt_jmulrightenuminputprimitivecoordinatesat + S (jt_value_jmulrightenuminputprimitivecoordinates) = S ((S (jt_index_jmulrightenuminputprimitivecoordinates)) * jt_c_jmulrightenum)) /\ exists fs_q_jt_jmulrightenuminputprimitivecoordinatesat. jt_b_jmulrightenum = fs_q_jt_jmulrightenuminputprimitivecoordinatesat * S ((S (jt_index_jmulrightenuminputprimitivecoordinates)) * jt_c_jmulrightenum) + (jt_value_jmulrightenuminputprimitivecoordinates))) -> (exists jt_factor_jmulrightenuminputprimitivecoordinatesdivides. (jt_value_jmulrightenuminputprimitivecoordinates)=(jt_divisor_jmulrightenuminputprimitive)*jt_factor_jmulrightenuminputprimitivecoordinatesdivides)) -> jt_divisor_jmulrightenuminputprimitive=1) -> exists jt_i_jmulrightenum jt_d_jmulrightenum jt_e_jmulrightenum. ((exists jt_gap_jmulrightenumcompleteindex. jt_gap_jmulrightenumcompleteindex+S (jt_i_jmulrightenum)=(v)) /\ (((((((exists fs_h_jt_jmulrightenumcompletecode. fs_h_jt_jmulrightenumcompletecode + S (jt_d_jmulrightenum) = S ((S (jt_i_jmulrightenum)) * jt_code_scale_jmulright)) /\ exists fs_q_jt_jmulrightenumcompletecode. jt_codes_jmulright = fs_q_jt_jmulrightenumcompletecode * S ((S (jt_i_jmulrightenum)) * jt_code_scale_jmulright) + (jt_d_jmulrightenum))) /\ (((exists fs_h_jt_jmulrightenumcompletescale. fs_h_jt_jmulrightenumcompletescale + S (jt_e_jmulrightenum) = S ((S (jt_i_jmulrightenum)) * jt_scale_scale_jmulright)) /\ exists fs_q_jt_jmulrightenumcompletescale. jt_scales_jmulright = fs_q_jt_jmulrightenumcompletescale * S ((S (jt_i_jmulrightenum)) * jt_scale_scale_jmulright) + (jt_e_jmulrightenum))))) /\ (forall jt_index_jmulrightenumrepresented jt_left_jmulrightenumrepresented jt_right_jmulrightenumrepresented. (exists jt_gap_jmulrightenumrepresentedindex. jt_gap_jmulrightenumrepresentedindex+S (jt_index_jmulrightenumrepresented)=(k)) -> (((exists fs_h_jt_jmulrightenumrepresentedleft. fs_h_jt_jmulrightenumrepresentedleft + S (jt_left_jmulrightenumrepresented) = S ((S (jt_index_jmulrightenumrepresented)) * jt_c_jmulrightenum)) /\ exists fs_q_jt_jmulrightenumrepresentedleft. jt_b_jmulrightenum = fs_q_jt_jmulrightenumrepresentedleft * S ((S (jt_index_jmulrightenumrepresented)) * jt_c_jmulrightenum) + (jt_left_jmulrightenumrepresented))) -> (((exists fs_h_jt_jmulrightenumrepresentedright. fs_h_jt_jmulrightenumrepresentedright + S (jt_right_jmulrightenumrepresented) = S ((S (jt_index_jmulrightenumrepresented)) * jt_e_jmulrightenum)) /\ exists fs_q_jt_jmulrightenumrepresentedright. jt_d_jmulrightenum = fs_q_jt_jmulrightenumrepresentedright * S ((S (jt_index_jmulrightenumrepresented)) * jt_e_jmulrightenum) + (jt_right_jmulrightenumrepresented))) -> jt_left_jmulrightenumrepresented=jt_right_jmulrightenumrepresented))))) /\ (forall jt_i_jmulrightenum jt_h_jmulrightenum jt_b_jmulrightenum jt_c_jmulrightenum jt_d_jmulrightenum jt_e_jmulrightenum. (exists jt_gap_jmulrightenumfirstindex. jt_gap_jmulrightenumfirstindex+S (jt_i_jmulrightenum)=(v)) -> (exists jt_gap_jmulrightenumsecondindex. jt_gap_jmulrightenumsecondindex+S (jt_h_jmulrightenum)=(v)) -> (((((exists fs_h_jt_jmulrightenumfirstcode. fs_h_jt_jmulrightenumfirstcode + S (jt_b_jmulrightenum) = S ((S (jt_i_jmulrightenum)) * jt_code_scale_jmulright)) /\ exists fs_q_jt_jmulrightenumfirstcode. jt_codes_jmulright = fs_q_jt_jmulrightenumfirstcode * S ((S (jt_i_jmulrightenum)) * jt_code_scale_jmulright) + (jt_b_jmulrightenum))) /\ (((exists fs_h_jt_jmulrightenumfirstscale. fs_h_jt_jmulrightenumfirstscale + S (jt_c_jmulrightenum) = S ((S (jt_i_jmulrightenum)) * jt_scale_scale_jmulright)) /\ exists fs_q_jt_jmulrightenumfirstscale. jt_scales_jmulright = fs_q_jt_jmulrightenumfirstscale * S ((S (jt_i_jmulrightenum)) * jt_scale_scale_jmulright) + (jt_c_jmulrightenum))))) -> (((((exists fs_h_jt_jmulrightenumsecondcode. fs_h_jt_jmulrightenumsecondcode + S (jt_d_jmulrightenum) = S ((S (jt_h_jmulrightenum)) * jt_code_scale_jmulright)) /\ exists fs_q_jt_jmulrightenumsecondcode. jt_codes_jmulright = fs_q_jt_jmulrightenumsecondcode * S ((S (jt_h_jmulrightenum)) * jt_code_scale_jmulright) + (jt_d_jmulrightenum))) /\ (((exists fs_h_jt_jmulrightenumsecondscale. fs_h_jt_jmulrightenumsecondscale + S (jt_e_jmulrightenum) = S ((S (jt_h_jmulrightenum)) * jt_scale_scale_jmulright)) /\ exists fs_q_jt_jmulrightenumsecondscale. jt_scales_jmulright = fs_q_jt_jmulrightenumsecondscale * S ((S (jt_h_jmulrightenum)) * jt_scale_scale_jmulright) + (jt_e_jmulrightenum))))) -> (forall jt_index_jmulrightenumsame jt_left_jmulrightenumsame jt_right_jmulrightenumsame. (exists jt_gap_jmulrightenumsameindex. jt_gap_jmulrightenumsameindex+S (jt_index_jmulrightenumsame)=(k)) -> (((exists fs_h_jt_jmulrightenumsameleft. fs_h_jt_jmulrightenumsameleft + S (jt_left_jmulrightenumsame) = S ((S (jt_index_jmulrightenumsame)) * jt_c_jmulrightenum)) /\ exists fs_q_jt_jmulrightenumsameleft. jt_b_jmulrightenum = fs_q_jt_jmulrightenumsameleft * S ((S (jt_index_jmulrightenumsame)) * jt_c_jmulrightenum) + (jt_left_jmulrightenumsame))) -> (((exists fs_h_jt_jmulrightenumsameright. fs_h_jt_jmulrightenumsameright + S (jt_right_jmulrightenumsame) = S ((S (jt_index_jmulrightenumsame)) * jt_e_jmulrightenum)) /\ exists fs_q_jt_jmulrightenumsameright. jt_d_jmulrightenum = fs_q_jt_jmulrightenumsameright * S ((S (jt_index_jmulrightenumsame)) * jt_e_jmulrightenum) + (jt_right_jmulrightenumsame))) -> jt_left_jmulrightenumsame=jt_right_jmulrightenumsame) -> jt_i_jmulrightenum=jt_h_jmulrightenum))))))))) -> (((~((k)=0)) /\ (((~((a*b)=0)) /\ (exists jt_codes_jmulresult jt_code_scale_jmulresult jt_scales_jmulresult jt_scale_scale_jmulresult. ((forall jt_i_jmulresultenum. (exists jt_gap_jmulresultenumsoundindex. jt_gap_jmulresultenumsoundindex+S (jt_i_jmulresultenum)=(u*v)) -> exists jt_b_jmulresultenum jt_c_jmulresultenum. ((((((exists fs_h_jt_jmulresultenumsoundcode. fs_h_jt_jmulresultenumsoundcode + S (jt_b_jmulresultenum) = S ((S (jt_i_jmulresultenum)) * jt_code_scale_jmulresult)) /\ exists fs_q_jt_jmulresultenumsoundcode. jt_codes_jmulresult = fs_q_jt_jmulresultenumsoundcode * S ((S (jt_i_jmulresultenum)) * jt_code_scale_jmulresult) + (jt_b_jmulresultenum))) /\ (((exists fs_h_jt_jmulresultenumsoundscale. fs_h_jt_jmulresultenumsoundscale + S (jt_c_jmulresultenum) = S ((S (jt_i_jmulresultenum)) * jt_scale_scale_jmulresult)) /\ exists fs_q_jt_jmulresultenumsoundscale. jt_scales_jmulresult = fs_q_jt_jmulresultenumsoundscale * S ((S (jt_i_jmulresultenum)) * jt_scale_scale_jmulresult) + (jt_c_jmulresultenum))))) /\ (((forall jt_index_jmulresultenumbound. (exists jt_gap_jmulresultenumboundindex. jt_gap_jmulresultenumboundindex+S (jt_index_jmulresultenumbound)=(k)) -> exists jt_value_jmulresultenumbound. ((((exists fs_h_jt_jmulresultenumboundat. fs_h_jt_jmulresultenumboundat + S (jt_value_jmulresultenumbound) = S ((S (jt_index_jmulresultenumbound)) * jt_c_jmulresultenum)) /\ exists fs_q_jt_jmulresultenumboundat. jt_b_jmulresultenum = fs_q_jt_jmulresultenumboundat * S ((S (jt_index_jmulresultenumbound)) * jt_c_jmulresultenum) + (jt_value_jmulresultenumbound))) /\ (exists jt_gap_jmulresultenumboundvalue. jt_gap_jmulresultenumboundvalue+S (jt_value_jmulresultenumbound)=(a*b)))) /\ (forall jt_divisor_jmulresultenumprimitive. (exists jt_factor_jmulresultenumprimitivemodulus. (a*b)=(jt_divisor_jmulresultenumprimitive)*jt_factor_jmulresultenumprimitivemodulus) -> (forall jt_index_jmulresultenumprimitivecoordinates jt_value_jmulresultenumprimitivecoordinates. (exists jt_gap_jmulresultenumprimitivecoordinatesindex. jt_gap_jmulresultenumprimitivecoordinatesindex+S (jt_index_jmulresultenumprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jmulresultenumprimitivecoordinatesat. fs_h_jt_jmulresultenumprimitivecoordinatesat + S (jt_value_jmulresultenumprimitivecoordinates) = S ((S (jt_index_jmulresultenumprimitivecoordinates)) * jt_c_jmulresultenum)) /\ exists fs_q_jt_jmulresultenumprimitivecoordinatesat. jt_b_jmulresultenum = fs_q_jt_jmulresultenumprimitivecoordinatesat * S ((S (jt_index_jmulresultenumprimitivecoordinates)) * jt_c_jmulresultenum) + (jt_value_jmulresultenumprimitivecoordinates))) -> (exists jt_factor_jmulresultenumprimitivecoordinatesdivides. (jt_value_jmulresultenumprimitivecoordinates)=(jt_divisor_jmulresultenumprimitive)*jt_factor_jmulresultenumprimitivecoordinatesdivides)) -> jt_divisor_jmulresultenumprimitive=1))))) /\ (((forall jt_b_jmulresultenum jt_c_jmulresultenum. (forall jt_index_jmulresultenuminputbound. (exists jt_gap_jmulresultenuminputboundindex. jt_gap_jmulresultenuminputboundindex+S (jt_index_jmulresultenuminputbound)=(k)) -> exists jt_value_jmulresultenuminputbound. ((((exists fs_h_jt_jmulresultenuminputboundat. fs_h_jt_jmulresultenuminputboundat + S (jt_value_jmulresultenuminputbound) = S ((S (jt_index_jmulresultenuminputbound)) * jt_c_jmulresultenum)) /\ exists fs_q_jt_jmulresultenuminputboundat. jt_b_jmulresultenum = fs_q_jt_jmulresultenuminputboundat * S ((S (jt_index_jmulresultenuminputbound)) * jt_c_jmulresultenum) + (jt_value_jmulresultenuminputbound))) /\ (exists jt_gap_jmulresultenuminputboundvalue. jt_gap_jmulresultenuminputboundvalue+S (jt_value_jmulresultenuminputbound)=(a*b)))) -> (forall jt_divisor_jmulresultenuminputprimitive. (exists jt_factor_jmulresultenuminputprimitivemodulus. (a*b)=(jt_divisor_jmulresultenuminputprimitive)*jt_factor_jmulresultenuminputprimitivemodulus) -> (forall jt_index_jmulresultenuminputprimitivecoordinates jt_value_jmulresultenuminputprimitivecoordinates. (exists jt_gap_jmulresultenuminputprimitivecoordinatesindex. jt_gap_jmulresultenuminputprimitivecoordinatesindex+S (jt_index_jmulresultenuminputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jmulresultenuminputprimitivecoordinatesat. fs_h_jt_jmulresultenuminputprimitivecoordinatesat + S (jt_value_jmulresultenuminputprimitivecoordinates) = S ((S (jt_index_jmulresultenuminputprimitivecoordinates)) * jt_c_jmulresultenum)) /\ exists fs_q_jt_jmulresultenuminputprimitivecoordinatesat. jt_b_jmulresultenum = fs_q_jt_jmulresultenuminputprimitivecoordinatesat * S ((S (jt_index_jmulresultenuminputprimitivecoordinates)) * jt_c_jmulresultenum) + (jt_value_jmulresultenuminputprimitivecoordinates))) -> (exists jt_factor_jmulresultenuminputprimitivecoordinatesdivides. (jt_value_jmulresultenuminputprimitivecoordinates)=(jt_divisor_jmulresultenuminputprimitive)*jt_factor_jmulresultenuminputprimitivecoordinatesdivides)) -> jt_divisor_jmulresultenuminputprimitive=1) -> exists jt_i_jmulresultenum jt_d_jmulresultenum jt_e_jmulresultenum. ((exists jt_gap_jmulresultenumcompleteindex. jt_gap_jmulresultenumcompleteindex+S (jt_i_jmulresultenum)=(u*v)) /\ (((((((exists fs_h_jt_jmulresultenumcompletecode. fs_h_jt_jmulresultenumcompletecode + S (jt_d_jmulresultenum) = S ((S (jt_i_jmulresultenum)) * jt_code_scale_jmulresult)) /\ exists fs_q_jt_jmulresultenumcompletecode. jt_codes_jmulresult = fs_q_jt_jmulresultenumcompletecode * S ((S (jt_i_jmulresultenum)) * jt_code_scale_jmulresult) + (jt_d_jmulresultenum))) /\ (((exists fs_h_jt_jmulresultenumcompletescale. fs_h_jt_jmulresultenumcompletescale + S (jt_e_jmulresultenum) = S ((S (jt_i_jmulresultenum)) * jt_scale_scale_jmulresult)) /\ exists fs_q_jt_jmulresultenumcompletescale. jt_scales_jmulresult = fs_q_jt_jmulresultenumcompletescale * S ((S (jt_i_jmulresultenum)) * jt_scale_scale_jmulresult) + (jt_e_jmulresultenum))))) /\ (forall jt_index_jmulresultenumrepresented jt_left_jmulresultenumrepresented jt_right_jmulresultenumrepresented. (exists jt_gap_jmulresultenumrepresentedindex. jt_gap_jmulresultenumrepresentedindex+S (jt_index_jmulresultenumrepresented)=(k)) -> (((exists fs_h_jt_jmulresultenumrepresentedleft. fs_h_jt_jmulresultenumrepresentedleft + S (jt_left_jmulresultenumrepresented) = S ((S (jt_index_jmulresultenumrepresented)) * jt_c_jmulresultenum)) /\ exists fs_q_jt_jmulresultenumrepresentedleft. jt_b_jmulresultenum = fs_q_jt_jmulresultenumrepresentedleft * S ((S (jt_index_jmulresultenumrepresented)) * jt_c_jmulresultenum) + (jt_left_jmulresultenumrepresented))) -> (((exists fs_h_jt_jmulresultenumrepresentedright. fs_h_jt_jmulresultenumrepresentedright + S (jt_right_jmulresultenumrepresented) = S ((S (jt_index_jmulresultenumrepresented)) * jt_e_jmulresultenum)) /\ exists fs_q_jt_jmulresultenumrepresentedright. jt_d_jmulresultenum = fs_q_jt_jmulresultenumrepresentedright * S ((S (jt_index_jmulresultenumrepresented)) * jt_e_jmulresultenum) + (jt_right_jmulresultenumrepresented))) -> jt_left_jmulresultenumrepresented=jt_right_jmulresultenumrepresented))))) /\ (forall jt_i_jmulresultenum jt_h_jmulresultenum jt_b_jmulresultenum jt_c_jmulresultenum jt_d_jmulresultenum jt_e_jmulresultenum. (exists jt_gap_jmulresultenumfirstindex. jt_gap_jmulresultenumfirstindex+S (jt_i_jmulresultenum)=(u*v)) -> (exists jt_gap_jmulresultenumsecondindex. jt_gap_jmulresultenumsecondindex+S (jt_h_jmulresultenum)=(u*v)) -> (((((exists fs_h_jt_jmulresultenumfirstcode. fs_h_jt_jmulresultenumfirstcode + S (jt_b_jmulresultenum) = S ((S (jt_i_jmulresultenum)) * jt_code_scale_jmulresult)) /\ exists fs_q_jt_jmulresultenumfirstcode. jt_codes_jmulresult = fs_q_jt_jmulresultenumfirstcode * S ((S (jt_i_jmulresultenum)) * jt_code_scale_jmulresult) + (jt_b_jmulresultenum))) /\ (((exists fs_h_jt_jmulresultenumfirstscale. fs_h_jt_jmulresultenumfirstscale + S (jt_c_jmulresultenum) = S ((S (jt_i_jmulresultenum)) * jt_scale_scale_jmulresult)) /\ exists fs_q_jt_jmulresultenumfirstscale. jt_scales_jmulresult = fs_q_jt_jmulresultenumfirstscale * S ((S (jt_i_jmulresultenum)) * jt_scale_scale_jmulresult) + (jt_c_jmulresultenum))))) -> (((((exists fs_h_jt_jmulresultenumsecondcode. fs_h_jt_jmulresultenumsecondcode + S (jt_d_jmulresultenum) = S ((S (jt_h_jmulresultenum)) * jt_code_scale_jmulresult)) /\ exists fs_q_jt_jmulresultenumsecondcode. jt_codes_jmulresult = fs_q_jt_jmulresultenumsecondcode * S ((S (jt_h_jmulresultenum)) * jt_code_scale_jmulresult) + (jt_d_jmulresultenum))) /\ (((exists fs_h_jt_jmulresultenumsecondscale. fs_h_jt_jmulresultenumsecondscale + S (jt_e_jmulresultenum) = S ((S (jt_h_jmulresultenum)) * jt_scale_scale_jmulresult)) /\ exists fs_q_jt_jmulresultenumsecondscale. jt_scales_jmulresult = fs_q_jt_jmulresultenumsecondscale * S ((S (jt_h_jmulresultenum)) * jt_scale_scale_jmulresult) + (jt_e_jmulresultenum))))) -> (forall jt_index_jmulresultenumsame jt_left_jmulresultenumsame jt_right_jmulresultenumsame. (exists jt_gap_jmulresultenumsameindex. jt_gap_jmulresultenumsameindex+S (jt_index_jmulresultenumsame)=(k)) -> (((exists fs_h_jt_jmulresultenumsameleft. fs_h_jt_jmulresultenumsameleft + S (jt_left_jmulresultenumsame) = S ((S (jt_index_jmulresultenumsame)) * jt_c_jmulresultenum)) /\ exists fs_q_jt_jmulresultenumsameleft. jt_b_jmulresultenum = fs_q_jt_jmulresultenumsameleft * S ((S (jt_index_jmulresultenumsame)) * jt_c_jmulresultenum) + (jt_left_jmulresultenumsame))) -> (((exists fs_h_jt_jmulresultenumsameright. fs_h_jt_jmulresultenumsameright + S (jt_right_jmulresultenumsame) = S ((S (jt_index_jmulresultenumsame)) * jt_e_jmulresultenum)) /\ exists fs_q_jt_jmulresultenumsameright. jt_d_jmulresultenum = fs_q_jt_jmulresultenumsameright * S ((S (jt_index_jmulresultenumsame)) * jt_e_jmulresultenum) + (jt_right_jmulresultenumsame))) -> jt_left_jmulresultenumsame=jt_right_jmulresultenumsame) -> jt_i_jmulresultenum=jt_h_jmulresultenum)))))))))

Constructive proof overview

Generated structural guide

Actual finite tuple-count Jordan values multiply at coprime moduli.

The unchanged tactic script uses 2 declared prerequisites and contains 49 exact native proof lines.

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

Proof neighborhood

Direct dependencies

mul_ne_zero Alpha theorem; checked-use authorized JT0049 jordan_product_enumeration_exists

Direct dependents

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

49 script commands · 9 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.

Named ingredients (1)
01Fix variables and assumptionsL1–8

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

  1. L1
    intro k
  2. L2
    intro a
  3. L3
    intro b
  4. L4
    intro u
  5. L5
    intro v
  6. L6
    intro hcop
  7. L7
    intro ha
  8. L8
    intro hb
02Separate the logical casesL9–18

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

  1. L9
    cases ha
  2. L10
    cases ha_right
  3. L11
    cases hb
  4. L12
    cases hb_right
  5. L13
    cases ha_right_right
  6. L14
    cases ha_right_right_witness
  7. L15
    cases ha_right_right_witness_witness
  8. L16
    cases ha_right_right_witness_witness_witness
  9. L17
    cases hb_right_right
  10. L18
    cases hb_right_right_witness
03Separate the logical casesL19–21

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

  1. L19
    cases hb_right_right_witness_witness
  2. L20
    cases hb_right_right_witness_witness_witness
  3. L21
    split
04Use earlier factsL22–22

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

  1. L22
    exact ha_left
05Separate the logical casesL23–23

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

  1. L23
    split
06Fix variables and assumptionsL24–24

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

  1. L24
    intro hz
07Use earlier factsL25–34

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

  1. L25
    specialize mul_ne_zero (a)
  2. L26
    specialize mul_ne_zero (b)
  3. L27
    apply mul_ne_zero
  4. L28
    exact ha_right_left
  5. L29
    exact hb_right_left
  6. L30
    exact hz
  7. L31
    specialize jordan_product_enumeration_exists (a)
  8. L32
    specialize jordan_product_enumeration_exists (b)
  9. L33
    specialize jordan_product_enumeration_exists (k)
  10. L34
    specialize jordan_product_enumeration_exists (x)
08Use earlier factsL35–44

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

  1. L35
    specialize jordan_product_enumeration_exists (x1)
  2. L36
    specialize jordan_product_enumeration_exists (x2)
  3. L37
    specialize jordan_product_enumeration_exists (x3)
  4. L38
    specialize jordan_product_enumeration_exists (u)
  5. L39
    specialize jordan_product_enumeration_exists (x4)
  6. L40
    specialize jordan_product_enumeration_exists (x5)
  7. L41
    specialize jordan_product_enumeration_exists (x6)
  8. L42
    specialize jordan_product_enumeration_exists (x7)
  9. L43
    specialize jordan_product_enumeration_exists (v)
  10. L44
    apply jordan_product_enumeration_exists
09Use earlier factsL45–49

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

  1. L45
    exact ha_right_left
  2. L46
    exact hb_right_left
  3. L47
    exact hcop
  4. L48
    exact ha_right_right_witness_witness_witness_witness
  5. L49
    exact hb_right_right_witness_witness_witness_witness

Library-wide reading audit

Original exact command ledger · 49 lines
  1. 0001intro k
  2. 0002intro a
  3. 0003intro b
  4. 0004intro u
  5. 0005intro v
  6. 0006intro hcop
  7. 0007intro ha
  8. 0008intro hb
  9. 0009cases ha
  10. 0010cases ha_right
  11. 0011cases hb
  12. 0012cases hb_right
  13. 0013cases ha_right_right
  14. 0014cases ha_right_right_witness
  15. 0015cases ha_right_right_witness_witness
  16. 0016cases ha_right_right_witness_witness_witness
  17. 0017cases hb_right_right
  18. 0018cases hb_right_right_witness
  19. 0019cases hb_right_right_witness_witness
  20. 0020cases hb_right_right_witness_witness_witness
  21. 0021split
  22. 0022exact ha_left
  23. 0023split
  24. 0024intro hz
  25. 0025specialize mul_ne_zero (a)
  26. 0026specialize mul_ne_zero (b)
  27. 0027apply mul_ne_zero
  28. 0028exact ha_right_left
  29. 0029exact hb_right_left
  30. 0030exact hz
  31. 0031specialize jordan_product_enumeration_exists (a)
  32. 0032specialize jordan_product_enumeration_exists (b)
  33. 0033specialize jordan_product_enumeration_exists (k)
  34. 0034specialize jordan_product_enumeration_exists (x)
  35. 0035specialize jordan_product_enumeration_exists (x1)
  36. 0036specialize jordan_product_enumeration_exists (x2)
  37. 0037specialize jordan_product_enumeration_exists (x3)
  38. 0038specialize jordan_product_enumeration_exists (u)
  39. 0039specialize jordan_product_enumeration_exists (x4)
  40. 0040specialize jordan_product_enumeration_exists (x5)
  41. 0041specialize jordan_product_enumeration_exists (x6)
  42. 0042specialize jordan_product_enumeration_exists (x7)
  43. 0043specialize jordan_product_enumeration_exists (v)
  44. 0044apply jordan_product_enumeration_exists
  45. 0045exact ha_right_left
  46. 0046exact hb_right_left
  47. 0047exact hcop
  48. 0048exact ha_right_right_witness_witness_witness_witness
  49. 0049exact hb_right_right_witness_witness_witness_witness