JT0023

jordan_tuple_scan_skip

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

Skip precisely when the current admissible tuple is already represented.

Exact expanded first-order arithmetic statement

forall k n c t B C D E j. (((forall jt_i_skipsource. (exists jt_gap_skipsourcesoundindex. jt_gap_skipsourcesoundindex+S (jt_i_skipsource)=(j)) -> exists jt_b_skipsource jt_e_skipsource. ((((((exists fs_h_jt_skipsourcesoundcode. fs_h_jt_skipsourcesoundcode + S (jt_b_skipsource) = S ((S (jt_i_skipsource)) * C)) /\ exists fs_q_jt_skipsourcesoundcode. B = fs_q_jt_skipsourcesoundcode * S ((S (jt_i_skipsource)) * C) + (jt_b_skipsource))) /\ (((exists fs_h_jt_skipsourcesoundscale. fs_h_jt_skipsourcesoundscale + S (jt_e_skipsource) = S ((S (jt_i_skipsource)) * E)) /\ exists fs_q_jt_skipsourcesoundscale. D = fs_q_jt_skipsourcesoundscale * S ((S (jt_i_skipsource)) * E) + (jt_e_skipsource))))) /\ (((forall jt_index_skipsourcebound. (exists jt_gap_skipsourceboundindex. jt_gap_skipsourceboundindex+S (jt_index_skipsourcebound)=(k)) -> exists jt_value_skipsourcebound. ((((exists fs_h_jt_skipsourceboundat. fs_h_jt_skipsourceboundat + S (jt_value_skipsourcebound) = S ((S (jt_index_skipsourcebound)) * jt_e_skipsource)) /\ exists fs_q_jt_skipsourceboundat. jt_b_skipsource = fs_q_jt_skipsourceboundat * S ((S (jt_index_skipsourcebound)) * jt_e_skipsource) + (jt_value_skipsourcebound))) /\ (exists jt_gap_skipsourceboundvalue. jt_gap_skipsourceboundvalue+S (jt_value_skipsourcebound)=(n)))) /\ (forall jt_divisor_skipsourceprimitive. (exists jt_factor_skipsourceprimitivemodulus. (n)=(jt_divisor_skipsourceprimitive)*jt_factor_skipsourceprimitivemodulus) -> (forall jt_index_skipsourceprimitivecoordinates jt_value_skipsourceprimitivecoordinates. (exists jt_gap_skipsourceprimitivecoordinatesindex. jt_gap_skipsourceprimitivecoordinatesindex+S (jt_index_skipsourceprimitivecoordinates)=(k)) -> (((exists fs_h_jt_skipsourceprimitivecoordinatesat. fs_h_jt_skipsourceprimitivecoordinatesat + S (jt_value_skipsourceprimitivecoordinates) = S ((S (jt_index_skipsourceprimitivecoordinates)) * jt_e_skipsource)) /\ exists fs_q_jt_skipsourceprimitivecoordinatesat. jt_b_skipsource = fs_q_jt_skipsourceprimitivecoordinatesat * S ((S (jt_index_skipsourceprimitivecoordinates)) * jt_e_skipsource) + (jt_value_skipsourceprimitivecoordinates))) -> (exists jt_factor_skipsourceprimitivecoordinatesdivides. (jt_value_skipsourceprimitivecoordinates)=(jt_divisor_skipsourceprimitive)*jt_factor_skipsourceprimitivecoordinatesdivides)) -> jt_divisor_skipsourceprimitive=1))))) /\ (((forall jt_i_skipsource jt_h_skipsource jt_b_skipsource jt_e_skipsource jt_d_skipsource jt_f_skipsource. (exists jt_gap_skipsourcefirstindex. jt_gap_skipsourcefirstindex+S (jt_i_skipsource)=(j)) -> (exists jt_gap_skipsourcesecondindex. jt_gap_skipsourcesecondindex+S (jt_h_skipsource)=(j)) -> (((((exists fs_h_jt_skipsourcefirstcode. fs_h_jt_skipsourcefirstcode + S (jt_b_skipsource) = S ((S (jt_i_skipsource)) * C)) /\ exists fs_q_jt_skipsourcefirstcode. B = fs_q_jt_skipsourcefirstcode * S ((S (jt_i_skipsource)) * C) + (jt_b_skipsource))) /\ (((exists fs_h_jt_skipsourcefirstscale. fs_h_jt_skipsourcefirstscale + S (jt_e_skipsource) = S ((S (jt_i_skipsource)) * E)) /\ exists fs_q_jt_skipsourcefirstscale. D = fs_q_jt_skipsourcefirstscale * S ((S (jt_i_skipsource)) * E) + (jt_e_skipsource))))) -> (((((exists fs_h_jt_skipsourcesecondcode. fs_h_jt_skipsourcesecondcode + S (jt_d_skipsource) = S ((S (jt_h_skipsource)) * C)) /\ exists fs_q_jt_skipsourcesecondcode. B = fs_q_jt_skipsourcesecondcode * S ((S (jt_h_skipsource)) * C) + (jt_d_skipsource))) /\ (((exists fs_h_jt_skipsourcesecondscale. fs_h_jt_skipsourcesecondscale + S (jt_f_skipsource) = S ((S (jt_h_skipsource)) * E)) /\ exists fs_q_jt_skipsourcesecondscale. D = fs_q_jt_skipsourcesecondscale * S ((S (jt_h_skipsource)) * E) + (jt_f_skipsource))))) -> (forall jt_index_skipsourcesame jt_left_skipsourcesame jt_right_skipsourcesame. (exists jt_gap_skipsourcesameindex. jt_gap_skipsourcesameindex+S (jt_index_skipsourcesame)=(k)) -> (((exists fs_h_jt_skipsourcesameleft. fs_h_jt_skipsourcesameleft + S (jt_left_skipsourcesame) = S ((S (jt_index_skipsourcesame)) * jt_e_skipsource)) /\ exists fs_q_jt_skipsourcesameleft. jt_b_skipsource = fs_q_jt_skipsourcesameleft * S ((S (jt_index_skipsourcesame)) * jt_e_skipsource) + (jt_left_skipsourcesame))) -> (((exists fs_h_jt_skipsourcesameright. fs_h_jt_skipsourcesameright + S (jt_right_skipsourcesame) = S ((S (jt_index_skipsourcesame)) * jt_f_skipsource)) /\ exists fs_q_jt_skipsourcesameright. jt_d_skipsource = fs_q_jt_skipsourcesameright * S ((S (jt_index_skipsourcesame)) * jt_f_skipsource) + (jt_right_skipsourcesame))) -> jt_left_skipsourcesame=jt_right_skipsourcesame) -> jt_i_skipsource=jt_h_skipsource) /\ (forall jt_z_skipsource. (exists jt_gap_skipsourcecodeindex. jt_gap_skipsourcecodeindex+S (jt_z_skipsource)=(t)) -> (forall jt_index_skipsourceinputbound. (exists jt_gap_skipsourceinputboundindex. jt_gap_skipsourceinputboundindex+S (jt_index_skipsourceinputbound)=(k)) -> exists jt_value_skipsourceinputbound. ((((exists fs_h_jt_skipsourceinputboundat. fs_h_jt_skipsourceinputboundat + S (jt_value_skipsourceinputbound) = S ((S (jt_index_skipsourceinputbound)) * c)) /\ exists fs_q_jt_skipsourceinputboundat. jt_z_skipsource = fs_q_jt_skipsourceinputboundat * S ((S (jt_index_skipsourceinputbound)) * c) + (jt_value_skipsourceinputbound))) /\ (exists jt_gap_skipsourceinputboundvalue. jt_gap_skipsourceinputboundvalue+S (jt_value_skipsourceinputbound)=(n)))) -> (forall jt_divisor_skipsourceinputprimitive. (exists jt_factor_skipsourceinputprimitivemodulus. (n)=(jt_divisor_skipsourceinputprimitive)*jt_factor_skipsourceinputprimitivemodulus) -> (forall jt_index_skipsourceinputprimitivecoordinates jt_value_skipsourceinputprimitivecoordinates. (exists jt_gap_skipsourceinputprimitivecoordinatesindex. jt_gap_skipsourceinputprimitivecoordinatesindex+S (jt_index_skipsourceinputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_skipsourceinputprimitivecoordinatesat. fs_h_jt_skipsourceinputprimitivecoordinatesat + S (jt_value_skipsourceinputprimitivecoordinates) = S ((S (jt_index_skipsourceinputprimitivecoordinates)) * c)) /\ exists fs_q_jt_skipsourceinputprimitivecoordinatesat. jt_z_skipsource = fs_q_jt_skipsourceinputprimitivecoordinatesat * S ((S (jt_index_skipsourceinputprimitivecoordinates)) * c) + (jt_value_skipsourceinputprimitivecoordinates))) -> (exists jt_factor_skipsourceinputprimitivecoordinatesdivides. (jt_value_skipsourceinputprimitivecoordinates)=(jt_divisor_skipsourceinputprimitive)*jt_factor_skipsourceinputprimitivecoordinatesdivides)) -> jt_divisor_skipsourceinputprimitive=1) -> (exists jt_index_skipsourcelisted jt_code_skipsourcelisted jt_scale_skipsourcelisted. ((exists jt_gap_skipsourcelistedindex. jt_gap_skipsourcelistedindex+S (jt_index_skipsourcelisted)=(j)) /\ (((((((exists fs_h_jt_skipsourcelistedcode. fs_h_jt_skipsourcelistedcode + S (jt_code_skipsourcelisted) = S ((S (jt_index_skipsourcelisted)) * C)) /\ exists fs_q_jt_skipsourcelistedcode. B = fs_q_jt_skipsourcelistedcode * S ((S (jt_index_skipsourcelisted)) * C) + (jt_code_skipsourcelisted))) /\ (((exists fs_h_jt_skipsourcelistedscale. fs_h_jt_skipsourcelistedscale + S (jt_scale_skipsourcelisted) = S ((S (jt_index_skipsourcelisted)) * E)) /\ exists fs_q_jt_skipsourcelistedscale. D = fs_q_jt_skipsourcelistedscale * S ((S (jt_index_skipsourcelisted)) * E) + (jt_scale_skipsourcelisted))))) /\ (forall jt_index_skipsourcelistedequal jt_left_skipsourcelistedequal jt_right_skipsourcelistedequal. (exists jt_gap_skipsourcelistedequalindex. jt_gap_skipsourcelistedequalindex+S (jt_index_skipsourcelistedequal)=(k)) -> (((exists fs_h_jt_skipsourcelistedequalleft. fs_h_jt_skipsourcelistedequalleft + S (jt_left_skipsourcelistedequal) = S ((S (jt_index_skipsourcelistedequal)) * c)) /\ exists fs_q_jt_skipsourcelistedequalleft. jt_z_skipsource = fs_q_jt_skipsourcelistedequalleft * S ((S (jt_index_skipsourcelistedequal)) * c) + (jt_left_skipsourcelistedequal))) -> (((exists fs_h_jt_skipsourcelistedequalright. fs_h_jt_skipsourcelistedequalright + S (jt_right_skipsourcelistedequal) = S ((S (jt_index_skipsourcelistedequal)) * jt_scale_skipsourcelisted)) /\ exists fs_q_jt_skipsourcelistedequalright. jt_code_skipsourcelisted = fs_q_jt_skipsourcelistedequalright * S ((S (jt_index_skipsourcelistedequal)) * jt_scale_skipsourcelisted) + (jt_right_skipsourcelistedequal))) -> jt_left_skipsourcelistedequal=jt_right_skipsourcelistedequal)))))))))) -> ((forall jt_index_skipcurrentbound. (exists jt_gap_skipcurrentboundindex. jt_gap_skipcurrentboundindex+S (jt_index_skipcurrentbound)=(k)) -> exists jt_value_skipcurrentbound. ((((exists fs_h_jt_skipcurrentboundat. fs_h_jt_skipcurrentboundat + S (jt_value_skipcurrentbound) = S ((S (jt_index_skipcurrentbound)) * c)) /\ exists fs_q_jt_skipcurrentboundat. t = fs_q_jt_skipcurrentboundat * S ((S (jt_index_skipcurrentbound)) * c) + (jt_value_skipcurrentbound))) /\ (exists jt_gap_skipcurrentboundvalue. jt_gap_skipcurrentboundvalue+S (jt_value_skipcurrentbound)=(n)))) -> (forall jt_divisor_skipcurrentprimitive. (exists jt_factor_skipcurrentprimitivemodulus. (n)=(jt_divisor_skipcurrentprimitive)*jt_factor_skipcurrentprimitivemodulus) -> (forall jt_index_skipcurrentprimitivecoordinates jt_value_skipcurrentprimitivecoordinates. (exists jt_gap_skipcurrentprimitivecoordinatesindex. jt_gap_skipcurrentprimitivecoordinatesindex+S (jt_index_skipcurrentprimitivecoordinates)=(k)) -> (((exists fs_h_jt_skipcurrentprimitivecoordinatesat. fs_h_jt_skipcurrentprimitivecoordinatesat + S (jt_value_skipcurrentprimitivecoordinates) = S ((S (jt_index_skipcurrentprimitivecoordinates)) * c)) /\ exists fs_q_jt_skipcurrentprimitivecoordinatesat. t = fs_q_jt_skipcurrentprimitivecoordinatesat * S ((S (jt_index_skipcurrentprimitivecoordinates)) * c) + (jt_value_skipcurrentprimitivecoordinates))) -> (exists jt_factor_skipcurrentprimitivecoordinatesdivides. (jt_value_skipcurrentprimitivecoordinates)=(jt_divisor_skipcurrentprimitive)*jt_factor_skipcurrentprimitivecoordinatesdivides)) -> jt_divisor_skipcurrentprimitive=1) -> (exists jt_index_skipcurrentlisted jt_code_skipcurrentlisted jt_scale_skipcurrentlisted. ((exists jt_gap_skipcurrentlistedindex. jt_gap_skipcurrentlistedindex+S (jt_index_skipcurrentlisted)=(j)) /\ (((((((exists fs_h_jt_skipcurrentlistedcode. fs_h_jt_skipcurrentlistedcode + S (jt_code_skipcurrentlisted) = S ((S (jt_index_skipcurrentlisted)) * C)) /\ exists fs_q_jt_skipcurrentlistedcode. B = fs_q_jt_skipcurrentlistedcode * S ((S (jt_index_skipcurrentlisted)) * C) + (jt_code_skipcurrentlisted))) /\ (((exists fs_h_jt_skipcurrentlistedscale. fs_h_jt_skipcurrentlistedscale + S (jt_scale_skipcurrentlisted) = S ((S (jt_index_skipcurrentlisted)) * E)) /\ exists fs_q_jt_skipcurrentlistedscale. D = fs_q_jt_skipcurrentlistedscale * S ((S (jt_index_skipcurrentlisted)) * E) + (jt_scale_skipcurrentlisted))))) /\ (forall jt_index_skipcurrentlistedequal jt_left_skipcurrentlistedequal jt_right_skipcurrentlistedequal. (exists jt_gap_skipcurrentlistedequalindex. jt_gap_skipcurrentlistedequalindex+S (jt_index_skipcurrentlistedequal)=(k)) -> (((exists fs_h_jt_skipcurrentlistedequalleft. fs_h_jt_skipcurrentlistedequalleft + S (jt_left_skipcurrentlistedequal) = S ((S (jt_index_skipcurrentlistedequal)) * c)) /\ exists fs_q_jt_skipcurrentlistedequalleft. t = fs_q_jt_skipcurrentlistedequalleft * S ((S (jt_index_skipcurrentlistedequal)) * c) + (jt_left_skipcurrentlistedequal))) -> (((exists fs_h_jt_skipcurrentlistedequalright. fs_h_jt_skipcurrentlistedequalright + S (jt_right_skipcurrentlistedequal) = S ((S (jt_index_skipcurrentlistedequal)) * jt_scale_skipcurrentlisted)) /\ exists fs_q_jt_skipcurrentlistedequalright. jt_code_skipcurrentlisted = fs_q_jt_skipcurrentlistedequalright * S ((S (jt_index_skipcurrentlistedequal)) * jt_scale_skipcurrentlisted) + (jt_right_skipcurrentlistedequal))) -> jt_left_skipcurrentlistedequal=jt_right_skipcurrentlistedequal)))))) -> (((forall jt_i_skiptarget. (exists jt_gap_skiptargetsoundindex. jt_gap_skiptargetsoundindex+S (jt_i_skiptarget)=(j)) -> exists jt_b_skiptarget jt_e_skiptarget. ((((((exists fs_h_jt_skiptargetsoundcode. fs_h_jt_skiptargetsoundcode + S (jt_b_skiptarget) = S ((S (jt_i_skiptarget)) * C)) /\ exists fs_q_jt_skiptargetsoundcode. B = fs_q_jt_skiptargetsoundcode * S ((S (jt_i_skiptarget)) * C) + (jt_b_skiptarget))) /\ (((exists fs_h_jt_skiptargetsoundscale. fs_h_jt_skiptargetsoundscale + S (jt_e_skiptarget) = S ((S (jt_i_skiptarget)) * E)) /\ exists fs_q_jt_skiptargetsoundscale. D = fs_q_jt_skiptargetsoundscale * S ((S (jt_i_skiptarget)) * E) + (jt_e_skiptarget))))) /\ (((forall jt_index_skiptargetbound. (exists jt_gap_skiptargetboundindex. jt_gap_skiptargetboundindex+S (jt_index_skiptargetbound)=(k)) -> exists jt_value_skiptargetbound. ((((exists fs_h_jt_skiptargetboundat. fs_h_jt_skiptargetboundat + S (jt_value_skiptargetbound) = S ((S (jt_index_skiptargetbound)) * jt_e_skiptarget)) /\ exists fs_q_jt_skiptargetboundat. jt_b_skiptarget = fs_q_jt_skiptargetboundat * S ((S (jt_index_skiptargetbound)) * jt_e_skiptarget) + (jt_value_skiptargetbound))) /\ (exists jt_gap_skiptargetboundvalue. jt_gap_skiptargetboundvalue+S (jt_value_skiptargetbound)=(n)))) /\ (forall jt_divisor_skiptargetprimitive. (exists jt_factor_skiptargetprimitivemodulus. (n)=(jt_divisor_skiptargetprimitive)*jt_factor_skiptargetprimitivemodulus) -> (forall jt_index_skiptargetprimitivecoordinates jt_value_skiptargetprimitivecoordinates. (exists jt_gap_skiptargetprimitivecoordinatesindex. jt_gap_skiptargetprimitivecoordinatesindex+S (jt_index_skiptargetprimitivecoordinates)=(k)) -> (((exists fs_h_jt_skiptargetprimitivecoordinatesat. fs_h_jt_skiptargetprimitivecoordinatesat + S (jt_value_skiptargetprimitivecoordinates) = S ((S (jt_index_skiptargetprimitivecoordinates)) * jt_e_skiptarget)) /\ exists fs_q_jt_skiptargetprimitivecoordinatesat. jt_b_skiptarget = fs_q_jt_skiptargetprimitivecoordinatesat * S ((S (jt_index_skiptargetprimitivecoordinates)) * jt_e_skiptarget) + (jt_value_skiptargetprimitivecoordinates))) -> (exists jt_factor_skiptargetprimitivecoordinatesdivides. (jt_value_skiptargetprimitivecoordinates)=(jt_divisor_skiptargetprimitive)*jt_factor_skiptargetprimitivecoordinatesdivides)) -> jt_divisor_skiptargetprimitive=1))))) /\ (((forall jt_i_skiptarget jt_h_skiptarget jt_b_skiptarget jt_e_skiptarget jt_d_skiptarget jt_f_skiptarget. (exists jt_gap_skiptargetfirstindex. jt_gap_skiptargetfirstindex+S (jt_i_skiptarget)=(j)) -> (exists jt_gap_skiptargetsecondindex. jt_gap_skiptargetsecondindex+S (jt_h_skiptarget)=(j)) -> (((((exists fs_h_jt_skiptargetfirstcode. fs_h_jt_skiptargetfirstcode + S (jt_b_skiptarget) = S ((S (jt_i_skiptarget)) * C)) /\ exists fs_q_jt_skiptargetfirstcode. B = fs_q_jt_skiptargetfirstcode * S ((S (jt_i_skiptarget)) * C) + (jt_b_skiptarget))) /\ (((exists fs_h_jt_skiptargetfirstscale. fs_h_jt_skiptargetfirstscale + S (jt_e_skiptarget) = S ((S (jt_i_skiptarget)) * E)) /\ exists fs_q_jt_skiptargetfirstscale. D = fs_q_jt_skiptargetfirstscale * S ((S (jt_i_skiptarget)) * E) + (jt_e_skiptarget))))) -> (((((exists fs_h_jt_skiptargetsecondcode. fs_h_jt_skiptargetsecondcode + S (jt_d_skiptarget) = S ((S (jt_h_skiptarget)) * C)) /\ exists fs_q_jt_skiptargetsecondcode. B = fs_q_jt_skiptargetsecondcode * S ((S (jt_h_skiptarget)) * C) + (jt_d_skiptarget))) /\ (((exists fs_h_jt_skiptargetsecondscale. fs_h_jt_skiptargetsecondscale + S (jt_f_skiptarget) = S ((S (jt_h_skiptarget)) * E)) /\ exists fs_q_jt_skiptargetsecondscale. D = fs_q_jt_skiptargetsecondscale * S ((S (jt_h_skiptarget)) * E) + (jt_f_skiptarget))))) -> (forall jt_index_skiptargetsame jt_left_skiptargetsame jt_right_skiptargetsame. (exists jt_gap_skiptargetsameindex. jt_gap_skiptargetsameindex+S (jt_index_skiptargetsame)=(k)) -> (((exists fs_h_jt_skiptargetsameleft. fs_h_jt_skiptargetsameleft + S (jt_left_skiptargetsame) = S ((S (jt_index_skiptargetsame)) * jt_e_skiptarget)) /\ exists fs_q_jt_skiptargetsameleft. jt_b_skiptarget = fs_q_jt_skiptargetsameleft * S ((S (jt_index_skiptargetsame)) * jt_e_skiptarget) + (jt_left_skiptargetsame))) -> (((exists fs_h_jt_skiptargetsameright. fs_h_jt_skiptargetsameright + S (jt_right_skiptargetsame) = S ((S (jt_index_skiptargetsame)) * jt_f_skiptarget)) /\ exists fs_q_jt_skiptargetsameright. jt_d_skiptarget = fs_q_jt_skiptargetsameright * S ((S (jt_index_skiptargetsame)) * jt_f_skiptarget) + (jt_right_skiptargetsame))) -> jt_left_skiptargetsame=jt_right_skiptargetsame) -> jt_i_skiptarget=jt_h_skiptarget) /\ (forall jt_z_skiptarget. (exists jt_gap_skiptargetcodeindex. jt_gap_skiptargetcodeindex+S (jt_z_skiptarget)=(S t)) -> (forall jt_index_skiptargetinputbound. (exists jt_gap_skiptargetinputboundindex. jt_gap_skiptargetinputboundindex+S (jt_index_skiptargetinputbound)=(k)) -> exists jt_value_skiptargetinputbound. ((((exists fs_h_jt_skiptargetinputboundat. fs_h_jt_skiptargetinputboundat + S (jt_value_skiptargetinputbound) = S ((S (jt_index_skiptargetinputbound)) * c)) /\ exists fs_q_jt_skiptargetinputboundat. jt_z_skiptarget = fs_q_jt_skiptargetinputboundat * S ((S (jt_index_skiptargetinputbound)) * c) + (jt_value_skiptargetinputbound))) /\ (exists jt_gap_skiptargetinputboundvalue. jt_gap_skiptargetinputboundvalue+S (jt_value_skiptargetinputbound)=(n)))) -> (forall jt_divisor_skiptargetinputprimitive. (exists jt_factor_skiptargetinputprimitivemodulus. (n)=(jt_divisor_skiptargetinputprimitive)*jt_factor_skiptargetinputprimitivemodulus) -> (forall jt_index_skiptargetinputprimitivecoordinates jt_value_skiptargetinputprimitivecoordinates. (exists jt_gap_skiptargetinputprimitivecoordinatesindex. jt_gap_skiptargetinputprimitivecoordinatesindex+S (jt_index_skiptargetinputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_skiptargetinputprimitivecoordinatesat. fs_h_jt_skiptargetinputprimitivecoordinatesat + S (jt_value_skiptargetinputprimitivecoordinates) = S ((S (jt_index_skiptargetinputprimitivecoordinates)) * c)) /\ exists fs_q_jt_skiptargetinputprimitivecoordinatesat. jt_z_skiptarget = fs_q_jt_skiptargetinputprimitivecoordinatesat * S ((S (jt_index_skiptargetinputprimitivecoordinates)) * c) + (jt_value_skiptargetinputprimitivecoordinates))) -> (exists jt_factor_skiptargetinputprimitivecoordinatesdivides. (jt_value_skiptargetinputprimitivecoordinates)=(jt_divisor_skiptargetinputprimitive)*jt_factor_skiptargetinputprimitivecoordinatesdivides)) -> jt_divisor_skiptargetinputprimitive=1) -> (exists jt_index_skiptargetlisted jt_code_skiptargetlisted jt_scale_skiptargetlisted. ((exists jt_gap_skiptargetlistedindex. jt_gap_skiptargetlistedindex+S (jt_index_skiptargetlisted)=(j)) /\ (((((((exists fs_h_jt_skiptargetlistedcode. fs_h_jt_skiptargetlistedcode + S (jt_code_skiptargetlisted) = S ((S (jt_index_skiptargetlisted)) * C)) /\ exists fs_q_jt_skiptargetlistedcode. B = fs_q_jt_skiptargetlistedcode * S ((S (jt_index_skiptargetlisted)) * C) + (jt_code_skiptargetlisted))) /\ (((exists fs_h_jt_skiptargetlistedscale. fs_h_jt_skiptargetlistedscale + S (jt_scale_skiptargetlisted) = S ((S (jt_index_skiptargetlisted)) * E)) /\ exists fs_q_jt_skiptargetlistedscale. D = fs_q_jt_skiptargetlistedscale * S ((S (jt_index_skiptargetlisted)) * E) + (jt_scale_skiptargetlisted))))) /\ (forall jt_index_skiptargetlistedequal jt_left_skiptargetlistedequal jt_right_skiptargetlistedequal. (exists jt_gap_skiptargetlistedequalindex. jt_gap_skiptargetlistedequalindex+S (jt_index_skiptargetlistedequal)=(k)) -> (((exists fs_h_jt_skiptargetlistedequalleft. fs_h_jt_skiptargetlistedequalleft + S (jt_left_skiptargetlistedequal) = S ((S (jt_index_skiptargetlistedequal)) * c)) /\ exists fs_q_jt_skiptargetlistedequalleft. jt_z_skiptarget = fs_q_jt_skiptargetlistedequalleft * S ((S (jt_index_skiptargetlistedequal)) * c) + (jt_left_skiptargetlistedequal))) -> (((exists fs_h_jt_skiptargetlistedequalright. fs_h_jt_skiptargetlistedequalright + S (jt_right_skiptargetlistedequal) = S ((S (jt_index_skiptargetlistedequal)) * jt_scale_skiptargetlisted)) /\ exists fs_q_jt_skiptargetlistedequalright. jt_code_skiptargetlisted = fs_q_jt_skiptargetlistedequalright * S ((S (jt_index_skiptargetlistedequal)) * jt_scale_skiptargetlisted) + (jt_right_skiptargetlistedequal))) -> jt_left_skiptargetlistedequal=jt_right_skiptargetlistedequal))))))))))

