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
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)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–16
03Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- 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.
- 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 - L19
specialize hl_left (i) - L20
apply hl_left - L21
exact hi
05Separate the logical casesL22–25
06Establish hwL26–35
Establish this local claim before using it. It is not an additional assumption.
- L26
have hw : JordanTupleListed(x,x1,k,E,F,G,H,v)Definitions: JordanTupleListed - L27
specialize jordan_enumeration_complete (k) - L28
specialize jordan_enumeration_complete (n) - L29
specialize jordan_enumeration_complete (E) - L30
specialize jordan_enumeration_complete (F) - L31
specialize jordan_enumeration_complete (G) - L32
specialize jordan_enumeration_complete (H) - L33
specialize jordan_enumeration_complete (v) - L34
specialize jordan_enumeration_complete (x) - L35
specialize jordan_enumeration_complete (x1)
07Use earlier factsL36–39
08Separate the logical casesL40–44
09Construct an explicit witnessL45–45
Supply the displayed value, then prove that it has the required property.
- L45
exists x2
10Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
11Use earlier factsL47–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hw_witness_witness_witness_left - L48
specialize jordan_enumeration_position_match_from_entries (k) - L49
specialize jordan_enumeration_position_match_from_entries (A) - L50
specialize jordan_enumeration_position_match_from_entries (B) - L51
specialize jordan_enumeration_position_match_from_entries (C) - L52
specialize jordan_enumeration_position_match_from_entries (D) - L53
specialize jordan_enumeration_position_match_from_entries (E) - L54
specialize jordan_enumeration_position_match_from_entries (F) - L55
specialize jordan_enumeration_position_match_from_entries (G) - L56
specialize jordan_enumeration_position_match_from_entries (H)
12Use earlier factsL57–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
specialize jordan_enumeration_position_match_from_entries (i) - L58
specialize jordan_enumeration_position_match_from_entries (x2) - L59
specialize jordan_enumeration_position_match_from_entries (x) - L60
specialize jordan_enumeration_position_match_from_entries (x1) - L61
specialize jordan_enumeration_position_match_from_entries (x3) - L62
specialize jordan_enumeration_position_match_from_entries (x4) - L63
apply jordan_enumeration_position_match_from_entries - L64
exact hv_witness_witness_left - L65
exact hw_witness_witness_witness_right_left - L66
exact hw_witness_witness_witness_right_right
Original exact command ledger · 66 lines
- 0001
intro k - 0002
intro n - 0003
intro A - 0004
intro B - 0005
intro C - 0006
intro D - 0007
intro u - 0008
intro E - 0009
intro F - 0010
intro G - 0011
intro H - 0012
intro v - 0013
intro i - 0014
intro hl - 0015
intro hr - 0016
intro hi - 0017
cases hl - 0018
have 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)))) - 0019
specialize hl_left (i) - 0020
apply hl_left - 0021
exact hi - 0022
cases hv - 0023
cases hv_witness - 0024
cases hv_witness_witness - 0025
cases hv_witness_witness_right - 0026
have 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)))) - 0027
specialize jordan_enumeration_complete (k) - 0028
specialize jordan_enumeration_complete (n) - 0029
specialize jordan_enumeration_complete (E) - 0030
specialize jordan_enumeration_complete (F) - 0031
specialize jordan_enumeration_complete (G) - 0032
specialize jordan_enumeration_complete (H) - 0033
specialize jordan_enumeration_complete (v) - 0034
specialize jordan_enumeration_complete (x) - 0035
specialize jordan_enumeration_complete (x1) - 0036
apply jordan_enumeration_complete - 0037
exact hr - 0038
exact hv_witness_witness_right_left - 0039
exact hv_witness_witness_right_right - 0040
cases hw - 0041
cases hw_witness - 0042
cases hw_witness_witness - 0043
cases hw_witness_witness_witness - 0044
cases hw_witness_witness_witness_right - 0045
exists x2 - 0046
split - 0047
exact hw_witness_witness_witness_left - 0048
specialize jordan_enumeration_position_match_from_entries (k) - 0049
specialize jordan_enumeration_position_match_from_entries (A) - 0050
specialize jordan_enumeration_position_match_from_entries (B) - 0051
specialize jordan_enumeration_position_match_from_entries (C) - 0052
specialize jordan_enumeration_position_match_from_entries (D) - 0053
specialize jordan_enumeration_position_match_from_entries (E) - 0054
specialize jordan_enumeration_position_match_from_entries (F) - 0055
specialize jordan_enumeration_position_match_from_entries (G) - 0056
specialize jordan_enumeration_position_match_from_entries (H) - 0057
specialize jordan_enumeration_position_match_from_entries (i) - 0058
specialize jordan_enumeration_position_match_from_entries (x2) - 0059
specialize jordan_enumeration_position_match_from_entries (x) - 0060
specialize jordan_enumeration_position_match_from_entries (x1) - 0061
specialize jordan_enumeration_position_match_from_entries (x3) - 0062
specialize jordan_enumeration_position_match_from_entries (x4) - 0063
apply jordan_enumeration_position_match_from_entries - 0064
exact hv_witness_witness_left - 0065
exact hw_witness_witness_witness_right_left - 0066
exact hw_witness_witness_witness_right_right