JT004D

jordan_enumeration_position_match_exists

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

Every actual source position has a bounded target position representing precisely the same coordinate tuple.

Exact expanded first-order arithmetic statement

forall k n A B C D u E F G H v i. (((forall jt_i_source_enum. (exists jt_gap_source_enumsoundindex. jt_gap_source_enumsoundindex+S (jt_i_source_enum)=(u)) -> exists jt_b_source_enum jt_c_source_enum. ((((((exists fs_h_jt_source_enumsoundcode. fs_h_jt_source_enumsoundcode + S (jt_b_source_enum) = S ((S (jt_i_source_enum)) * B)) /\ exists fs_q_jt_source_enumsoundcode. A = fs_q_jt_source_enumsoundcode * S ((S (jt_i_source_enum)) * B) + (jt_b_source_enum))) /\ (((exists fs_h_jt_source_enumsoundscale. fs_h_jt_source_enumsoundscale + S (jt_c_source_enum) = S ((S (jt_i_source_enum)) * D)) /\ exists fs_q_jt_source_enumsoundscale. C = fs_q_jt_source_enumsoundscale * S ((S (jt_i_source_enum)) * D) + (jt_c_source_enum))))) /\ (((forall jt_index_source_enumbound. (exists jt_gap_source_enumboundindex. jt_gap_source_enumboundindex+S (jt_index_source_enumbound)=(k)) -> exists jt_value_source_enumbound. ((((exists fs_h_jt_source_enumboundat. fs_h_jt_source_enumboundat + S (jt_value_source_enumbound) = S ((S (jt_index_source_enumbound)) * jt_c_source_enum)) /\ exists fs_q_jt_source_enumboundat. jt_b_source_enum = fs_q_jt_source_enumboundat * S ((S (jt_index_source_enumbound)) * jt_c_source_enum) + (jt_value_source_enumbound))) /\ (exists jt_gap_source_enumboundvalue. jt_gap_source_enumboundvalue+S (jt_value_source_enumbound)=(n)))) /\ (forall jt_divisor_source_enumprimitive. (exists jt_factor_source_enumprimitivemodulus. (n)=(jt_divisor_source_enumprimitive)*jt_factor_source_enumprimitivemodulus) -> (forall jt_index_source_enumprimitivecoordinates jt_value_source_enumprimitivecoordinates. (exists jt_gap_source_enumprimitivecoordinatesindex. jt_gap_source_enumprimitivecoordinatesindex+S (jt_index_source_enumprimitivecoordinates)=(k)) -> (((exists fs_h_jt_source_enumprimitivecoordinatesat. fs_h_jt_source_enumprimitivecoordinatesat + S (jt_value_source_enumprimitivecoordinates) = S ((S (jt_index_source_enumprimitivecoordinates)) * jt_c_source_enum)) /\ exists fs_q_jt_source_enumprimitivecoordinatesat. jt_b_source_enum = fs_q_jt_source_enumprimitivecoordinatesat * S ((S (jt_index_source_enumprimitivecoordinates)) * jt_c_source_enum) + (jt_value_source_enumprimitivecoordinates))) -> (exists jt_factor_source_enumprimitivecoordinatesdivides. (jt_value_source_enumprimitivecoordinates)=(jt_divisor_source_enumprimitive)*jt_factor_source_enumprimitivecoordinatesdivides)) -> jt_divisor_source_enumprimitive=1))))) /\ (((forall jt_b_source_enum jt_c_source_enum. (forall jt_index_source_enuminputbound. (exists jt_gap_source_enuminputboundindex. jt_gap_source_enuminputboundindex+S (jt_index_source_enuminputbound)=(k)) -> exists jt_value_source_enuminputbound. ((((exists fs_h_jt_source_enuminputboundat. fs_h_jt_source_enuminputboundat + S (jt_value_source_enuminputbound) = S ((S (jt_index_source_enuminputbound)) * jt_c_source_enum)) /\ exists fs_q_jt_source_enuminputboundat. jt_b_source_enum = fs_q_jt_source_enuminputboundat * S ((S (jt_index_source_enuminputbound)) * jt_c_source_enum) + (jt_value_source_enuminputbound))) /\ (exists jt_gap_source_enuminputboundvalue. jt_gap_source_enuminputboundvalue+S (jt_value_source_enuminputbound)=(n)))) -> (forall jt_divisor_source_enuminputprimitive. (exists jt_factor_source_enuminputprimitivemodulus. (n)=(jt_divisor_source_enuminputprimitive)*jt_factor_source_enuminputprimitivemodulus) -> (forall jt_index_source_enuminputprimitivecoordinates jt_value_source_enuminputprimitivecoordinates. (exists jt_gap_source_enuminputprimitivecoordinatesindex. jt_gap_source_enuminputprimitivecoordinatesindex+S (jt_index_source_enuminputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_source_enuminputprimitivecoordinatesat. fs_h_jt_source_enuminputprimitivecoordinatesat + S (jt_value_source_enuminputprimitivecoordinates) = S ((S (jt_index_source_enuminputprimitivecoordinates)) * jt_c_source_enum)) /\ exists fs_q_jt_source_enuminputprimitivecoordinatesat. jt_b_source_enum = fs_q_jt_source_enuminputprimitivecoordinatesat * S ((S (jt_index_source_enuminputprimitivecoordinates)) * jt_c_source_enum) + (jt_value_source_enuminputprimitivecoordinates))) -> (exists jt_factor_source_enuminputprimitivecoordinatesdivides. (jt_value_source_enuminputprimitivecoordinates)=(jt_divisor_source_enuminputprimitive)*jt_factor_source_enuminputprimitivecoordinatesdivides)) -> jt_divisor_source_enuminputprimitive=1) -> exists jt_i_source_enum jt_d_source_enum jt_e_source_enum. ((exists jt_gap_source_enumcompleteindex. jt_gap_source_enumcompleteindex+S (jt_i_source_enum)=(u)) /\ (((((((exists fs_h_jt_source_enumcompletecode. fs_h_jt_source_enumcompletecode + S (jt_d_source_enum) = S ((S (jt_i_source_enum)) * B)) /\ exists fs_q_jt_source_enumcompletecode. A = fs_q_jt_source_enumcompletecode * S ((S (jt_i_source_enum)) * B) + (jt_d_source_enum))) /\ (((exists fs_h_jt_source_enumcompletescale. fs_h_jt_source_enumcompletescale + S (jt_e_source_enum) = S ((S (jt_i_source_enum)) * D)) /\ exists fs_q_jt_source_enumcompletescale. C = fs_q_jt_source_enumcompletescale * S ((S (jt_i_source_enum)) * D) + (jt_e_source_enum))))) /\ (forall jt_index_source_enumrepresented jt_left_source_enumrepresented jt_right_source_enumrepresented. (exists jt_gap_source_enumrepresentedindex. jt_gap_source_enumrepresentedindex+S (jt_index_source_enumrepresented)=(k)) -> (((exists fs_h_jt_source_enumrepresentedleft. fs_h_jt_source_enumrepresentedleft + S (jt_left_source_enumrepresented) = S ((S (jt_index_source_enumrepresented)) * jt_c_source_enum)) /\ exists fs_q_jt_source_enumrepresentedleft. jt_b_source_enum = fs_q_jt_source_enumrepresentedleft * S ((S (jt_index_source_enumrepresented)) * jt_c_source_enum) + (jt_left_source_enumrepresented))) -> (((exists fs_h_jt_source_enumrepresentedright. fs_h_jt_source_enumrepresentedright + S (jt_right_source_enumrepresented) = S ((S (jt_index_source_enumrepresented)) * jt_e_source_enum)) /\ exists fs_q_jt_source_enumrepresentedright. jt_d_source_enum = fs_q_jt_source_enumrepresentedright * S ((S (jt_index_source_enumrepresented)) * jt_e_source_enum) + (jt_right_source_enumrepresented))) -> jt_left_source_enumrepresented=jt_right_source_enumrepresented))))) /\ (forall jt_i_source_enum jt_h_source_enum jt_b_source_enum jt_c_source_enum jt_d_source_enum jt_e_source_enum. (exists jt_gap_source_enumfirstindex. jt_gap_source_enumfirstindex+S (jt_i_source_enum)=(u)) -> (exists jt_gap_source_enumsecondindex. jt_gap_source_enumsecondindex+S (jt_h_source_enum)=(u)) -> (((((exists fs_h_jt_source_enumfirstcode. fs_h_jt_source_enumfirstcode + S (jt_b_source_enum) = S ((S (jt_i_source_enum)) * B)) /\ exists fs_q_jt_source_enumfirstcode. A = fs_q_jt_source_enumfirstcode * S ((S (jt_i_source_enum)) * B) + (jt_b_source_enum))) /\ (((exists fs_h_jt_source_enumfirstscale. fs_h_jt_source_enumfirstscale + S (jt_c_source_enum) = S ((S (jt_i_source_enum)) * D)) /\ exists fs_q_jt_source_enumfirstscale. C = fs_q_jt_source_enumfirstscale * S ((S (jt_i_source_enum)) * D) + (jt_c_source_enum))))) -> (((((exists fs_h_jt_source_enumsecondcode. fs_h_jt_source_enumsecondcode + S (jt_d_source_enum) = S ((S (jt_h_source_enum)) * B)) /\ exists fs_q_jt_source_enumsecondcode. A = fs_q_jt_source_enumsecondcode * S ((S (jt_h_source_enum)) * B) + (jt_d_source_enum))) /\ (((exists fs_h_jt_source_enumsecondscale. fs_h_jt_source_enumsecondscale + S (jt_e_source_enum) = S ((S (jt_h_source_enum)) * D)) /\ exists fs_q_jt_source_enumsecondscale. C = fs_q_jt_source_enumsecondscale * S ((S (jt_h_source_enum)) * D) + (jt_e_source_enum))))) -> (forall jt_index_source_enumsame jt_left_source_enumsame jt_right_source_enumsame. (exists jt_gap_source_enumsameindex. jt_gap_source_enumsameindex+S (jt_index_source_enumsame)=(k)) -> (((exists fs_h_jt_source_enumsameleft. fs_h_jt_source_enumsameleft + S (jt_left_source_enumsame) = S ((S (jt_index_source_enumsame)) * jt_c_source_enum)) /\ exists fs_q_jt_source_enumsameleft. jt_b_source_enum = fs_q_jt_source_enumsameleft * S ((S (jt_index_source_enumsame)) * jt_c_source_enum) + (jt_left_source_enumsame))) -> (((exists fs_h_jt_source_enumsameright. fs_h_jt_source_enumsameright + S (jt_right_source_enumsame) = S ((S (jt_index_source_enumsame)) * jt_e_source_enum)) /\ exists fs_q_jt_source_enumsameright. jt_d_source_enum = fs_q_jt_source_enumsameright * S ((S (jt_index_source_enumsame)) * jt_e_source_enum) + (jt_right_source_enumsame))) -> jt_left_source_enumsame=jt_right_source_enumsame) -> jt_i_source_enum=jt_h_source_enum))))) -> (((forall jt_i_target_enum. (exists jt_gap_target_enumsoundindex. jt_gap_target_enumsoundindex+S (jt_i_target_enum)=(v)) -> exists jt_b_target_enum jt_c_target_enum. ((((((exists fs_h_jt_target_enumsoundcode. fs_h_jt_target_enumsoundcode + S (jt_b_target_enum) = S ((S (jt_i_target_enum)) * F)) /\ exists fs_q_jt_target_enumsoundcode. E = fs_q_jt_target_enumsoundcode * S ((S (jt_i_target_enum)) * F) + (jt_b_target_enum))) /\ (((exists fs_h_jt_target_enumsoundscale. fs_h_jt_target_enumsoundscale + S (jt_c_target_enum) = S ((S (jt_i_target_enum)) * H)) /\ exists fs_q_jt_target_enumsoundscale. G = fs_q_jt_target_enumsoundscale * S ((S (jt_i_target_enum)) * H) + (jt_c_target_enum))))) /\ (((forall jt_index_target_enumbound. (exists jt_gap_target_enumboundindex. jt_gap_target_enumboundindex+S (jt_index_target_enumbound)=(k)) -> exists jt_value_target_enumbound. ((((exists fs_h_jt_target_enumboundat. fs_h_jt_target_enumboundat + S (jt_value_target_enumbound) = S ((S (jt_index_target_enumbound)) * jt_c_target_enum)) /\ exists fs_q_jt_target_enumboundat. jt_b_target_enum = fs_q_jt_target_enumboundat * S ((S (jt_index_target_enumbound)) * jt_c_target_enum) + (jt_value_target_enumbound))) /\ (exists jt_gap_target_enumboundvalue. jt_gap_target_enumboundvalue+S (jt_value_target_enumbound)=(n)))) /\ (forall jt_divisor_target_enumprimitive. (exists jt_factor_target_enumprimitivemodulus. (n)=(jt_divisor_target_enumprimitive)*jt_factor_target_enumprimitivemodulus) -> (forall jt_index_target_enumprimitivecoordinates jt_value_target_enumprimitivecoordinates. (exists jt_gap_target_enumprimitivecoordinatesindex. jt_gap_target_enumprimitivecoordinatesindex+S (jt_index_target_enumprimitivecoordinates)=(k)) -> (((exists fs_h_jt_target_enumprimitivecoordinatesat. fs_h_jt_target_enumprimitivecoordinatesat + S (jt_value_target_enumprimitivecoordinates) = S ((S (jt_index_target_enumprimitivecoordinates)) * jt_c_target_enum)) /\ exists fs_q_jt_target_enumprimitivecoordinatesat. jt_b_target_enum = fs_q_jt_target_enumprimitivecoordinatesat * S ((S (jt_index_target_enumprimitivecoordinates)) * jt_c_target_enum) + (jt_value_target_enumprimitivecoordinates))) -> (exists jt_factor_target_enumprimitivecoordinatesdivides. (jt_value_target_enumprimitivecoordinates)=(jt_divisor_target_enumprimitive)*jt_factor_target_enumprimitivecoordinatesdivides)) -> jt_divisor_target_enumprimitive=1))))) /\ (((forall jt_b_target_enum jt_c_target_enum. (forall jt_index_target_enuminputbound. (exists jt_gap_target_enuminputboundindex. jt_gap_target_enuminputboundindex+S (jt_index_target_enuminputbound)=(k)) -> exists jt_value_target_enuminputbound. ((((exists fs_h_jt_target_enuminputboundat. fs_h_jt_target_enuminputboundat + S (jt_value_target_enuminputbound) = S ((S (jt_index_target_enuminputbound)) * jt_c_target_enum)) /\ exists fs_q_jt_target_enuminputboundat. jt_b_target_enum = fs_q_jt_target_enuminputboundat * S ((S (jt_index_target_enuminputbound)) * jt_c_target_enum) + (jt_value_target_enuminputbound))) /\ (exists jt_gap_target_enuminputboundvalue. jt_gap_target_enuminputboundvalue+S (jt_value_target_enuminputbound)=(n)))) -> (forall jt_divisor_target_enuminputprimitive. (exists jt_factor_target_enuminputprimitivemodulus. (n)=(jt_divisor_target_enuminputprimitive)*jt_factor_target_enuminputprimitivemodulus) -> (forall jt_index_target_enuminputprimitivecoordinates jt_value_target_enuminputprimitivecoordinates. (exists jt_gap_target_enuminputprimitivecoordinatesindex. jt_gap_target_enuminputprimitivecoordinatesindex+S (jt_index_target_enuminputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_target_enuminputprimitivecoordinatesat. fs_h_jt_target_enuminputprimitivecoordinatesat + S (jt_value_target_enuminputprimitivecoordinates) = S ((S (jt_index_target_enuminputprimitivecoordinates)) * jt_c_target_enum)) /\ exists fs_q_jt_target_enuminputprimitivecoordinatesat. jt_b_target_enum = fs_q_jt_target_enuminputprimitivecoordinatesat * S ((S (jt_index_target_enuminputprimitivecoordinates)) * jt_c_target_enum) + (jt_value_target_enuminputprimitivecoordinates))) -> (exists jt_factor_target_enuminputprimitivecoordinatesdivides. (jt_value_target_enuminputprimitivecoordinates)=(jt_divisor_target_enuminputprimitive)*jt_factor_target_enuminputprimitivecoordinatesdivides)) -> jt_divisor_target_enuminputprimitive=1) -> exists jt_i_target_enum jt_d_target_enum jt_e_target_enum. ((exists jt_gap_target_enumcompleteindex. jt_gap_target_enumcompleteindex+S (jt_i_target_enum)=(v)) /\ (((((((exists fs_h_jt_target_enumcompletecode. fs_h_jt_target_enumcompletecode + S (jt_d_target_enum) = S ((S (jt_i_target_enum)) * F)) /\ exists fs_q_jt_target_enumcompletecode. E = fs_q_jt_target_enumcompletecode * S ((S (jt_i_target_enum)) * F) + (jt_d_target_enum))) /\ (((exists fs_h_jt_target_enumcompletescale. fs_h_jt_target_enumcompletescale + S (jt_e_target_enum) = S ((S (jt_i_target_enum)) * H)) /\ exists fs_q_jt_target_enumcompletescale. G = fs_q_jt_target_enumcompletescale * S ((S (jt_i_target_enum)) * H) + (jt_e_target_enum))))) /\ (forall jt_index_target_enumrepresented jt_left_target_enumrepresented jt_right_target_enumrepresented. (exists jt_gap_target_enumrepresentedindex. jt_gap_target_enumrepresentedindex+S (jt_index_target_enumrepresented)=(k)) -> (((exists fs_h_jt_target_enumrepresentedleft. fs_h_jt_target_enumrepresentedleft + S (jt_left_target_enumrepresented) = S ((S (jt_index_target_enumrepresented)) * jt_c_target_enum)) /\ exists fs_q_jt_target_enumrepresentedleft. jt_b_target_enum = fs_q_jt_target_enumrepresentedleft * S ((S (jt_index_target_enumrepresented)) * jt_c_target_enum) + (jt_left_target_enumrepresented))) -> (((exists fs_h_jt_target_enumrepresentedright. fs_h_jt_target_enumrepresentedright + S (jt_right_target_enumrepresented) = S ((S (jt_index_target_enumrepresented)) * jt_e_target_enum)) /\ exists fs_q_jt_target_enumrepresentedright. jt_d_target_enum = fs_q_jt_target_enumrepresentedright * S ((S (jt_index_target_enumrepresented)) * jt_e_target_enum) + (jt_right_target_enumrepresented))) -> jt_left_target_enumrepresented=jt_right_target_enumrepresented))))) /\ (forall jt_i_target_enum jt_h_target_enum jt_b_target_enum jt_c_target_enum jt_d_target_enum jt_e_target_enum. (exists jt_gap_target_enumfirstindex. jt_gap_target_enumfirstindex+S (jt_i_target_enum)=(v)) -> (exists jt_gap_target_enumsecondindex. jt_gap_target_enumsecondindex+S (jt_h_target_enum)=(v)) -> (((((exists fs_h_jt_target_enumfirstcode. fs_h_jt_target_enumfirstcode + S (jt_b_target_enum) = S ((S (jt_i_target_enum)) * F)) /\ exists fs_q_jt_target_enumfirstcode. E = fs_q_jt_target_enumfirstcode * S ((S (jt_i_target_enum)) * F) + (jt_b_target_enum))) /\ (((exists fs_h_jt_target_enumfirstscale. fs_h_jt_target_enumfirstscale + S (jt_c_target_enum) = S ((S (jt_i_target_enum)) * H)) /\ exists fs_q_jt_target_enumfirstscale. G = fs_q_jt_target_enumfirstscale * S ((S (jt_i_target_enum)) * H) + (jt_c_target_enum))))) -> (((((exists fs_h_jt_target_enumsecondcode. fs_h_jt_target_enumsecondcode + S (jt_d_target_enum) = S ((S (jt_h_target_enum)) * F)) /\ exists fs_q_jt_target_enumsecondcode. E = fs_q_jt_target_enumsecondcode * S ((S (jt_h_target_enum)) * F) + (jt_d_target_enum))) /\ (((exists fs_h_jt_target_enumsecondscale. fs_h_jt_target_enumsecondscale + S (jt_e_target_enum) = S ((S (jt_h_target_enum)) * H)) /\ exists fs_q_jt_target_enumsecondscale. G = fs_q_jt_target_enumsecondscale * S ((S (jt_h_target_enum)) * H) + (jt_e_target_enum))))) -> (forall jt_index_target_enumsame jt_left_target_enumsame jt_right_target_enumsame. (exists jt_gap_target_enumsameindex. jt_gap_target_enumsameindex+S (jt_index_target_enumsame)=(k)) -> (((exists fs_h_jt_target_enumsameleft. fs_h_jt_target_enumsameleft + S (jt_left_target_enumsame) = S ((S (jt_index_target_enumsame)) * jt_c_target_enum)) /\ exists fs_q_jt_target_enumsameleft. jt_b_target_enum = fs_q_jt_target_enumsameleft * S ((S (jt_index_target_enumsame)) * jt_c_target_enum) + (jt_left_target_enumsame))) -> (((exists fs_h_jt_target_enumsameright. fs_h_jt_target_enumsameright + S (jt_right_target_enumsame) = S ((S (jt_index_target_enumsame)) * jt_e_target_enum)) /\ exists fs_q_jt_target_enumsameright. jt_d_target_enum = fs_q_jt_target_enumsameright * S ((S (jt_index_target_enumsame)) * jt_e_target_enum) + (jt_right_target_enumsame))) -> jt_left_target_enumsame=jt_right_target_enumsame) -> jt_i_target_enum=jt_h_target_enum))))) -> (exists jt_gap_source_index. jt_gap_source_index+S (i)=(u)) -> (exists j. ((exists jt_gap_chosen_image_bound. jt_gap_chosen_image_bound+S (j)=(v)) /\ (forall jt_b_chosen_image_match jt_c_chosen_image_match jt_d_chosen_image_match jt_e_chosen_image_match. (((((exists fs_h_jt_chosen_image_matchleftcode. fs_h_jt_chosen_image_matchleftcode + S (jt_b_chosen_image_match) = S ((S (i)) * B)) /\ exists fs_q_jt_chosen_image_matchleftcode. A = fs_q_jt_chosen_image_matchleftcode * S ((S (i)) * B) + (jt_b_chosen_image_match))) /\ (((exists fs_h_jt_chosen_image_matchleftscale. fs_h_jt_chosen_image_matchleftscale + S (jt_c_chosen_image_match) = S ((S (i)) * D)) /\ exists fs_q_jt_chosen_image_matchleftscale. C = fs_q_jt_chosen_image_matchleftscale * S ((S (i)) * D) + (jt_c_chosen_image_match))))) -> (((((exists fs_h_jt_chosen_image_matchrightcode. fs_h_jt_chosen_image_matchrightcode + S (jt_d_chosen_image_match) = S ((S (j)) * F)) /\ exists fs_q_jt_chosen_image_matchrightcode. E = fs_q_jt_chosen_image_matchrightcode * S ((S (j)) * F) + (jt_d_chosen_image_match))) /\ (((exists fs_h_jt_chosen_image_matchrightscale. fs_h_jt_chosen_image_matchrightscale + S (jt_e_chosen_image_match) = S ((S (j)) * H)) /\ exists fs_q_jt_chosen_image_matchrightscale. G = fs_q_jt_chosen_image_matchrightscale * S ((S (j)) * H) + (jt_e_chosen_image_match))))) -> (forall jt_index_chosen_image_matchequal jt_left_chosen_image_matchequal jt_right_chosen_image_matchequal. (exists jt_gap_chosen_image_matchequalindex. jt_gap_chosen_image_matchequalindex+S (jt_index_chosen_image_matchequal)=(k)) -> (((exists fs_h_jt_chosen_image_matchequalleft. fs_h_jt_chosen_image_matchequalleft + S (jt_left_chosen_image_matchequal) = S ((S (jt_index_chosen_image_matchequal)) * jt_c_chosen_image_match)) /\ exists fs_q_jt_chosen_image_matchequalleft. jt_b_chosen_image_match = fs_q_jt_chosen_image_matchequalleft * S ((S (jt_index_chosen_image_matchequal)) * jt_c_chosen_image_match) + (jt_left_chosen_image_matchequal))) -> (((exists fs_h_jt_chosen_image_matchequalright. fs_h_jt_chosen_image_matchequalright + S (jt_right_chosen_image_matchequal) = S ((S (jt_index_chosen_image_matchequal)) * jt_e_chosen_image_match)) /\ exists fs_q_jt_chosen_image_matchequalright. jt_d_chosen_image_match = fs_q_jt_chosen_image_matchequalright * S ((S (jt_index_chosen_image_matchequal)) * jt_e_chosen_image_match) + (jt_right_chosen_image_matchequal))) -> jt_left_chosen_image_matchequal=jt_right_chosen_image_matchequal))))