Constructive proof overview

Generated structural guide

Skip precisely when the current admissible tuple is already represented.

The unchanged tactic script uses 1 declared prerequisite and contains 38 exact native proof lines.

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

Proof neighborhood

Direct dependencies

finite_lt_succ_eq_or_lt Alpha theorem; checked-use authorized

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

38 script commands · 15 reading checkpoints · 1 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.

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 c
  4. L4
    intro t
  5. L5
    intro B
  6. L6
    intro C
  7. L7
    intro D
  8. L8
    intro E
  9. L9
    intro j
  10. L10
    intro hscan
02Fix variables and assumptionsL11–11

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

  1. L11
    intro hcurrent
03Separate the logical casesL12–14

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

  1. L12
    cases hscan
  2. L13
    cases hscan_right
  3. L14
    split
04Use earlier factsL15–15

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

  1. L15
    exact hscan_left
05Separate the logical casesL16–16

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

  1. L16
    split
06Use earlier factsL17–17

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

  1. L17
    exact hscan_right_left
07Fix variables and assumptionsL18–21

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

  1. L18
    intro z
  2. L19
    intro hz
  3. L20
    intro hb
  4. L21
    intro hp
08Establish hcL22–26

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.

  1. L22
    have hc : z=t \/ (exists jt_gap_scanskipcase. jt_gap_scanskipcase+S (z)=(t))
  2. L23
    specialize finite_lt_succ_eq_or_lt (t)
  3. L24
    specialize finite_lt_succ_eq_or_lt (z)
  4. L25
    apply finite_lt_succ_eq_or_lt
  5. L26
    exact hz
