JT004B

jordan_totient_multiplicativity_exists

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

The requested constructive G008 coprime multiplicativity endpoint with all three actual counts supplied.

Exact expanded first-order arithmetic statement

forall k a b. ~(k=0) -> ~(a=0) -> ~(b=0) -> (forall jt_divisor_jendpointcop. (exists jt_factor_jendpointcopa. (a)=(jt_divisor_jendpointcop)*jt_factor_jendpointcopa) -> (exists jt_factor_jendpointcopb. (b)=(jt_divisor_jendpointcop)*jt_factor_jendpointcopb) -> jt_divisor_jendpointcop=1) -> exists u v w. ((((~((k)=0)) /\ (((~((a)=0)) /\ (exists jt_codes_jendpointleft jt_code_scale_jendpointleft jt_scales_jendpointleft jt_scale_scale_jendpointleft. ((forall jt_i_jendpointleftenum. (exists jt_gap_jendpointleftenumsoundindex. jt_gap_jendpointleftenumsoundindex+S (jt_i_jendpointleftenum)=(u)) -> exists jt_b_jendpointleftenum jt_c_jendpointleftenum. ((((((exists fs_h_jt_jendpointleftenumsoundcode. fs_h_jt_jendpointleftenumsoundcode + S (jt_b_jendpointleftenum) = S ((S (jt_i_jendpointleftenum)) * jt_code_scale_jendpointleft)) /\ exists fs_q_jt_jendpointleftenumsoundcode. jt_codes_jendpointleft = fs_q_jt_jendpointleftenumsoundcode * S ((S (jt_i_jendpointleftenum)) * jt_code_scale_jendpointleft) + (jt_b_jendpointleftenum))) /\ (((exists fs_h_jt_jendpointleftenumsoundscale. fs_h_jt_jendpointleftenumsoundscale + S (jt_c_jendpointleftenum) = S ((S (jt_i_jendpointleftenum)) * jt_scale_scale_jendpointleft)) /\ exists fs_q_jt_jendpointleftenumsoundscale. jt_scales_jendpointleft = fs_q_jt_jendpointleftenumsoundscale * S ((S (jt_i_jendpointleftenum)) * jt_scale_scale_jendpointleft) + (jt_c_jendpointleftenum))))) /\ (((forall jt_index_jendpointleftenumbound. (exists jt_gap_jendpointleftenumboundindex. jt_gap_jendpointleftenumboundindex+S (jt_index_jendpointleftenumbound)=(k)) -> exists jt_value_jendpointleftenumbound. ((((exists fs_h_jt_jendpointleftenumboundat. fs_h_jt_jendpointleftenumboundat + S (jt_value_jendpointleftenumbound) = S ((S (jt_index_jendpointleftenumbound)) * jt_c_jendpointleftenum)) /\ exists fs_q_jt_jendpointleftenumboundat. jt_b_jendpointleftenum = fs_q_jt_jendpointleftenumboundat * S ((S (jt_index_jendpointleftenumbound)) * jt_c_jendpointleftenum) + (jt_value_jendpointleftenumbound))) /\ (exists jt_gap_jendpointleftenumboundvalue. jt_gap_jendpointleftenumboundvalue+S (jt_value_jendpointleftenumbound)=(a)))) /\ (forall jt_divisor_jendpointleftenumprimitive. (exists jt_factor_jendpointleftenumprimitivemodulus. (a)=(jt_divisor_jendpointleftenumprimitive)*jt_factor_jendpointleftenumprimitivemodulus) -> (forall jt_index_jendpointleftenumprimitivecoordinates jt_value_jendpointleftenumprimitivecoordinates. (exists jt_gap_jendpointleftenumprimitivecoordinatesindex. jt_gap_jendpointleftenumprimitivecoordinatesindex+S (jt_index_jendpointleftenumprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jendpointleftenumprimitivecoordinatesat. fs_h_jt_jendpointleftenumprimitivecoordinatesat + S (jt_value_jendpointleftenumprimitivecoordinates) = S ((S (jt_index_jendpointleftenumprimitivecoordinates)) * jt_c_jendpointleftenum)) /\ exists fs_q_jt_jendpointleftenumprimitivecoordinatesat. jt_b_jendpointleftenum = fs_q_jt_jendpointleftenumprimitivecoordinatesat * S ((S (jt_index_jendpointleftenumprimitivecoordinates)) * jt_c_jendpointleftenum) + (jt_value_jendpointleftenumprimitivecoordinates))) -> (exists jt_factor_jendpointleftenumprimitivecoordinatesdivides. (jt_value_jendpointleftenumprimitivecoordinates)=(jt_divisor_jendpointleftenumprimitive)*jt_factor_jendpointleftenumprimitivecoordinatesdivides)) -> jt_divisor_jendpointleftenumprimitive=1))))) /\ (((forall jt_b_jendpointleftenum jt_c_jendpointleftenum. (forall jt_index_jendpointleftenuminputbound. (exists jt_gap_jendpointleftenuminputboundindex. jt_gap_jendpointleftenuminputboundindex+S (jt_index_jendpointleftenuminputbound)=(k)) -> exists jt_value_jendpointleftenuminputbound. ((((exists fs_h_jt_jendpointleftenuminputboundat. fs_h_jt_jendpointleftenuminputboundat + S (jt_value_jendpointleftenuminputbound) = S ((S (jt_index_jendpointleftenuminputbound)) * jt_c_jendpointleftenum)) /\ exists fs_q_jt_jendpointleftenuminputboundat. jt_b_jendpointleftenum = fs_q_jt_jendpointleftenuminputboundat * S ((S (jt_index_jendpointleftenuminputbound)) * jt_c_jendpointleftenum) + (jt_value_jendpointleftenuminputbound))) /\ (exists jt_gap_jendpointleftenuminputboundvalue. jt_gap_jendpointleftenuminputboundvalue+S (jt_value_jendpointleftenuminputbound)=(a)))) -> (forall jt_divisor_jendpointleftenuminputprimitive. (exists jt_factor_jendpointleftenuminputprimitivemodulus. (a)=(jt_divisor_jendpointleftenuminputprimitive)*jt_factor_jendpointleftenuminputprimitivemodulus) -> (forall jt_index_jendpointleftenuminputprimitivecoordinates jt_value_jendpointleftenuminputprimitivecoordinates. (exists jt_gap_jendpointleftenuminputprimitivecoordinatesindex. jt_gap_jendpointleftenuminputprimitivecoordinatesindex+S (jt_index_jendpointleftenuminputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jendpointleftenuminputprimitivecoordinatesat. fs_h_jt_jendpointleftenuminputprimitivecoordinatesat + S (jt_value_jendpointleftenuminputprimitivecoordinates) = S ((S (jt_index_jendpointleftenuminputprimitivecoordinates)) * jt_c_jendpointleftenum)) /\ exists fs_q_jt_jendpointleftenuminputprimitivecoordinatesat. jt_b_jendpointleftenum = fs_q_jt_jendpointleftenuminputprimitivecoordinatesat * S ((S (jt_index_jendpointleftenuminputprimitivecoordinates)) * jt_c_jendpointleftenum) + (jt_value_jendpointleftenuminputprimitivecoordinates))) -> (exists jt_factor_jendpointleftenuminputprimitivecoordinatesdivides. (jt_value_jendpointleftenuminputprimitivecoordinates)=(jt_divisor_jendpointleftenuminputprimitive)*jt_factor_jendpointleftenuminputprimitivecoordinatesdivides)) -> jt_divisor_jendpointleftenuminputprimitive=1) -> exists jt_i_jendpointleftenum jt_d_jendpointleftenum jt_e_jendpointleftenum. ((exists jt_gap_jendpointleftenumcompleteindex. jt_gap_jendpointleftenumcompleteindex+S (jt_i_jendpointleftenum)=(u)) /\ (((((((exists fs_h_jt_jendpointleftenumcompletecode. fs_h_jt_jendpointleftenumcompletecode + S (jt_d_jendpointleftenum) = S ((S (jt_i_jendpointleftenum)) * jt_code_scale_jendpointleft)) /\ exists fs_q_jt_jendpointleftenumcompletecode. jt_codes_jendpointleft = fs_q_jt_jendpointleftenumcompletecode * S ((S (jt_i_jendpointleftenum)) * jt_code_scale_jendpointleft) + (jt_d_jendpointleftenum))) /\ (((exists fs_h_jt_jendpointleftenumcompletescale. fs_h_jt_jendpointleftenumcompletescale + S (jt_e_jendpointleftenum) = S ((S (jt_i_jendpointleftenum)) * jt_scale_scale_jendpointleft)) /\ exists fs_q_jt_jendpointleftenumcompletescale. jt_scales_jendpointleft = fs_q_jt_jendpointleftenumcompletescale * S ((S (jt_i_jendpointleftenum)) * jt_scale_scale_jendpointleft) + (jt_e_jendpointleftenum))))) /\ (forall jt_index_jendpointleftenumrepresented jt_left_jendpointleftenumrepresented jt_right_jendpointleftenumrepresented. (exists jt_gap_jendpointleftenumrepresentedindex. jt_gap_jendpointleftenumrepresentedindex+S (jt_index_jendpointleftenumrepresented)=(k)) -> (((exists fs_h_jt_jendpointleftenumrepresentedleft. fs_h_jt_jendpointleftenumrepresentedleft + S (jt_left_jendpointleftenumrepresented) = S ((S (jt_index_jendpointleftenumrepresented)) * jt_c_jendpointleftenum)) /\ exists fs_q_jt_jendpointleftenumrepresentedleft. jt_b_jendpointleftenum = fs_q_jt_jendpointleftenumrepresentedleft * S ((S (jt_index_jendpointleftenumrepresented)) * jt_c_jendpointleftenum) + (jt_left_jendpointleftenumrepresented))) -> (((exists fs_h_jt_jendpointleftenumrepresentedright. fs_h_jt_jendpointleftenumrepresentedright + S (jt_right_jendpointleftenumrepresented) = S ((S (jt_index_jendpointleftenumrepresented)) * jt_e_jendpointleftenum)) /\ exists fs_q_jt_jendpointleftenumrepresentedright. jt_d_jendpointleftenum = fs_q_jt_jendpointleftenumrepresentedright * S ((S (jt_index_jendpointleftenumrepresented)) * jt_e_jendpointleftenum) + (jt_right_jendpointleftenumrepresented))) -> jt_left_jendpointleftenumrepresented=jt_right_jendpointleftenumrepresented))))) /\ (forall jt_i_jendpointleftenum jt_h_jendpointleftenum jt_b_jendpointleftenum jt_c_jendpointleftenum jt_d_jendpointleftenum jt_e_jendpointleftenum. (exists jt_gap_jendpointleftenumfirstindex. jt_gap_jendpointleftenumfirstindex+S (jt_i_jendpointleftenum)=(u)) -> (exists jt_gap_jendpointleftenumsecondindex. jt_gap_jendpointleftenumsecondindex+S (jt_h_jendpointleftenum)=(u)) -> (((((exists fs_h_jt_jendpointleftenumfirstcode. fs_h_jt_jendpointleftenumfirstcode + S (jt_b_jendpointleftenum) = S ((S (jt_i_jendpointleftenum)) * jt_code_scale_jendpointleft)) /\ exists fs_q_jt_jendpointleftenumfirstcode. jt_codes_jendpointleft = fs_q_jt_jendpointleftenumfirstcode * S ((S (jt_i_jendpointleftenum)) * jt_code_scale_jendpointleft) + (jt_b_jendpointleftenum))) /\ (((exists fs_h_jt_jendpointleftenumfirstscale. fs_h_jt_jendpointleftenumfirstscale + S (jt_c_jendpointleftenum) = S ((S (jt_i_jendpointleftenum)) * jt_scale_scale_jendpointleft)) /\ exists fs_q_jt_jendpointleftenumfirstscale. jt_scales_jendpointleft = fs_q_jt_jendpointleftenumfirstscale * S ((S (jt_i_jendpointleftenum)) * jt_scale_scale_jendpointleft) + (jt_c_jendpointleftenum))))) -> (((((exists fs_h_jt_jendpointleftenumsecondcode. fs_h_jt_jendpointleftenumsecondcode + S (jt_d_jendpointleftenum) = S ((S (jt_h_jendpointleftenum)) * jt_code_scale_jendpointleft)) /\ exists fs_q_jt_jendpointleftenumsecondcode. jt_codes_jendpointleft = fs_q_jt_jendpointleftenumsecondcode * S ((S (jt_h_jendpointleftenum)) * jt_code_scale_jendpointleft) + (jt_d_jendpointleftenum))) /\ (((exists fs_h_jt_jendpointleftenumsecondscale. fs_h_jt_jendpointleftenumsecondscale + S (jt_e_jendpointleftenum) = S ((S (jt_h_jendpointleftenum)) * jt_scale_scale_jendpointleft)) /\ exists fs_q_jt_jendpointleftenumsecondscale. jt_scales_jendpointleft = fs_q_jt_jendpointleftenumsecondscale * S ((S (jt_h_jendpointleftenum)) * jt_scale_scale_jendpointleft) + (jt_e_jendpointleftenum))))) -> (forall jt_index_jendpointleftenumsame jt_left_jendpointleftenumsame jt_right_jendpointleftenumsame. (exists jt_gap_jendpointleftenumsameindex. jt_gap_jendpointleftenumsameindex+S (jt_index_jendpointleftenumsame)=(k)) -> (((exists fs_h_jt_jendpointleftenumsameleft. fs_h_jt_jendpointleftenumsameleft + S (jt_left_jendpointleftenumsame) = S ((S (jt_index_jendpointleftenumsame)) * jt_c_jendpointleftenum)) /\ exists fs_q_jt_jendpointleftenumsameleft. jt_b_jendpointleftenum = fs_q_jt_jendpointleftenumsameleft * S ((S (jt_index_jendpointleftenumsame)) * jt_c_jendpointleftenum) + (jt_left_jendpointleftenumsame))) -> (((exists fs_h_jt_jendpointleftenumsameright. fs_h_jt_jendpointleftenumsameright + S (jt_right_jendpointleftenumsame) = S ((S (jt_index_jendpointleftenumsame)) * jt_e_jendpointleftenum)) /\ exists fs_q_jt_jendpointleftenumsameright. jt_d_jendpointleftenum = fs_q_jt_jendpointleftenumsameright * S ((S (jt_index_jendpointleftenumsame)) * jt_e_jendpointleftenum) + (jt_right_jendpointleftenumsame))) -> jt_left_jendpointleftenumsame=jt_right_jendpointleftenumsame) -> jt_i_jendpointleftenum=jt_h_jendpointleftenum))))))))) /\ (((((~((k)=0)) /\ (((~((b)=0)) /\ (exists jt_codes_jendpointright jt_code_scale_jendpointright jt_scales_jendpointright jt_scale_scale_jendpointright. ((forall jt_i_jendpointrightenum. (exists jt_gap_jendpointrightenumsoundindex. jt_gap_jendpointrightenumsoundindex+S (jt_i_jendpointrightenum)=(v)) -> exists jt_b_jendpointrightenum jt_c_jendpointrightenum. ((((((exists fs_h_jt_jendpointrightenumsoundcode. fs_h_jt_jendpointrightenumsoundcode + S (jt_b_jendpointrightenum) = S ((S (jt_i_jendpointrightenum)) * jt_code_scale_jendpointright)) /\ exists fs_q_jt_jendpointrightenumsoundcode. jt_codes_jendpointright = fs_q_jt_jendpointrightenumsoundcode * S ((S (jt_i_jendpointrightenum)) * jt_code_scale_jendpointright) + (jt_b_jendpointrightenum))) /\ (((exists fs_h_jt_jendpointrightenumsoundscale. fs_h_jt_jendpointrightenumsoundscale + S (jt_c_jendpointrightenum) = S ((S (jt_i_jendpointrightenum)) * jt_scale_scale_jendpointright)) /\ exists fs_q_jt_jendpointrightenumsoundscale. jt_scales_jendpointright = fs_q_jt_jendpointrightenumsoundscale * S ((S (jt_i_jendpointrightenum)) * jt_scale_scale_jendpointright) + (jt_c_jendpointrightenum))))) /\ (((forall jt_index_jendpointrightenumbound. (exists jt_gap_jendpointrightenumboundindex. jt_gap_jendpointrightenumboundindex+S (jt_index_jendpointrightenumbound)=(k)) -> exists jt_value_jendpointrightenumbound. ((((exists fs_h_jt_jendpointrightenumboundat. fs_h_jt_jendpointrightenumboundat + S (jt_value_jendpointrightenumbound) = S ((S (jt_index_jendpointrightenumbound)) * jt_c_jendpointrightenum)) /\ exists fs_q_jt_jendpointrightenumboundat. jt_b_jendpointrightenum = fs_q_jt_jendpointrightenumboundat * S ((S (jt_index_jendpointrightenumbound)) * jt_c_jendpointrightenum) + (jt_value_jendpointrightenumbound))) /\ (exists jt_gap_jendpointrightenumboundvalue. jt_gap_jendpointrightenumboundvalue+S (jt_value_jendpointrightenumbound)=(b)))) /\ (forall jt_divisor_jendpointrightenumprimitive. (exists jt_factor_jendpointrightenumprimitivemodulus. (b)=(jt_divisor_jendpointrightenumprimitive)*jt_factor_jendpointrightenumprimitivemodulus) -> (forall jt_index_jendpointrightenumprimitivecoordinates jt_value_jendpointrightenumprimitivecoordinates. (exists jt_gap_jendpointrightenumprimitivecoordinatesindex. jt_gap_jendpointrightenumprimitivecoordinatesindex+S (jt_index_jendpointrightenumprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jendpointrightenumprimitivecoordinatesat. fs_h_jt_jendpointrightenumprimitivecoordinatesat + S (jt_value_jendpointrightenumprimitivecoordinates) = S ((S (jt_index_jendpointrightenumprimitivecoordinates)) * jt_c_jendpointrightenum)) /\ exists fs_q_jt_jendpointrightenumprimitivecoordinatesat. jt_b_jendpointrightenum = fs_q_jt_jendpointrightenumprimitivecoordinatesat * S ((S (jt_index_jendpointrightenumprimitivecoordinates)) * jt_c_jendpointrightenum) + (jt_value_jendpointrightenumprimitivecoordinates))) -> (exists jt_factor_jendpointrightenumprimitivecoordinatesdivides. (jt_value_jendpointrightenumprimitivecoordinates)=(jt_divisor_jendpointrightenumprimitive)*jt_factor_jendpointrightenumprimitivecoordinatesdivides)) -> jt_divisor_jendpointrightenumprimitive=1))))) /\ (((forall jt_b_jendpointrightenum jt_c_jendpointrightenum. (forall jt_index_jendpointrightenuminputbound. (exists jt_gap_jendpointrightenuminputboundindex. jt_gap_jendpointrightenuminputboundindex+S (jt_index_jendpointrightenuminputbound)=(k)) -> exists jt_value_jendpointrightenuminputbound. ((((exists fs_h_jt_jendpointrightenuminputboundat. fs_h_jt_jendpointrightenuminputboundat + S (jt_value_jendpointrightenuminputbound) = S ((S (jt_index_jendpointrightenuminputbound)) * jt_c_jendpointrightenum)) /\ exists fs_q_jt_jendpointrightenuminputboundat. jt_b_jendpointrightenum = fs_q_jt_jendpointrightenuminputboundat * S ((S (jt_index_jendpointrightenuminputbound)) * jt_c_jendpointrightenum) + (jt_value_jendpointrightenuminputbound))) /\ (exists jt_gap_jendpointrightenuminputboundvalue. jt_gap_jendpointrightenuminputboundvalue+S (jt_value_jendpointrightenuminputbound)=(b)))) -> (forall jt_divisor_jendpointrightenuminputprimitive. (exists jt_factor_jendpointrightenuminputprimitivemodulus. (b)=(jt_divisor_jendpointrightenuminputprimitive)*jt_factor_jendpointrightenuminputprimitivemodulus) -> (forall jt_index_jendpointrightenuminputprimitivecoordinates jt_value_jendpointrightenuminputprimitivecoordinates. (exists jt_gap_jendpointrightenuminputprimitivecoordinatesindex. jt_gap_jendpointrightenuminputprimitivecoordinatesindex+S (jt_index_jendpointrightenuminputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jendpointrightenuminputprimitivecoordinatesat. fs_h_jt_jendpointrightenuminputprimitivecoordinatesat + S (jt_value_jendpointrightenuminputprimitivecoordinates) = S ((S (jt_index_jendpointrightenuminputprimitivecoordinates)) * jt_c_jendpointrightenum)) /\ exists fs_q_jt_jendpointrightenuminputprimitivecoordinatesat. jt_b_jendpointrightenum = fs_q_jt_jendpointrightenuminputprimitivecoordinatesat * S ((S (jt_index_jendpointrightenuminputprimitivecoordinates)) * jt_c_jendpointrightenum) + (jt_value_jendpointrightenuminputprimitivecoordinates))) -> (exists jt_factor_jendpointrightenuminputprimitivecoordinatesdivides. (jt_value_jendpointrightenuminputprimitivecoordinates)=(jt_divisor_jendpointrightenuminputprimitive)*jt_factor_jendpointrightenuminputprimitivecoordinatesdivides)) -> jt_divisor_jendpointrightenuminputprimitive=1) -> exists jt_i_jendpointrightenum jt_d_jendpointrightenum jt_e_jendpointrightenum. ((exists jt_gap_jendpointrightenumcompleteindex. jt_gap_jendpointrightenumcompleteindex+S (jt_i_jendpointrightenum)=(v)) /\ (((((((exists fs_h_jt_jendpointrightenumcompletecode. fs_h_jt_jendpointrightenumcompletecode + S (jt_d_jendpointrightenum) = S ((S (jt_i_jendpointrightenum)) * jt_code_scale_jendpointright)) /\ exists fs_q_jt_jendpointrightenumcompletecode. jt_codes_jendpointright = fs_q_jt_jendpointrightenumcompletecode * S ((S (jt_i_jendpointrightenum)) * jt_code_scale_jendpointright) + (jt_d_jendpointrightenum))) /\ (((exists fs_h_jt_jendpointrightenumcompletescale. fs_h_jt_jendpointrightenumcompletescale + S (jt_e_jendpointrightenum) = S ((S (jt_i_jendpointrightenum)) * jt_scale_scale_jendpointright)) /\ exists fs_q_jt_jendpointrightenumcompletescale. jt_scales_jendpointright = fs_q_jt_jendpointrightenumcompletescale * S ((S (jt_i_jendpointrightenum)) * jt_scale_scale_jendpointright) + (jt_e_jendpointrightenum))))) /\ (forall jt_index_jendpointrightenumrepresented jt_left_jendpointrightenumrepresented jt_right_jendpointrightenumrepresented. (exists jt_gap_jendpointrightenumrepresentedindex. jt_gap_jendpointrightenumrepresentedindex+S (jt_index_jendpointrightenumrepresented)=(k)) -> (((exists fs_h_jt_jendpointrightenumrepresentedleft. fs_h_jt_jendpointrightenumrepresentedleft + S (jt_left_jendpointrightenumrepresented) = S ((S (jt_index_jendpointrightenumrepresented)) * jt_c_jendpointrightenum)) /\ exists fs_q_jt_jendpointrightenumrepresentedleft. jt_b_jendpointrightenum = fs_q_jt_jendpointrightenumrepresentedleft * S ((S (jt_index_jendpointrightenumrepresented)) * jt_c_jendpointrightenum) + (jt_left_jendpointrightenumrepresented))) -> (((exists fs_h_jt_jendpointrightenumrepresentedright. fs_h_jt_jendpointrightenumrepresentedright + S (jt_right_jendpointrightenumrepresented) = S ((S (jt_index_jendpointrightenumrepresented)) * jt_e_jendpointrightenum)) /\ exists fs_q_jt_jendpointrightenumrepresentedright. jt_d_jendpointrightenum = fs_q_jt_jendpointrightenumrepresentedright * S ((S (jt_index_jendpointrightenumrepresented)) * jt_e_jendpointrightenum) + (jt_right_jendpointrightenumrepresented))) -> jt_left_jendpointrightenumrepresented=jt_right_jendpointrightenumrepresented))))) /\ (forall jt_i_jendpointrightenum jt_h_jendpointrightenum jt_b_jendpointrightenum jt_c_jendpointrightenum jt_d_jendpointrightenum jt_e_jendpointrightenum. (exists jt_gap_jendpointrightenumfirstindex. jt_gap_jendpointrightenumfirstindex+S (jt_i_jendpointrightenum)=(v)) -> (exists jt_gap_jendpointrightenumsecondindex. jt_gap_jendpointrightenumsecondindex+S (jt_h_jendpointrightenum)=(v)) -> (((((exists fs_h_jt_jendpointrightenumfirstcode. fs_h_jt_jendpointrightenumfirstcode + S (jt_b_jendpointrightenum) = S ((S (jt_i_jendpointrightenum)) * jt_code_scale_jendpointright)) /\ exists fs_q_jt_jendpointrightenumfirstcode. jt_codes_jendpointright = fs_q_jt_jendpointrightenumfirstcode * S ((S (jt_i_jendpointrightenum)) * jt_code_scale_jendpointright) + (jt_b_jendpointrightenum))) /\ (((exists fs_h_jt_jendpointrightenumfirstscale. fs_h_jt_jendpointrightenumfirstscale + S (jt_c_jendpointrightenum) = S ((S (jt_i_jendpointrightenum)) * jt_scale_scale_jendpointright)) /\ exists fs_q_jt_jendpointrightenumfirstscale. jt_scales_jendpointright = fs_q_jt_jendpointrightenumfirstscale * S ((S (jt_i_jendpointrightenum)) * jt_scale_scale_jendpointright) + (jt_c_jendpointrightenum))))) -> (((((exists fs_h_jt_jendpointrightenumsecondcode. fs_h_jt_jendpointrightenumsecondcode + S (jt_d_jendpointrightenum) = S ((S (jt_h_jendpointrightenum)) * jt_code_scale_jendpointright)) /\ exists fs_q_jt_jendpointrightenumsecondcode. jt_codes_jendpointright = fs_q_jt_jendpointrightenumsecondcode * S ((S (jt_h_jendpointrightenum)) * jt_code_scale_jendpointright) + (jt_d_jendpointrightenum))) /\ (((exists fs_h_jt_jendpointrightenumsecondscale. fs_h_jt_jendpointrightenumsecondscale + S (jt_e_jendpointrightenum) = S ((S (jt_h_jendpointrightenum)) * jt_scale_scale_jendpointright)) /\ exists fs_q_jt_jendpointrightenumsecondscale. jt_scales_jendpointright = fs_q_jt_jendpointrightenumsecondscale * S ((S (jt_h_jendpointrightenum)) * jt_scale_scale_jendpointright) + (jt_e_jendpointrightenum))))) -> (forall jt_index_jendpointrightenumsame jt_left_jendpointrightenumsame jt_right_jendpointrightenumsame. (exists jt_gap_jendpointrightenumsameindex. jt_gap_jendpointrightenumsameindex+S (jt_index_jendpointrightenumsame)=(k)) -> (((exists fs_h_jt_jendpointrightenumsameleft. fs_h_jt_jendpointrightenumsameleft + S (jt_left_jendpointrightenumsame) = S ((S (jt_index_jendpointrightenumsame)) * jt_c_jendpointrightenum)) /\ exists fs_q_jt_jendpointrightenumsameleft. jt_b_jendpointrightenum = fs_q_jt_jendpointrightenumsameleft * S ((S (jt_index_jendpointrightenumsame)) * jt_c_jendpointrightenum) + (jt_left_jendpointrightenumsame))) -> (((exists fs_h_jt_jendpointrightenumsameright. fs_h_jt_jendpointrightenumsameright + S (jt_right_jendpointrightenumsame) = S ((S (jt_index_jendpointrightenumsame)) * jt_e_jendpointrightenum)) /\ exists fs_q_jt_jendpointrightenumsameright. jt_d_jendpointrightenum = fs_q_jt_jendpointrightenumsameright * S ((S (jt_index_jendpointrightenumsame)) * jt_e_jendpointrightenum) + (jt_right_jendpointrightenumsame))) -> jt_left_jendpointrightenumsame=jt_right_jendpointrightenumsame) -> jt_i_jendpointrightenum=jt_h_jendpointrightenum))))))))) /\ (((((~((k)=0)) /\ (((~((a*b)=0)) /\ (exists jt_codes_jendpointproduct jt_code_scale_jendpointproduct jt_scales_jendpointproduct jt_scale_scale_jendpointproduct. ((forall jt_i_jendpointproductenum. (exists jt_gap_jendpointproductenumsoundindex. jt_gap_jendpointproductenumsoundindex+S (jt_i_jendpointproductenum)=(w)) -> exists jt_b_jendpointproductenum jt_c_jendpointproductenum. ((((((exists fs_h_jt_jendpointproductenumsoundcode. fs_h_jt_jendpointproductenumsoundcode + S (jt_b_jendpointproductenum) = S ((S (jt_i_jendpointproductenum)) * jt_code_scale_jendpointproduct)) /\ exists fs_q_jt_jendpointproductenumsoundcode. jt_codes_jendpointproduct = fs_q_jt_jendpointproductenumsoundcode * S ((S (jt_i_jendpointproductenum)) * jt_code_scale_jendpointproduct) + (jt_b_jendpointproductenum))) /\ (((exists fs_h_jt_jendpointproductenumsoundscale. fs_h_jt_jendpointproductenumsoundscale + S (jt_c_jendpointproductenum) = S ((S (jt_i_jendpointproductenum)) * jt_scale_scale_jendpointproduct)) /\ exists fs_q_jt_jendpointproductenumsoundscale. jt_scales_jendpointproduct = fs_q_jt_jendpointproductenumsoundscale * S ((S (jt_i_jendpointproductenum)) * jt_scale_scale_jendpointproduct) + (jt_c_jendpointproductenum))))) /\ (((forall jt_index_jendpointproductenumbound. (exists jt_gap_jendpointproductenumboundindex. jt_gap_jendpointproductenumboundindex+S (jt_index_jendpointproductenumbound)=(k)) -> exists jt_value_jendpointproductenumbound. ((((exists fs_h_jt_jendpointproductenumboundat. fs_h_jt_jendpointproductenumboundat + S (jt_value_jendpointproductenumbound) = S ((S (jt_index_jendpointproductenumbound)) * jt_c_jendpointproductenum)) /\ exists fs_q_jt_jendpointproductenumboundat. jt_b_jendpointproductenum = fs_q_jt_jendpointproductenumboundat * S ((S (jt_index_jendpointproductenumbound)) * jt_c_jendpointproductenum) + (jt_value_jendpointproductenumbound))) /\ (exists jt_gap_jendpointproductenumboundvalue. jt_gap_jendpointproductenumboundvalue+S (jt_value_jendpointproductenumbound)=(a*b)))) /\ (forall jt_divisor_jendpointproductenumprimitive. (exists jt_factor_jendpointproductenumprimitivemodulus. (a*b)=(jt_divisor_jendpointproductenumprimitive)*jt_factor_jendpointproductenumprimitivemodulus) -> (forall jt_index_jendpointproductenumprimitivecoordinates jt_value_jendpointproductenumprimitivecoordinates. (exists jt_gap_jendpointproductenumprimitivecoordinatesindex. jt_gap_jendpointproductenumprimitivecoordinatesindex+S (jt_index_jendpointproductenumprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jendpointproductenumprimitivecoordinatesat. fs_h_jt_jendpointproductenumprimitivecoordinatesat + S (jt_value_jendpointproductenumprimitivecoordinates) = S ((S (jt_index_jendpointproductenumprimitivecoordinates)) * jt_c_jendpointproductenum)) /\ exists fs_q_jt_jendpointproductenumprimitivecoordinatesat. jt_b_jendpointproductenum = fs_q_jt_jendpointproductenumprimitivecoordinatesat * S ((S (jt_index_jendpointproductenumprimitivecoordinates)) * jt_c_jendpointproductenum) + (jt_value_jendpointproductenumprimitivecoordinates))) -> (exists jt_factor_jendpointproductenumprimitivecoordinatesdivides. (jt_value_jendpointproductenumprimitivecoordinates)=(jt_divisor_jendpointproductenumprimitive)*jt_factor_jendpointproductenumprimitivecoordinatesdivides)) -> jt_divisor_jendpointproductenumprimitive=1))))) /\ (((forall jt_b_jendpointproductenum jt_c_jendpointproductenum. (forall jt_index_jendpointproductenuminputbound. (exists jt_gap_jendpointproductenuminputboundindex. jt_gap_jendpointproductenuminputboundindex+S (jt_index_jendpointproductenuminputbound)=(k)) -> exists jt_value_jendpointproductenuminputbound. ((((exists fs_h_jt_jendpointproductenuminputboundat. fs_h_jt_jendpointproductenuminputboundat + S (jt_value_jendpointproductenuminputbound) = S ((S (jt_index_jendpointproductenuminputbound)) * jt_c_jendpointproductenum)) /\ exists fs_q_jt_jendpointproductenuminputboundat. jt_b_jendpointproductenum = fs_q_jt_jendpointproductenuminputboundat * S ((S (jt_index_jendpointproductenuminputbound)) * jt_c_jendpointproductenum) + (jt_value_jendpointproductenuminputbound))) /\ (exists jt_gap_jendpointproductenuminputboundvalue. jt_gap_jendpointproductenuminputboundvalue+S (jt_value_jendpointproductenuminputbound)=(a*b)))) -> (forall jt_divisor_jendpointproductenuminputprimitive. (exists jt_factor_jendpointproductenuminputprimitivemodulus. (a*b)=(jt_divisor_jendpointproductenuminputprimitive)*jt_factor_jendpointproductenuminputprimitivemodulus) -> (forall jt_index_jendpointproductenuminputprimitivecoordinates jt_value_jendpointproductenuminputprimitivecoordinates. (exists jt_gap_jendpointproductenuminputprimitivecoordinatesindex. jt_gap_jendpointproductenuminputprimitivecoordinatesindex+S (jt_index_jendpointproductenuminputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_jendpointproductenuminputprimitivecoordinatesat. fs_h_jt_jendpointproductenuminputprimitivecoordinatesat + S (jt_value_jendpointproductenuminputprimitivecoordinates) = S ((S (jt_index_jendpointproductenuminputprimitivecoordinates)) * jt_c_jendpointproductenum)) /\ exists fs_q_jt_jendpointproductenuminputprimitivecoordinatesat. jt_b_jendpointproductenum = fs_q_jt_jendpointproductenuminputprimitivecoordinatesat * S ((S (jt_index_jendpointproductenuminputprimitivecoordinates)) * jt_c_jendpointproductenum) + (jt_value_jendpointproductenuminputprimitivecoordinates))) -> (exists jt_factor_jendpointproductenuminputprimitivecoordinatesdivides. (jt_value_jendpointproductenuminputprimitivecoordinates)=(jt_divisor_jendpointproductenuminputprimitive)*jt_factor_jendpointproductenuminputprimitivecoordinatesdivides)) -> jt_divisor_jendpointproductenuminputprimitive=1) -> exists jt_i_jendpointproductenum jt_d_jendpointproductenum jt_e_jendpointproductenum. ((exists jt_gap_jendpointproductenumcompleteindex. jt_gap_jendpointproductenumcompleteindex+S (jt_i_jendpointproductenum)=(w)) /\ (((((((exists fs_h_jt_jendpointproductenumcompletecode. fs_h_jt_jendpointproductenumcompletecode + S (jt_d_jendpointproductenum) = S ((S (jt_i_jendpointproductenum)) * jt_code_scale_jendpointproduct)) /\ exists fs_q_jt_jendpointproductenumcompletecode. jt_codes_jendpointproduct = fs_q_jt_jendpointproductenumcompletecode * S ((S (jt_i_jendpointproductenum)) * jt_code_scale_jendpointproduct) + (jt_d_jendpointproductenum))) /\ (((exists fs_h_jt_jendpointproductenumcompletescale. fs_h_jt_jendpointproductenumcompletescale + S (jt_e_jendpointproductenum) = S ((S (jt_i_jendpointproductenum)) * jt_scale_scale_jendpointproduct)) /\ exists fs_q_jt_jendpointproductenumcompletescale. jt_scales_jendpointproduct = fs_q_jt_jendpointproductenumcompletescale * S ((S (jt_i_jendpointproductenum)) * jt_scale_scale_jendpointproduct) + (jt_e_jendpointproductenum))))) /\ (forall jt_index_jendpointproductenumrepresented jt_left_jendpointproductenumrepresented jt_right_jendpointproductenumrepresented. (exists jt_gap_jendpointproductenumrepresentedindex. jt_gap_jendpointproductenumrepresentedindex+S (jt_index_jendpointproductenumrepresented)=(k)) -> (((exists fs_h_jt_jendpointproductenumrepresentedleft. fs_h_jt_jendpointproductenumrepresentedleft + S (jt_left_jendpointproductenumrepresented) = S ((S (jt_index_jendpointproductenumrepresented)) * jt_c_jendpointproductenum)) /\ exists fs_q_jt_jendpointproductenumrepresentedleft. jt_b_jendpointproductenum = fs_q_jt_jendpointproductenumrepresentedleft * S ((S (jt_index_jendpointproductenumrepresented)) * jt_c_jendpointproductenum) + (jt_left_jendpointproductenumrepresented))) -> (((exists fs_h_jt_jendpointproductenumrepresentedright. fs_h_jt_jendpointproductenumrepresentedright + S (jt_right_jendpointproductenumrepresented) = S ((S (jt_index_jendpointproductenumrepresented)) * jt_e_jendpointproductenum)) /\ exists fs_q_jt_jendpointproductenumrepresentedright. jt_d_jendpointproductenum = fs_q_jt_jendpointproductenumrepresentedright * S ((S (jt_index_jendpointproductenumrepresented)) * jt_e_jendpointproductenum) + (jt_right_jendpointproductenumrepresented))) -> jt_left_jendpointproductenumrepresented=jt_right_jendpointproductenumrepresented))))) /\ (forall jt_i_jendpointproductenum jt_h_jendpointproductenum jt_b_jendpointproductenum jt_c_jendpointproductenum jt_d_jendpointproductenum jt_e_jendpointproductenum. (exists jt_gap_jendpointproductenumfirstindex. jt_gap_jendpointproductenumfirstindex+S (jt_i_jendpointproductenum)=(w)) -> (exists jt_gap_jendpointproductenumsecondindex. jt_gap_jendpointproductenumsecondindex+S (jt_h_jendpointproductenum)=(w)) -> (((((exists fs_h_jt_jendpointproductenumfirstcode. fs_h_jt_jendpointproductenumfirstcode + S (jt_b_jendpointproductenum) = S ((S (jt_i_jendpointproductenum)) * jt_code_scale_jendpointproduct)) /\ exists fs_q_jt_jendpointproductenumfirstcode. jt_codes_jendpointproduct = fs_q_jt_jendpointproductenumfirstcode * S ((S (jt_i_jendpointproductenum)) * jt_code_scale_jendpointproduct) + (jt_b_jendpointproductenum))) /\ (((exists fs_h_jt_jendpointproductenumfirstscale. fs_h_jt_jendpointproductenumfirstscale + S (jt_c_jendpointproductenum) = S ((S (jt_i_jendpointproductenum)) * jt_scale_scale_jendpointproduct)) /\ exists fs_q_jt_jendpointproductenumfirstscale. jt_scales_jendpointproduct = fs_q_jt_jendpointproductenumfirstscale * S ((S (jt_i_jendpointproductenum)) * jt_scale_scale_jendpointproduct) + (jt_c_jendpointproductenum))))) -> (((((exists fs_h_jt_jendpointproductenumsecondcode. fs_h_jt_jendpointproductenumsecondcode + S (jt_d_jendpointproductenum) = S ((S (jt_h_jendpointproductenum)) * jt_code_scale_jendpointproduct)) /\ exists fs_q_jt_jendpointproductenumsecondcode. jt_codes_jendpointproduct = fs_q_jt_jendpointproductenumsecondcode * S ((S (jt_h_jendpointproductenum)) * jt_code_scale_jendpointproduct) + (jt_d_jendpointproductenum))) /\ (((exists fs_h_jt_jendpointproductenumsecondscale. fs_h_jt_jendpointproductenumsecondscale + S (jt_e_jendpointproductenum) = S ((S (jt_h_jendpointproductenum)) * jt_scale_scale_jendpointproduct)) /\ exists fs_q_jt_jendpointproductenumsecondscale. jt_scales_jendpointproduct = fs_q_jt_jendpointproductenumsecondscale * S ((S (jt_h_jendpointproductenum)) * jt_scale_scale_jendpointproduct) + (jt_e_jendpointproductenum))))) -> (forall jt_index_jendpointproductenumsame jt_left_jendpointproductenumsame jt_right_jendpointproductenumsame. (exists jt_gap_jendpointproductenumsameindex. jt_gap_jendpointproductenumsameindex+S (jt_index_jendpointproductenumsame)=(k)) -> (((exists fs_h_jt_jendpointproductenumsameleft. fs_h_jt_jendpointproductenumsameleft + S (jt_left_jendpointproductenumsame) = S ((S (jt_index_jendpointproductenumsame)) * jt_c_jendpointproductenum)) /\ exists fs_q_jt_jendpointproductenumsameleft. jt_b_jendpointproductenum = fs_q_jt_jendpointproductenumsameleft * S ((S (jt_index_jendpointproductenumsame)) * jt_c_jendpointproductenum) + (jt_left_jendpointproductenumsame))) -> (((exists fs_h_jt_jendpointproductenumsameright. fs_h_jt_jendpointproductenumsameright + S (jt_right_jendpointproductenumsame) = S ((S (jt_index_jendpointproductenumsame)) * jt_e_jendpointproductenum)) /\ exists fs_q_jt_jendpointproductenumsameright. jt_d_jendpointproductenum = fs_q_jt_jendpointproductenumsameright * S ((S (jt_index_jendpointproductenumsame)) * jt_e_jendpointproductenum) + (jt_right_jendpointproductenumsame))) -> jt_left_jendpointproductenumsame=jt_right_jendpointproductenumsame) -> jt_i_jendpointproductenum=jt_h_jendpointproductenum))))))))) /\ (w=u*v))))))