Constructive proof overview

Generated structural guide

Every actual source position has a bounded target position representing precisely the same coordinate tuple.

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

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

Proof neighborhood

Direct dependencies

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

66 script commands · 12 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–10

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

  1. L1
    intro k
  2. L2
    intro n
  3. L3
    intro A
  4. L4
    intro B
  5. L5
    intro C
  6. L6
    intro D
  7. L7
    intro u
  8. L8
    intro E
  9. L9
    intro F
  10. L10
    intro G
02Fix variables and assumptionsL11–16

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

  1. L11
    intro H
  2. L12
    intro v
  3. L13
    intro i
  4. L14
    intro hl
  5. L15
    intro hr
  6. L16
    intro hi
03Separate the logical casesL17–17

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

  1. L17
    cases hl
04Establish hvL18–21

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hl left.

  1. L18
    have hv : ∃ b. ∃ c. BetaAt(A,B,i,b) ∧ BetaAt(C,D,i,c) ∧ (BetaPrefixInto(b,c,k,n) ∧ JordanPrimitiveTuple(n,b,c,k))Definitions: BetaPrefixIntoJordanPrimitiveTupleBetaAt
  2. L19
    specialize hl_left (i)
  3. L20
    apply hl_left
  4. L21
    exact hi
05Separate the logical casesL22–25

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

  1. L22
    cases hv
  2. L23
    cases hv_witness
  3. L24
    cases hv_witness_witness
  4. L25
    cases hv_witness_witness_right