09Separate the logical casesL27–27

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

  1. L27
    cases hc
10Calculate and transport equalitiesL28–28

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

  1. L28
    rewrite hc_left
11Use earlier factsL29–29

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

  1. L29
    apply hcurrent
12Calculate and transport equalitiesL30–30

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

  1. L30
    rewrite hc_left at hb
13Use earlier factsL31–31

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

  1. L31
    exact hb
14Calculate and transport equalitiesL32–32

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

  1. L32
    rewrite hc_left at hp
15Use earlier factsL33–38

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

  1. L33
    exact hp
  2. L34
    specialize hscan_right_right (z)
  3. L35
    apply hscan_right_right
  4. L36
    exact hc_right
  5. L37
    exact hb
  6. L38
    exact hp

Library-wide reading audit

Original exact command ledger · 38 lines
  1. 0001intro k
  2. 0002intro n
  3. 0003intro c
  4. 0004intro t
  5. 0005intro B
  6. 0006intro C
  7. 0007intro D
  8. 0008intro E
  9. 0009intro j
  10. 0010intro hscan
  11. 0011intro hcurrent
  12. 0012cases hscan
  13. 0013cases hscan_right
  14. 0014split
  15. 0015exact hscan_left
  16. 0016split
  17. 0017exact hscan_right_left
  18. 0018intro z
  19. 0019intro hz
  20. 0020intro hb
  21. 0021intro hp
  22. 0022have hc : z=t \/ (exists jt_gap_scanskipcase. jt_gap_scanskipcase+S (z)=(t))
  23. 0023specialize finite_lt_succ_eq_or_lt (t)
  24. 0024specialize finite_lt_succ_eq_or_lt (z)
  25. 0025apply finite_lt_succ_eq_or_lt
  26. 0026exact hz
  27. 0027cases hc
  28. 0028rewrite hc_left
  29. 0029apply hcurrent
  30. 0030rewrite hc_left at hb
  31. 0031exact hb
  32. 0032rewrite hc_left at hp
  33. 0033exact hp
  34. 0034specialize hscan_right_right (z)
  35. 0035apply hscan_right_right
  36. 0036exact hc_right
  37. 0037exact hb
  38. 0038exact hp