Constructive proof overview

Generated structural guide

The requested constructive G008 coprime multiplicativity endpoint with all three actual counts supplied.

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

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

39 script commands · 13 reading checkpoints · 2 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 (2)

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 k
  2. L2
    intro a
  3. L3
    intro b
  4. L4
    intro hk
  5. L5
    intro ha
  6. L6
    intro hb
  7. L7
    intro hcop
02Establish huL8–13

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan totient exists.

  1. L8
    have hu : ∃ u. JordanTotient(k,a,u)Definitions: JordanTotient
  2. L9
    specialize jordan_totient_exists (k)
  3. L10
    specialize jordan_totient_exists (a)
  4. L11
    apply jordan_totient_exists
  5. L12
    exact hk
  6. L13
    exact ha
03Separate the logical casesL14–14

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

  1. L14
    cases hu
04Establish hvL15–20

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan totient exists.

  1. L15
    have hv : ∃ v. JordanTotient(k,b,v)Definitions: JordanTotient
  2. L16
    specialize jordan_totient_exists (k)
  3. L17
    specialize jordan_totient_exists (b)
  4. L18
    apply jordan_totient_exists
  5. L19
    exact hk
  6. L20
    exact hb
05Separate the logical casesL21–21

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

  1. L21
    cases hv
06Construct an explicit witnessL22–24

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

  1. L22
    exists x
  2. L23
    exists x1
  3. L24
    exists x*x1