06Establish hwL26–35

Establish this local claim before using it. It is not an additional assumption.

  1. L26
    have hw : JordanTupleListed(x,x1,k,E,F,G,H,v)Definitions: JordanTupleListed
  2. L27
    specialize jordan_enumeration_complete (k)
  3. L28
    specialize jordan_enumeration_complete (n)
  4. L29
    specialize jordan_enumeration_complete (E)
  5. L30
    specialize jordan_enumeration_complete (F)
  6. L31
    specialize jordan_enumeration_complete (G)
  7. L32
    specialize jordan_enumeration_complete (H)
  8. L33
    specialize jordan_enumeration_complete (v)
  9. L34
    specialize jordan_enumeration_complete (x)
  10. L35
    specialize jordan_enumeration_complete (x1)
07Use earlier factsL36–39

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

  1. L36
    apply jordan_enumeration_complete
  2. L37
    exact hr
  3. L38
    exact hv_witness_witness_right_left
  4. L39
    exact hv_witness_witness_right_right
08Separate the logical casesL40–44

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

  1. L40
    cases hw
  2. L41
    cases hw_witness
  3. L42
    cases hw_witness_witness
  4. L43
    cases hw_witness_witness_witness
  5. L44
    cases hw_witness_witness_witness_right
09Construct an explicit witnessL45–45

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

  1. L45
    exists x2
10Separate the logical casesL46–46

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

  1. L46
    split
11Use earlier factsL47–56

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

  1. L47
    exact hw_witness_witness_witness_left
  2. L48
    specialize jordan_enumeration_position_match_from_entries (k)
  3. L49
    specialize jordan_enumeration_position_match_from_entries (A)
  4. L50
    specialize jordan_enumeration_position_match_from_entries (B)
  5. L51
    specialize jordan_enumeration_position_match_from_entries (C)
  6. L52
    specialize jordan_enumeration_position_match_from_entries (D)
  7. L53
    specialize jordan_enumeration_position_match_from_entries (E)
  8. L54
    specialize jordan_enumeration_position_match_from_entries (F)
  9. L55
    specialize jordan_enumeration_position_match_from_entries (G)
  10. L56
    specialize jordan_enumeration_position_match_from_entries (H)
12Use earlier factsL57–66

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

  1. L57
    specialize jordan_enumeration_position_match_from_entries (i)
  2. L58
    specialize jordan_enumeration_position_match_from_entries (x2)
  3. L59
    specialize jordan_enumeration_position_match_from_entries (x)
  4. L60
    specialize jordan_enumeration_position_match_from_entries (x1)
  5. L61
    specialize jordan_enumeration_position_match_from_entries (x3)
  6. L62
    specialize jordan_enumeration_position_match_from_entries (x4)
  7. L63
    apply jordan_enumeration_position_match_from_entries
  8. L64
    exact hv_witness_witness_left
  9. L65
    exact hw_witness_witness_witness_right_left
  10. L66
    exact hw_witness_witness_witness_right_right