07Separate the logical casesL25–25

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

  1. L25
    split
08Use earlier factsL26–26

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

  1. L26
    exact hu_witness
09Separate the logical casesL27–27

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

  1. L27
    split
10Use earlier factsL28–28

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

  1. L28
    exact hv_witness
11Separate the logical casesL29–29

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

  1. L29
    split
12Use earlier factsL30–38

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

  1. L30
    specialize jordan_totient_coprime_product (k)
  2. L31
    specialize jordan_totient_coprime_product (a)
  3. L32
    specialize jordan_totient_coprime_product (b)
  4. L33
    specialize jordan_totient_coprime_product (x)
  5. L34
    specialize jordan_totient_coprime_product (x1)
  6. L35
    apply jordan_totient_coprime_product
  7. L36
    exact hcop
  8. L37
    exact hu_witness
  9. L38
    exact hv_witness
13Calculate and transport equalitiesL39–39

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L39
    refl

Library-wide reading audit

Original exact command ledger · 39 lines
  1. 0001intro k
  2. 0002intro a
  3. 0003intro b
  4. 0004intro hk
  5. 0005intro ha
  6. 0006intro hb
  7. 0007intro hcop
  8. 0008have hu : exists u. ((~((k)=0)) /\ (((~((a)=0)) /\ (exists jt_codes_endpointleft jt_code_scale_endpointleft jt_scales_endpointleft jt_scale_scale_endpointleft. ((forall jt_i_endpointleftenum. (exists jt_gap_endpointleftenumsoundindex. jt_gap_endpointleftenumsoundindex+S (jt_i_endpointleftenum)=(u)) -> exists jt_b_endpointleftenum jt_c_endpointleftenum. ((((((exists fs_h_jt_endpointleftenumsoundcode. fs_h_jt_endpointleftenumsoundcode + S (jt_b_endpointleftenum) = S ((S (jt_i_endpointleftenum)) * jt_code_scale_endpointleft)) /\ exists fs_q_jt_endpointleftenumsoundcode. jt_codes_endpointleft = fs_q_jt_endpointleftenumsoundcode * S ((S (jt_i_endpointleftenum)) * jt_code_scale_endpointleft) + (jt_b_endpointleftenum))) /\ (((exists fs_h_jt_endpointleftenumsoundscale. fs_h_jt_endpointleftenumsoundscale + S (jt_c_endpointleftenum) = S ((S (jt_i_endpointleftenum)) * jt_scale_scale_endpointleft)) /\ exists fs_q_jt_endpointleftenumsoundscale. jt_scales_endpointleft = fs_q_jt_endpointleftenumsoundscale * S ((S (jt_i_endpointleftenum)) * jt_scale_scale_endpointleft) + (jt_c_endpointleftenum))))) /\ (((forall jt_index_endpointleftenumbound. (exists jt_gap_endpointleftenumboundindex. jt_gap_endpointleftenumboundindex+S (jt_index_endpointleftenumbound)=(k)) -> exists jt_value_endpointleftenumbound. ((((exists fs_h_jt_endpointleftenumboundat. fs_h_jt_endpointleftenumboundat + S (jt_value_endpointleftenumbound) = S ((S (jt_index_endpointleftenumbound)) * jt_c_endpointleftenum)) /\ exists fs_q_jt_endpointleftenumboundat. jt_b_endpointleftenum = fs_q_jt_endpointleftenumboundat * S ((S (jt_index_endpointleftenumbound)) * jt_c_endpointleftenum) + (jt_value_endpointleftenumbound))) /\ (exists jt_gap_endpointleftenumboundvalue. jt_gap_endpointleftenumboundvalue+S (jt_value_endpointleftenumbound)=(a)))) /\ (forall jt_divisor_endpointleftenumprimitive. (exists jt_factor_endpointleftenumprimitivemodulus. (a)=(jt_divisor_endpointleftenumprimitive)*jt_factor_endpointleftenumprimitivemodulus) -> (forall jt_index_endpointleftenumprimitivecoordinates jt_value_endpointleftenumprimitivecoordinates. (exists jt_gap_endpointleftenumprimitivecoordinatesindex. jt_gap_endpointleftenumprimitivecoordinatesindex+S (jt_index_endpointleftenumprimitivecoordinates)=(k)) -> (((exists fs_h_jt_endpointleftenumprimitivecoordinatesat. fs_h_jt_endpointleftenumprimitivecoordinatesat + S (jt_value_endpointleftenumprimitivecoordinates) = S ((S (jt_index_endpointleftenumprimitivecoordinates)) * jt_c_endpointleftenum)) /\ exists fs_q_jt_endpointleftenumprimitivecoordinatesat. jt_b_endpointleftenum = fs_q_jt_endpointleftenumprimitivecoordinatesat * S ((S (jt_index_endpointleftenumprimitivecoordinates)) * jt_c_endpointleftenum) + (jt_value_endpointleftenumprimitivecoordinates))) -> (exists jt_factor_endpointleftenumprimitivecoordinatesdivides. (jt_value_endpointleftenumprimitivecoordinates)=(jt_divisor_endpointleftenumprimitive)*jt_factor_endpointleftenumprimitivecoordinatesdivides)) -> jt_divisor_endpointleftenumprimitive=1))))) /\ (((forall jt_b_endpointleftenum jt_c_endpointleftenum. (forall jt_index_endpointleftenuminputbound. (exists jt_gap_endpointleftenuminputboundindex. jt_gap_endpointleftenuminputboundindex+S (jt_index_endpointleftenuminputbound)=(k)) -> exists jt_value_endpointleftenuminputbound. ((((exists fs_h_jt_endpointleftenuminputboundat. fs_h_jt_endpointleftenuminputboundat + S (jt_value_endpointleftenuminputbound) = S ((S (jt_index_endpointleftenuminputbound)) * jt_c_endpointleftenum)) /\ exists fs_q_jt_endpointleftenuminputboundat. jt_b_endpointleftenum = fs_q_jt_endpointleftenuminputboundat * S ((S (jt_index_endpointleftenuminputbound)) * jt_c_endpointleftenum) + (jt_value_endpointleftenuminputbound))) /\ (exists jt_gap_endpointleftenuminputboundvalue. jt_gap_endpointleftenuminputboundvalue+S (jt_value_endpointleftenuminputbound)=(a)))) -> (forall jt_divisor_endpointleftenuminputprimitive. (exists jt_factor_endpointleftenuminputprimitivemodulus. (a)=(jt_divisor_endpointleftenuminputprimitive)*jt_factor_endpointleftenuminputprimitivemodulus) -> (forall jt_index_endpointleftenuminputprimitivecoordinates jt_value_endpointleftenuminputprimitivecoordinates. (exists jt_gap_endpointleftenuminputprimitivecoordinatesindex. jt_gap_endpointleftenuminputprimitivecoordinatesindex+S (jt_index_endpointleftenuminputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_endpointleftenuminputprimitivecoordinatesat. fs_h_jt_endpointleftenuminputprimitivecoordinatesat + S (jt_value_endpointleftenuminputprimitivecoordinates) = S ((S (jt_index_endpointleftenuminputprimitivecoordinates)) * jt_c_endpointleftenum)) /\ exists fs_q_jt_endpointleftenuminputprimitivecoordinatesat. jt_b_endpointleftenum = fs_q_jt_endpointleftenuminputprimitivecoordinatesat * S ((S (jt_index_endpointleftenuminputprimitivecoordinates)) * jt_c_endpointleftenum) + (jt_value_endpointleftenuminputprimitivecoordinates))) -> (exists jt_factor_endpointleftenuminputprimitivecoordinatesdivides. (jt_value_endpointleftenuminputprimitivecoordinates)=(jt_divisor_endpointleftenuminputprimitive)*jt_factor_endpointleftenuminputprimitivecoordinatesdivides)) -> jt_divisor_endpointleftenuminputprimitive=1) -> exists jt_i_endpointleftenum jt_d_endpointleftenum jt_e_endpointleftenum. ((exists jt_gap_endpointleftenumcompleteindex. jt_gap_endpointleftenumcompleteindex+S (jt_i_endpointleftenum)=(u)) /\ (((((((exists fs_h_jt_endpointleftenumcompletecode. fs_h_jt_endpointleftenumcompletecode + S (jt_d_endpointleftenum) = S ((S (jt_i_endpointleftenum)) * jt_code_scale_endpointleft)) /\ exists fs_q_jt_endpointleftenumcompletecode. jt_codes_endpointleft = fs_q_jt_endpointleftenumcompletecode * S ((S (jt_i_endpointleftenum)) * jt_code_scale_endpointleft) + (jt_d_endpointleftenum))) /\ (((exists fs_h_jt_endpointleftenumcompletescale. fs_h_jt_endpointleftenumcompletescale + S (jt_e_endpointleftenum) = S ((S (jt_i_endpointleftenum)) * jt_scale_scale_endpointleft)) /\ exists fs_q_jt_endpointleftenumcompletescale. jt_scales_endpointleft = fs_q_jt_endpointleftenumcompletescale * S ((S (jt_i_endpointleftenum)) * jt_scale_scale_endpointleft) + (jt_e_endpointleftenum))))) /\ (forall jt_index_endpointleftenumrepresented jt_left_endpointleftenumrepresented jt_right_endpointleftenumrepresented. (exists jt_gap_endpointleftenumrepresentedindex. jt_gap_endpointleftenumrepresentedindex+S (jt_index_endpointleftenumrepresented)=(k)) -> (((exists fs_h_jt_endpointleftenumrepresentedleft. fs_h_jt_endpointleftenumrepresentedleft + S (jt_left_endpointleftenumrepresented) = S ((S (jt_index_endpointleftenumrepresented)) * jt_c_endpointleftenum)) /\ exists fs_q_jt_endpointleftenumrepresentedleft. jt_b_endpointleftenum = fs_q_jt_endpointleftenumrepresentedleft * S ((S (jt_index_endpointleftenumrepresented)) * jt_c_endpointleftenum) + (jt_left_endpointleftenumrepresented))) -> (((exists fs_h_jt_endpointleftenumrepresentedright. fs_h_jt_endpointleftenumrepresentedright + S (jt_right_endpointleftenumrepresented) = S ((S (jt_index_endpointleftenumrepresented)) * jt_e_endpointleftenum)) /\ exists fs_q_jt_endpointleftenumrepresentedright. jt_d_endpointleftenum = fs_q_jt_endpointleftenumrepresentedright * S ((S (jt_index_endpointleftenumrepresented)) * jt_e_endpointleftenum) + (jt_right_endpointleftenumrepresented))) -> jt_left_endpointleftenumrepresented=jt_right_endpointleftenumrepresented))))) /\ (forall jt_i_endpointleftenum jt_h_endpointleftenum jt_b_endpointleftenum jt_c_endpointleftenum jt_d_endpointleftenum jt_e_endpointleftenum. (exists jt_gap_endpointleftenumfirstindex. jt_gap_endpointleftenumfirstindex+S (jt_i_endpointleftenum)=(u)) -> (exists jt_gap_endpointleftenumsecondindex. jt_gap_endpointleftenumsecondindex+S (jt_h_endpointleftenum)=(u)) -> (((((exists fs_h_jt_endpointleftenumfirstcode. fs_h_jt_endpointleftenumfirstcode + S (jt_b_endpointleftenum) = S ((S (jt_i_endpointleftenum)) * jt_code_scale_endpointleft)) /\ exists fs_q_jt_endpointleftenumfirstcode. jt_codes_endpointleft = fs_q_jt_endpointleftenumfirstcode * S ((S (jt_i_endpointleftenum)) * jt_code_scale_endpointleft) + (jt_b_endpointleftenum))) /\ (((exists fs_h_jt_endpointleftenumfirstscale. fs_h_jt_endpointleftenumfirstscale + S (jt_c_endpointleftenum) = S ((S (jt_i_endpointleftenum)) * jt_scale_scale_endpointleft)) /\ exists fs_q_jt_endpointleftenumfirstscale. jt_scales_endpointleft = fs_q_jt_endpointleftenumfirstscale * S ((S (jt_i_endpointleftenum)) * jt_scale_scale_endpointleft) + (jt_c_endpointleftenum))))) -> (((((exists fs_h_jt_endpointleftenumsecondcode. fs_h_jt_endpointleftenumsecondcode + S (jt_d_endpointleftenum) = S ((S (jt_h_endpointleftenum)) * jt_code_scale_endpointleft)) /\ exists fs_q_jt_endpointleftenumsecondcode. jt_codes_endpointleft = fs_q_jt_endpointleftenumsecondcode * S ((S (jt_h_endpointleftenum)) * jt_code_scale_endpointleft) + (jt_d_endpointleftenum))) /\ (((exists fs_h_jt_endpointleftenumsecondscale. fs_h_jt_endpointleftenumsecondscale + S (jt_e_endpointleftenum) = S ((S (jt_h_endpointleftenum)) * jt_scale_scale_endpointleft)) /\ exists fs_q_jt_endpointleftenumsecondscale. jt_scales_endpointleft = fs_q_jt_endpointleftenumsecondscale * S ((S (jt_h_endpointleftenum)) * jt_scale_scale_endpointleft) + (jt_e_endpointleftenum))))) -> (forall jt_index_endpointleftenumsame jt_left_endpointleftenumsame jt_right_endpointleftenumsame. (exists jt_gap_endpointleftenumsameindex. jt_gap_endpointleftenumsameindex+S (jt_index_endpointleftenumsame)=(k)) -> (((exists fs_h_jt_endpointleftenumsameleft. fs_h_jt_endpointleftenumsameleft + S (jt_left_endpointleftenumsame) = S ((S (jt_index_endpointleftenumsame)) * jt_c_endpointleftenum)) /\ exists fs_q_jt_endpointleftenumsameleft. jt_b_endpointleftenum = fs_q_jt_endpointleftenumsameleft * S ((S (jt_index_endpointleftenumsame)) * jt_c_endpointleftenum) + (jt_left_endpointleftenumsame))) -> (((exists fs_h_jt_endpointleftenumsameright. fs_h_jt_endpointleftenumsameright + S (jt_right_endpointleftenumsame) = S ((S (jt_index_endpointleftenumsame)) * jt_e_endpointleftenum)) /\ exists fs_q_jt_endpointleftenumsameright. jt_d_endpointleftenum = fs_q_jt_endpointleftenumsameright * S ((S (jt_index_endpointleftenumsame)) * jt_e_endpointleftenum) + (jt_right_endpointleftenumsame))) -> jt_left_endpointleftenumsame=jt_right_endpointleftenumsame) -> jt_i_endpointleftenum=jt_h_endpointleftenum))))))))
  9. 0009specialize jordan_totient_exists (k)
  10. 0010specialize jordan_totient_exists (a)
  11. 0011apply jordan_totient_exists
  12. 0012exact hk
  13. 0013exact ha
  14. 0014cases hu
  15. 0015have hv : exists v. ((~((k)=0)) /\ (((~((b)=0)) /\ (exists jt_codes_endpointright jt_code_scale_endpointright jt_scales_endpointright jt_scale_scale_endpointright. ((forall jt_i_endpointrightenum. (exists jt_gap_endpointrightenumsoundindex. jt_gap_endpointrightenumsoundindex+S (jt_i_endpointrightenum)=(v)) -> exists jt_b_endpointrightenum jt_c_endpointrightenum. ((((((exists fs_h_jt_endpointrightenumsoundcode. fs_h_jt_endpointrightenumsoundcode + S (jt_b_endpointrightenum) = S ((S (jt_i_endpointrightenum)) * jt_code_scale_endpointright)) /\ exists fs_q_jt_endpointrightenumsoundcode. jt_codes_endpointright = fs_q_jt_endpointrightenumsoundcode * S ((S (jt_i_endpointrightenum)) * jt_code_scale_endpointright) + (jt_b_endpointrightenum))) /\ (((exists fs_h_jt_endpointrightenumsoundscale. fs_h_jt_endpointrightenumsoundscale + S (jt_c_endpointrightenum) = S ((S (jt_i_endpointrightenum)) * jt_scale_scale_endpointright)) /\ exists fs_q_jt_endpointrightenumsoundscale. jt_scales_endpointright = fs_q_jt_endpointrightenumsoundscale * S ((S (jt_i_endpointrightenum)) * jt_scale_scale_endpointright) + (jt_c_endpointrightenum))))) /\ (((forall jt_index_endpointrightenumbound. (exists jt_gap_endpointrightenumboundindex. jt_gap_endpointrightenumboundindex+S (jt_index_endpointrightenumbound)=(k)) -> exists jt_value_endpointrightenumbound. ((((exists fs_h_jt_endpointrightenumboundat. fs_h_jt_endpointrightenumboundat + S (jt_value_endpointrightenumbound) = S ((S (jt_index_endpointrightenumbound)) * jt_c_endpointrightenum)) /\ exists fs_q_jt_endpointrightenumboundat. jt_b_endpointrightenum = fs_q_jt_endpointrightenumboundat * S ((S (jt_index_endpointrightenumbound)) * jt_c_endpointrightenum) + (jt_value_endpointrightenumbound))) /\ (exists jt_gap_endpointrightenumboundvalue. jt_gap_endpointrightenumboundvalue+S (jt_value_endpointrightenumbound)=(b)))) /\ (forall jt_divisor_endpointrightenumprimitive. (exists jt_factor_endpointrightenumprimitivemodulus. (b)=(jt_divisor_endpointrightenumprimitive)*jt_factor_endpointrightenumprimitivemodulus) -> (forall jt_index_endpointrightenumprimitivecoordinates jt_value_endpointrightenumprimitivecoordinates. (exists jt_gap_endpointrightenumprimitivecoordinatesindex. jt_gap_endpointrightenumprimitivecoordinatesindex+S (jt_index_endpointrightenumprimitivecoordinates)=(k)) -> (((exists fs_h_jt_endpointrightenumprimitivecoordinatesat. fs_h_jt_endpointrightenumprimitivecoordinatesat + S (jt_value_endpointrightenumprimitivecoordinates) = S ((S (jt_index_endpointrightenumprimitivecoordinates)) * jt_c_endpointrightenum)) /\ exists fs_q_jt_endpointrightenumprimitivecoordinatesat. jt_b_endpointrightenum = fs_q_jt_endpointrightenumprimitivecoordinatesat * S ((S (jt_index_endpointrightenumprimitivecoordinates)) * jt_c_endpointrightenum) + (jt_value_endpointrightenumprimitivecoordinates))) -> (exists jt_factor_endpointrightenumprimitivecoordinatesdivides. (jt_value_endpointrightenumprimitivecoordinates)=(jt_divisor_endpointrightenumprimitive)*jt_factor_endpointrightenumprimitivecoordinatesdivides)) -> jt_divisor_endpointrightenumprimitive=1))))) /\ (((forall jt_b_endpointrightenum jt_c_endpointrightenum. (forall jt_index_endpointrightenuminputbound. (exists jt_gap_endpointrightenuminputboundindex. jt_gap_endpointrightenuminputboundindex+S (jt_index_endpointrightenuminputbound)=(k)) -> exists jt_value_endpointrightenuminputbound. ((((exists fs_h_jt_endpointrightenuminputboundat. fs_h_jt_endpointrightenuminputboundat + S (jt_value_endpointrightenuminputbound) = S ((S (jt_index_endpointrightenuminputbound)) * jt_c_endpointrightenum)) /\ exists fs_q_jt_endpointrightenuminputboundat. jt_b_endpointrightenum = fs_q_jt_endpointrightenuminputboundat * S ((S (jt_index_endpointrightenuminputbound)) * jt_c_endpointrightenum) + (jt_value_endpointrightenuminputbound))) /\ (exists jt_gap_endpointrightenuminputboundvalue. jt_gap_endpointrightenuminputboundvalue+S (jt_value_endpointrightenuminputbound)=(b)))) -> (forall jt_divisor_endpointrightenuminputprimitive. (exists jt_factor_endpointrightenuminputprimitivemodulus. (b)=(jt_divisor_endpointrightenuminputprimitive)*jt_factor_endpointrightenuminputprimitivemodulus) -> (forall jt_index_endpointrightenuminputprimitivecoordinates jt_value_endpointrightenuminputprimitivecoordinates. (exists jt_gap_endpointrightenuminputprimitivecoordinatesindex. jt_gap_endpointrightenuminputprimitivecoordinatesindex+S (jt_index_endpointrightenuminputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_endpointrightenuminputprimitivecoordinatesat. fs_h_jt_endpointrightenuminputprimitivecoordinatesat + S (jt_value_endpointrightenuminputprimitivecoordinates) = S ((S (jt_index_endpointrightenuminputprimitivecoordinates)) * jt_c_endpointrightenum)) /\ exists fs_q_jt_endpointrightenuminputprimitivecoordinatesat. jt_b_endpointrightenum = fs_q_jt_endpointrightenuminputprimitivecoordinatesat * S ((S (jt_index_endpointrightenuminputprimitivecoordinates)) * jt_c_endpointrightenum) + (jt_value_endpointrightenuminputprimitivecoordinates))) -> (exists jt_factor_endpointrightenuminputprimitivecoordinatesdivides. (jt_value_endpointrightenuminputprimitivecoordinates)=(jt_divisor_endpointrightenuminputprimitive)*jt_factor_endpointrightenuminputprimitivecoordinatesdivides)) -> jt_divisor_endpointrightenuminputprimitive=1) -> exists jt_i_endpointrightenum jt_d_endpointrightenum jt_e_endpointrightenum. ((exists jt_gap_endpointrightenumcompleteindex. jt_gap_endpointrightenumcompleteindex+S (jt_i_endpointrightenum)=(v)) /\ (((((((exists fs_h_jt_endpointrightenumcompletecode. fs_h_jt_endpointrightenumcompletecode + S (jt_d_endpointrightenum) = S ((S (jt_i_endpointrightenum)) * jt_code_scale_endpointright)) /\ exists fs_q_jt_endpointrightenumcompletecode. jt_codes_endpointright = fs_q_jt_endpointrightenumcompletecode * S ((S (jt_i_endpointrightenum)) * jt_code_scale_endpointright) + (jt_d_endpointrightenum))) /\ (((exists fs_h_jt_endpointrightenumcompletescale. fs_h_jt_endpointrightenumcompletescale + S (jt_e_endpointrightenum) = S ((S (jt_i_endpointrightenum)) * jt_scale_scale_endpointright)) /\ exists fs_q_jt_endpointrightenumcompletescale. jt_scales_endpointright = fs_q_jt_endpointrightenumcompletescale * S ((S (jt_i_endpointrightenum)) * jt_scale_scale_endpointright) + (jt_e_endpointrightenum))))) /\ (forall jt_index_endpointrightenumrepresented jt_left_endpointrightenumrepresented jt_right_endpointrightenumrepresented. (exists jt_gap_endpointrightenumrepresentedindex. jt_gap_endpointrightenumrepresentedindex+S (jt_index_endpointrightenumrepresented)=(k)) -> (((exists fs_h_jt_endpointrightenumrepresentedleft. fs_h_jt_endpointrightenumrepresentedleft + S (jt_left_endpointrightenumrepresented) = S ((S (jt_index_endpointrightenumrepresented)) * jt_c_endpointrightenum)) /\ exists fs_q_jt_endpointrightenumrepresentedleft. jt_b_endpointrightenum = fs_q_jt_endpointrightenumrepresentedleft * S ((S (jt_index_endpointrightenumrepresented)) * jt_c_endpointrightenum) + (jt_left_endpointrightenumrepresented))) -> (((exists fs_h_jt_endpointrightenumrepresentedright. fs_h_jt_endpointrightenumrepresentedright + S (jt_right_endpointrightenumrepresented) = S ((S (jt_index_endpointrightenumrepresented)) * jt_e_endpointrightenum)) /\ exists fs_q_jt_endpointrightenumrepresentedright. jt_d_endpointrightenum = fs_q_jt_endpointrightenumrepresentedright * S ((S (jt_index_endpointrightenumrepresented)) * jt_e_endpointrightenum) + (jt_right_endpointrightenumrepresented))) -> jt_left_endpointrightenumrepresented=jt_right_endpointrightenumrepresented))))) /\ (forall jt_i_endpointrightenum jt_h_endpointrightenum jt_b_endpointrightenum jt_c_endpointrightenum jt_d_endpointrightenum jt_e_endpointrightenum. (exists jt_gap_endpointrightenumfirstindex. jt_gap_endpointrightenumfirstindex+S (jt_i_endpointrightenum)=(v)) -> (exists jt_gap_endpointrightenumsecondindex. jt_gap_endpointrightenumsecondindex+S (jt_h_endpointrightenum)=(v)) -> (((((exists fs_h_jt_endpointrightenumfirstcode. fs_h_jt_endpointrightenumfirstcode + S (jt_b_endpointrightenum) = S ((S (jt_i_endpointrightenum)) * jt_code_scale_endpointright)) /\ exists fs_q_jt_endpointrightenumfirstcode. jt_codes_endpointright = fs_q_jt_endpointrightenumfirstcode * S ((S (jt_i_endpointrightenum)) * jt_code_scale_endpointright) + (jt_b_endpointrightenum))) /\ (((exists fs_h_jt_endpointrightenumfirstscale. fs_h_jt_endpointrightenumfirstscale + S (jt_c_endpointrightenum) = S ((S (jt_i_endpointrightenum)) * jt_scale_scale_endpointright)) /\ exists fs_q_jt_endpointrightenumfirstscale. jt_scales_endpointright = fs_q_jt_endpointrightenumfirstscale * S ((S (jt_i_endpointrightenum)) * jt_scale_scale_endpointright) + (jt_c_endpointrightenum))))) -> (((((exists fs_h_jt_endpointrightenumsecondcode. fs_h_jt_endpointrightenumsecondcode + S (jt_d_endpointrightenum) = S ((S (jt_h_endpointrightenum)) * jt_code_scale_endpointright)) /\ exists fs_q_jt_endpointrightenumsecondcode. jt_codes_endpointright = fs_q_jt_endpointrightenumsecondcode * S ((S (jt_h_endpointrightenum)) * jt_code_scale_endpointright) + (jt_d_endpointrightenum))) /\ (((exists fs_h_jt_endpointrightenumsecondscale. fs_h_jt_endpointrightenumsecondscale + S (jt_e_endpointrightenum) = S ((S (jt_h_endpointrightenum)) * jt_scale_scale_endpointright)) /\ exists fs_q_jt_endpointrightenumsecondscale. jt_scales_endpointright = fs_q_jt_endpointrightenumsecondscale * S ((S (jt_h_endpointrightenum)) * jt_scale_scale_endpointright) + (jt_e_endpointrightenum))))) -> (forall jt_index_endpointrightenumsame jt_left_endpointrightenumsame jt_right_endpointrightenumsame. (exists jt_gap_endpointrightenumsameindex. jt_gap_endpointrightenumsameindex+S (jt_index_endpointrightenumsame)=(k)) -> (((exists fs_h_jt_endpointrightenumsameleft. fs_h_jt_endpointrightenumsameleft + S (jt_left_endpointrightenumsame) = S ((S (jt_index_endpointrightenumsame)) * jt_c_endpointrightenum)) /\ exists fs_q_jt_endpointrightenumsameleft. jt_b_endpointrightenum = fs_q_jt_endpointrightenumsameleft * S ((S (jt_index_endpointrightenumsame)) * jt_c_endpointrightenum) + (jt_left_endpointrightenumsame))) -> (((exists fs_h_jt_endpointrightenumsameright. fs_h_jt_endpointrightenumsameright + S (jt_right_endpointrightenumsame) = S ((S (jt_index_endpointrightenumsame)) * jt_e_endpointrightenum)) /\ exists fs_q_jt_endpointrightenumsameright. jt_d_endpointrightenum = fs_q_jt_endpointrightenumsameright * S ((S (jt_index_endpointrightenumsame)) * jt_e_endpointrightenum) + (jt_right_endpointrightenumsame))) -> jt_left_endpointrightenumsame=jt_right_endpointrightenumsame) -> jt_i_endpointrightenum=jt_h_endpointrightenum))))))))
  16. 0016specialize jordan_totient_exists (k)
  17. 0017specialize jordan_totient_exists (b)
  18. 0018apply jordan_totient_exists
  19. 0019exact hk
  20. 0020exact hb
  21. 0021cases hv
  22. 0022exists x
  23. 0023exists x1
  24. 0024exists x*x1
  25. 0025split
  26. 0026exact hu_witness
  27. 0027split
  28. 0028exact hv_witness
  29. 0029split
  30. 0030specialize jordan_totient_coprime_product (k)
  31. 0031specialize jordan_totient_coprime_product (a)
  32. 0032specialize jordan_totient_coprime_product (b)
  33. 0033specialize jordan_totient_coprime_product (x)
  34. 0034specialize jordan_totient_coprime_product (x1)
  35. 0035apply jordan_totient_coprime_product
  36. 0036exact hcop
  37. 0037exact hu_witness
  38. 0038exact hv_witness
  39. 0039refl