Library-wide reading audit

Original exact command ledger · 66 lines
  1. 0001intro k
  2. 0002intro n
  3. 0003intro A
  4. 0004intro B
  5. 0005intro C
  6. 0006intro D
  7. 0007intro u
  8. 0008intro E
  9. 0009intro F
  10. 0010intro G
  11. 0011intro H
  12. 0012intro v
  13. 0013intro i
  14. 0014intro hl
  15. 0015intro hr
  16. 0016intro hi
  17. 0017cases hl
  18. 0018have hv : exists b c. ((((((exists fs_h_jt_chosen_sourceentrycode. fs_h_jt_chosen_sourceentrycode + S (b) = S ((S (i)) * B)) /\ exists fs_q_jt_chosen_sourceentrycode. A = fs_q_jt_chosen_sourceentrycode * S ((S (i)) * B) + (b))) /\ (((exists fs_h_jt_chosen_sourceentryscale. fs_h_jt_chosen_sourceentryscale + S (c) = S ((S (i)) * D)) /\ exists fs_q_jt_chosen_sourceentryscale. C = fs_q_jt_chosen_sourceentryscale * S ((S (i)) * D) + (c))))) /\ (((forall jt_index_chosen_sourcebound. (exists jt_gap_chosen_sourceboundindex. jt_gap_chosen_sourceboundindex+S (jt_index_chosen_sourcebound)=(k)) -> exists jt_value_chosen_sourcebound. ((((exists fs_h_jt_chosen_sourceboundat. fs_h_jt_chosen_sourceboundat + S (jt_value_chosen_sourcebound) = S ((S (jt_index_chosen_sourcebound)) * c)) /\ exists fs_q_jt_chosen_sourceboundat. b = fs_q_jt_chosen_sourceboundat * S ((S (jt_index_chosen_sourcebound)) * c) + (jt_value_chosen_sourcebound))) /\ (exists jt_gap_chosen_sourceboundvalue. jt_gap_chosen_sourceboundvalue+S (jt_value_chosen_sourcebound)=(n)))) /\ (forall jt_divisor_chosen_sourceprimitive. (exists jt_factor_chosen_sourceprimitivemodulus. (n)=(jt_divisor_chosen_sourceprimitive)*jt_factor_chosen_sourceprimitivemodulus) -> (forall jt_index_chosen_sourceprimitivecoordinates jt_value_chosen_sourceprimitivecoordinates. (exists jt_gap_chosen_sourceprimitivecoordinatesindex. jt_gap_chosen_sourceprimitivecoordinatesindex+S (jt_index_chosen_sourceprimitivecoordinates)=(k)) -> (((exists fs_h_jt_chosen_sourceprimitivecoordinatesat. fs_h_jt_chosen_sourceprimitivecoordinatesat + S (jt_value_chosen_sourceprimitivecoordinates) = S ((S (jt_index_chosen_sourceprimitivecoordinates)) * c)) /\ exists fs_q_jt_chosen_sourceprimitivecoordinatesat. b = fs_q_jt_chosen_sourceprimitivecoordinatesat * S ((S (jt_index_chosen_sourceprimitivecoordinates)) * c) + (jt_value_chosen_sourceprimitivecoordinates))) -> (exists jt_factor_chosen_sourceprimitivecoordinatesdivides. (jt_value_chosen_sourceprimitivecoordinates)=(jt_divisor_chosen_sourceprimitive)*jt_factor_chosen_sourceprimitivecoordinatesdivides)) -> jt_divisor_chosen_sourceprimitive=1))))
  19. 0019specialize hl_left (i)
  20. 0020apply hl_left
  21. 0021exact hi
  22. 0022cases hv
  23. 0023cases hv_witness
  24. 0024cases hv_witness_witness
  25. 0025cases hv_witness_witness_right
  26. 0026have hw : exists jt_index_chosen_target jt_code_chosen_target jt_scale_chosen_target. ((exists jt_gap_chosen_targetindex. jt_gap_chosen_targetindex+S (jt_index_chosen_target)=(v)) /\ (((((((exists fs_h_jt_chosen_targetcode. fs_h_jt_chosen_targetcode + S (jt_code_chosen_target) = S ((S (jt_index_chosen_target)) * F)) /\ exists fs_q_jt_chosen_targetcode. E = fs_q_jt_chosen_targetcode * S ((S (jt_index_chosen_target)) * F) + (jt_code_chosen_target))) /\ (((exists fs_h_jt_chosen_targetscale. fs_h_jt_chosen_targetscale + S (jt_scale_chosen_target) = S ((S (jt_index_chosen_target)) * H)) /\ exists fs_q_jt_chosen_targetscale. G = fs_q_jt_chosen_targetscale * S ((S (jt_index_chosen_target)) * H) + (jt_scale_chosen_target))))) /\ (forall jt_index_chosen_targetequal jt_left_chosen_targetequal jt_right_chosen_targetequal. (exists jt_gap_chosen_targetequalindex. jt_gap_chosen_targetequalindex+S (jt_index_chosen_targetequal)=(k)) -> (((exists fs_h_jt_chosen_targetequalleft. fs_h_jt_chosen_targetequalleft + S (jt_left_chosen_targetequal) = S ((S (jt_index_chosen_targetequal)) * x1)) /\ exists fs_q_jt_chosen_targetequalleft. x = fs_q_jt_chosen_targetequalleft * S ((S (jt_index_chosen_targetequal)) * x1) + (jt_left_chosen_targetequal))) -> (((exists fs_h_jt_chosen_targetequalright. fs_h_jt_chosen_targetequalright + S (jt_right_chosen_targetequal) = S ((S (jt_index_chosen_targetequal)) * jt_scale_chosen_target)) /\ exists fs_q_jt_chosen_targetequalright. jt_code_chosen_target = fs_q_jt_chosen_targetequalright * S ((S (jt_index_chosen_targetequal)) * jt_scale_chosen_target) + (jt_right_chosen_targetequal))) -> jt_left_chosen_targetequal=jt_right_chosen_targetequal))))
  27. 0027specialize jordan_enumeration_complete (k)
  28. 0028specialize jordan_enumeration_complete (n)
  29. 0029specialize jordan_enumeration_complete (E)
  30. 0030specialize jordan_enumeration_complete (F)
  31. 0031specialize jordan_enumeration_complete (G)
  32. 0032specialize jordan_enumeration_complete (H)
  33. 0033specialize jordan_enumeration_complete (v)
  34. 0034specialize jordan_enumeration_complete (x)
  35. 0035specialize jordan_enumeration_complete (x1)
  36. 0036apply jordan_enumeration_complete
  37. 0037exact hr
  38. 0038exact hv_witness_witness_right_left
  39. 0039exact hv_witness_witness_right_right
  40. 0040cases hw
  41. 0041cases hw_witness
  42. 0042cases hw_witness_witness
  43. 0043cases hw_witness_witness_witness
  44. 0044cases hw_witness_witness_witness_right
  45. 0045exists x2
  46. 0046split
  47. 0047exact hw_witness_witness_witness_left
  48. 0048specialize jordan_enumeration_position_match_from_entries (k)
  49. 0049specialize jordan_enumeration_position_match_from_entries (A)
  50. 0050specialize jordan_enumeration_position_match_from_entries (B)
  51. 0051specialize jordan_enumeration_position_match_from_entries (C)
  52. 0052specialize jordan_enumeration_position_match_from_entries (D)
  53. 0053specialize jordan_enumeration_position_match_from_entries (E)
  54. 0054specialize jordan_enumeration_position_match_from_entries (F)
  55. 0055specialize jordan_enumeration_position_match_from_entries (G)
  56. 0056specialize jordan_enumeration_position_match_from_entries (H)
  57. 0057specialize jordan_enumeration_position_match_from_entries (i)
  58. 0058specialize jordan_enumeration_position_match_from_entries (x2)
  59. 0059specialize jordan_enumeration_position_match_from_entries (x)
  60. 0060specialize jordan_enumeration_position_match_from_entries (x1)
  61. 0061specialize jordan_enumeration_position_match_from_entries (x3)
  62. 0062specialize jordan_enumeration_position_match_from_entries (x4)
  63. 0063apply jordan_enumeration_position_match_from_entries
  64. 0064exact hv_witness_witness_left
  65. 0065exact hw_witness_witness_witness_right_left
  66. 0066exact hw_witness_witness_witness_right_right